diff --git a/src/main/antlr/Jass.g4 b/src/main/antlr/Jass.g4 index 11e8e4e6..48dcbb3b 100644 --- a/src/main/antlr/Jass.g4 +++ b/src/main/antlr/Jass.g4 @@ -11,7 +11,7 @@ options { BOOL_LITERAL: 'true' | 'false' ; -INT_LITERAL: +int_literal: ID_INT_LITERAL | DEC_INT_LITERAL @@ -25,13 +25,15 @@ DEC_INT_LITERAL: OCT_INT_LITERAL: '0' [0-7]* ; HEX_INT_LITERAL: - ('0' [xX] | '$') [0-9a-fA-F]+ ; + (('0' [xX]) | '$') [0-9a-fA-F]+ ; ID_INT_LITERAL: '\'' ([\u0000-\u0026\u0028-\u00FF]+) '\'' ; REAL_LITERAL: - [0-9]* '.' [0-9]+ | [0-9]+ '.' ; + ([0-9]+ '.' [0-9]*) | ('.' [0-9]+) ; STRING_LITERAL: - '"' ( EscapeSequence | ~('\\'|'"'|'\r'|'\n') | NEW_LINE )* '"'; + '"' ( EscapeSequence | ~('\\'|'"'|'\r'|'\n') | NEW_LINES )* '"'; +NULL_LITERAL: + 'null'; COMMENT_SINGLE: '//' (~('\n'|'\r'))*; @@ -41,133 +43,463 @@ COMMENT_BLOCK: fragment EscapeSequence: '\\' [abfnrtvz"'\\]; -ID: - ID_START (ID_TAIL)* ; -fragment ID_START: - [A-Za-z] ; -fragment ID_TAIL: - [A-Z] | [a-z] | [0-9] | '_' ; - CURLY_L: '{' ; CURLY_R: '}' ; COMMA: ',' ; -NEW_LINE: +NEW_LINES: ('\r\n' | '\n' | '\r')+ ; +PARENS_L: + '('; +PARENS_R: + ')'; +BRACKET_L: + '['; +BRACKET_R: + ']'; + +LOCAL: + 'local'; +ARRAY_DECL: + 'array'; + +CONST_DECL: + 'constant'; +BOOL_OP_CONJUNCT: + 'and'; +BOOL_OP_DISJUNCT: + 'or' ; +BOOL_OP_NEG: + 'not' ; + +GLOBALS_START: + 'globals'; +GLOBALS_END: + 'endglobals'; +DEBUG: + 'debug'; +FUNCTION: + 'function'; +ENDFUNCTION: + 'endfunction'; +TAKES: + 'takes'; +RETURNS: + 'returns'; +RETURN: + 'return'; +NOTHING: + 'nothing'; +ASSIGN_OP: + '='; + +TYPE_DECL: + 'type'; +TYPE_EXTENDS: + 'extends'; +NATIVE: + 'native'; + +CALL: + 'call'; + +SET: + 'set'; + +IF: + 'if'; +THEN: + 'then'; +ELSE: + 'else'; +ELSEIF: + 'elseif'; +ENDIF: + 'endif'; +LOOP: + 'loop'; +ENDLOOP: + 'endloop'; +EXITWHEN: + 'exitwhen'; + WS: (' ' | '\t')+ -> skip ; +ID: + ID_START (ID_TAIL)* ; +fragment ID_START: + [A-Za-z] ; +fragment ID_TAIL: + [A-Z] | [a-z] | [0-9] | '_' ; + +ADD: + '+'; +SUB: + '-'; +MULT: + '*'; +DIV: + '/'; +MOD: + '%'; + +LESS: + '<'; +LESS_EQUAL: + '<='; +EQUAL: + '=='; +UNEQUAL: + '!='; +GREATER: + '>'; +GREATER_EQUAL: + '>='; + root: - NEW_LINE* - (typeDec NEW_LINE NEW_LINE*)* - NEW_LINE* - (nativeDec NEW_LINE NEW_LINE*)* - globalsBlock NEW_LINE - NEW_LINE* - (nativeDec (NEW_LINE | EOF) NEW_LINE*)* - NEW_LINE* - (func NEW_LINE NEW_LINE*)* - NEW_LINE* ; - -globalsBlock: - 'globals' - NEW_LINE+ - (globalDec NEW_LINE+)* - NEW_LINE* - 'endglobals' + NEW_LINES? (top_decl (NEW_LINES top_decl)*)? NEW_LINES?; + +top_decl: + type_decl + | + native_decl + | + globals_block + | + func_impl + ; + +globals_block: + GLOBALS_START + NEW_LINES + (global_decl NEW_LINES)* + NEW_LINES? + GLOBALS_END ; -varName: - ID ; -funcName: - ID ; +var_name: + ID; +func_name: + ID; +type_name: + ID; + +var_ref: + ID; +func_ref: + ID; +type_ref: + ID; -globalDec: - type=typeName - 'array' - name=varName +global_decl: + type_ref + ARRAY_DECL + var_name | - ('constant')? - type=typeName - name=varName - ('=' val=expr)? + CONST_DECL? + type_ref + var_name + (ASSIGN_OP val=expr)? ; -surroundedExpr: - '(' expr ')' ; expr: - expr ('and' | 'or') expr - | - '(' expr ')' ('and' | 'or') '(' expr ')' - | - expr ('and' | 'or') '(' expr ')' - | - '(' expr ')' ('and' | 'or') expr - | - 'not' (expr | '(' expr ')') - | - literal - | - expr ('+' | '-' | '*' | '/') expr - | - ('+' | '-') expr - | - expr ('<' | '<=' | '==' | '!=' | '>' | '>=') expr - | - funcExpr - | - varName - | - arrayRead - | - funcRef - | - '(' expr ')' - ; + handle_expr + | + null_expr + | + code_expr + | + bool_expr + | + int_expr + | + real_expr + | + string_expr + ; -//arithExpr: - //expr ('+' | '-' | '*' | '/') expr | ('+' | '-') expr ; -//compExpr: - //expr ('<' | '<=' | '==' | '!=' | '>' | '>=') expr ; -//boolExpr: - //expr ('and' | 'or') expr | 'not' expr ; -funcExpr: - funcName '(' arg_list ')' ; -arg_list: - (expr (',' expr)*)? ; -arrayRead: - varName '[' expr ']' ; -funcRef: - 'function' funcName ; +handle_expr: + handle_literal + | + handle_parens + | + any_expr_atom + ; + +handle_literal: + null_literal; + +handle_parens: + PARENS_L handle_expr PARENS_R; + +code_expr: + code_literal + | + code_parens + | + any_expr_atom + ; + +code_parens: + PARENS_L code_expr PARENS_R; + +code_literal: + FUNCTION func_ref + | + null_literal + ; + +null_expr: + null_literal + | + null_parens + | + any_expr_atom + ; + +null_parens: + PARENS_L null_expr PARENS_R; + +null_literal: + NULL_LITERAL; + +bool_expr: + bool_maybe_disjunct; + +bool_maybe_disjunct: + left=bool_maybe_disjunct BOOL_OP_DISJUNCT right=bool_maybe_conjunct + | + exit=bool_maybe_conjunct + ; + +bool_maybe_conjunct: + left=bool_maybe_conjunct BOOL_OP_CONJUNCT right=bool_maybe_full_relation + | + exit=bool_maybe_full_relation + ; + +bool_maybe_full_relation: + bool_full_relation + | + bool_maybe_num_order_relation + ; + +bool_full_relation: + bool_null_relation + | + bool_handle_relation + | + bool_code_relation + | + bool_bool_relation + | + bool_num_relation + | + bool_string_relation + ; + +bool_null_relation: + left=null_expr bool_relation_op right=null_expr; +bool_handle_relation: + left=handle_expr bool_relation_op right=handle_expr; +bool_code_relation: + left=code_expr bool_relation_op right=code_expr; +bool_bool_relation: + left=bool_maybe_num_order_relation bool_relation_op right=bool_maybe_num_order_relation; +bool_num_relation: + left=num_expr bool_relation_op right=num_expr; +bool_string_relation: + left=string_expr bool_relation_op right=string_expr; + +bool_maybe_num_order_relation: + bool_num_order_relation + | + bool_maybe_unary + ; + +bool_num_order_relation: + left=num_expr bool_num_order_relation_op right=num_expr; + +bool_maybe_unary: + BOOL_OP_NEG bool_maybe_unary + | + bool_atom + ; + +bool_atom: + any_expr_atom + | + bool_literal + | + bool_parens + ; + +bool_literal: + BOOL_LITERAL; + +bool_parens: + PARENS_L bool_expr PARENS_R; + +bool_relation_op: + EQUAL | UNEQUAL; +bool_num_order_relation_op: + LESS | LESS_EQUAL | GREATER | GREATER_EQUAL; + +num_expr: + int_expr + | + real_expr + ; + +int_expr: + int_maybe_sum; + +int_maybe_sum: + left=int_maybe_sum num_sum_op right=int_maybe_prod + | + int_maybe_prod + ; + +int_maybe_prod: + left=int_maybe_prod num_prod_op right=int_maybe_unary + | + int_maybe_unary + ; + +int_maybe_unary: + num_unary_op int_maybe_unary + | + int_atom + ; + +int_atom: + int_literal + | + int_parens + | + any_expr_atom + ; -literal: - BOOL_LITERAL | INT_LITERAL | REAL_LITERAL | STRING_LITERAL | funcRef ; +//int_literal: + //INT_LITERAL; -localVarDec: - 'local' +int_parens: + PARENS_L int_expr PARENS_R; + +real_expr: + real_maybe_sum; + +real_maybe_sum: + left=real_maybe_sum num_sum_op right=real_maybe_prod + | + real_maybe_prod + ; + +real_maybe_prod: + left=real_maybe_prod num_prod_op right=real_maybe_unary + | + real_maybe_unary + ; + +real_maybe_unary: + num_unary_op real_maybe_unary + | + real_atom + ; + +real_atom: + int_atom + | + real_literal + | + real_parens + | + any_expr_atom + ; + +real_literal: + REAL_LITERAL; + +real_parens: + PARENS_L real_expr PARENS_R; + +num_sum_op: + ADD | SUB; +num_prod_op: + MULT | DIV | MOD; +num_unary_op: + ADD | SUB; + +string_expr: + string_maybe_concat; + +string_maybe_concat: + left=string_maybe_concat string_concat_op right=string_atom + | + string_atom + ; + +string_atom: + string_literal + | + string_parens + | + any_expr_atom + ; + +string_literal: + STRING_LITERAL + | + null_literal + ; + +string_parens: + PARENS_L string_expr PARENS_R; + +string_concat_op: + ADD; + +any_expr_atom: + func_call + | + var_ref + | + array_read + ; + +func_call: + func_ref PARENS_L arg_list PARENS_R; +arg_list: + (expr (COMMA expr)*)? ; +array_read: + var_ref BRACKET_L int_expr BRACKET_R; + +local_var_decl: + LOCAL ( ( - typeName - 'array' - name=varName + type_ref + ARRAY_DECL + var_name ) | ( - typeName - name=varName - ('=' expr)? + type_ref + var_name + (ASSIGN_OP expr)? ) ) ; -localVarDec_list: - localVarDec (NEW_LINE+ localVarDec)* ; +local_var_decl_list: + local_var_decl (NEW_LINES local_var_decl)* ; statement: - callFunc + call | - setVar + set_var | selection | @@ -180,122 +512,119 @@ statement: debug ; statement_list: - statement (NEW_LINE+ statement)* ; + statement (NEW_LINES statement)* ; -callFunc: - 'call' - funcExpr +call: + CALL + func_call ; -setVar: - 'set' - name=varName - ('[' index=expr ']')? - '=' - val=expr +set_var: + SET + var_ref + (BRACKET_L index=int_expr BRACKET_R)? + ASSIGN_OP + val=expr ; condition: - (surroundedExpr | expr) + bool_expr ; -selection: - 'if' condition 'then' NEW_LINE - NEW_LINE* - statement_list? - NEW_LINE* - ('elseif' condition 'then' NEW_LINE - NEW_LINE* - statement_list? - NEW_LINE* - )* - ('else' NEW_LINE - NEW_LINE* - statement_list? - NEW_LINE* - )? - NEW_LINE* - 'endif' +selection_elseif_branch: + ELSEIF condition THEN + NEW_LINES + statement_list? + NEW_LINES? + ; +selection_else_branch: + ELSE + NEW_LINES + statement_list? + NEW_LINES? + ; +selection: + IF condition THEN + NEW_LINES + thenStatements=statement_list? + NEW_LINES? + elseif_branches+=selection_elseif_branch* + else_branch=selection_else_branch? + ENDIF ; loop: - 'loop' NEW_LINE - NEW_LINE* - (loopBody NEW_LINE)? - NEW_LINE* - 'endloop' + LOOP + NEW_LINES + (loop_body NEW_LINES)? + NEW_LINES? + ENDLOOP ; exitwhen: - 'exitwhen' + EXITWHEN condition ; -loopBody: - loopBodyLine (NEW_LINE+ loopBodyLine)* ; -loopBodyLine: +loop_body: + loop_body_line (NEW_LINES loop_body_line)*; +loop_body_line: statement_list ; rule_return: - 'return' - (surroundedExpr | (name=expr)?) + RETURN + expr? ; debug: - 'debug' - (callFunc | setVar | selection | loop) + DEBUG + (call | set_var | selection | loop) ; -typeName: - ID ; - -funcDec: - ('constant')? - 'function' - name=ID - 'takes' - params=funcParam_list - 'returns' - returnType=funcReturnType +func_decl: + CONST_DECL? + FUNCTION + func_name + TAKES + params=func_param_list + RETURNS + returnType=func_return_type ; -func: - funcDec - NEW_LINE+ - (body=funcBody NEW_LINE)? - NEW_LINE* - 'endfunction' +func_impl: + func_decl + NEW_LINES + (body=func_body NEW_LINES)? + ENDFUNCTION ; -funcReturnType: - 'nothing' +func_return_type: + NOTHING | - typeName + type_ref ; -funcParam_list: - 'nothing' +func_param_list: + NOTHING | - (params=funcParam (',' funcParam)*) + (params=func_param (COMMA func_param)*) ; -funcParam: - typeName - ID +func_param: + type_ref + var_name ; -funcBody: - (localVarDec_list)? - ( - NEW_LINE+ - statement_list - )? - | - (statement_list?) +func_body: + local_var_decl_list + | + statement_list + | + local_var_decl_list NEW_LINES statement_list ; -typeDec: - 'type' - name=ID - 'extends' - parent=ID +type_decl: + TYPE_DECL + type_name + TYPE_EXTENDS + type_ref ; -nativeDec: - ('constant')? - 'native' - name=ID - 'takes' - params=funcParam_list - 'returns' - returnType=funcReturnType +native_decl: + CONST_DECL? + NATIVE + func_name + TAKES + params=func_param_list + RETURNS + returnType=func_return_type ; \ No newline at end of file diff --git a/src/main/antlr/LightJass.g4 b/src/main/antlr/LightJass.g4 new file mode 100644 index 00000000..28f97cf3 --- /dev/null +++ b/src/main/antlr/LightJass.g4 @@ -0,0 +1,419 @@ +// Define a grammar called Jass +grammar LightJass; + +options { + language = Java; +} + +@header { + package net.moonlightflower.wc3libs.antlr; +} + +BOOL_LITERAL: + 'true' | 'false' ; +int_literal: + ID_INT_LITERAL + | + DEC_INT_LITERAL + | + OCT_INT_LITERAL + | + HEX_INT_LITERAL + ; +DEC_INT_LITERAL: + [1-9] [0-9]* | [0-9] ; +OCT_INT_LITERAL: + '0' [0-7]* ; +HEX_INT_LITERAL: + (('0' [xX]) | '$') [0-9a-fA-F]+ ; +ID_INT_LITERAL: + '\'' ([\u0000-\u0026\u0028-\u00FF]+) '\'' ; +REAL_LITERAL: + ([0-9]+ '.' [0-9]*) | ('.' [0-9]+) ; +STRING_LITERAL: + '"' ( EscapeSequence | ~('\\'|'"'|'\r'|'\n') | NEW_LINES )* '"'; +NULL_LITERAL: + 'null'; + +COMMENT_SINGLE: + '//' (~('\n'|'\r'))*; + +COMMENT_BLOCK: + '/*' (~('*') | ('*' + ~('/')))* '*/'; + +fragment EscapeSequence: '\\' [abfnrtvz"'\\]; + +CURLY_L: + '{' ; +CURLY_R: + '}' ; +COMMA: + ',' ; +NEW_LINES: + ('\r\n' | '\n' | '\r')+ ; +PARENS_L: + '('; +PARENS_R: + ')'; +BRACKET_L: + '['; +BRACKET_R: + ']'; + +LOCAL: + 'local'; +ARRAY_DECL: + 'array'; + +CONST_DECL: + 'constant'; +BOOL_OP_CONJUNCT: + 'and'; +BOOL_OP_DISJUNCT: + 'or' ; +BOOL_OP_NEG: + 'not' ; + +GLOBALS_START: + 'globals'; +GLOBALS_END: + 'endglobals'; +DEBUG: + 'debug'; +FUNCTION: + 'function'; +ENDFUNCTION: + 'endfunction'; +TAKES: + 'takes'; +RETURNS: + 'returns'; +RETURN: + 'return'; +NOTHING: + 'nothing'; +ASSIGN_OP: + '='; + +TYPE_DECL: + 'type'; +TYPE_EXTENDS: + 'extends'; +NATIVE: + 'native'; + +CALL: + 'call'; + +SET: + 'set'; + +IF: + 'if'; +THEN: + 'then'; +ELSE: + 'else'; +ELSEIF: + 'elseif'; +ENDIF: + 'endif'; +LOOP: + 'loop'; +ENDLOOP: + 'endloop'; +EXITWHEN: + 'exitwhen'; + +WS: + (' ' | '\t')+ -> skip ; + +ID: + ID_START (ID_TAIL)* ; +fragment ID_START: + [A-Za-z] ; +fragment ID_TAIL: + [A-Z] | [a-z] | [0-9] | '_' ; + +ADD: + '+'; +SUB: + '-'; +MULT: + '*'; +DIV: + '/'; +MOD: + '%'; + +LESS: + '<'; +LESS_EQUAL: + '<='; +EQUAL: + '=='; +UNEQUAL: + '!='; +GREATER: + '>'; +GREATER_EQUAL: + '>='; + +root: + NEW_LINES? (top_decl (NEW_LINES top_decl)*)? NEW_LINES?; + +top_decl: + type_decl + | + native_decl + | + globals_block + | + func_impl + ; + +globals_block: + GLOBALS_START + NEW_LINES + (global_decl NEW_LINES)* + NEW_LINES? + GLOBALS_END + ; + +var_name: + ID; +func_name: + ID; +type_name: + ID; + +var_ref: + ID; +func_ref: + ID; +type_ref: + ID; + +global_decl: + type_ref + ARRAY_DECL + var_name + | + CONST_DECL? + type_ref + var_name + (ASSIGN_OP val=expr)? + ; + +expr: + expr_prim + | + PARENS_L expr PARENS_R + | + BOOL_OP_NEG expr + | + ADD expr + | + SUB expr + | + expr (MULT | DIV | MOD) expr + | + expr (ADD | SUB) expr + | + expr (LESS | LESS_EQUAL | GREATER | GREATER_EQUAL) expr + | + expr (EQUAL | UNEQUAL) expr + | + expr BOOL_OP_CONJUNCT expr + | + expr BOOL_OP_DISJUNCT expr + ; + +expr_prim: + array_read + | + var_ref + | + func_call + | + literal + ; + +literal: + NULL_LITERAL + | + FUNCTION func_ref + | + BOOL_LITERAL + | + OCT_INT_LITERAL + | + DEC_INT_LITERAL + | + HEX_INT_LITERAL + | + ID_INT_LITERAL + | + REAL_LITERAL + | + STRING_LITERAL + ; + +func_call: + func_ref PARENS_L arg_list PARENS_R; +arg_list: + (expr (COMMA expr)*)? ; +array_read: + var_ref BRACKET_L expr BRACKET_R; + +local_var_decl: + LOCAL + ( + ( + type_ref + ARRAY_DECL + var_name + ) + | + ( + type_ref + var_name + (ASSIGN_OP expr)? + ) + ) + ; +local_var_decl_list: + local_var_decl (NEW_LINES local_var_decl)* ; + +statement: + call + | + set_var + | + selection + | + loop + | + exitwhen + | + rule_return + | + debug + ; +statement_list: + statement (NEW_LINES statement)* ; + +call: + CALL + func_call + ; +set_var: + SET + var_ref + (BRACKET_L index=expr BRACKET_R)? + ASSIGN_OP + val=expr + ; +condition: + expr + ; +selection_elseif_branch: + ELSEIF condition THEN + NEW_LINES + statement_list? + NEW_LINES? + ; +selection_else_branch: + ELSE + NEW_LINES + statement_list? + NEW_LINES? + ; +selection: + IF condition THEN + NEW_LINES + thenStatements=statement_list? + NEW_LINES? + elseif_branches+=selection_elseif_branch* + else_branch=selection_else_branch? + ENDIF + ; +loop: + LOOP + NEW_LINES + (loop_body NEW_LINES)? + NEW_LINES? + ENDLOOP + ; +exitwhen: + EXITWHEN + condition + ; +loop_body: + loop_body_line (NEW_LINES loop_body_line)*; +loop_body_line: + statement_list + ; +rule_return: + RETURN + expr? + ; +debug: + DEBUG + (call | set_var | selection | loop) + ; + +func_decl: + CONST_DECL? + FUNCTION + func_name + TAKES + params=func_param_list + RETURNS + returnType=func_return_type + ; + +func_impl: + func_decl + NEW_LINES + (body=func_body NEW_LINES)? + ENDFUNCTION + ; + +func_return_type: + NOTHING + | + type_ref + ; +func_param_list: + NOTHING + | + (params=func_param (COMMA func_param)*) + ; +func_param: + type_ref + var_name + ; +func_body: + local_var_decl_list + | + statement_list + | + local_var_decl_list NEW_LINES statement_list + ; + +type_decl: + TYPE_DECL + type_name + TYPE_EXTENDS + type_ref + ; +native_decl: + CONST_DECL? + NATIVE + func_name + TAKES + params=func_param_list + RETURNS + returnType=func_return_type + ; \ No newline at end of file diff --git a/src/main/java/net/moonlightflower/wc3libs/app/ObjMerger.java b/src/main/java/net/moonlightflower/wc3libs/app/ObjMerger.java index a7294193..745ae429 100644 --- a/src/main/java/net/moonlightflower/wc3libs/app/ObjMerger.java +++ b/src/main/java/net/moonlightflower/wc3libs/app/ObjMerger.java @@ -24,7 +24,7 @@ import net.moonlightflower.wc3libs.slk.app.doodads.DoodSLK; import net.moonlightflower.wc3libs.slk.app.meta.*; import net.moonlightflower.wc3libs.slk.app.objs.*; -import net.moonlightflower.wc3libs.txt.Jass; +import net.moonlightflower.wc3libs.txt.app.jass.Jass; import net.moonlightflower.wc3libs.txt.Profile; import net.moonlightflower.wc3libs.txt.TXTSectionId; import net.moonlightflower.wc3libs.txt.WTS; @@ -435,7 +435,7 @@ public void filter(@Nonnull Filter filter) throws IOException { log.info("examine tokens"); for (Token token : j.getTokens()) { - if (token.getType() == JassLexer.INT_LITERAL) { + if (token.getType() == JassLexer.OCT_INT_LITERAL || token.getType() == JassLexer.DEC_INT_LITERAL || token.getType() == JassLexer.HEX_INT_LITERAL || token.getType() == JassLexer.ID_INT_LITERAL) { String text = token.getText(); int val; @@ -458,6 +458,30 @@ public void filter(@Nonnull Filter filter) throws IOException { jRefedIds.add(id); } } + + /*if (token.getType() == JassLexer.INT_LITERAL) { + String text = token.getText(); + + int val; + + if (text.startsWith("0x") || text.startsWith("0X")) { + val = Math.decode(text.substring(2).toLowerCase(), Math.CODE_HEX); + } else if (text.startsWith("$")) { + val = Math.decode(text.substring(1), Math.CODE_HEX); + } else if (text.startsWith("0")) { + val = Math.decode(text.substring(1), Math.CODE_OCT); + } else if (text.startsWith("'")) { + val = Math.decode(text.substring(1, text.length() - 1), Math.CODE_ASCII); + } else { + val = Math.decode(text, Math.CODE_DEC); + } + + Id id = Id.valueOf(Math.encode(val, Math.CODE_ASCII)); + + if (id.toString().length() == 4) { + jRefedIds.add(id); + } + }*/ } } diff --git a/src/main/java/net/moonlightflower/wc3libs/bin/app/W3I.java b/src/main/java/net/moonlightflower/wc3libs/bin/app/W3I.java index 316149a3..952e0058 100644 --- a/src/main/java/net/moonlightflower/wc3libs/bin/app/W3I.java +++ b/src/main/java/net/moonlightflower/wc3libs/bin/app/W3I.java @@ -9,6 +9,10 @@ import net.moonlightflower.wc3libs.port.JMpqPort; import net.moonlightflower.wc3libs.port.MpqPort; import net.moonlightflower.wc3libs.port.Orient; +import net.moonlightflower.wc3libs.txt.app.jass.FuncImpl; +import net.moonlightflower.wc3libs.txt.app.jass.FuncDecl; +import net.moonlightflower.wc3libs.txt.app.jass.JassScript; +import net.moonlightflower.wc3libs.txt.app.jass.statement.Statement; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -799,6 +803,42 @@ public void setAllyLowPrioFlag(int index, boolean val) { _allyLowPrioFlags.setPos(index, val); } + public Set getAllyLowPrioPlayerNums() { + Set ret = new LinkedHashSet<>(); + + int players = _allyLowPrioFlags.toInt(); + int c = 0; + + while (players != 0) { + if ((players & 1) == 1) ret.add(c); + + c++; + players >>= 1; + } + + return ret; + } + + public void removeAllyLowPrioPlayers(int... players) { + int rem = 0; + + for (int player : players) { + rem |= (1 << player); + } + + _allyLowPrioFlags.setVal(_allyLowPrioFlags.toInt() & ~rem); + } + + public void addAllyLowPrioPlayerNums(int... players) { + int add = 0; + + for (int player : players) { + add |= (1 << player); + } + + _allyLowPrioFlags.setVal(_allyLowPrioFlags.toInt() | add); + } + private FlagsInt _allyHighPrioFlags = AllyFlags.valueOf(0); public int getAllyHighPrioFlags() { @@ -813,6 +853,42 @@ public void setAllyHighPrioFlag(int index, boolean val) { _allyHighPrioFlags.setPos(index, val); } + public Set getAllyHighPrioPlayerNums() { + Set ret = new LinkedHashSet<>(); + + int players = _allyHighPrioFlags.toInt(); + int c = 0; + + while (players != 0) { + if ((players & 1) == 1) ret.add(c); + + c++; + players >>= 1; + } + + return ret; + } + + public void removeAllyHighPrioPlayers(int... players) { + int rem = 0; + + for (int player : players) { + rem |= (1 << player); + } + + _allyHighPrioFlags.setVal(_allyHighPrioFlags.toInt() & ~rem); + } + + public void addAllyHighPrioPlayerNums(int... players) { + int add = 0; + + for (int player : players) { + add |= (1 << player); + } + + _allyHighPrioFlags.setVal(_allyHighPrioFlags.toInt() | add); + } + @Override public String toString() { String allyLowPrioFlagsS = String.format("%12s", Integer.toBinaryString(getAllyLowPrioFlags())); @@ -2241,6 +2317,159 @@ public static W3I ofMapFile(@Nonnull File mapFile) throws Exception { w3i.read(inStream); inStream.close(); + return w3i; } + + public FuncImpl makeInitCustomPlayerSlots() { + FuncDecl funcDecl = new FuncDecl(false, FuncDecl.INIT_CUSTOM_PLAYER_SLOTS, new ArrayList<>(), null); + + List stmts = new ArrayList<>(); + + for (Player player : getPlayers()) { + stmts.add(Statement.create("call SetPlayerStartLocation(Player(" + player.getNum() + ")" + ", " + player.getNum() + ")")); + stmts.add(Statement.create("call SetPlayerColor(Player(" + player.getNum() + ")" + ", ConvertPlayerColor(" + player.getNum() + "))")); + stmts.add(Statement.create("call SetPlayerRacePreference(Player(" + player.getNum() + ")" + ", " + player.getRace() + ")")); + stmts.add(Statement.create("call SetPlayerRaceSelectable(Player(" + player.getNum() + ")" + ", false)")); + stmts.add(Statement.create("call SetPlayerController(Player(" + player.getNum() + ")" + ", " + player.getType() + ")")); + } + + FuncImpl.Body body = new FuncImpl.Body(new ArrayList<>(), stmts); + + FuncImpl funcImpl = new FuncImpl(funcDecl, body); + + return funcImpl; + } + + public FuncImpl makeInitCustomTeams() { + FuncDecl funcDecl = new FuncDecl(false, FuncDecl.INIT_CUSTOM_TEAMS, new ArrayList<>(), null); + + List stmts = new ArrayList<>(); + + Map numToPlayerMap = new LinkedHashMap<>(); + + for (Player player : getPlayers()) { + numToPlayerMap.put(player.getNum(), player); + } + + for (Force force : getForces()) { + for (Integer playerNum : force.getPlayerNums()) { + Player player = numToPlayerMap.get(playerNum); + + stmts.add(Statement.create("call SetPlayerTeam(Player(" + player.getNum() + ")" + ", " + getForces().indexOf(force) + ")")); + + if (force.getFlag(Force.Flags.Flag.ALLIED)) { + for (Integer playerNum2 : force.getPlayerNums()) { + if (playerNum == playerNum2) continue; + + stmts.add(Statement.create("call SetPlayerAllianceStateAllyBJ(Player(" + player.getNum() + ")" + ", " + playerNum2 + ", true)")); + } + } + if (force.getFlag(Force.Flags.Flag.SHARED_VISION)) { + for (Integer playerNum2 : force.getPlayerNums()) { + if (playerNum == playerNum2) continue; + + stmts.add(Statement.create("call SetPlayerAllianceStateVisionBJ(Player(" + player.getNum() + ")" + ", " + playerNum2 + ", true)")); + } + } + } + } + + FuncImpl.Body body = new FuncImpl.Body(new ArrayList<>(), stmts); + + FuncImpl funcImpl = new FuncImpl(funcDecl, body); + + return funcImpl; + } + + public FuncImpl makeInitAllyPriorities() { + FuncDecl funcDecl = new FuncDecl(false, FuncDecl.INIT_ALLY_PRIORITIES, new ArrayList<>(), null); + + List stmts = new ArrayList<>(); + + for (Player player : getPlayers()) { + Set lowNums = player.getAllyLowPrioPlayerNums(); + Set highNums = player.getAllyHighPrioPlayerNums(); + + int playerNum = player.getNum(); + + stmts.add(Statement.create(String.format("call SetStartLocPrioCount(%d, %d)", playerNum, lowNums.size() + highNums.size()))); + + int c = 0; + + for (Integer lowNum : lowNums) { + stmts.add(Statement.create(String.format("call SetStartLocPrio(%d, %d, %d, %s)", playerNum, c, lowNum, "MAP_LOC_PRIO_LOW"))); + c++; + } + for (Integer highNum : highNums) { + stmts.add(Statement.create(String.format("call SetStartLocPrio(%d, %d, %d, %s)", playerNum, c, highNum, "MAP_LOC_PRIO_HIGH"))); + c++; + } + } + + FuncImpl.Body body = new FuncImpl.Body(new ArrayList<>(), stmts); + + FuncImpl funcImpl = new FuncImpl(funcDecl, body); + + return funcImpl; + } + + public FuncImpl makeConfig() { + FuncDecl funcDecl = new FuncDecl(false, FuncDecl.CONFIG_NAME, new ArrayList<>(), null); + + List stmts = new ArrayList<>(); + + stmts.add(Statement.create("call SetMapName(\"" + getMapName() + "\")")); + stmts.add(Statement.create("call SetMapDescription(\"" + getMapDescription() + "\")")); + + stmts.add(Statement.create("call SetPlayers(" + getPlayers().size() + ")")); + stmts.add(Statement.create("call SetForces(" + getForces().size() + ")")); + + stmts.add(Statement.create("call SetGamePlacement(MAP_PLACEMENT_TEAMS_TOGETHER)")); + + for (Player player : getPlayers()) { + stmts.add(Statement.create("call DefineStartLocation(" + player.getNum() + ", " + player.getStartPos().getX() + ", " + player.getStartPos().getY() + ")")); + } + + stmts.add(Statement.create("call " + FuncDecl.INIT_CUSTOM_PLAYER_SLOTS + "()")); + stmts.add(Statement.create("call " + FuncDecl.INIT_CUSTOM_TEAMS + "()")); + stmts.add(Statement.create("call " + FuncDecl.INIT_ALLY_PRIORITIES + "()")); + + FuncImpl.Body body = new FuncImpl.Body(new ArrayList<>(), stmts); + + FuncImpl funcImpl = new FuncImpl(funcDecl, body); + + return funcImpl; + } + + public void injectConfigsInJassScript(@Nonnull JassScript jassScript) { + List funcNames = new ArrayList<>(); + + funcNames.add(FuncDecl.CONFIG_NAME); + funcNames.add(FuncDecl.INIT_CUSTOM_PLAYER_SLOTS); + funcNames.add(FuncDecl.INIT_CUSTOM_TEAMS); + funcNames.add(FuncDecl.INIT_ALLY_PRIORITIES); + + List funcImplsToRemove = new ArrayList<>(); + + for (FuncImpl funcImpl : jassScript.getFuncImpls()) { + if (funcNames.contains(funcImpl.getDecl().getName())) { + funcImplsToRemove.add(funcImpl); + } + } + + for (FuncImpl funcImpl : funcImplsToRemove) { + jassScript.removeFuncImpl(funcImpl); + } + + FuncImpl initCustomPlayerSlots = makeInitCustomPlayerSlots(); + FuncImpl initCustomTeams = makeInitCustomTeams(); + FuncImpl initAllyPriorities = makeInitAllyPriorities(); + FuncImpl config = makeConfig(); + + jassScript.addFuncImpl(initCustomPlayerSlots); + jassScript.addFuncImpl(initCustomTeams); + jassScript.addFuncImpl(initAllyPriorities); + jassScript.addFuncImpl(config); + } } \ No newline at end of file diff --git a/src/main/java/net/moonlightflower/wc3libs/bin/app/WTG.java b/src/main/java/net/moonlightflower/wc3libs/bin/app/WTG.java index f95db1c4..fd5d92f6 100644 --- a/src/main/java/net/moonlightflower/wc3libs/bin/app/WTG.java +++ b/src/main/java/net/moonlightflower/wc3libs/bin/app/WTG.java @@ -999,7 +999,7 @@ private void read_0x4(@Nonnull Reader reader, boolean hasBranch) throws Exceptio for (int i = 0; i < _func.getParams().size(); i++) { Param sub = null; - /*Func subFunc = funcMap.get(func.getParam(i)); + /*FuncImpl subFunc = funcMap.get(func.getParam(i)); switch (subFunc.getType()) { case BOOLCALL: @@ -1068,7 +1068,7 @@ private void read_0x7(@Nonnull Reader reader, boolean hasBranch) throws Exceptio for (int i = 0; i < _func.getParams().size(); i++) { Param sub = null; - /*Func subFunc = funcMap.get(func.getParam(i).toLowerCase()); + /*FuncImpl subFunc = funcMap.get(func.getParam(i).toLowerCase()); switch (subFunc.getType()) { case BOOLCALL: diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/PLD.java b/src/main/java/net/moonlightflower/wc3libs/txt/PLD.java index 8e7fc35f..15073903 100644 --- a/src/main/java/net/moonlightflower/wc3libs/txt/PLD.java +++ b/src/main/java/net/moonlightflower/wc3libs/txt/PLD.java @@ -2,6 +2,7 @@ import net.moonlightflower.wc3libs.antlr.JassLexer; import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.FuncImpl; import org.antlr.v4.runtime.*; import org.antlr.v4.runtime.misc.Interval; @@ -10,7 +11,7 @@ import java.util.Set; public class PLD { - public JassParser.FuncContext toJassFunc() { + public FuncImpl toJassFunc() { StringBuilder sb = new StringBuilder(); sb.append("function PreloadFiles takes nothing returns nothing"); @@ -37,9 +38,9 @@ public JassParser.FuncContext toJassFunc() { JassParser parser = new JassParser(tokenStream); - JassParser.FuncContext func = parser.func(); - - return func; + return null; + //TODO: fix + //return FuncImpl.create(parser.func_impl()); } private Set _preloads = new LinkedHashSet<>(); diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/Condition.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/Condition.java new file mode 100644 index 00000000..dfe50cc0 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/Condition.java @@ -0,0 +1,20 @@ +package net.moonlightflower.wc3libs.txt.app.jass; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.bool.BoolExpr; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public interface Condition { + /*static Condition create(@Nonnull JassParser.ConditionContext conditionContext) { + return BoolExpr.create(conditionContext.bool_expr()); + }*/ + + static Condition create(@Nonnull LightJassParser.ConditionContext conditionContext) { + return BoolExpr.create(conditionContext.expr()); + } + + void write(@Nonnull StringWriter sw); +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/Decl.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/Decl.java new file mode 100644 index 00000000..49391345 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/Decl.java @@ -0,0 +1,4 @@ +package net.moonlightflower.wc3libs.txt.app.jass; + +public interface Decl { +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/FuncDecl.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/FuncDecl.java new file mode 100644 index 00000000..f1e97eeb --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/FuncDecl.java @@ -0,0 +1,99 @@ +package net.moonlightflower.wc3libs.txt.app.jass; + +import net.moonlightflower.wc3libs.antlr.JassLexer; +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.List; + +public class FuncDecl implements Decl { + public final static String CONFIG_NAME = "config"; + public final static String INIT_ALLY_PRIORITIES = "InitAllyPriorities"; + public final static String INIT_CUSTOM_PLAYER_SLOTS = "InitCustomPlayerSlots"; + public final static String INIT_CUSTOM_TEAMS = "InitCustomTeams"; + public final static String MAIN_NAME = "main"; + + private boolean _isConstant; + private String _name; + private List _params; + private String _returnType; + + public String getName() { + return _name; + } + + public FuncDecl(boolean isConstant, @Nonnull String name, List params, @Nullable String returnType) { + _isConstant = isConstant; + _name = name; + _params = params; + _returnType = returnType; + } + + public static FuncDecl create(@Nonnull LightJassParser.Native_declContext native_declContext) { + List params = new ArrayList<>(); + + LightJassParser.Func_param_listContext paramList = native_declContext.func_param_list(); + + for (LightJassParser.Func_paramContext funcParamContext : paramList.func_param()) { + params.add(Param.create(funcParamContext)); + } + + return new FuncDecl(native_declContext.CONST_DECL() != null, native_declContext.func_name().getText(), params, native_declContext.func_return_type().getText()); + } + + public static FuncDecl create(@Nonnull LightJassParser.Func_declContext func_declContext) { + List params = new ArrayList<>(); + + LightJassParser.Func_param_listContext paramList = func_declContext.func_param_list(); + + for (LightJassParser.Func_paramContext funcParamContext : paramList.func_param()) { + params.add(Param.create(funcParamContext)); + } + + return new FuncDecl(func_declContext.CONST_DECL() != null, func_declContext.func_name().getText(), params, func_declContext.func_return_type().getText()); + } + + public void write(@Nonnull StringWriter sw) { + if (_isConstant) sw.write(JassScript.getPrimaryLiteral(JassLexer.CONST_DECL) + " "); + + sw.write(JassScript.getPrimaryLiteral(JassLexer.FUNCTION)); + + sw.write(" "); + + sw.write(_name); + + sw.write(" "); + + sw.write(JassScript.getPrimaryLiteral(JassLexer.TAKES)); + + sw.write(" "); + + if (_params.isEmpty()) { + sw.write(JassScript.getPrimaryLiteral(JassLexer.NOTHING)); + } else { + boolean first = true; + + for (Param param : _params) { + if (first) { + first = false; + } else { + sw.write(JassScript.getPrimaryLiteral(JassLexer.COMMA) + " "); + } + + param.write(sw); + } + } + + sw.write(" "); + + sw.write(JassScript.getPrimaryLiteral(JassLexer.RETURNS)); + + sw.write(" "); + + sw.write(_returnType == null ? JassScript.getPrimaryLiteral(JassLexer.NOTHING) : _returnType); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/FuncImpl.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/FuncImpl.java new file mode 100644 index 00000000..caf315c5 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/FuncImpl.java @@ -0,0 +1,108 @@ +package net.moonlightflower.wc3libs.txt.app.jass; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.statement.Statement; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.List; + +public class FuncImpl implements Decl { + private FuncDecl _decl; + + public FuncDecl getDecl() { + return _decl; + } + + public static class Body { + private List _localVars; + private List _stmts; + + public void write(@Nonnull StringWriter sw) { + boolean first = true; + + for (VarDecl var : _localVars) { + if (first) { + first = false; + } else { + sw.write("\n"); + } + + var.write(sw); + } + + for (Statement stmt : _stmts) { + if (first) { + first = false; + } else { + sw.write("\n"); + } + + stmt.write(sw); + } + } + + public Body(@Nonnull List localVars, @Nonnull List stmts) { + _localVars = localVars; + _stmts = stmts; + } + + public static Body create(@Nullable LightJassParser.Func_bodyContext func_bodyContext) { + List localVars = new ArrayList<>(); + + if (func_bodyContext != null) { + LightJassParser.Local_var_decl_listContext localVarDecl_listContext = func_bodyContext.local_var_decl_list(); + + if (localVarDecl_listContext != null) { + List localVarDeclContext = localVarDecl_listContext.local_var_decl(); + + if (localVarDeclContext != null) { + for (LightJassParser.Local_var_declContext localVarDecContext : localVarDeclContext) { + localVars.add(VarDecl.create(localVarDecContext)); + } + } + } + } + + List stmts = new ArrayList<>(); + + if (func_bodyContext != null) { + LightJassParser.Statement_listContext statement_listContext = func_bodyContext.statement_list(); + + if (statement_listContext != null) { + for (LightJassParser.StatementContext stmtContext : statement_listContext.statement()) { + stmts.add(Statement.create(stmtContext)); + } + } + } + + return new Body(localVars, stmts); + } + } + + private Body _body; + + public FuncImpl(@Nonnull FuncDecl decl, @Nonnull Body body) { + _decl = decl; + _body = body; + } + + public static FuncImpl create(@Nonnull LightJassParser.Func_implContext func_implContext) { + return new FuncImpl(FuncDecl.create(func_implContext.func_decl()), Body.create(func_implContext.func_body())); + } + + public void write(@Nonnull StringWriter sw) { + _decl.write(sw); + + sw.write("\n"); + + _body.write(sw); + + sw.write("\n"); + + sw.write("endfunction"); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/Jass.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/Jass.java similarity index 64% rename from src/main/java/net/moonlightflower/wc3libs/txt/Jass.java rename to src/main/java/net/moonlightflower/wc3libs/txt/app/jass/Jass.java index e3b78b37..21a646d0 100644 --- a/src/main/java/net/moonlightflower/wc3libs/txt/Jass.java +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/Jass.java @@ -1,19 +1,20 @@ -package net.moonlightflower.wc3libs.txt; +package net.moonlightflower.wc3libs.txt.app.jass; +import com.sun.org.apache.xpath.internal.operations.Variable; import net.moonlightflower.wc3libs.antlr.JassLexer; import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.misc.Math; +import net.moonlightflower.wc3libs.txt.UTF8; import org.antlr.v4.runtime.*; -import org.antlr.v4.runtime.tree.ErrorNode; -import org.antlr.v4.runtime.tree.ParseTreeListener; -import org.antlr.v4.runtime.tree.TerminalNode; import javax.annotation.Nonnull; +import javax.annotation.Nullable; import java.io.*; -import java.nio.charset.StandardCharsets; import java.util.ArrayList; -import java.util.LinkedHashMap; import java.util.List; -import java.util.Map; +import java.util.function.Function; +import java.util.function.Predicate; public class Jass { public final static File GAME_PATH = new File("war3map.j"); @@ -28,7 +29,9 @@ public List getTokens() { public JassParser.RootContext getRootContext() { if (_rootContext == null) { - JassParser parser = new JassParser(new CommonTokenStream(new ListTokenSource(_tokens))); + TokenStream tokenStream = new CommonTokenStream(new ListTokenSource(_tokens)); + + JassParser parser = new JassParser(tokenStream); _rootContext = parser.root(); } @@ -55,7 +58,7 @@ private static List stripComments(@Nonnull List tokens) { s = s.replaceAll("[^\n]", ""); for (int i = 0; i < s.length() + 1; i++) { - Token newToken = new CommonTokenFactory().create(JassLexer.NEW_LINE, "\n"); + Token newToken = new CommonTokenFactory().create(JassLexer.NEW_LINES, "\n"); newTokens.add(newToken); } @@ -68,7 +71,27 @@ private static List stripComments(@Nonnull List tokens) { return newTokens; } - + + public static JassParser transform(@Nonnull String input) { + CharStream antlrStream = CharStreams.fromString(input); + + Lexer lexer = new JassLexer(antlrStream); + + CommonTokenStream tokenStream = new CommonTokenStream(lexer); + + tokenStream.fill(); + + //List tokens = new ArrayList<>(tokenStream.getTokens()); + + //_tokens = stripComments(tokens); + + //TokenStream tokenStream = new CommonTokenStream(new ListTokenSource(_tokens)); + + JassParser parser = new JassParser(tokenStream); + + return parser; + } + private void read(@Nonnull InputStream inStream) throws IOException { UTF8 reader = new UTF8(inStream, false, true); @@ -82,9 +105,13 @@ private void read(@Nonnull InputStream inStream) throws IOException { tokenStream.fill(); - List tokens = tokenStream.getTokens(); + List tokens = new ArrayList<>(tokenStream.getTokens()); _tokens = stripComments(tokens); + + /*for (Token token : _tokens) { + System.out.println(JassLexer.VOCABULARY.getSymbolicName(token.getType()) + " -> " + token.getText()); + }*/ } public Jass(@Nonnull InputStream inStream) throws IOException { diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/JassScript.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/JassScript.java new file mode 100644 index 00000000..fafc7c80 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/JassScript.java @@ -0,0 +1,148 @@ +package net.moonlightflower.wc3libs.txt.app.jass; + +import net.moonlightflower.wc3libs.antlr.JassLexer; +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.statement.Statement; +import org.antlr.v4.runtime.Vocabulary; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.List; +import java.util.function.Function; + +public class JassScript { + private List _typeDecls = new ArrayList<>(); + + private List _globalVars = new ArrayList<>(); + + private List _nativeDecls = new ArrayList<>(); + + private List _funcImpls = new ArrayList<>(); + + public List getFuncImpls() { + return _funcImpls; + } + + public void removeFuncImpl(@Nonnull FuncImpl funcImpl) { + _funcImpls.remove(funcImpl); + } + + public void addFuncImpl(@Nonnull FuncImpl funcImpl) { + _funcImpls.add(funcImpl); + } + + @Nonnull + public static String getPrimaryLiteral(int tokenType) { + Vocabulary vocab = JassLexer.VOCABULARY; + + String lit = vocab.getLiteralName(tokenType); + + if (lit == null) { + return ""; + } + + return lit.replace("'", ""); + } + + public JassScript() { + + } + + private static class GlobalsBlock implements Decl { + private final List _varDecls = new ArrayList<>(); + + public GlobalsBlock(@Nonnull List varDecls) { + _varDecls.addAll(varDecls); + } + + public static GlobalsBlock create(@Nonnull LightJassParser.Globals_blockContext globals_blockContext) { + List varDecls = new ArrayList<>(); + + for (LightJassParser.Global_declContext global_declContext : globals_blockContext.global_decl()) { + varDecls.add(VarDecl.create(global_declContext)); + } + + return new GlobalsBlock(varDecls); + } + } + + public Decl createDecl(@Nonnull LightJassParser.Top_declContext top_declContext) { + if (top_declContext.type_decl() != null) return TypeDecl.create(top_declContext.type_decl()); + if (top_declContext.native_decl() != null) return FuncDecl.create(top_declContext.native_decl()); + if (top_declContext.globals_block() != null) return GlobalsBlock.create(top_declContext.globals_block()); + if (top_declContext.func_impl() != null) return FuncImpl.create(top_declContext.func_impl()); + + throw new AssertionError("no option for " + top_declContext.getText()); + } + + public void addDecl(@Nonnull Decl decl) { + if (decl instanceof TypeDecl) { + _typeDecls.add((TypeDecl) decl); + + return; + } + if (decl instanceof GlobalsBlock) { + _globalVars.addAll(((GlobalsBlock) decl)._varDecls); + + return; + } + if (decl instanceof FuncDecl) { + _nativeDecls.add((FuncDecl) decl); + + return; + } + if (decl instanceof FuncImpl) { + _funcImpls.add((FuncImpl) decl); + + return; + } + + throw new AssertionError("no option for " + decl); + } + + /*public JassScript(@Nonnull JassParser.RootContext rootContext) { + for (JassParser.Top_declContext top_declContext : rootContext.top_decl()) { + Decl decl = createDecl(top_declContext); + + addDecl(decl); + } + }*/ + + public JassScript(@Nonnull LightJassParser.RootContext rootContext) { + for (LightJassParser.Top_declContext top_declContext : rootContext.top_decl()) { + Decl decl = createDecl(top_declContext); + + addDecl(decl); + } + } + + public void write(@Nonnull StringWriter sw) { + for (TypeDecl typeDecl : _typeDecls) { + typeDecl.write(sw); + + sw.write("\n"); + } + + sw.write(getPrimaryLiteral(JassLexer.GLOBALS_START)); + + sw.write("\n"); + + for (VarDecl varDecl : _globalVars) { + varDecl.write(sw); + + sw.write("\n"); + } + + sw.write(getPrimaryLiteral(JassLexer.GLOBALS_END)); + + sw.write("\n"); + + for (FuncImpl funcImpl : _funcImpls) { + funcImpl.write(sw); + + sw.write("\n"); + } + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/LightJass.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/LightJass.java new file mode 100644 index 00000000..fe3ec742 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/LightJass.java @@ -0,0 +1,142 @@ +package net.moonlightflower.wc3libs.txt.app.jass; + +import net.moonlightflower.wc3libs.antlr.JassLexer; +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.UTF8; +import org.antlr.v4.runtime.*; +import org.antlr.v4.runtime.tree.ErrorNode; +import org.antlr.v4.runtime.tree.ParseTreeListener; +import org.antlr.v4.runtime.tree.TerminalNode; + +import javax.annotation.Nonnull; +import java.io.*; +import java.util.ArrayList; +import java.util.List; + +public class LightJass { + public final static File GAME_PATH = new File("war3map.j"); + + private List _tokens; + + public List getTokens() { + return _tokens; + } + + private LightJassParser.RootContext _rootContext; + + public LightJassParser.RootContext getRootContext() { + if (_rootContext == null) { + TokenStream tokenStream = new CommonTokenStream(new ListTokenSource(_tokens)); + + LightJassParser parser = new LightJassParser(tokenStream); + + _rootContext = parser.root(); + } + + return _rootContext; + } + + @Override + public String toString() { + return _rootContext.toString(); + } + + @Nonnull + private static List stripComments(@Nonnull List tokens) { + List newTokens = new ArrayList<>(); + + for (Token token : tokens) { + if (token.getType() == JassLexer.COMMENT_BLOCK) { + String s = token.getText(); + + s = s.replaceAll("\r\n", "n"); + s = s.replaceAll("\r", "n"); + + s = s.replaceAll("[^\n]", ""); + + for (int i = 0; i < s.length() + 1; i++) { + Token newToken = new CommonTokenFactory().create(JassLexer.NEW_LINES, "\n"); + + newTokens.add(newToken); + } + } else { + newTokens.add(token); + } + } + + newTokens.removeIf(token -> (token.getType() == JassLexer.COMMENT_SINGLE)); + + return newTokens; + } + + public static LightJassParser transform(@Nonnull String input) { + CharStream antlrStream = CharStreams.fromString(input); + + Lexer lexer = new JassLexer(antlrStream); + + CommonTokenStream tokenStream = new CommonTokenStream(lexer); + + tokenStream.fill(); + + //List tokens = new ArrayList<>(tokenStream.getTokens()); + + //_tokens = stripComments(tokens); + + //TokenStream tokenStream = new CommonTokenStream(new ListTokenSource(_tokens)); + + LightJassParser parser = new LightJassParser(tokenStream); + + return parser; + } + + private void read(@Nonnull InputStream inStream) throws IOException { + UTF8 reader = new UTF8(inStream, false, true); + + String input = reader.readAll(false); + + CharStream antlrStream = CharStreams.fromString(input); + + Lexer lexer = new JassLexer(antlrStream); + + CommonTokenStream tokenStream = new CommonTokenStream(lexer); + + tokenStream.fill(); + + List tokens = new ArrayList<>(tokenStream.getTokens()); + + _tokens = stripComments(tokens); + + /*for (Token token : _tokens) { + System.out.println(JassLexer.VOCABULARY.getSymbolicName(token.getType()) + " -> " + token.getText()); + }*/ + } + + public LightJass(@Nonnull InputStream inStream) throws IOException { + read(inStream); + } + + public LightJass(@Nonnull File file) throws IOException { + InputStream inStream = new FileInputStream(file); + + read(inStream); + + inStream.close(); + } + + public LightJass(@Nonnull String s) { + try { + InputStream inStream = new ByteArrayInputStream(s.getBytes()); + + read(inStream); + + inStream.close(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + public LightJass() { + _rootContext = new LightJassParser.RootContext(null, -1); + } +} \ No newline at end of file diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/Param.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/Param.java new file mode 100644 index 00000000..8649d58e --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/Param.java @@ -0,0 +1,29 @@ +package net.moonlightflower.wc3libs.txt.app.jass; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public class Param { + private String _type; + private String _name; + + public Param(@Nonnull String type, @Nonnull String name) { + _type = type; + _name = name; + } + + public static Param create(@Nonnull LightJassParser.Func_paramContext func_paramContext) { + return new Param(func_paramContext.type_ref().getText(), func_paramContext.var_name().getText()); + } + + public void write(@Nonnull StringWriter sw) { + sw.write(_type); + + sw.write(" "); + + sw.write(_name); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/TypeDecl.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/TypeDecl.java new file mode 100644 index 00000000..107bda74 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/TypeDecl.java @@ -0,0 +1,36 @@ +package net.moonlightflower.wc3libs.txt.app.jass; + +import net.moonlightflower.wc3libs.antlr.JassLexer; +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public class TypeDecl implements Decl { + private String _name; + private String _parent; + + public TypeDecl(@Nonnull String name, @Nonnull String parent) { + _name = name; + _parent = parent; + } + + public static TypeDecl create(@Nonnull LightJassParser.Type_declContext type_declContext) { + return new TypeDecl(type_declContext.type_name().getText(), type_declContext.parent.getText()); + } + + public void write(@Nonnull StringWriter sw) { + sw.write(JassScript.getPrimaryLiteral(JassLexer.TYPE_DECL)); + + sw.write(" "); + + sw.write(_name); + + sw.write(" "); + + sw.write(JassScript.getPrimaryLiteral(JassLexer.TYPE_EXTENDS)); + + sw.write(_parent); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/VarDecl.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/VarDecl.java new file mode 100644 index 00000000..b6ae1540 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/VarDecl.java @@ -0,0 +1,66 @@ +package net.moonlightflower.wc3libs.txt.app.jass; + +import net.moonlightflower.wc3libs.antlr.JassLexer; +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Expr; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.StringWriter; + +public class VarDecl implements Decl { + private boolean _isConstant; + private String _type; + private boolean _isArray; + private String _name; + private Expr _val; + + public VarDecl(boolean isConstant, @Nonnull String type, boolean isArray, @Nonnull String name, @Nullable Expr val) { + _isConstant = isConstant; + _type = type; + _isArray = isArray; + _name = name; + _val = val; + } + + public static VarDecl create(@Nonnull LightJassParser.Global_declContext global_declContext) { + Expr val = global_declContext.val != null ? Expr.create(global_declContext.val) : null; + + return new VarDecl(global_declContext.CONST_DECL() != null, global_declContext.type_ref().getText(), global_declContext.ARRAY_DECL() != null, global_declContext.var_name().getText(), val); + } + + public static VarDecl create(@Nonnull LightJassParser.Local_var_declContext local_var_declContext) { + Expr val = local_var_declContext.expr() != null ? Expr.create(local_var_declContext.expr()) : null; + + return new VarDecl(false, local_var_declContext.type_ref().getText(), local_var_declContext.ARRAY_DECL() != null, local_var_declContext.var_name().getText(), val); + } + + public void write(@Nonnull StringWriter sw) { + if (_isConstant) { + sw.write(JassScript.getPrimaryLiteral(JassLexer.CONST_DECL)); + + sw.write(" "); + } + + sw.write(_type); + + sw.write(" "); + + if (_isArray) { + sw.write(JassScript.getPrimaryLiteral(JassLexer.ARRAY_DECL)); + + sw.write(" "); + } + + sw.write(_name); + + sw.write(" "); + + if (_val != null) { + sw.write(JassScript.getPrimaryLiteral(JassLexer.ASSIGN_OP)); + + _val.write(sw); + } + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/AnyTypeExpr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/AnyTypeExpr.java new file mode 100644 index 00000000..092de2a7 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/AnyTypeExpr.java @@ -0,0 +1,27 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.bool.BoolExpr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.FuncCall; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.CodeExpr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.HandleExpr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.IntExpr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.RealExpr; + +import javax.annotation.Nonnull; + +public interface AnyTypeExpr extends NullExpr, HandleExpr, CodeExpr, BoolExpr, IntExpr, RealExpr, StringExpr { + static AnyTypeExpr create(@Nonnull JassParser.Any_expr_atomContext any_expr_atomContext) { + if (any_expr_atomContext.func_call() != null) { + return FuncCall.create(any_expr_atomContext.func_call()); + } + if (any_expr_atomContext.var_ref() != null) { + return VarRef.create(any_expr_atomContext.var_ref()); + } + if (any_expr_atomContext.array_read() != null) { + return ArrayRead.create(any_expr_atomContext.array_read()); + } + + throw new AssertionError("no option for " + any_expr_atomContext.getText()); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/ArrayRead.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/ArrayRead.java new file mode 100644 index 00000000..137c3fd8 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/ArrayRead.java @@ -0,0 +1,29 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.IntExpr; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public class ArrayRead implements AnyTypeExpr { + private String _varRef; + private IntExpr _index; + + public ArrayRead(@Nonnull String varRef, @Nonnull IntExpr index) { + _varRef = varRef; + _index = index; + } + + public static ArrayRead create(@Nonnull JassParser.Array_readContext array_readContext) { + return new ArrayRead(array_readContext.var_ref().getText(), IntExpr.create(array_readContext.int_expr())); + } + + @Override + public void write(@Nonnull StringWriter sw) { + sw.write(_varRef); + sw.write("["); + _index.write(sw); + sw.write("]"); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/Expr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/Expr.java new file mode 100644 index 00000000..18975cd0 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/Expr.java @@ -0,0 +1,64 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.Jass; +import net.moonlightflower.wc3libs.txt.app.jass.expr.bool.BoolExpr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.FuncCall; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.NullLiteral; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.*; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public interface Expr { + static AnyTypeExpr create(@Nonnull JassParser.Any_expr_atomContext any_expr_atomContext) { + if (any_expr_atomContext.func_call() != null) { + return FuncCall.create(any_expr_atomContext.func_call()); + } + if (any_expr_atomContext.var_ref() != null) { + return VarRef.create(any_expr_atomContext.var_ref()); + } + if (any_expr_atomContext.array_read() != null) { + return ArrayRead.create(any_expr_atomContext.array_read()); + } + + throw new AssertionError("no option for " + any_expr_atomContext); + } + + static Expr create(@Nonnull JassParser.ExprContext exprContext) { + if (exprContext.handle_expr() != null) { + return HandleExpr.create(exprContext.handle_expr()); + } + if (exprContext.null_expr() != null) { + return NullExpr.create(exprContext.null_expr()); + } + if (exprContext.code_expr() != null) { + return CodeExpr.create(exprContext.code_expr()); + } + if (exprContext.bool_expr() != null) { + return BoolExpr.create(exprContext.bool_expr()); + } + if (exprContext.int_expr() != null) { + return NumExpr.create(exprContext.int_expr()); + } + if (exprContext.real_expr() != null) { + return NumExpr.create(exprContext.real_expr()); + } + if (exprContext.string_expr() != null) { + return StringExpr.create(exprContext.string_expr()); + } + + throw new AssertionError("no option for " + exprContext.getText()); + } + + static Expr create(@Nonnull LightJassParser.ExprContext exprContext) { + return LightExpr.create(exprContext); + } + + static Expr create(@Nonnull String input) { + return create(Jass.transform(input).expr()); + } + + void write(@Nonnull StringWriter sw); +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/LightExpr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/LightExpr.java new file mode 100644 index 00000000..0125fd48 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/LightExpr.java @@ -0,0 +1,23 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr; + +import net.moonlightflower.wc3libs.antlr.LightJassParser; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public class LightExpr implements AnyTypeExpr { + private String _expr; + + public LightExpr(@Nonnull String expr) { + _expr = expr; + } + + public static LightExpr create(@Nonnull LightJassParser.ExprContext exprContext) { + return new LightExpr(exprContext.getText()); + } + + @Override + public void write(@Nonnull StringWriter sw) { + sw.write(_expr); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/Literal.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/Literal.java new file mode 100644 index 00000000..5916683e --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/Literal.java @@ -0,0 +1,36 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.IntLiteral; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.RealLiteral; +import net.moonlightflower.wc3libs.txt.app.jass.expr.bool.BoolLiteral; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.CodeLiteral; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.NullLiteral; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.StringLiteral; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public interface Literal extends Expr { + static Literal create(@Nonnull JassParser.Bool_literalContext literalContext) { + return BoolLiteral.create(literalContext.BOOL_LITERAL()); + } + + static Literal create(@Nonnull JassParser.Int_literalContext literalContext) { + return IntLiteral.create(literalContext); + } + + static Literal create(@Nonnull JassParser.Real_literalContext literalContext) { + return RealLiteral.create(literalContext.REAL_LITERAL()); + } + + static Literal create(@Nonnull JassParser.String_literalContext literalContext) { + if (literalContext.STRING_LITERAL() != null) { + return StringLiteral.create(literalContext.STRING_LITERAL()); + } + + return new NullLiteral(); + } + + void write(@Nonnull StringWriter sw); +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/NullExpr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/NullExpr.java new file mode 100644 index 00000000..8c86217a --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/NullExpr.java @@ -0,0 +1,25 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.NullLiteral; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.CodeExpr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.HandleExpr; + +import javax.annotation.Nonnull; + +public interface NullExpr extends HandleExpr, CodeExpr, StringExpr { + static NullExpr create(@Nonnull JassParser.Null_parensContext null_parensContext) { + return create(null_parensContext.null_expr()); + } + + static NullExpr create(@Nonnull JassParser.Null_exprContext null_exprContext) { + if (null_exprContext.null_parens() != null) { + return create(null_exprContext.null_parens()); + } + if (null_exprContext.any_expr_atom() != null) { + return AnyTypeExpr.create(null_exprContext.any_expr_atom()); + } + + return NullLiteral.create(null_exprContext.null_literal()); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/Op.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/Op.java new file mode 100644 index 00000000..5f1092fc --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/Op.java @@ -0,0 +1,8 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public interface Op { + void write(@Nonnull StringWriter sw); +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/StringConcat.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/StringConcat.java new file mode 100644 index 00000000..ba3978e2 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/StringConcat.java @@ -0,0 +1,35 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public class StringConcat implements StringExpr { + public interface IConcatOp extends Op { + + } + + public enum ConcatOp implements IConcatOp { + CONCAT { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("+"); + } + } + } + + private StringExpr _left; + private ConcatOp _op = ConcatOp.CONCAT; + private StringExpr _right; + + public StringConcat(@Nonnull StringExpr left, @Nonnull StringExpr right) { + _left = left; + _right = right; + } + + @Override + public void write(@Nonnull StringWriter sw) { + _left.write(sw); + _op.write(sw); + _right.write(sw); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/StringExpr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/StringExpr.java new file mode 100644 index 00000000..926d9fa6 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/StringExpr.java @@ -0,0 +1,44 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.NullLiteral; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.StringLiteral; + +import javax.annotation.Nonnull; + +public interface StringExpr extends Expr { + static StringExpr create(@Nonnull JassParser.String_literalContext string_literalContext) { + if (string_literalContext.null_literal() != null) { + return NullLiteral.create(string_literalContext.null_literal()); + } + + return new StringLiteral(string_literalContext.getText()); + } + + static StringExpr create(@Nonnull JassParser.String_parensContext string_parensContext) { + return create(string_parensContext.string_expr()); + } + + static StringExpr create(@Nonnull JassParser.String_atomContext string_atomContext) { + if (string_atomContext.string_literal() != null) { + return create(string_atomContext.string_literal()); + } + if (string_atomContext.string_parens() != null) { + return create(string_atomContext.string_parens()); + } + + return AnyTypeExpr.create(string_atomContext.any_expr_atom()); + } + + static StringExpr create(@Nonnull JassParser.String_maybe_concatContext string_maybe_concatContext) { + if (string_maybe_concatContext.string_concat_op() != null) { + return new StringConcat(StringExpr.create(string_maybe_concatContext.left), create(string_maybe_concatContext.right)); + } + + return create(string_maybe_concatContext.string_atom()); + } + + static StringExpr create(@Nonnull JassParser.String_exprContext string_exprContext) { + return create(string_exprContext.string_maybe_concat()); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/VarRef.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/VarRef.java new file mode 100644 index 00000000..24f125d7 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/VarRef.java @@ -0,0 +1,25 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr; + +import net.moonlightflower.wc3libs.antlr.JassParser; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.List; + +public class VarRef implements AnyTypeExpr { + private String _varRef; + + public VarRef(@Nonnull String varRef) { + _varRef = varRef; + } + + public static VarRef create(@Nonnull JassParser.Var_refContext var_refContext) { + return new VarRef(var_refContext.getText()); + } + + @Override + public void write(@Nonnull StringWriter sw) { + sw.write(_varRef); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/BoolExpr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/BoolExpr.java new file mode 100644 index 00000000..bd2bdacc --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/BoolExpr.java @@ -0,0 +1,125 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.bool; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.Condition; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Expr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.LightExpr; + +import javax.annotation.Nonnull; + +public interface BoolExpr extends Expr, Condition { + static BoolExpr create(@Nonnull JassParser.Bool_string_relationContext bool_string_relationContext) { + return StringRelation.create(bool_string_relationContext.left, bool_string_relationContext.bool_relation_op(), bool_string_relationContext.right); + } + + static BoolExpr create(@Nonnull JassParser.Bool_parensContext bool_parensContext) { + return create(bool_parensContext.bool_expr()); + } + + static BoolExpr create(@Nonnull JassParser.Bool_atomContext bool_atomContext) { + if (bool_atomContext.any_expr_atom() != null) { + return Expr.create(bool_atomContext.any_expr_atom()); + } + if (bool_atomContext.bool_literal() != null) { + return BoolLiteral.create(bool_atomContext.bool_literal()); + } + if (bool_atomContext.bool_parens() != null) { + return create(bool_atomContext.bool_parens()); + } + + throw new AssertionError("no option for " + bool_atomContext.getText()); + } + + static BoolExpr create(@Nonnull JassParser.Bool_maybe_unaryContext bool_maybe_unaryContext) { + if (bool_maybe_unaryContext.BOOL_OP_NEG() != null) { + return new UnaryBoolExpr(UnaryBoolExpr.UnaryOp.NEG, create(bool_maybe_unaryContext.bool_maybe_unary())); + } + + return create(bool_maybe_unaryContext.bool_atom()); + } + + static BoolExpr create(@Nonnull JassParser.Bool_num_order_relationContext bool_num_order_relationContext) { + return NumRelation.create(bool_num_order_relationContext.left, bool_num_order_relationContext.bool_num_order_relation_op(), bool_num_order_relationContext.right); + } + + static BoolExpr create(@Nonnull JassParser.Bool_maybe_num_order_relationContext bool_maybe_num_order_relationContext) { + if (bool_maybe_num_order_relationContext.bool_num_order_relation() != null) { + return create(bool_maybe_num_order_relationContext.bool_num_order_relation()); + } + + return create(bool_maybe_num_order_relationContext.bool_maybe_unary()); + } + + static BoolExpr create(@Nonnull JassParser.Bool_maybe_num_order_relationContext left, @Nonnull JassParser.Bool_relation_opContext bool_relation_opContext, @Nonnull JassParser.Bool_maybe_num_order_relationContext right) { + return new BoolRelation(create(left), BoolRelation.createOp(bool_relation_opContext), create(right)); + } + + static BoolExpr create(@Nonnull JassParser.Bool_num_relationContext bool_num_relationContext) { + return NumRelation.create(bool_num_relationContext.left, bool_num_relationContext.bool_relation_op(), bool_num_relationContext.right); + } + + static BoolExpr create(@Nonnull JassParser.Bool_bool_relationContext bool_bool_relationContext) { + return create(bool_bool_relationContext.left, bool_bool_relationContext.bool_relation_op(), bool_bool_relationContext.right); + } + + static BoolExpr create(@Nonnull JassParser.Bool_code_relationContext bool_code_relationContext) { + return CodeRelation.create(bool_code_relationContext.left, bool_code_relationContext.bool_relation_op(), bool_code_relationContext.right); + } + + static BoolExpr create(@Nonnull JassParser.Bool_null_relationContext bool_null_relationContext) { + return NullRelation.create(bool_null_relationContext.left, bool_null_relationContext.bool_relation_op(), bool_null_relationContext.right); + } + + static BoolExpr create(@Nonnull JassParser.Bool_full_relationContext bool_full_relationContext) { + if (bool_full_relationContext.bool_null_relation() != null) { + return create(bool_full_relationContext.bool_null_relation()); + } + if (bool_full_relationContext.bool_code_relation() != null) { + return create(bool_full_relationContext.bool_code_relation()); + } + if (bool_full_relationContext.bool_bool_relation() != null) { + return create(bool_full_relationContext.bool_bool_relation()); + } + if (bool_full_relationContext.bool_num_relation() != null) { + return create(bool_full_relationContext.bool_num_relation()); + } + if (bool_full_relationContext.bool_string_relation() != null) { + return create(bool_full_relationContext.bool_string_relation()); + } + + throw new AssertionError("no option for " + bool_full_relationContext.getText()); + } + + static BoolExpr create(@Nonnull JassParser.Bool_maybe_full_relationContext bool_maybe_full_relationContext) { + if (bool_maybe_full_relationContext.bool_full_relation() != null) { + return create(bool_maybe_full_relationContext.bool_full_relation()); + } + + return create(bool_maybe_full_relationContext.bool_maybe_num_order_relation()); + } + + static BoolExpr create(@Nonnull JassParser.Bool_maybe_conjunctContext bool_maybe_conjunctContext) { + if (bool_maybe_conjunctContext.BOOL_OP_CONJUNCT() != null) { + return new Connective(create(bool_maybe_conjunctContext.left), Connective.ConnectiveOp.CONJUNCT, create(bool_maybe_conjunctContext.right)); + } + + return create(bool_maybe_conjunctContext.exit); + } + + static BoolExpr create(@Nonnull JassParser.Bool_maybe_disjunctContext bool_maybe_disjunctContext) { + if (bool_maybe_disjunctContext.BOOL_OP_DISJUNCT() != null) { + return new Connective(create(bool_maybe_disjunctContext.left), Connective.ConnectiveOp.DISJUNCT, create(bool_maybe_disjunctContext.right)); + } + + return create(bool_maybe_disjunctContext.exit); + } + + static BoolExpr create(@Nonnull JassParser.Bool_exprContext bool_exprContext) { + return create(bool_exprContext.bool_maybe_disjunct()); + } + + static BoolExpr create(@Nonnull LightJassParser.ExprContext exprContext) { + return LightExpr.create(exprContext); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/BoolLiteral.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/BoolLiteral.java new file mode 100644 index 00000000..3cb3c2a9 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/BoolLiteral.java @@ -0,0 +1,46 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.bool; + +import net.moonlightflower.wc3libs.antlr.JassLexer; +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Literal; +import org.antlr.v4.runtime.tree.TerminalNode; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.function.Function; + +public class BoolLiteral implements BoolExpr, Literal { + private boolean _val; + + public BoolLiteral(boolean val) { + _val = val; + } + + public static BoolLiteral create(@Nonnull TerminalNode terminalNode) { + return ((Function) tokenType -> { + if (tokenType == JassLexer.BOOL_LITERAL) { + return new BoolLiteral(((Function) s -> { + if (s.equals("true")) return Boolean.TRUE; + if (s.equals("false")) return Boolean.FALSE; + + throw new AssertionError("no option for " + s + "(" + terminalNode + ")"); + }).apply(terminalNode.getText())); + } + + throw new AssertionError("no option for tokenType " + tokenType + "(" + terminalNode + ")"); + }).apply(terminalNode.getSymbol().getType()); + } + + public static BoolLiteral create(@Nonnull JassParser.Bool_literalContext bool_literalContext) { + return create(bool_literalContext.BOOL_LITERAL()); + } + + @Override + public void write(@Nonnull StringWriter sw) { + if (_val) { + sw.write("true"); + } else { + sw.write("false"); + } + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/BoolRelation.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/BoolRelation.java new file mode 100644 index 00000000..2eec4b65 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/BoolRelation.java @@ -0,0 +1,15 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.bool; + +import net.moonlightflower.wc3libs.antlr.JassParser; + +import javax.annotation.Nonnull; + +public class BoolRelation extends Relation { + public BoolRelation(@Nonnull BoolExpr left, @Nonnull Op op, @Nonnull BoolExpr right) { + super(left, op, right); + } + + public static BoolExpr create(@Nonnull JassParser.Bool_exprContext left, @Nonnull JassParser.Bool_relation_opContext bool_relation_opContext, @Nonnull JassParser.Bool_exprContext right) { + return new BoolRelation(BoolExpr.create(left), createOp(bool_relation_opContext), BoolExpr.create(right)); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/CodeRelation.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/CodeRelation.java new file mode 100644 index 00000000..9451d573 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/CodeRelation.java @@ -0,0 +1,16 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.bool; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.CodeExpr; + +import javax.annotation.Nonnull; + +public class CodeRelation extends Relation { + public CodeRelation(@Nonnull CodeExpr left, @Nonnull Op op, @Nonnull CodeExpr right) { + super(left, op, right); + } + + public static BoolExpr create(@Nonnull JassParser.Code_exprContext left, @Nonnull JassParser.Bool_relation_opContext bool_relation_opContext, @Nonnull JassParser.Code_exprContext right) { + return new CodeRelation(CodeExpr.create(left), createOp(bool_relation_opContext), CodeExpr.create(right)); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/Connective.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/Connective.java new file mode 100644 index 00000000..d31c157e --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/Connective.java @@ -0,0 +1,46 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.bool; + +import net.moonlightflower.wc3libs.txt.app.jass.expr.Op; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public class Connective implements BoolExpr { + public interface IConnectiveOp extends Op { + + } + + public enum ConnectiveOp implements IConnectiveOp { + CONJUNCT { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("and"); + } + }, + DISJUNCT { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("or"); + } + } + } + + private BoolExpr _left; + private ConnectiveOp _op; + private BoolExpr _right; + + public Connective(@Nonnull BoolExpr left, @Nonnull ConnectiveOp connectiveOp, @Nonnull BoolExpr right) { + _left = left; + _op = connectiveOp; + _right = right; + } + + @Override + public void write(@Nonnull StringWriter sw) { + _left.write(sw); + sw.write(" "); + _op.write(sw); + sw.write(" "); + _right.write(sw); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/HandleRelation.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/HandleRelation.java new file mode 100644 index 00000000..844695d9 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/HandleRelation.java @@ -0,0 +1,16 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.bool; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.HandleExpr; + +import javax.annotation.Nonnull; + +public class HandleRelation extends Relation { + public HandleRelation(@Nonnull HandleExpr left, @Nonnull Op op, @Nonnull HandleExpr right) { + super(left, op, right); + } + + public static BoolExpr create(@Nonnull JassParser.Handle_exprContext left, @Nonnull JassParser.Bool_relation_opContext bool_relation_opContext, @Nonnull JassParser.Handle_exprContext right) { + return new HandleRelation(HandleExpr.create(left), createOp(bool_relation_opContext), HandleExpr.create(right)); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/NullRelation.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/NullRelation.java new file mode 100644 index 00000000..055e63ab --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/NullRelation.java @@ -0,0 +1,16 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.bool; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.NullExpr; + +import javax.annotation.Nonnull; + +public class NullRelation extends Relation { + public NullRelation(@Nonnull NullExpr left, @Nonnull Op op, @Nonnull NullExpr right) { + super(left, op, right); + } + + public static BoolExpr create(@Nonnull JassParser.Null_exprContext left, @Nonnull JassParser.Bool_relation_opContext bool_relation_opContext, @Nonnull JassParser.Null_exprContext right) { + return new NullRelation(NullExpr.create(left), createOp(bool_relation_opContext), NullExpr.create(right)); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/NumRelation.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/NumRelation.java new file mode 100644 index 00000000..be856017 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/NumRelation.java @@ -0,0 +1,124 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.bool; + +import net.moonlightflower.wc3libs.antlr.JassLexer; +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.NumExpr; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.function.Function; + +public class NumRelation extends Relation { + public enum Op implements Relation.IOp { + EQUAL { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("="); + } + }, + UNEQUAL { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("!="); + } + }, + LESS { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("<"); + } + }, + LESS_EQUAL { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("<="); + } + }, + GREATER { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write(">"); + } + }, + GREATER_EQUAL { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write(">="); + } + } + } + + private NumExpr _left; + private Op _op; + private NumExpr _right; + + public NumRelation(@Nonnull NumExpr left, @Nonnull Op op, @Nonnull NumExpr right) { + super(left, op, right); + + _left = left; + _op = op; + _right = right; + } + + public static Op createOp(@Nonnull JassParser.Bool_num_order_relation_opContext bool_num_order_relation_opContext) { + return ((Function) bool_num_order_relation_opContext1 -> { + if (bool_num_order_relation_opContext1.LESS() != null) return Op.LESS; + if (bool_num_order_relation_opContext1.LESS_EQUAL() != null) return Op.LESS_EQUAL; + if (bool_num_order_relation_opContext1.GREATER() != null) return Op.GREATER; + if (bool_num_order_relation_opContext1.GREATER_EQUAL() != null) return Op.GREATER_EQUAL; + + throw new AssertionError("no option for " + bool_num_order_relation_opContext1.getText()); + }).apply(bool_num_order_relation_opContext); + } + + public static Op createNumOp(@Nonnull JassParser.Bool_relation_opContext bool_relation_opContext) { + return ((Function) bool_relation_opContext1 -> { + if (bool_relation_opContext1.EQUAL() != null) return Op.EQUAL; + if (bool_relation_opContext1.UNEQUAL() != null) return Op.UNEQUAL; + + throw new AssertionError("no option for " + bool_relation_opContext1.getText()); + }).apply(bool_relation_opContext); + } + + public static BoolExpr create(@Nonnull JassParser.Num_exprContext left, @Nonnull JassParser.Bool_num_order_relation_opContext bool_num_order_relation_opContext, @Nonnull JassParser.Num_exprContext right) { + return new NumRelation(NumExpr.create(left), createOp(bool_num_order_relation_opContext), NumExpr.create(right)); + } + + public static BoolExpr create(@Nonnull JassParser.Num_exprContext left, @Nonnull JassParser.Bool_relation_opContext bool_relation_opContext, @Nonnull JassParser.Num_exprContext right) { + return new NumRelation(NumExpr.create(left), createNumOp(bool_relation_opContext), NumExpr.create(right)); + } + + @Override + public void write(@Nonnull StringWriter sw) { + _left.write(sw); + switch (_op) { + case EQUAL: + sw.write("="); + + break; + case UNEQUAL: + sw.write("!="); + + break; + case LESS: + sw.write("<"); + + break; + case LESS_EQUAL: + sw.write("<="); + + break; + case GREATER: + sw.write(">"); + + break; + case GREATER_EQUAL: + sw.write(">="); + + break; + default: + throw new AssertionError("no option for " + _op); + } + _right.write(sw); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/Relation.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/Relation.java new file mode 100644 index 00000000..53cdfe0a --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/Relation.java @@ -0,0 +1,53 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.bool; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Expr; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.function.Function; + +public abstract class Relation implements BoolExpr { + protected interface IOp { + void write(@Nonnull StringWriter sw); + } + + public enum Op implements IOp { + EQUAL { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("="); + } + }, + UNEQUAL { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("!="); + } + } + } + + private T _left; + private T2 _op; + private T _right; + + public Relation(@Nonnull T left, @Nonnull T2 op, @Nonnull T right) { + _left = left; + _op = op; + _right = right; + } + + public static Op createOp(@Nonnull JassParser.Bool_relation_opContext bool_relation_opContext) { + return ((Function) bool_relation_opContext1 -> { + if (bool_relation_opContext1.EQUAL() != null) return Op.EQUAL; + if (bool_relation_opContext1.UNEQUAL() != null) return Op.UNEQUAL; + + throw new AssertionError("no option for " + bool_relation_opContext1); + }).apply(bool_relation_opContext); + } + + @Override + public void write(@Nonnull StringWriter sw) { + + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/StringRelation.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/StringRelation.java new file mode 100644 index 00000000..3b4e7a5a --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/StringRelation.java @@ -0,0 +1,18 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.bool; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.StringExpr; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.function.Function; + +public class StringRelation extends Relation { + public StringRelation(@Nonnull StringExpr left, @Nonnull Op op, @Nonnull StringExpr right) { + super(left, op, right); + } + + public static BoolExpr create(@Nonnull JassParser.String_exprContext left, @Nonnull JassParser.Bool_relation_opContext bool_relation_opContext, @Nonnull JassParser.String_exprContext right) { + return new StringRelation(StringExpr.create(left), createOp(bool_relation_opContext), StringExpr.create(right)); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/UnaryBoolExpr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/UnaryBoolExpr.java new file mode 100644 index 00000000..29769373 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/bool/UnaryBoolExpr.java @@ -0,0 +1,37 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.bool; + +import net.moonlightflower.wc3libs.txt.app.jass.expr.Expr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Op; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public class UnaryBoolExpr implements BoolExpr { + public interface IUnaryOp extends Op { + + } + + public enum UnaryOp implements IUnaryOp { + NEG { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("not"); + } + } + } + + private UnaryOp _op; + private BoolExpr _expr; + + public UnaryBoolExpr(@Nonnull UnaryOp op, @Nonnull BoolExpr expr) { + _op = op; + _expr = expr; + } + + @Override + public void write(@Nonnull StringWriter sw) { + _op.write(sw); + sw.write(" "); + _expr.write(sw); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/misc_literal/CodeLiteral.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/misc_literal/CodeLiteral.java new file mode 100644 index 00000000..d4bebc27 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/misc_literal/CodeLiteral.java @@ -0,0 +1,36 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Literal; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.CodeExpr; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.StringWriter; + +public class CodeLiteral implements CodeExpr, Literal { + private String _funcRef; + + public CodeLiteral(@Nullable String funcRef) { + _funcRef = funcRef; + } + + public static CodeLiteral create(@Nonnull JassParser.Code_literalContext code_literalContext) { + if (code_literalContext.func_ref() != null) { + return new CodeLiteral(code_literalContext.func_ref().getText()); + } + + return new CodeLiteral(null); + } + + @Override + public void write(@Nonnull StringWriter sw) { + if (_funcRef == null) { + new NullLiteral().write(sw); + } else { + sw.write("function "); + + sw.write(_funcRef); + } + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/misc_literal/FuncCall.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/misc_literal/FuncCall.java new file mode 100644 index 00000000..50e84747 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/misc_literal/FuncCall.java @@ -0,0 +1,73 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.AnyTypeExpr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Expr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.StringExpr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.bool.BoolExpr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.CodeExpr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.HandleExpr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.NumExpr; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.List; + +public class FuncCall implements AnyTypeExpr { + private String _funcRef; + private List _params; + + public FuncCall(@Nonnull String funcRef, @Nonnull List params) { + _funcRef = funcRef; + _params = params; + } + + public static FuncCall create(@Nonnull LightJassParser.Func_refContext func_refContext, @Nonnull LightJassParser.Arg_listContext arg_listContext) { + List params = new ArrayList<>(); + + for (LightJassParser.ExprContext exprContext : arg_listContext.expr()) { + params.add(Expr.create(exprContext)); + } + + return new FuncCall(func_refContext.getText(), params); + } + + public static FuncCall create(@Nonnull JassParser.Func_refContext func_refContext, @Nonnull JassParser.Arg_listContext arg_listContext) { + List params = new ArrayList<>(); + + for (JassParser.ExprContext exprContext : arg_listContext.expr()) { + params.add(Expr.create(exprContext)); + } + + return new FuncCall(func_refContext.getText(), params); + } + + public static FuncCall create(@Nonnull LightJassParser.Func_callContext func_callContext) { + return create(func_callContext.func_ref(), func_callContext.arg_list()); + } + + public static FuncCall create(@Nonnull JassParser.Func_callContext func_callContext) { + return create(func_callContext.func_ref(), func_callContext.arg_list()); + } + + @Override + public void write(@Nonnull StringWriter sw) { + sw.write(_funcRef); + sw.write("("); + + boolean first = true; + + for (Expr param : _params) { + if (first) { + first = false; + } else { + sw.write(", "); + } + + param.write(sw); + } + sw.write(")"); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/misc_literal/NullLiteral.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/misc_literal/NullLiteral.java new file mode 100644 index 00000000..b81af159 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/misc_literal/NullLiteral.java @@ -0,0 +1,35 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal; + +import net.moonlightflower.wc3libs.antlr.JassLexer; +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Literal; +import net.moonlightflower.wc3libs.txt.app.jass.expr.NullExpr; +import org.antlr.v4.runtime.tree.TerminalNode; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.function.Function; + +public class NullLiteral implements NullExpr, Literal { + public NullLiteral() { + } + + public static NullLiteral create(@Nonnull TerminalNode terminalNode) { + return ((Function) tokenType -> { + if (tokenType == JassLexer.NULL_LITERAL) { + return new NullLiteral(); + } + + throw new AssertionError("no option for tokenType " + tokenType + "(" + terminalNode + ")"); + }).apply(terminalNode.getSymbol().getType()); + } + + public static NullLiteral create(@Nonnull JassParser.Null_literalContext null_literalContext) { + return new NullLiteral(); + } + + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("null"); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/misc_literal/StringLiteral.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/misc_literal/StringLiteral.java new file mode 100644 index 00000000..f1719dc5 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/misc_literal/StringLiteral.java @@ -0,0 +1,38 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal; + +import net.moonlightflower.wc3libs.antlr.JassLexer; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Literal; +import net.moonlightflower.wc3libs.txt.app.jass.expr.StringExpr; +import org.antlr.v4.runtime.tree.TerminalNode; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.StringWriter; +import java.util.function.Function; + +public class StringLiteral implements StringExpr, Literal { + private String _val; + + public StringLiteral(@Nullable String val) { + _val = val; + } + + public static StringLiteral create(@Nonnull TerminalNode terminalNode) { + return ((Function) tokenType -> { + if (tokenType == JassLexer.REAL_LITERAL) { + return new StringLiteral(terminalNode.getText()); + } + + throw new AssertionError("no option for tokenType " + tokenType + "(" + terminalNode + ")"); + }).apply(terminalNode.getSymbol().getType()); + } + + @Override + public void write(@Nonnull StringWriter sw) { + if (_val == null) { + new NullLiteral().write(sw); + } else { + sw.write(_val.replaceAll("\\\\", "\\\\").replaceAll("\"", "\\\"")); + } + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/CodeExpr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/CodeExpr.java new file mode 100644 index 00000000..cc6efb94 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/CodeExpr.java @@ -0,0 +1,25 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Expr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.CodeLiteral; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.NullLiteral; + +import javax.annotation.Nonnull; + +public interface CodeExpr extends Expr { + static CodeExpr create(@Nonnull JassParser.Code_parensContext code_parensContext) { + return create(code_parensContext.code_expr()); + } + + static CodeExpr create(@Nonnull JassParser.Code_exprContext code_exprContext) { + if (code_exprContext.code_literal() != null) { + return CodeLiteral.create(code_exprContext.code_literal()); + } + if (code_exprContext.code_parens() != null) { + return create(code_exprContext.code_parens()); + } + + return Expr.create(code_exprContext.any_expr_atom()); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/HandleExpr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/HandleExpr.java new file mode 100644 index 00000000..068e4266 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/HandleExpr.java @@ -0,0 +1,28 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Expr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.NullLiteral; + +import javax.annotation.Nonnull; + +public interface HandleExpr extends Expr { + static HandleExpr create(@Nonnull JassParser.Handle_literalContext handle_literalContext) { + return NullLiteral.create(handle_literalContext.null_literal()); + } + + static HandleExpr create(@Nonnull JassParser.Handle_parensContext handle_parensContext) { + return create(handle_parensContext.handle_expr()); + } + + static HandleExpr create(@Nonnull JassParser.Handle_exprContext handle_exprContext) { + if (handle_exprContext.handle_literal() != null) { + return create(handle_exprContext.handle_literal()); + } + if (handle_exprContext.handle_parens() != null) { + return create(handle_exprContext.handle_parens()); + } + + return Expr.create(handle_exprContext.any_expr_atom()); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntExpr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntExpr.java new file mode 100644 index 00000000..9bfed70d --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntExpr.java @@ -0,0 +1,63 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.AnyTypeExpr; + +import javax.annotation.Nonnull; + +public interface IntExpr extends NumExpr, RealExpr { + static IntExpr create(@Nonnull JassParser.Any_expr_atomContext any_expr_atomContext) { + return AnyTypeExpr.create(any_expr_atomContext); + } + + static IntExpr create(@Nonnull JassParser.Int_parensContext int_parensContext) { + return create(int_parensContext.int_expr()); + } + + static IntExpr create(@Nonnull JassParser.Int_atomContext int_atomContext) { + if (int_atomContext.int_literal() != null) { + return IntLiteral.create(int_atomContext.int_literal()); + } + if (int_atomContext.int_parens() != null) { + return create(int_atomContext.int_parens()); + } + + return create(int_atomContext.any_expr_atom()); + } + + static IntExpr create(@Nonnull JassParser.Int_maybe_unaryContext int_maybe_unaryContext) { + if (int_maybe_unaryContext.num_unary_op() != null) { + return IntUnary.create(int_maybe_unaryContext.num_unary_op(), int_maybe_unaryContext.int_maybe_unary()); + } + + return create(int_maybe_unaryContext.int_atom()); + } + + static IntProd create(@Nonnull JassParser.Int_maybe_prodContext left, @Nonnull JassParser.Num_prod_opContext num_prod_opContext, @Nonnull JassParser.Int_maybe_unaryContext right) { + return new IntProd(create(left), Prod.createOp(num_prod_opContext), create(right)); + } + + static IntExpr create(@Nonnull JassParser.Int_maybe_prodContext int_maybe_prodContext) { + if (int_maybe_prodContext.num_prod_op() != null) { + return create(int_maybe_prodContext.left, int_maybe_prodContext.num_prod_op(), int_maybe_prodContext.right); + } + + return create(int_maybe_prodContext.int_maybe_unary()); + } + + static IntSum create(@Nonnull JassParser.Int_maybe_sumContext left, @Nonnull JassParser.Num_sum_opContext num_sum_opContext, @Nonnull JassParser.Int_maybe_prodContext right) { + return new IntSum(create(left), Sum.createOp(num_sum_opContext), create(right)); + } + + static IntExpr create(@Nonnull JassParser.Int_maybe_sumContext int_maybe_sumContext) { + if (int_maybe_sumContext.num_sum_op() != null) { + return create(int_maybe_sumContext.left, int_maybe_sumContext.num_sum_op(), int_maybe_sumContext.right); + } + + return create(int_maybe_sumContext.int_maybe_prod()); + } + + static IntExpr create(@Nonnull JassParser.Int_exprContext int_exprContext) { + return create(int_exprContext.int_maybe_sum()); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntLiteral.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntLiteral.java new file mode 100644 index 00000000..1300ecc3 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntLiteral.java @@ -0,0 +1,89 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.antlr.JassLexer; +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.misc.Math; +import org.antlr.v4.runtime.tree.TerminalNode; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.function.Function; + +public class IntLiteral implements NumLiteral, IntExpr { + private int _val; + + public enum Type { + OCT, + DEC, + HEX, + ID + } + + private Type _type; + + public IntLiteral(int val, @Nonnull Type type) { + _val = val; + _type = type; + } + + /*public static IntLiteral create(@Nonnull TerminalNode terminalNode) { + return ((Function) tokenType -> { + if (tokenType == JassLexer.OCT_INT_LITERAL) { + return new IntLiteral(Math.decode(terminalNode.getText(), Math.CODE_OCT), Type.OCT); + } + if (tokenType == JassLexer.DEC_INT_LITERAL) { + return new IntLiteral(Math.decode(terminalNode.getText(), Math.CODE_DEC), Type.DEC); + } + if (tokenType == JassLexer.HEX_INT_LITERAL) { + return new IntLiteral(Math.decode(terminalNode.getText(), Math.CODE_HEX), Type.HEX); + } + if (tokenType == JassLexer.ID_INT_LITERAL) { + return new IntLiteral(Math.decode(terminalNode.getText(), Math.CODE_ASCII), Type.ID); + } + + throw new AssertionError("no option for tokenType " + tokenType + " (" + terminalNode + ")"); + }).apply(terminalNode.getSymbol().getType()); + }*/ + + public static IntLiteral create(@Nonnull JassParser.Int_literalContext int_literalContext) { + if (int_literalContext.OCT_INT_LITERAL() != null) { + return new IntLiteral(Math.decode(int_literalContext.OCT_INT_LITERAL().getText(), Math.CODE_OCT), Type.OCT); + } + if (int_literalContext.DEC_INT_LITERAL() != null) { + return new IntLiteral(Math.decode(int_literalContext.DEC_INT_LITERAL().getText(), Math.CODE_DEC), Type.DEC); + } + if (int_literalContext.HEX_INT_LITERAL() != null) { + return new IntLiteral(Math.decode(int_literalContext.HEX_INT_LITERAL().getText(), Math.CODE_HEX), Type.HEX); + } + if (int_literalContext.ID_INT_LITERAL() != null) { + return new IntLiteral(Math.decode(int_literalContext.ID_INT_LITERAL().getText(), Math.CODE_ASCII), Type.ID); + } + //return create(int_literalContext.INT_LITERAL()); + + throw new AssertionError("no option for " + int_literalContext.getText()); + } + + @Override + public void write(@Nonnull StringWriter sw) { + switch (_type) { + case OCT: + sw.write(Math.encode(_val, Math.CODE_OCT)); + + break; + case DEC: + sw.write(Math.encode(_val, Math.CODE_DEC)); + + break; + case HEX: + sw.write(Math.encode(_val, Math.CODE_HEX)); + + break; + case ID: + sw.write(Math.encode(_val, Math.CODE_ASCII)); + + break; + default: + throw new AssertionError("no option for " + _type); + } + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntProd.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntProd.java new file mode 100644 index 00000000..add70b4e --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntProd.java @@ -0,0 +1,9 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import javax.annotation.Nonnull; + +public class IntProd extends Prod implements IntExpr { + public IntProd(@Nonnull NumExpr left, @Nonnull ProdOp op, @Nonnull NumExpr right) { + super(left, op, right); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntSum.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntSum.java new file mode 100644 index 00000000..ea7c749d --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntSum.java @@ -0,0 +1,9 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import javax.annotation.Nonnull; + +public class IntSum extends Sum implements IntExpr { + protected IntSum(@Nonnull IntExpr left, @Nonnull SumOp op, @Nonnull IntExpr right) { + super(left, op, right); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntUnary.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntUnary.java new file mode 100644 index 00000000..ce930c65 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/IntUnary.java @@ -0,0 +1,15 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.antlr.JassParser; + +import javax.annotation.Nonnull; + +public class IntUnary extends UnaryNumExpr implements IntExpr { + public IntUnary(@Nonnull Sign sign, @Nonnull NumExpr expr) { + super(sign, expr); + } + + public static IntUnary create(@Nonnull JassParser.Num_unary_opContext num_unary_opContext, @Nonnull JassParser.Int_maybe_unaryContext int_maybe_unaryContext) { + return new IntUnary(UnaryNumExpr.createOp(num_unary_opContext), IntExpr.create(int_maybe_unaryContext)); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/NumExpr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/NumExpr.java new file mode 100644 index 00000000..19b0b2eb --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/NumExpr.java @@ -0,0 +1,27 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Expr; + +import javax.annotation.Nonnull; + +public interface NumExpr extends Expr { + static NumExpr create(@Nonnull JassParser.Num_exprContext num_exprContext) { + if (num_exprContext.int_expr() != null) { + return create(num_exprContext.int_expr()); + } + if (num_exprContext.real_expr() != null) { + return create(num_exprContext.real_expr()); + } + + throw new AssertionError("no option for " + num_exprContext.getText()); + } + + static NumExpr create(@Nonnull JassParser.Int_exprContext int_exprContext) { + return IntExpr.create(int_exprContext); + } + + static NumExpr create(@Nonnull JassParser.Real_exprContext real_exprContext) { + return RealExpr.create(real_exprContext); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/NumLiteral.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/NumLiteral.java new file mode 100644 index 00000000..8a48a824 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/NumLiteral.java @@ -0,0 +1,6 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.txt.app.jass.expr.Literal; + +public interface NumLiteral extends NumExpr, Literal { +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/Prod.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/Prod.java new file mode 100644 index 00000000..50d1f740 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/Prod.java @@ -0,0 +1,62 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Op; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.function.Function; + +public abstract class Prod implements NumExpr { + public interface IProdOp extends net.moonlightflower.wc3libs.txt.app.jass.expr.Op { + void write(@Nonnull StringWriter sw); + } + + public enum ProdOp implements IProdOp { + MULT { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("*"); + } + }, + DIV { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("/"); + } + }, + MOD { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("%"); + } + } + } + + private NumExpr _left; + private Op _op; + private NumExpr _right; + + public Prod(@Nonnull NumExpr left, @Nonnull Op op, @Nonnull NumExpr right) { + _left = left; + _op = op; + _right = right; + } + + public static ProdOp createOp(@Nonnull JassParser.Num_prod_opContext num_prod_opContext) { + return ((Function) num_prod_opContext1 -> { + if (num_prod_opContext1.MULT() != null) return ProdOp.MULT; + if (num_prod_opContext1.DIV() != null) return ProdOp.DIV; + if (num_prod_opContext1.MOD() != null) return ProdOp.MOD; + + return null; + }).apply(num_prod_opContext); + } + + @Override + public void write(@Nonnull StringWriter sw) { + _left.write(sw); + _op.write(sw); + _right.write(sw); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealExpr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealExpr.java new file mode 100644 index 00000000..6650b58e --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealExpr.java @@ -0,0 +1,66 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.AnyTypeExpr; + +import javax.annotation.Nonnull; + +public interface RealExpr extends NumExpr { + static RealExpr create(@Nonnull JassParser.Any_expr_atomContext any_expr_atomContext) { + return AnyTypeExpr.create(any_expr_atomContext); + } + + static RealExpr create(@Nonnull JassParser.Real_parensContext real_parensContext) { + return create(real_parensContext.real_expr()); + } + + static RealExpr create(@Nonnull JassParser.Real_atomContext real_atomContext) { + if (real_atomContext.int_atom() != null) { + return IntExpr.create(real_atomContext.int_atom()); + } + if (real_atomContext.real_literal() != null) { + return RealLiteral.create(real_atomContext.real_literal()); + } + if (real_atomContext.real_parens() != null) { + return create(real_atomContext.real_parens()); + } + + return create(real_atomContext.any_expr_atom()); + } + + static RealExpr create(@Nonnull JassParser.Real_maybe_unaryContext real_maybe_unaryContext) { + if (real_maybe_unaryContext.num_unary_op() != null) { + return RealUnary.create(real_maybe_unaryContext.num_unary_op(), real_maybe_unaryContext.real_maybe_unary()); + } + + return create(real_maybe_unaryContext.real_atom()); + } + + static RealProd create(@Nonnull JassParser.Real_maybe_prodContext left, @Nonnull JassParser.Num_prod_opContext num_prod_opContext, @Nonnull JassParser.Real_maybe_unaryContext right) { + return new RealProd(create(left), Prod.createOp(num_prod_opContext), create(right)); + } + + static RealExpr create(@Nonnull JassParser.Real_maybe_prodContext real_maybe_prodContext) { + if (real_maybe_prodContext.num_prod_op() != null) { + return create(real_maybe_prodContext.left, real_maybe_prodContext.num_prod_op(), real_maybe_prodContext.right); + } + + return create(real_maybe_prodContext.real_maybe_unary()); + } + + static RealSum create(@Nonnull JassParser.Real_maybe_sumContext left, @Nonnull JassParser.Num_sum_opContext num_sum_opContext, @Nonnull JassParser.Real_maybe_prodContext right) { + return new RealSum(create(left), Sum.createOp(num_sum_opContext), create(right)); + } + + static RealExpr create(@Nonnull JassParser.Real_maybe_sumContext real_maybe_sumContext) { + if (real_maybe_sumContext.num_sum_op() != null) { + return create(real_maybe_sumContext.left, real_maybe_sumContext.num_sum_op(), real_maybe_sumContext.right); + } + + return create(real_maybe_sumContext.real_maybe_prod()); + } + + static RealExpr create(@Nonnull JassParser.Real_exprContext real_exprContext) { + return create(real_exprContext.real_maybe_sum()); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealLiteral.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealLiteral.java new file mode 100644 index 00000000..82ffffa7 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealLiteral.java @@ -0,0 +1,36 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.antlr.JassLexer; +import net.moonlightflower.wc3libs.antlr.JassParser; +import org.antlr.v4.runtime.tree.TerminalNode; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.function.Function; + +public class RealLiteral implements NumLiteral, RealExpr { + private float _val; + + public RealLiteral(float val) { + _val = val; + } + + public static RealLiteral create(@Nonnull TerminalNode terminalNode) { + return ((Function) tokenType -> { + if (tokenType == JassLexer.REAL_LITERAL) { + return new RealLiteral(Float.parseFloat(terminalNode.getText())); + } + + throw new AssertionError("no option for tokenType " + tokenType + "(" + terminalNode + ")"); + }).apply(terminalNode.getSymbol().getType()); + } + + public static RealLiteral create(@Nonnull JassParser.Real_literalContext real_literalContext) { + return create(real_literalContext.REAL_LITERAL()); + } + + @Override + public void write(@Nonnull StringWriter sw) { + sw.write(Float.toString(_val)); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealProd.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealProd.java new file mode 100644 index 00000000..2793244d --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealProd.java @@ -0,0 +1,9 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import javax.annotation.Nonnull; + +public class RealProd extends Prod implements RealExpr { + public RealProd(@Nonnull NumExpr left, @Nonnull ProdOp op, @Nonnull NumExpr right) { + super(left, op, right); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealSum.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealSum.java new file mode 100644 index 00000000..9dc0f747 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealSum.java @@ -0,0 +1,9 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import javax.annotation.Nonnull; + +public class RealSum extends Sum implements RealExpr { + protected RealSum(@Nonnull RealExpr left, @Nonnull SumOp op, @Nonnull RealExpr right) { + super(left, op, right); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealUnary.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealUnary.java new file mode 100644 index 00000000..80e95e35 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/RealUnary.java @@ -0,0 +1,15 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.antlr.JassParser; + +import javax.annotation.Nonnull; + +public class RealUnary extends UnaryNumExpr implements RealExpr { + public RealUnary(@Nonnull Sign sign, @Nonnull NumExpr expr) { + super(sign, expr); + } + + public static RealUnary create(@Nonnull JassParser.Num_unary_opContext num_unary_opContext, @Nonnull JassParser.Real_maybe_unaryContext real_maybe_unaryContext) { + return new RealUnary(UnaryNumExpr.createOp(num_unary_opContext), RealExpr.create(real_maybe_unaryContext)); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/Sum.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/Sum.java new file mode 100644 index 00000000..33a4efcf --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/Sum.java @@ -0,0 +1,54 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Op; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.function.Function; + +public abstract class Sum implements NumExpr { + interface ISumOp extends Op { + } + + enum SumOp implements ISumOp { + ADD { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("+"); + } + }, + SUB { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("-"); + } + } + } + + private T _left; + private Op _op; + private T _right; + + protected Sum(@Nonnull T left, @Nonnull Op op, @Nonnull T right) { + _left = left; + _op = op; + _right = right; + } + + public static SumOp createOp(@Nonnull JassParser.Num_sum_opContext num_sum_opContext) { + return ((Function) num_sum_opContext1 -> { + if (num_sum_opContext1.ADD() != null) return SumOp.ADD; + if (num_sum_opContext1.SUB() != null) return SumOp.SUB; + + return null; + }).apply(num_sum_opContext); + } + + @Override + public void write(@Nonnull StringWriter sw) { + _left.write(sw); + _op.write(sw); + _right.write(sw); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/UnaryNumExpr.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/UnaryNumExpr.java new file mode 100644 index 00000000..844200f5 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/expr/num/UnaryNumExpr.java @@ -0,0 +1,56 @@ +package net.moonlightflower.wc3libs.txt.app.jass.expr.num; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Expr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Op; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.function.Function; + +public abstract class UnaryNumExpr implements NumExpr { + public interface IUnaryOp extends Op { + + } + + public enum Sign implements IUnaryOp { + PLUS { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("+"); + } + }, + MINUS { + @Override + public void write(@Nonnull StringWriter sw) { + sw.write("-"); + } + } + } + + private Sign _sign; + private NumExpr _expr; + + public UnaryNumExpr(@Nonnull Sign sign, @Nonnull NumExpr expr) { + _sign = sign; + _expr = expr; + } + + public static Sign createOp(@Nonnull JassParser.Num_unary_opContext num_unary_opContext) { + return ((Function) num_unary_opContext1 -> { + if (num_unary_opContext1.ADD() != null) return Sign.PLUS; + if (num_unary_opContext1.SUB() != null) return Sign.MINUS; + + throw new AssertionError("no option for " + num_unary_opContext1.getText()); + }).apply(num_unary_opContext); + } + + @Override + public void write(@Nonnull StringWriter sw) { + _sign.write(sw); + + if (_expr instanceof Sum || _expr instanceof Prod) sw.write("("); + _expr.write(sw); + if (_expr instanceof Sum || _expr instanceof Prod) sw.write(")"); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/CallStatement.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/CallStatement.java new file mode 100644 index 00000000..c0ad1f6c --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/CallStatement.java @@ -0,0 +1,29 @@ +package net.moonlightflower.wc3libs.txt.app.jass.statement; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.misc_literal.FuncCall; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public class CallStatement extends Statement { + private FuncCall _funcCall; + + public CallStatement(@Nonnull FuncCall funcCall) { + _funcCall = funcCall; + } + + public static CallStatement create(@Nonnull LightJassParser.CallContext callContext) { + return new CallStatement(FuncCall.create(callContext.func_call())); + } + + @Override + public void write(@Nonnull StringWriter sw) { + super.write(sw); + + sw.write("call "); + + _funcCall.write(sw); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/ExitwhenStatement.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/ExitwhenStatement.java new file mode 100644 index 00000000..77e7327d --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/ExitwhenStatement.java @@ -0,0 +1,30 @@ +package net.moonlightflower.wc3libs.txt.app.jass.statement; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.Condition; +import net.moonlightflower.wc3libs.txt.app.jass.statement.Statement; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public class ExitwhenStatement extends Statement { + private Condition _condition; + + public ExitwhenStatement(@Nonnull Condition condition) { + _condition = condition; + } + + public static ExitwhenStatement create(@Nonnull LightJassParser.ExitwhenContext exitwhenContext) { + return new ExitwhenStatement(Condition.create(exitwhenContext.condition())); + } + + @Override + public void write(@Nonnull StringWriter sw) { + super.write(sw); + + sw.write("exitwhen "); + + _condition.write(sw); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/LoopStatement.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/LoopStatement.java new file mode 100644 index 00000000..a4870816 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/LoopStatement.java @@ -0,0 +1,52 @@ +package net.moonlightflower.wc3libs.txt.app.jass.statement; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.misc.State; +import net.moonlightflower.wc3libs.txt.app.jass.statement.Statement; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.List; + +public class LoopStatement extends Statement { + private final List _stmts = new ArrayList<>(); + + public LoopStatement(@Nonnull List stmts) { + _stmts.addAll(stmts); + } + + public static LoopStatement create(@Nonnull LightJassParser.LoopContext loopContext) { + List stmts = new ArrayList<>(); + + for (LightJassParser.Loop_body_lineContext loopBodyLineContext : loopContext.loop_body().loop_body_line()) { + for (LightJassParser.StatementContext statementContext : loopBodyLineContext.statement_list().statement()) { + stmts.add(Statement.create(statementContext)); + } + } + + return new LoopStatement(stmts); + } + + @Override + public void write(@Nonnull StringWriter sw) { + super.write(sw); + + sw.write("loop"); + + boolean first = true; + + for (Statement stmt : _stmts) { + if (first) { + first = false; + } else { + sw.write("\n"); + } + + stmt.write(sw); + } + + sw.write("endloop"); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/ReturnStatement.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/ReturnStatement.java new file mode 100644 index 00000000..3fb72e3e --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/ReturnStatement.java @@ -0,0 +1,37 @@ +package net.moonlightflower.wc3libs.txt.app.jass.statement; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Expr; +import net.moonlightflower.wc3libs.txt.app.jass.statement.Statement; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.StringWriter; + +public class ReturnStatement extends Statement { + private Expr _expr; + + public ReturnStatement(@Nullable Expr expr) { + _expr = expr; + } + + public static ReturnStatement create(@Nonnull LightJassParser.Rule_returnContext ruleReturnContext) { + Expr expr = ruleReturnContext.expr() != null ? Expr.create(ruleReturnContext.expr()) : null; + + return new ReturnStatement(expr); + } + + @Override + public void write(@Nonnull StringWriter sw) { + super.write(sw); + + sw.write("return"); + + if (_expr != null) { + sw.write(" "); + + _expr.write(sw); + } + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/SelectionStatement.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/SelectionStatement.java new file mode 100644 index 00000000..db181d4e --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/SelectionStatement.java @@ -0,0 +1,158 @@ +package net.moonlightflower.wc3libs.txt.app.jass.statement; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.Condition; +import net.moonlightflower.wc3libs.txt.app.jass.statement.Statement; + +import javax.annotation.Nonnull; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.List; + +public class SelectionStatement extends Statement { + public static class ConditionalBranch { + private Condition _condition; + private final List _statements = new ArrayList<>(); + + public ConditionalBranch(@Nonnull Condition condition, List statements) { + _condition = condition; + _statements.clear(); + _statements.addAll(statements); + } + } + + private ConditionalBranch _thenBranch; + private final List _elseifBranches = new ArrayList<>(); + private List _elseStmts = new ArrayList<>(); + + public SelectionStatement(@Nonnull ConditionalBranch thenBranch, @Nonnull List elseifBranches, @Nonnull List elseStmts) { + _thenBranch = thenBranch; + _elseifBranches.addAll(elseifBranches); + _elseStmts.addAll(elseStmts); + } + + public static SelectionStatement create(@Nonnull LightJassParser.SelectionContext selectionContext) { + Condition thenCondition = Condition.create(selectionContext.condition()); + List thenStatements = new ArrayList<>(); + + LightJassParser.Statement_listContext thenStatement_listContext = selectionContext.thenStatements; + + if (thenStatement_listContext != null) { + for (LightJassParser.StatementContext statementContext : thenStatement_listContext.statement()) { + thenStatements.add(Statement.create(statementContext)); + } + } + + ConditionalBranch thenBranch = new ConditionalBranch(thenCondition, thenStatements); + List elseifBranches = new ArrayList<>(); + + for (LightJassParser.Selection_elseif_branchContext elseif_branchContext : selectionContext.elseif_branches) { + Condition elseifCondition = Condition.create(elseif_branchContext.condition()); + + List elseifStmts = new ArrayList<>(); + + LightJassParser.Statement_listContext statement_listContext = elseif_branchContext.statement_list(); + + if (statement_listContext != null) { + for (LightJassParser.StatementContext statementContext : statement_listContext.statement()) { + elseifStmts.add(Statement.create(statementContext)); + } + } + + ConditionalBranch elseifBranch = new ConditionalBranch(elseifCondition, elseifStmts); + + elseifBranches.add(elseifBranch); + } + + LightJassParser.Selection_else_branchContext else_branchContext = selectionContext.else_branch; + List elseStmts = new ArrayList<>(); + + if (else_branchContext != null) { + LightJassParser.Statement_listContext elseStatement_listContext = else_branchContext.statement_list(); + + if (elseStatement_listContext != null) { + for (LightJassParser.StatementContext elseStatementContext : elseStatement_listContext.statement()) { + elseStmts.add(Statement.create(elseStatementContext)); + } + } + } + + return new SelectionStatement(thenBranch, elseifBranches, elseStmts); + } + + @Override + public void write(@Nonnull StringWriter sw) { + super.write(sw); + + sw.write("if "); + + _thenBranch._condition.write(sw); + + sw.write(" then"); + + boolean first; + + if (!_thenBranch._statements.isEmpty()) { + sw.write("\n"); + + first = true; + + for (Statement stmt : _thenBranch._statements) { + if (first) { + first = false; + } else { + sw.write("\n"); + } + + stmt.write(sw); + } + } + + if (!_elseifBranches.isEmpty()) { + sw.write("\n"); + } + + for (ConditionalBranch elseifBranch : _elseifBranches) { + sw.write("elseif "); + + elseifBranch._condition.write(sw); + + sw.write(" then"); + + first = true; + + for (Statement stmt : elseifBranch._statements) { + if (first) { + first = false; + } else { + sw.write("\n"); + } + + stmt.write(sw); + } + } + + if (!_elseStmts.isEmpty()) { + sw.write("\n"); + + sw.write("else"); + + first = true; + + for (Statement stmt : _elseStmts) { + if (first) { + first = false; + } else { + sw.write("\n"); + } + + stmt.write(sw); + } + } + + sw.write("\n"); + + sw.write("endif"); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/SetVarStatement.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/SetVarStatement.java new file mode 100644 index 00000000..8d3407b3 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/SetVarStatement.java @@ -0,0 +1,47 @@ +package net.moonlightflower.wc3libs.txt.app.jass.statement; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.expr.Expr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.LightExpr; +import net.moonlightflower.wc3libs.txt.app.jass.expr.num.IntExpr; +import net.moonlightflower.wc3libs.txt.app.jass.statement.Statement; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import java.io.StringWriter; + +public class SetVarStatement extends Statement { + private String _varRef; + private Expr _index; + private Expr _val; + + public SetVarStatement(@Nonnull String varRef, @Nullable IntExpr index, @Nonnull Expr val) { + _varRef = varRef; + _index = index; + _val = val; + } + + public static SetVarStatement create(@Nonnull LightJassParser.Set_varContext set_varContext) { + return new SetVarStatement(set_varContext.var_ref().getText(), set_varContext.index != null ? LightExpr.create(set_varContext.index) : null, LightExpr.create(set_varContext.val)); + } + + @Override + public void write(@Nonnull StringWriter sw) { + super.write(sw); + + sw.write("set "); + + sw.write(_varRef); + + if (_index != null) { + sw.write("["); + _index.write(sw); + sw.write("]"); + } + + sw.write("="); + + _val.write(sw); + } +} diff --git a/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/Statement.java b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/Statement.java new file mode 100644 index 00000000..0b7be099 --- /dev/null +++ b/src/main/java/net/moonlightflower/wc3libs/txt/app/jass/statement/Statement.java @@ -0,0 +1,117 @@ +package net.moonlightflower.wc3libs.txt.app.jass.statement; + +import net.moonlightflower.wc3libs.antlr.JassParser; +import net.moonlightflower.wc3libs.antlr.LightJassParser; +import net.moonlightflower.wc3libs.txt.app.jass.Jass; +import net.moonlightflower.wc3libs.txt.app.jass.LightJass; + +import javax.annotation.Nonnull; +import java.io.StringWriter; + +public abstract class Statement { + private String _stmt; + private boolean _isDebug = false; + + @Nonnull + public static Statement create(@Nonnull LightJassParser.DebugContext debugContext) { + Statement ret = null; + + LightJassParser.CallContext callFuncContext = debugContext.call(); + + if (callFuncContext != null) { + ret = CallStatement.create(callFuncContext); + } + + LightJassParser.Set_varContext setVarContext = debugContext.set_var(); + + if (setVarContext != null) { + ret = SetVarStatement.create(setVarContext); + } + + LightJassParser.SelectionContext selectionContext = debugContext.selection(); + + if (selectionContext != null) { + ret = SelectionStatement.create(selectionContext); + } + + LightJassParser.LoopContext loopContext = debugContext.loop(); + + if (loopContext != null) { + ret = LoopStatement.create(loopContext); + } + +// JassParser.ExitwhenContext exitwhenContext = debugContext.exitwhen(); +// +// if (exitwhenContext != null) { +// ret = new FuncImpl.ExitwhenStatement(exitwhenContext); +// } +// +// JassParser.Rule_returnContext returnContext = debugContext.rule_return(); +// +// if (returnContext != null) { +// ret = new FuncImpl.ReturnStatement(returnContext); +// } + + if (ret != null) { + ret._isDebug = true; + } + + throw new AssertionError("no option for " + debugContext); + } + + @Nonnull + public static Statement create(@Nonnull LightJassParser.StatementContext statementContext) { + LightJassParser.CallContext callFuncContext = statementContext.call(); + + if (callFuncContext != null) { + return CallStatement.create(callFuncContext); + } + + LightJassParser.Set_varContext setVarContext = statementContext.set_var(); + + if (setVarContext != null) { + return SetVarStatement.create(setVarContext); + } + + LightJassParser.SelectionContext selectionContext = statementContext.selection(); + + if (selectionContext != null) { + return SelectionStatement.create(selectionContext); + } + + LightJassParser.LoopContext loopContext = statementContext.loop(); + + if (loopContext != null) { + return LoopStatement.create(loopContext); + } + + LightJassParser.ExitwhenContext exitwhenContext = statementContext.exitwhen(); + + if (exitwhenContext != null) { + return ExitwhenStatement.create(exitwhenContext); + } + + LightJassParser.Rule_returnContext returnContext = statementContext.rule_return(); + + if (returnContext != null) { + return ReturnStatement.create(returnContext); + } + + LightJassParser.DebugContext debugContext = statementContext.debug(); + + if (debugContext != null) { + return create(debugContext); + } + + throw new AssertionError("no option for " + statementContext); + } + + @Nonnull + public static Statement create(@Nonnull String input) { + return create(LightJass.transform(input).statement()); + } + + public void write(@Nonnull StringWriter sw) { + if (_isDebug) sw.write("debug "); + } +} diff --git a/src/test/java/wc3libs/txt/JassTest.java b/src/test/java/wc3libs/txt/JassTest.java index c9a6ee4e..971f1a9e 100644 --- a/src/test/java/wc3libs/txt/JassTest.java +++ b/src/test/java/wc3libs/txt/JassTest.java @@ -1,18 +1,20 @@ package wc3libs.txt; -import net.moonlightflower.wc3libs.txt.Jass; +import net.moonlightflower.wc3libs.bin.app.W3I; +import net.moonlightflower.wc3libs.port.JMpqPort; +import net.moonlightflower.wc3libs.txt.app.jass.*; import org.testng.annotations.Test; import wc3libs.misc.Wc3LibTest; -import java.io.File; -import java.io.IOException; +import java.io.*; +import java.nio.charset.StandardCharsets; import static org.testng.Assert.assertFalse; public class JassTest extends Wc3LibTest { - @Test + @Test() public void testRebuild() throws IOException { File file = getFile("jass/compiled.j"); @@ -30,30 +32,65 @@ public void testRebuild2() throws IOException { assertFalse(System.err.checkError()); } - /*@Test() + @Test() public void testRebuild3() throws IOException { - File file = getFile("jass/inventorySys.j"); + File file = getFile("jass/compiled2.j"); - Jass jass = new Jass(file); + LightJass jass = new LightJass(file); - assertFalse(System.err.checkError()); + JassScript script = new JassScript(jass.getRootContext()); + + StringWriter sw = new StringWriter(); + + script.write(sw); + + System.out.println(sw.toString()); + + /*Jass newJass = new Jass(sw.toString()); + + assertFalse(System.err.checkError());*/ } @Test() - public void testRebuild4() throws IOException { - File file = getFile("jass/League.j"); + public void testRebuildDwc() throws IOException { + File file = getFile("jass/dwc.j"); - Jass jass = new Jass(file); + LightJass jass = new LightJass(file); - assertFalse(System.err.checkError()); + jass.getRootContext(); + + JassScript script = new JassScript(jass.getRootContext()); + + StringWriter sw = new StringWriter(); + + script.write(sw); + + Jass newJass = new Jass(sw.toString()); } @Test() - public void testRebuild5() throws IOException { - File file = getFile("jass/dota.j"); + public void injectW3IConfigs() throws IOException { + File file = getFile("jass/dwc.j"); - Jass jass = new Jass(file); + LightJass jass = new LightJass(file); - assertFalse(System.err.checkError()); - }*/ + jass.getRootContext(); + + JassScript script = new JassScript(jass.getRootContext()); + + W3I w3i = new W3I(); + + w3i.setMapName("mapName"); + w3i.setMapAuthor("mapAuthor"); + w3i.setMapDescription("description"); + w3i.setPlayersRecommendedAmount("playersRecommended"); + + w3i.injectConfigsInJassScript(script); + + StringWriter sw = new StringWriter(); + + script.write(sw); + + Jass newJass = new Jass(sw.toString()); + } } diff --git a/src/test/java/wc3libs/txt/PLDTest.java b/src/test/java/wc3libs/txt/PLDTest.java index a72cc401..b7c5c85d 100644 --- a/src/test/java/wc3libs/txt/PLDTest.java +++ b/src/test/java/wc3libs/txt/PLDTest.java @@ -2,6 +2,7 @@ import net.moonlightflower.wc3libs.antlr.JassParser; import net.moonlightflower.wc3libs.txt.PLD; +import net.moonlightflower.wc3libs.txt.app.jass.FuncImpl; import org.antlr.v4.runtime.CharStreams; import org.antlr.v4.runtime.misc.Interval; import org.testng.annotations.Test; @@ -15,8 +16,8 @@ public void test() { pld.addPreload("B.mdx"); pld.addPreload("C\\D.blp"); - JassParser.FuncContext func = pld.toJassFunc(); + FuncImpl funcImpl = pld.toJassFunc(); - System.out.println(CharStreams.fromString(func.getStart().getInputStream().getText(new Interval(func.start.getStartIndex(), func.stop.getStopIndex())))); + //System.out.println(CharStreams.fromString(funcImpl.getStart().getInputStream().getText(new Interval(func.start.getStartIndex(), func.stop.getStopIndex())))); } } diff --git a/src/test/resources/jass/dwc.j b/src/test/resources/jass/dwc.j new file mode 100644 index 00000000..46a9c74e --- /dev/null +++ b/src/test/resources/jass/dwc.j @@ -0,0 +1,16013 @@ +globals trigger e=null hashtable array o integer array V integer array E integer X integer O=-$7FFFFFFD +constant integer R=O+457 +integer array I integer array A constant integer N=O+8192+278*8192 integer array B unit array C +integer array D integer f=0 constant integer F=0-1 integer G=F string array h integer H=F hashtable j integer array J integer k=0 integer K=500 timer l=CreateTimer() integer L=-1 +string M="" +hashtable P constant integer q=0+1 constant integer Q=O+8192+276*8192 integer S=0 string T="" constant integer U=1-1 constant integer w=U +integer array W integer Y=U constant integer Z=U-1 integer array vv +boolean array ev +boolean array xv +integer ov trigger rv integer iv integer array av +integer array nv +integer array Vv +integer array Ev +integer Xv=F +integer array Ov +integer array Rv +integer Iv integer Av integer Nv integer bv boolexpr array Bv integer array cv +integer Cv=0 +trigger array dv +string Dv="" integer array fv +string array Fv string array gv string array Gv integer array hv +integer array Hv +integer jv trigger Jv integer array kv +gamecache array Kv integer array lv +constant integer Lv=$D5 constant integer mv=O+Lv +integer array Mv +integer pv integer Pv trigger qv=null constant integer Qv=-1 trigger sv=null constant integer Sv=O+8192+20*8192 trigger tv=null integer Tv=0 +string uv="" integer array Uv +integer wv=U +integer array Wv +boolean array yv +boolean array Yv +integer zv integer Zv=F +integer ve=0 +string ee="" integer array xe +integer oe=U +integer array re +boolean array ie +boolean array ae +integer array ne +integer array Ve +integer Ee integer Xe timer array Oe constant integer Re=$E9 integer array Ie +constant integer Ae=$E8 constant integer Ne=O+8192+Ae*8192 integer array be +string array Be real array ce boolean array Ce +integer array de +boolean array De +integer array fe +string array Fe integer array ge +integer Ge integer he=F +integer array He +integer array je +integer array Je +integer array ke +integer Ke=F +integer array le +string array Le trigger me=null real array Me integer pe trigger Pe=null integer qe=w +integer array Qe +integer array se +constant integer Se=O+16 +integer te integer array Te +integer array ue +string array Ue integer We integer array ye +trigger Ye=null integer array ze +boolean array Ze +player array vx integer ex playercolor array xx +playercolor array ox +integer array rx +integer array ix +integer array ax +integer nx constant integer Vx=O+393 trigger Ex=null boolean Xx=false +real Ox rect Rx=null +rect Ix=null +rect Ax=null +rect Nx=null +rect bx=null +rect Bx=null +rect cx=null +rect Cx=null +rect Dx=null +rect fx=null +rect Fx=null +rect gx=null +rect Gx=null +rect hx=null +rect Hx=null +rect jx=null +rect Jx=null +rect kx=null +rect Kx=null +rect lx=null +rect Lx=null +rect mx=null +rect Mx=null +rect px=null +rect Px=null +rect qx=null +rect Qx=null +rect sx=null +rect Sx=null +rect tx=null +rect Tx=null +rect ux=null +rect Ux=null +rect wx=null +rect Wx=null +rect yx=null +rect Yx=null +rect zx=null +rect Zx=null +rect vo=null +rect eo=null +rect xo=null +rect oo=null +rect ro=null +rect io=null +rect ao=null +rect no=null +rect Vo=null +rect Eo=null +rect Xo=null +rect Oo=null +rect Ro=null +rect Io=null +rect Ao=null +rect No=null +rect bo=null +rect Bo=null +rect co=null +rect Co=null +rect do=null +rect Do=null +rect fo=null +rect Fo=null +rect go=null +rect Go=null +rect ho=null +rect Ho=null +rect jo=null +rect Jo=null +rect ko=null +rect Ko=null +rect lo=null +rect Lo=null +rect mo=null +camerasetup Mo=null camerasetup po=null camerasetup Po=null camerasetup qo=null camerasetup Qo=null camerasetup so=null camerasetup So=null camerasetup to=null camerasetup To=null camerasetup uo=null camerasetup Uo=null camerasetup wo=null camerasetup Wo=null camerasetup yo=null camerasetup Yo=null destructable zo=null +destructable Zo=null +destructable vr=null +destructable er=null +destructable xr=null +destructable rr=null +destructable ir=null +destructable ar=null +destructable nr=null +destructable Vr=null +destructable Er=null +destructable Xr=null +destructable Rr=null +destructable Ir=null +triggeraction Ar=null trigger Nr=CreateTrigger() integer br integer Br=0 +string cr="" integer array Cr +integer dr=U +integer array Dr +boolean array fr +boolean array Fr +integer gr real array Gr real array hr real array Hr real array jr real array Jr real array kr integer array Kr +integer lr=F +integer array Lr +integer mr integer Mr integer pr integer Pr integer qr integer Qr integer sr integer Sr integer tr integer Tr integer ur integer Ur integer wr integer Wr integer yr integer Yr integer zr integer Zr integer vi integer ei integer xi integer oi integer ri integer ii integer ai integer ni integer Vi integer Ei integer Xi integer Oi integer Ri integer Ii integer Ai integer Ni integer bi integer Bi integer ci integer Ci integer di integer Di integer fi integer Fi integer gi integer Gi integer hi integer Hi integer ji integer Ji integer ki integer Ki integer li integer Li integer mi integer Mi integer pi integer Pi integer qi integer Qi integer si integer Si integer ti integer Ti integer ui integer Ui integer wi integer Wi integer yi integer Yi integer zi integer Zi integer va integer ea integer xa integer oa boolean array ra +integer array ia +integer array aa +real array na integer array Va +integer array Ea +integer Xa=F +integer array Oa +integer Ra integer Ia integer Aa integer Na integer ba integer Ba integer ca integer Ca integer da integer Da integer fa integer Fa integer ga integer Ga integer ha integer Ha integer ja integer Ja integer ka integer Ka integer la integer La integer ma integer Ma integer pa integer Pa integer qa integer Qa integer sa integer Sa integer ta integer Ta integer ua integer Ua integer wa integer Wa integer ya integer Ya integer za integer Za integer vn integer en integer xn integer on integer rn integer in integer an integer nn integer Vn integer En integer Xn integer On integer Rn integer In integer An integer Nn integer bn integer Bn integer cn integer Cn integer dn integer Dn integer fn integer Fn integer gn integer Gn integer hn integer Hn integer jn integer Jn integer kn integer Kn integer ln integer Ln integer mn integer Mn integer pn integer Pn boolean qn=false +real Qn sound sn +timer Sn +integer tn=F +integer Tn=0 +integer array un +integer Un=U +integer array wn +boolean array Wn +boolean array yn +integer Yn integer zn=0 +integer array Zn +string array vV trigger array eV +integer xV=w +integer array oV +integer array rV +integer iV=w +trigger array aV +integer array nV +string array VV integer EV integer XV=0 +string OV="" integer array RV +integer IV=U +integer array AV +boolean array NV +boolean array bV +integer BV string array cV integer CV=F +integer array dV +integer array DV +integer fV integer FV integer gV=F +trigger array GV +integer array hV +string array HV integer jV=F +trigger array JV +integer array kV +string array KV integer lV=F +trigger array LV +integer array mV +string array MV integer pV integer PV integer qV hashtable QV=null integer sV=0 +string SV="" integer array tV +integer TV=U +integer array uV +boolean array UV +boolean array wV +integer WV string array yV integer YV=F +integer array zV +integer array ZV +timer vE=null boolean eE=true integer xE integer oE integer rE hashtable iE=null hashtable aE=null constant integer nE=$EE constant integer VE=O+8192+nE*8192 integer EE=F +trigger array XE +integer array OE +string array RE integer IE=F +trigger array AE +integer array NE +string array bE integer BE=F +trigger array cE +integer array CE +string array dE integer DE=F +trigger array fE +integer array FE +string array gE integer GE=F +trigger array hE +integer array HE +string array jE integer JE=F +trigger array kE +integer array KE +string array lE constant integer LE=$82 constant integer mE=O+8192+LE*8192 constant integer ME=O+8192+459*8192 constant integer pE=$E1 constant integer PE=O+8192+pE*8192 constant integer qE=$E0 constant integer QE=O+8192+qE*8192 constant integer sE=$CD constant integer SE=O+8192+sE*8192 constant integer tE=O+8192+33*8192 constant integer TE=O+8192+37*8192 constant integer uE=$DE constant integer UE=O+8192+uE*8192 constant integer wE=$80 constant integer WE=O+8192+wE*8192 constant integer yE=O+8192+430*8192 integer YE=F +trigger array zE +integer array ZE +string array vX integer eX=F +trigger array xX +integer array oX +string array rX integer iX=F +trigger array aX +integer array nX +string array VX integer EX=F +trigger array XX +integer array OX +string array RX integer IX=F +trigger array AX +integer array NX +string array bX integer BX=F +trigger array cX +integer array CX +string array DX integer fX=F +trigger array FX +integer array gX +string array GX integer hX=F +trigger array HX +integer array jX +string array JX integer kX=F +trigger array KX +integer array lX +string array LX integer mX=F +trigger array MX +integer array pX +string array PX integer qX=F +trigger array QX +integer array sX +string array SX integer tX=F +trigger array TX +integer array uX +string array UX integer wX=F +trigger array WX +integer array yX +string array YX integer zX=F +trigger array ZX +integer array vO +string array eO integer xO=F +trigger array oO +integer array rO +string array iO integer aO=F +trigger array nO +integer array VO +string array EO integer XO=F +trigger array OO +integer array RO +string array IO integer AO=F +trigger array NO +integer array bO +string array BO integer cO=F +trigger array CO +integer array dO +string array DO integer fO=F +trigger array FO +integer array gO +string array GO integer hO=F +trigger array HO +integer array jO +string array JO integer kO=F +trigger array KO +integer array lO +string array LO integer mO=F +trigger array MO +integer array pO +string array PO integer qO=F +trigger array QO +integer array sO +string array SO integer tO=F +trigger array TO +integer array uO +string array UO integer wO=F +trigger array WO +integer array yO +string array YO integer zO=F +trigger array ZO +integer array vR +string array eR integer xR=F +trigger array oR +integer array rR +string array iR integer aR=F +trigger array nR +integer array VR +string array ER integer array XR +integer array OR +integer RR=F +integer array IR +string array AR integer NR=0 +string bR="" integer array BR +integer cR=U +integer array CR +boolean array dR +boolean array DR +integer fR real FR real gR real GR real hR real HR real jR real JR real kR integer KR integer lR trigger LR integer mR integer MR=F +integer array pR +integer PR integer array qR +integer array QR +integer array sR +integer array SR +integer tR=F +integer TR=0 +integer uR integer UR=0 +integer wR=F +string array WR string yR="" integer YR string zR="" integer ZR string vI="" hashtable eI=null integer oI integer rI=0 +string iI="" integer array aI +integer nI=U +integer array VI +boolean array EI +boolean array XI +integer OI string array RI integer II string AI="" integer array NI +integer bI constant integer BI=$400 +integer cI integer array CI +integer dI string DI="" integer fI string FI="" integer gI string GI="" +integer hI string HI="" integer jI string JI="" integer kI string KI="" integer lI string LI="" integer mI string MI="" +integer pI string PI="" integer qI string QI="" integer sI string SI="" integer tI string TI="" integer uI string UI="" integer wI string WI="" integer YI string zI="" integer ZI string vA="" integer eA integer xA string oA="" integer rA string iA="" integer aA string nA="" integer VA string EA="" integer XA string OA="" integer RA integer IA=0 +integer array AA +integer NA=U +integer array bA +boolean array BA +boolean array cA +integer CA=0 +integer array dA +integer DA=U +integer array fA +boolean array FA +boolean array gA +integer GA=0 +integer array hA +integer HA=U +integer array jA +boolean array JA +boolean array kA +integer array KA +integer lA=0 +integer array LA +integer mA=U +integer array MA +boolean array pA +boolean array PA +integer array qA +integer array QA +integer array sA +integer array SA +integer array tA +integer array TA +hashtable array uA integer UA string wA="" integer WA string yA="" integer YA string zA="" +real array ZA integer vN string eN="" integer xN string oN="" +integer rN string iN="" +integer aN string nN="" +integer VN string EN="" integer XN string ON="" +integer RN string IN="" +integer AN string NN="" integer bN string BN="" integer cN string CN="" integer dN string DN="" integer fN string FN="" +integer gN string GN="" +integer hN string HN="" integer jN string JN="" integer kN string KN="" integer lN string LN="" integer mN string MN="" integer pN string PN="" +integer qN string QN="" +integer sN string SN="" integer tN string TN="" integer uN string UN="" integer wN string WN="" integer yN string YN="" +integer zN string ZN="" integer vb string eb="" +integer xb string ob="" integer rb string ib="" +integer ab string nb="" integer Vb string Eb="" integer Xb string Ob="" +integer Rb string Ib="" +integer Ab string Nb="" integer bb string Bb="" integer cb string Cb="" integer db string Db="" integer fb string Fb="" integer gb string Gb="" integer hb string Hb="" +integer jb string Jb="" integer kb string Kb="" integer lb integer Lb=0 +integer array mb +integer Mb=U +integer array pb +boolean array Pb +boolean array qb +integer Qb integer array sb +integer Sb integer tb=0 +integer array Tb +integer ub=U +integer array Ub +boolean array wb +boolean array Wb +string array yb integer array Yb +integer zb integer Zb integer vB integer eB integer xB integer oB integer rB integer iB integer aB integer nB integer VB integer EB integer XB string OB="" integer RB=0 +string IB="" integer array AB +integer NB=U +integer array bB +boolean array BB +boolean array cB +integer CB integer dB=0 +integer array DB +integer fB=U +integer array FB +boolean array gB +boolean array GB +integer array hB +integer array HB +integer array jB +integer array JB +integer array kB +constant integer KB=$D constant integer lB=O+8192+KB*8192 boolean array LB +integer array mB +limitop array MB +integer pB=0 +integer array PB +integer qB=U +integer array QB +boolean array sB +boolean array SB +integer array tB +integer TB trigger array uB +trigger array UB +constant integer wB=$EC constant integer WB=O+wB +integer array yB +constant integer YB=$EA constant integer zB=O+8192+YB*8192 boolexpr ZB string array vc constant integer ec=$E constant integer xc=O+ec +integer oc string array rc string array ic constant integer ac=O+17 +integer array nc +integer Vc constant integer Ec=$EB constant integer Xc=O+Ec +integer Oc constant integer Rc=O+21 +integer Ic=0 +string Ac="" integer array Nc +integer bc=U +integer array Bc +boolean array cc +boolean array Cc +integer dc constant integer Dc=-1 integer fc=w +boolean array Fc +real array Gc real array hc real array Hc string array jc texttag array Jc +location array kc integer Kc constant integer lc=$E5 constant integer Lc=O+lc +integer mc=0 +integer Mc=0 +string pc="" integer array Pc +integer qc=U +integer array Qc +boolean array sc +boolean array Sc +integer tc integer array Tc +real array uc real array Uc real array wc real array Wc real array yc string array Yc real array zc constant real Zc=(2*1.)*1./ 32 integer array vC +boolean array eC +real array xC integer oC=F +integer array rC +integer array iC +integer aC boolean array nC +integer array VC +integer array EC +integer XC=F +integer OC integer array RC +boolean array IC +integer array AC +integer array NC +integer bC=F +integer BC integer array cC +integer array CC +integer array dC +integer DC=F +integer fC real array FC constant real gC=(2*1.)*1./ 32 real array GC integer array hC +real array HC real array jC real array JC string array kC string array KC real lC=.023 +integer LC string mC="" integer array MC +integer array pC +integer PC constant integer qC=O+8192+'h'*8192 boolean array QC +string sC="" string array SC integer tC integer TC integer uC integer UC integer wC integer WC integer yC integer YC integer zC integer ZC integer vd integer ed integer xd integer od=0 +integer array rd +integer array ad +string nd="" boolean array Vd +integer Ed trigger Xd integer Od string Rd="" integer Id integer array Ad +integer array Nd +constant integer bd=O+8192+392*8192 constant integer Bd=8190+1 integer cd=Bd integer Cd=F +integer dd=0 +string Dd="" integer array fd +integer Fd=U +integer array gd +boolean array Gd +boolean array hd +integer Hd group array jd integer array Jd +integer array kd +boolean array Kd +integer array ld +integer Ld integer array md +integer array Md +integer array pd +integer Pd integer array qd +integer Qd string sd="" constant integer Sd=O+32 +integer td integer Td real ud constant integer Ud=O+8192+296*8192 integer array wd +constant integer Wd=O+8192+298*8192 integer array yd +constant integer Yd=O+302 constant integer zd=O+8192+294*8192 integer Zd integer vD constant integer eD=O+292 boolean array xD +integer array oD +integer array rD +integer array iD +integer aD boolean array nD +effect array VD effect array ED integer array XD +integer array OD +integer RD=F +integer array ID +integer array AD +string ND="" +boolean array bD +integer array BD +integer cD constant integer CD=O+300 boolean array dD +sound array DD integer array fD +integer array FD +boolean array gD +boolean array GD +integer array hD +string HD="" boolean array jD +integer JD boolean array kD +integer array KD +integer array lD +integer array LD +string mD="" boolean array MD +integer pD constant integer PD=O+416 integer array qD +integer array QD +integer array sD +boolean array SD +integer array tD +integer array TD +string uD="" boolean array UD +integer wD integer array WD +integer array yD +constant integer YD=O+8192+31*8192 constant integer ZD=O+8192+306*8192 integer array vf +integer array ef +constant integer xf=O+8192+400*8192 boolean array of +integer array rf +constant integer af=O+8192+401*8192 constant integer nf=O+8192+402*8192 real array Vf constant integer Ef=O+8192+403*8192 constant integer Xf=O+8192+404*8192 constant integer Of=O+410 constant integer Rf=$C constant integer If=O+Rf +constant integer Af=O+406 constant integer Nf=O+411 constant integer bf=O+407 constant integer Bf=O+412 constant integer cf=O+408 constant integer Cf=O+413 constant integer df=O+409 boolean array Df +constant integer ff=O+8192+414*8192 integer array Ff +integer array gf +integer array Gf +integer array hf +integer Hf integer array jf +constant integer Jf=O+8192+27*8192 integer kf integer Kf boolean lf trigger Lf constant integer mf=O+304 integer array Mf +integer array pf +integer array Pf +integer qf boolean array Qf +boolean array sf +integer array Sf +integer tf boolean array Tf +constant integer uf=O+8192+25*8192 integer Uf=0 +integer wf=U +string array Wf boolean array yf +integer array Yf +string array zf integer array Zf +constant integer vF=O+8192+80*8192 integer eF integer xF integer oF integer rF constant integer iF=O+8192+76*8192 integer aF constant integer nF=O+8192+23*8192 constant integer VF=O+8192+24*8192 constant integer EF=O+8192+26*8192 integer XF=0 +integer OF=U +boolean array RF +integer IF=0 +integer AF=U +integer array NF +real array bF real array BF real array cF string array CF string array dF integer array DF +integer array fF +integer array FF +integer array gF +real array GF real array hF real array HF real array jF integer array JF +integer array kF +real array KF real array lF real array LF real array mF real array MF real array pF boolean array PF +boolean array qF +boolean array QF +boolean array sF +boolean array SF +real array tF real array TF real array uF real array UF real array wF real array WF real array yF real array YF real array zF real array ZF real array vg real array eg real array xg real array og real array rg real array ig real array ag real array ng string array Vg real array Eg real Xg=1. constant integer Og=O+8192+28*8192 integer Rg=0 +integer Ig=U +boolean array Ag +integer array Ng +integer array bg +integer Bg integer cg trigger Cg integer dg integer Dg integer fg trigger Fg integer gg integer Gg boolean hg trigger Hg constant integer jg=O+286 integer Jg=0 +string kg="" integer array Kg +integer lg=U +integer array Lg +boolean array mg +boolean array Mg +integer pg integer array Pg +integer array qg +integer array Qg +constant integer sg=O+8192+284*8192 integer array Sg +integer array tg +integer array Tg +integer array ug +string Ug="" boolean array wg +integer Wg constant integer yg=O+8192+282*8192 integer Yg integer array zg +constant integer Zg=O+8192+288*8192 integer vG integer eG boolean array xG +constant real oG=-1. +integer rG boolean array iG +integer aG=0 +integer nG=U +boolean array VG +integer array EG +boolean array XG +integer array OG +string array RG integer IG=F +integer array AG +integer NG string bG="" constant integer BG=O+36 +integer cG=0 +string CG="" integer array dG +integer DG=U +integer array fG +boolean array FG +boolean array gG +integer array GG +integer array hG +integer HG integer array jG +constant real JG=180.*1./ 3.141592654 destructable array kG real array KG real array lG real array LG constant integer mG=O+42 +integer array MG +constant integer pG=O+8192+38*8192 integer array PG +integer qG integer array QG +integer array sG +integer array SG +integer tG integer array TG +integer uG string UG="" constant integer wG=$7E constant integer WG=O+wG +integer yG=0 +string YG="" integer array zG +integer ZG=U +integer array vh +boolean array eh +boolean array xh +integer array oh +integer array rh +integer ih item array ah constant integer nh=O+'t' integer array Vh +integer array Eh +constant integer Xh=O+8192+'l'*8192 integer array Oh +integer array Rh +integer array Ih +constant integer Ah=O+8192+'x'*8192 constant integer Nh=O+8192+'p'*8192 integer bh constant integer Bh=O+8192+'r'*8192 constant integer ch=O+8192+'z'*8192 integer array Ch +integer array dh +integer Dh integer array fh +integer Fh constant integer gh=O+8192+'|'*8192 constant integer Gh=O+8192+'n'*8192 integer hh integer array Hh +integer array jh +integer Jh integer array kh +integer Kh string lh="" +integer Lh=0 +string mh="" integer array Mh +integer ph=U +integer array Ph +boolean array qh +boolean array Qh +integer sh integer array Sh +real array Th real array uh real array Uh constant real wh=(4*1.)*1./ 32 real array Wh real array yh integer array Yh +integer zh=F +integer Zh=0 +string vH="" integer array eH +integer xH=U +integer array oH +boolean array rH +boolean array iH +integer aH force array nH integer array VH +real array EH real array XH real array OH integer array RH +integer array IH +integer AH=F +integer NH trigger bH string BH="" real array cH real array CH constant real dH=(2*1.)*1./ 32 integer array DH +integer fH=F +integer array FH +integer gH real array GH constant real hH=(1*1.)*1./ 32 real array HH integer array jH +boolean array JH +integer array kH +integer array KH +integer lH=F +integer LH boolean array mH +boolean array MH +boolean array pH +boolean array PH +code qH real array QH real array sH real array SH constant real tH=2*3.141592654 constant real TH=tH integer uH string UH="" constant integer wH=O+429 real WH real yH real YH integer zH integer ZH integer vj integer ej constant real xj=1.5*3.141592654 +real oj=xj integer rj string ij="" integer aj string nj="" +real Vj real array Ej integer Xj string Oj="" string Rj real Ij real array Aj integer array Nj +integer array bj +real array Bj real array cj real array Cj integer dj=0 +real array Dj real array fj real array Fj real array gj real array Gj real array hj real array Hj real array jj real array Jj real array kj real array Kj integer lj=1 +real array Lj real array mj real array Mj boolean array pj +integer Pj integer qj=6 +integer array Qj +integer sj=6 +integer array Sj +integer array tj +integer Tj=w +real array uj real array Uj real array wj real array Wj real array yj real array Yj integer zj integer array Zj +integer vJ=F +integer array eJ +integer xJ integer array oJ +integer rJ=F +real array iJ real array aJ integer nJ real array VJ real array EJ real XJ=.2 real array OJ integer RJ=256 integer IJ='TM73' integer array AJ +integer NJ=256 integer bJ='SM73' integer array BJ +real array cJ real array CJ integer dJ=$F real array DJ real array fJ real array FJ real array gJ real array GJ integer hJ=2 +real array HJ real array jJ real array JJ boolean array kJ +integer KJ integer lJ=6 +integer array LJ +integer mJ=6 +integer array MJ +integer array pJ +integer PJ=w +real array qJ real array QJ real array sJ real array SJ real array tJ real array TJ boolean array uJ +integer UJ integer wJ integer WJ integer yJ=7 +integer array YJ +item array zJ integer ZJ=7 +item array vk integer ek=w +real array xk real array ok real array rk real array ik real array ak real array nk real array Vk boolean array Ek +integer Xk integer Ok=6 +integer array Rk +integer Ik=6 +integer array Ak +integer array Nk +integer bk=w +real array Bk real ck=.5 real array Ck real array dk integer Dk integer array fk +integer Fk=F +integer array gk +integer Gk integer array hk +integer Hk=F +real array jk real array Jk boolean array kk +real array Kk real array lk constant real Lk=2*1./ 1.5*(.25+SquareRoot(.25*(.25-.0))) constant real mk=(1*1.)*1./ 32 real array Mk constant real pk=-.5*Lk*Lk*1./ .25 real array Pk real array qk real array Qk real array sk constant real Sk=2*1./ 1.5*(100.+SquareRoot(100.*(100.-25.))) real array tk constant real Tk=-.5*Sk*Sk*1./ 100. constant integer uk=O+8192+324*8192 constant real Uk=.405+1. +integer wk=w +integer array Wk +integer yk integer Yk integer zk real array Zk real array vK real eK=.25 real array xK integer oK=256 integer rK='TL73' integer array iK +integer aK=256 integer nK='SL73' integer array VK +real array EK real array XK integer OK=25 real array RK real array IK real array AK boolean array NK +integer bK integer BK=6 +integer array cK +integer CK=6 +integer array dK +integer array DK +integer fK=w +real array FK real array gK integer GK string hK="" integer HK string jK="" integer JK integer kK constant integer KK=O+8192+270*8192 boolean array lK +boolean array LK +boolean array mK +integer array MK +integer array pK +integer array PK +integer array qK +integer array QK +constant real sK=3.141592654*1./ 180. integer SK integer tK integer TK integer uK integer UK constant integer wK=O+8192+310*8192 integer array WK +constant integer yK=O+8192+380*8192 integer YK=F +integer array zK +integer ZK boolean array vl +integer xl integer array ol +integer array rl +integer array il +real array al real array nl integer Vl=0 +string El="" integer array Xl +integer Ol=U +integer array Rl +boolean array Il +boolean array Al +integer Nl real array bl integer array Bl +integer array cl +real array Cl real array dl integer array Dl +integer array fl +real array Fl integer array gl +boolean array Gl +integer array hl +constant integer Hl=$DA constant integer jl=O+8192+Hl*8192 integer Jl real kl integer Kl constant integer ll=$DB constant integer Ll=O+8192+ll*8192 integer ml=0 +string Ml="" +integer array pl +integer Pl=U +integer array ql +boolean array Ql +boolean array sl +integer Sl integer array tl +integer array Tl +integer array ul +constant integer Ul=O+8192+268*8192 integer wl integer Wl integer yl constant integer Yl=$DC constant integer zl=O+8192+Yl*8192 string array Zl integer vL real array eL integer array xL +integer array oL +real array rL real array iL integer array aL +boolean nL=false +integer VL boolean array EL +integer array XL +integer array OL +boolean array RL +integer array IL +integer array AL +string NL="" boolean array bL +integer BL integer cL integer CL constant real dL=1.*1./ 64 constant real DL=dL*16 constant integer fL=$C7 constant integer FL=O+fL +integer gL integer array GL +integer hL integer array HL +integer array jL +real array JL real array kL integer KL integer array lL +integer array LL +integer array mL +integer ML integer pL integer PL boolean qL=false +constant integer QL=$F constant integer sL=O+QL +integer SL=-1 integer array tL +integer array TL +integer array uL +integer UL string wL="" integer WL string yL="" real YL real zL real array ZL real array vm integer em integer array xm +integer om=-5 real rm=.02 integer im=0 +integer am=500 unit array nm integer Vm constant real Em=-8192 constant real Xm=8192 string Om="" real array Rm constant real Im=-8192 constant real Am=8192 string Nm="" real array bm integer Bm integer cm constant real Cm=(2*1.)*1./ 32 integer dm=0 +string Dm="" integer array fm +integer Fm=U +integer array gm +boolean array Gm +boolean array hm +integer Hm integer array jm +integer array Jm +real array km constant integer Km=O+8192+340*8192 integer lm integer Lm=F +integer array mm +integer array Mm +integer pm integer Pm string qm="" integer Qm integer sm integer Sm=F +integer array tm +integer Tm string um="" real Um integer wm integer Wm integer array ym +integer array Ym +integer zm string Zm="" integer vM string eM="" +real xM real oM real rM real iM real aM real array nM real array VM real array EM real array XM boolean array OM +constant integer RM=$80 constant integer IM=O+8192+354*8192 constant integer AM=O+8192+356*8192 constant integer NM=O+8192+358*8192 constant integer bM=O+8192+360*8192 constant real BM=dL*16 integer cM=0 +string CM="" integer array dM +integer DM=U +integer array fM +boolean array FM +boolean array gM +integer GM real array hM real array HM real array jM real array JM integer array kM +integer array KM +constant integer lM=O+8192+348*8192 integer LM integer mM=F +integer array MM +integer array pM +integer PM integer qM string QM="" real sM real SM integer array tM +rect TM boolexpr uM item UM integer wM=F +item array WM integer yM=Bd constant integer YM=$F3 constant integer zM=O+8192+YM*8192 boolean array ZM +integer array vp +integer array ep +integer array xp +integer op=F +integer array rp +integer array ip +constant integer ap=$F2 constant integer np=O+ap +boolean array Vp +integer array Ep +integer array Xp +constant integer Op=$F9 constant integer Rp=O+8192+Op*8192 integer Ip integer Ap integer array Np +integer array bp +integer Bp=F +integer cp real array Cp constant real dp=dL*4 integer Dp=0 +string fp="" +integer array Fp +integer gp=U +integer array Gp +boolean array hp +boolean array Hp +integer array jp +constant integer Jp=$F4 constant integer kp=O+8192+Jp*8192 integer array Kp +integer lp integer array Lp +integer array mp +real array Mp real array pp real array Pp real array qp real array Qp real array sp constant integer Sp=$F6 constant integer tp=O+8192+Sp*8192 integer Tp integer up integer Up=F +integer array wp +integer array Wp +integer yp real Yp trigger zp real Zp trigger vP integer array eP +constant integer xP=$F1 constant integer oP=O+8192+xP*8192 boolean array rP +integer array iP +integer array aP +integer array nP +integer VP=F +constant integer EP=$F0 constant integer XP=O+EP +trigger OP integer RP integer array IP +integer array AP +string NP="" boolean array bP +integer BP string cP="" integer CP=0 +string dP="" integer array DP +integer fP=U +integer array FP +boolean array gP +boolean array GP +integer array hP +integer array HP +integer jP boolean array JP +boolean array kP +lightning array KP integer array lP +constant integer LP=$84 constant integer mP=O+8192+LP*8192 real array MP real array pP real array PP real array qP integer QP integer array sP +integer SP integer tP=0 +string TP="" integer array uP +integer UP=U +integer array wP +boolean array WP +boolean array yP +integer YP integer array zP +real array ZP real array vq real array eq integer array xq +constant integer oq=$94 constant integer rq=O+8192+oq*8192 integer iq constant integer aq=$96 constant integer nq=O+8192+aq*8192 integer Vq integer array Eq +real array Xq integer Oq=F +integer array Rq +integer array Iq +integer Aq constant real Nq=(2*1.)*1./ 32 real array bq real array Bq real array cq constant integer Cq=$9C constant integer dq=O+Cq +integer array Dq +integer array fq +string Fq="" +boolean array gq +integer Gq integer hq integer array Hq +integer jq=0 +integer Jq=U +boolean array kq +integer array Kq +integer lq constant real Lq=dL*4 integer mq=0 +string Mq="" integer array pq +integer Pq=U +integer array qq +boolean array Qq +boolean array sq +integer Sq real array tq real array Tq real array uq real array Uq integer array wq +integer array Wq +constant integer yq=$88 constant integer Yq=O+8192+yq*8192 integer zq integer Zq=F +integer array vQ +integer array eQ +integer xQ real oQ=.35 integer array rQ +integer array iQ +string aQ="" boolean array nQ +integer VQ integer array EQ +integer array XQ +string OQ="" boolean array RQ +integer IQ string AQ="" integer NQ string bQ="" +boolean BQ integer cQ string CQ="" integer dQ string DQ="" integer fQ string FQ="" integer array gQ +integer GQ=F +integer hQ string HQ="" +real jQ integer JQ string kQ="" +integer KQ string lQ="" integer LQ string mQ="" integer MQ boolean pQ=false +boolean PQ=false +integer qQ integer QQ string sQ="" rect array SQ integer tQ integer TQ integer uQ string UQ="" integer wQ string WQ="" integer yQ string YQ="" integer zQ string ZQ="" integer vs string es="" integer xs string os="" +integer rs string is="" integer as string ns="" integer Vs string Es="" +integer Xs string Os="" integer Rs string Is="" integer As string Ns="" integer bs string Bs="" +integer cs string Cs="" +integer ds string Ds="" integer fs string Fs="" integer gs string Gs="" integer hs string Hs="" integer js string Js="" integer ks string Ks="" integer ls string Ls="" integer ms string Ms="" integer ps string Ps="" +integer qs=-1 integer array Qs +integer array ss +integer Ss integer ts boolean Ts=false +integer us=F +integer array Us +string array ws string array Ws string array ys integer Ys integer zs integer Zs=0 +integer array vS +integer eS=U +integer array xS +boolean array oS +boolean array rS +camerafield array iS +integer aS integer nS integer VS integer ES integer XS integer OS integer RS string IS="" integer AS string NS="" integer bS string BS="" integer cS string CS="" integer dS string DS="" integer fS string FS="" +integer gS string GS="" +integer hS string HS="" integer jS string JS="" integer kS integer KS=0 +string lS="" integer array LS +integer mS=U +integer array MS +boolean array pS +boolean array PS +integer array qS +integer QS string array sS constant integer SS=O+8192+35*8192 integer tS integer TS string uS="" integer US string wS="" integer WS string yS="" integer YS string zS="" integer ZS string vt="" integer et string xt="" +integer ot string rt="" +integer it string at="" integer nt string Vt="" integer Et string Xt="" +integer Ot string Rt="" integer It string At="" integer Nt string bt="" +integer Bt string ct="" +integer Ct integer dt integer Dt integer ft=0 +string Ft="" integer array gt +integer Gt=U +integer array ht +boolean array Ht +boolean array jt +integer array Jt +integer kt real array Kt real array lt real array Lt real array mt real array Mt real array pt integer array Pt +constant integer qt=$CA constant integer Qt=O+8192+qt*8192 integer St integer tt constant integer Tt=O+40 +integer array ut +integer array Ut +boolean array wt +integer array Wt +integer yt string Yt="" integer zt string Zt="" integer vT string eT="" integer xT string oT="" integer rT string iT="" +integer aT string nT="" +integer VT string ET="" integer XT string OT="" integer RT string IT="" integer AT string NT="" integer bT string BT="" integer cT string CT="" integer dT string DT="" integer fT string FT="" +integer gT string GT="" +integer hT string HT="" integer jT string JT="" integer kT string KT="" integer lT string LT="" +integer mT integer MT constant integer pT=O+48 +constant integer PT=O+56 +constant integer qT=O+8192+64*8192 integer array QT +integer array sT +constant integer ST=O+58 +constant integer tT=O+8192+60*8192 dialog array TT integer array uT +multiboard array UT integer array wT +integer array WT +integer array yT +integer YT string zT="" +integer ZT string vu="" +integer eu string xu="" integer ou string ru="" integer iu string au="" integer nu string Vu="" integer Eu string Xu="" integer Ou string Ru="" +integer Iu string Au="" integer Nu string bu="" +integer Bu string cu="" +integer Cu string du="" integer Du string fu="" integer Fu string gu="" integer Gu string hu="" integer Hu string ju="" +integer Ju string ku="" integer Ku string lu="" +integer Lu string mu="" +integer Mu integer pu integer array Pu +integer array qu +integer array Qu +constant integer su=O+8192+68*8192 integer array Su +effect array tu integer array Tu +integer array uu +boolean array Uu +integer array wu +integer Wu integer yu integer Yu integer zu integer Zu integer vU integer eU string xU="" integer oU string rU="" integer iU string aU="" integer nU string VU="" integer EU string XU="" integer OU string RU="" integer IU integer AU integer NU integer bU integer BU integer cU integer CU integer dU integer DU integer fU string FU="" integer gU string GU="" integer hU string HU="" integer jU string JU="" integer kU string KU="" integer lU string LU="" +integer mU string MU="" integer pU string PU="" integer qU string QU="" +integer sU string SU="" integer tU string TU="" +integer uU string UU="" integer wU string WU="" integer yU string YU="" integer zU string ZU="" +integer vw string ew="" integer xw string ow="" real rw integer iw integer aw boolean nw=false +integer Vw integer Ew integer Xw=0 +string Ow="" integer array Rw +integer Iw=U +integer array Aw +boolean array Nw +boolean array bw +integer Bw boolean array cw +string array Cw integer array dw +integer array Dw +integer array fw +integer array Fw +integer gw=F +integer array Gw +integer hw integer Hw integer jw integer Jw integer kw integer Kw string lw="" integer Lw string mw="" +integer Mw string pw="" integer Pw string qw="" integer Qw string sw="" integer Sw string tw="" integer Tw string uw="" integer Uw string ww="" integer Ww string yw="" integer Yw string zw="" integer Zw string vW="" integer eW string xW="" integer oW string rW="" integer iW integer aW integer nW real VW real EW real XW real OW real RW real IW integer AW integer NW real bW real BW real cW real CW real dW real DW integer fW integer FW integer gW real GW real hW real HW integer jW real JW integer kW integer KW real lW real LW real mW real MW integer pW integer PW integer qW integer QW=0 +integer array sW +integer SW=U +integer array tW +boolean array TW +boolean array uW +integer UW constant integer wW=O+8192+'f'*8192 integer array WW +boolean array yW +integer YW string zW="" integer ZW string vy="" integer ey string xy="" integer oy string ry="" +integer iy string ay="" +integer ny string Vy="" integer Ey string Xy="" integer Oy string Ry="" integer Iy string Ay="" +integer Ny string by="" integer By string cy="" integer Cy string Dy="" integer fy string Fy="" integer gy string Gy="" integer hy string Hy="" +integer jy string Jy="" integer ky string Ky="" integer ly string Ly="" integer my string My="" +integer py string Py="" integer qy string Qy="" integer sy string Sy="" +integer ty=0 +integer array Ty +integer uy=U +integer array Uy +boolean array wy +boolean array Wy +integer array yy +integer Yy=F +integer array zy +integer array Zy +integer array vY +constant integer eY=O+8192+'j'*8192 integer xY integer oY integer rY string iY="" integer aY string nY="" integer VY string EY="" integer XY string OY="" integer RY string IY="" +integer AY string NY="" integer bY string BY="" integer cY string CY="" integer DY string fY="" integer FY string gY="" integer GY string hY="" integer HY string jY="" integer JY string kY="" integer KY string lY="" integer LY string mY="" integer MY string pY="" +integer PY string qY="" integer QY string sY="" integer SY string tY="" integer TY string uY="" +integer UY string wY="" integer WY string yY="" integer YY string zY="" integer ZY string vz="" integer ez string xz="" integer oz string rz="" integer iz constant integer az=$8A constant integer nz=O+8192+az*8192 integer array Vz +integer array Ez +boolean array Xz +constant integer Oz=$8C constant integer Rz=O+8192+Oz*8192 integer Iz integer Az boolean array Nz +integer array bz +integer array Bz +integer cz=F +integer Cz integer array dz +integer array Dz +integer array fz +real array Fz real array gz real array Gz real array hz real array Hz real array jz real array Jz real array kz integer Kz constant integer lz=$8E constant integer Lz=O+8192+lz*8192 integer array mz +integer array Mz +boolean array pz +constant integer Pz=$90 constant integer qz=O+8192+Pz*8192 integer Qz integer array sz +integer array Sz +integer tz=F +integer Tz integer array uz +integer array Uz +integer wz constant integer Wz=$92 constant integer yz=O+8192+Wz*8192 integer array Yz +integer array zz +boolean array Zz +integer vZ constant integer eZ=$98 constant integer xZ=O+eZ +integer array oZ +integer array rZ +boolean array iZ +constant integer aZ=$9A constant integer nZ=O+8192+aZ*8192 integer VZ integer array EZ +integer array XZ +integer OZ=F +integer RZ integer array IZ +integer array AZ +integer array NZ +real array bZ real array BZ real array cZ real array CZ real array DZ real array fZ integer FZ string gZ="" integer GZ string hZ="" +integer HZ constant integer jZ=O+8192+260*8192 constant integer JZ=O+258 integer kZ=w +integer array KZ +integer array lZ +constant integer LZ=$A0 constant integer mZ=O+8192+LZ*8192 integer MZ constant integer pZ=O+88 +integer PZ integer qZ integer QZ integer sZ integer SZ integer tZ string TZ="" integer uZ constant integer UZ=$A4 constant integer wZ=O+8192+UZ*8192 integer WZ integer yZ integer YZ integer zZ string ZZ="" +integer v0 string e0="" integer x0 string o0="" integer r0 string i0="" integer n0 string V0="" +integer E0 string X0="" integer O0 string R0="" integer I0 string A0="" integer N0 string b0="" integer B0 string c0="" +integer C0 string d0="" integer D0 string f0="" integer F0 string g0="" integer G0 string h0="" integer H0 string j0="" integer J0 integer k0 integer K0 string l0="" integer L0 string m0="" +integer M0 string p0="" integer P0 string q0="" integer Q0 string s0="" integer S0 string t0="" integer T0 string u0="" integer U0 string w0="" integer W0 string y0="" integer Y0 string z0="" +integer Z0 string v1="" integer e1 string o1="" integer r1 string i1="" constant integer n1=$B constant integer V1=O+8192+n1*8192 boolean E1=false +string array X1 unit O1=null +integer R1 string I1="" integer A1 string N1="" +integer b1 string B1="" integer c1 constant integer C1=$AC constant integer d1=O+C1 +integer array D1 +integer array f1 +integer F1=F +integer g1 integer array G1 +integer h1 constant integer H1=$AE constant integer j1=O+H1 +integer array J1 +integer array k1 +integer K1=F +integer l1 integer array L1 +integer m1 integer M1 integer array p1 +integer array P1 +integer q1=F +integer Q1 integer s1 integer S1=0 +integer array t1 +integer T1=U +integer array u1 +boolean array U1 +boolean array w1 +integer W1 integer array Y1 +constant integer z1=$B8 constant integer Z1=O+z1 +constant integer v2=$A6 constant integer e2=O+8192+v2*8192 real array o2 integer array r2 +real array i2 real array n2 real array V2 real array E2 real array X2 integer O2 string R2="" integer I2 string A2="" integer N2 string b2="" integer B2 string c2="" integer C2 string D2="" +integer f2 string F2="" integer g2 string G2="" integer h2 string H2="" integer j2 string J2="" integer k2 string K2="" integer l2 string L2="" +integer m2 string M2="" integer p2 string P2="" integer q2 string Q2="" integer S2 string t2="" integer T2 string u2="" integer U2 string w2="" integer W2 string Y2="" integer Z2 string v3="" integer e3 string o3="" integer r3 string i3="" +integer n3 string V3="" integer E3 string X3="" +integer O3 string R3="" integer I3 string A3="" +integer N3 string b3="" integer B3 string c3="" +integer C3 string d3="" integer D3 integer f3 integer F3 integer g3 integer G3 integer array h3 +integer array H3 +integer array j3 +integer array J3 +constant integer k3=9*8192 integer array K3 +constant integer l3=$A constant integer L3=l3*8192 integer array m3 +integer array M3 +integer array p3 +boolean array P3 +integer q3 constant integer Q3=$BE constant integer s3=O+Q3 +integer array S3 +integer t3 integer T3=0 +integer array u3 +integer U3=U +integer array w3 +boolean array W3 +boolean array Y3 +integer array z3 +integer Z3 integer array v4 +integer array e4 +integer o4=F +integer r4 integer i4 integer array n4 +integer array V4 +integer E4 constant integer X4=$C0 constant integer O4=O+8192+X4*8192 integer R4 integer I4 integer array A4 +integer array N4 +integer b4=F +integer B4 integer array c4 +real array C4 real array d4 real array D4 real array f4 real array F4 real array g4 integer array G4 +integer h4 integer H4 string j4="" +integer J4 string k4="" integer K4 string l4="" integer L4 string m4="" integer M4 string p4="" integer P4 string q4="" integer Q4 string s4="" integer S4 string t4="" integer T4 string u4="" +integer array U4 +integer w4=0 +integer W4=U +boolean array Y4 +integer z4 boolean array Z4 +integer v5=0 +integer array e5 +boolean array x5 +integer array o5 +integer array r5 +integer array i5 +integer array a5 +integer array n5 +integer array V5 +integer array E5 +integer array X5 +string array O5 multiboarditem array R5 real array I5 constant integer A5=$C4 constant integer N5=O+8192+A5*8192 string array b5 integer B5=w +integer c5 string array C5 integer d5 string array D5 integer f5 integer F5 integer array g5 +integer array G5 +boolean array h5 +integer array H5 +integer array j5 +integer array J5 +integer array k5 +integer array K5 +integer l5=w +integer L5 string array m5 integer M5 string array p5 integer array P5 +boolean array q5 +integer array Q5 +integer s5 integer S5 string array t5 integer T5 integer u5=0 +string U5="" integer array w5 +integer W5=U +integer array y5 +boolean array Y5 +boolean array z5 +integer Z5 real array v6 integer array e6 +real array x6 integer array o6 +integer array r6 +constant integer i6=O+8192+441*8192 integer a6 constant integer n6=O+439 integer V6=F +integer array E6 +integer X6 real array O6 integer R6 integer array I6 +constant integer A6=0+8 integer N6 integer array b6 +integer array B6 +constant integer c6=0+$B +real C6=2450. integer d6 integer D6 string array f6 integer F6 constant integer g6=0+1 boolean G6=false +integer h6='d' integer H6 integer j6='d' integer J6=F +volumegroup array k6 +integer array K6 +integer l6 integer L6 integer m6=0 +string M6="" integer array p6 +integer P6=U +integer array q6 +boolean array Q6 +boolean array s6 +integer S6 real array t6 integer array T6 +real array u6 integer array U6 +integer array w6 +constant integer W6=O+8192+445*8192 integer y6 constant integer Y6=O+443 real array z6 integer Z6 integer v7=0 +string e7="" integer array x7 +integer o7=U +integer array r7 +boolean array i7 +boolean array a7 +integer n7 real array V7 integer array E7 +real array X7 integer array O7 +integer array R7 +constant integer I7=O+8192+449*8192 integer A7 constant integer N7=O+447 integer b7 integer B7=0 +string c7="" integer array C7 +integer d7=U +integer array D7 +boolean array f7 +boolean array F7 +integer g7 real array G7 integer array h7 +real array H7 integer array j7 +integer array J7 +constant integer k7=O+8192+453*8192 integer K7 constant integer l7=O+451 integer L7=F +integer array m7 +integer M7 integer array p7 +integer array P7 +integer q7 integer Q7 integer s7 constant real S7=(2*1.)*1./ 32 integer t7 string T7="" integer u7 string U7="" integer w7 string W7="" integer y7 string Y7="" +integer z7 string Z7="" integer v8 string e8="" integer x8 string o8="" integer r8 integer i8=0 +integer array a8 +integer n8=U +integer array V8 +boolean array E8 +boolean array X8 +integer array O8 +constant integer R8=$C6 constant integer I8=O+8192+R8*8192 string array A8 integer N8 integer b8 integer B8 integer c8 integer C8 integer d8 integer D8 integer f8 integer F8 integer g8 integer G8 integer h8 integer H8 integer j8 integer J8 integer k8 integer K8 integer l8 integer L8 integer m8 integer M8 integer p8 integer P8 integer q8 integer Q8 integer s8 integer S8 integer t8 integer T8 integer u8 integer U8 integer w8 integer W8 integer y8 integer Y8 integer z8 integer Z8 integer vvv integer vev integer vxv integer vov integer vrv integer viv integer vav integer vnv integer vVv integer vEv integer vXv integer vOv integer vRv integer vIv integer vAv integer vNv integer vbv integer vBv integer vcv integer vCv integer vdv integer vDv integer vfv integer vFv integer vgv integer vGv integer vhv integer vHv integer vjv integer vJv integer vkv integer vKv integer vlv integer vLv integer vmv integer vMv integer vpv integer vPv integer vqv integer vQv integer vsv integer vSv integer vtv string vTv="" integer vuv integer vUv=0 integer array vwv integer vWv=U integer array vyv boolean array vYv boolean array vzv constant integer vZv=O+8192+22*8192 boolean array v_v integer array v0v string v1v="" integer v2v integer v3v=0 string v4v="" integer array v5v integer v6v=U integer array v7v boolean array v8v boolean array v9v integer evv constant integer eev=O+8192+399*8192 +integer exv integer eov integer erv integer eiv integer eav integer env integer eVv integer eEv integer array eXv constant integer eOv=$C8 +constant integer eRv=O+8192+eOv*8192 +integer array eIv integer eAv=F integer array eNv integer array ebv integer eBv=F integer ecv=675 constant real eCv=ecv*ecv integer array edv boolean eDv integer array efv boolean array eFv integer array egv integer array eGv constant integer ehv=O+553 integer eHv=w integer array ejv integer eJv string ekv="" integer eKv string elv="" hashtable eLv force emv integer eMv string epv="" integer ePv string eqv="" integer eQv string esv="" +integer eSv string etv="" integer eTv string euv="" integer eUv string ewv="" integer eWv string eyv="" +integer eYv string ezv="" integer eZv string e_v="" integer e0v string e1v="" integer e2v string e3v="" integer e4v integer e5v integer e6v integer e7v integer e8v string e9v="" integer xvv string xev="" integer xxv string xov="" +integer xrv integer xiv=0 integer array xav integer xnv=U integer array xVv boolean array xEv boolean array xXv integer xOv integer xRv integer xIv integer xAv integer xNv integer xbv integer array xBv constant integer xcv=$A constant integer xCv=$B constant integer xdv=$D constant integer xDv=$C constant integer xfv=$E integer xFv integer array xgv integer xGv string xhv="" +integer xHv string xjv="" integer xJv string xkv="" integer xKv string xlv="" integer xLv string xmv="" +integer xMv string xpv="" +integer xPv string xqv="" integer xQv string xsv="" integer xSv string xtv="" integer xTv string xuv="" integer xUv string xwv="" +integer xWv integer xyv=0 integer array xYv integer xzv=U integer array xZv boolean array x_v boolean array x0v integer array x1v integer array x2v boolean array x3v integer x4v integer x5v integer x6v integer x7v integer x8v integer x9v integer ovv integer oev=5 integer oxv integer array oov integer array orv integer array oiv integer oav='AHS0' integer array onv integer oVv integer oEv integer oXv constant integer oOv=$CE +constant integer oRv=O+oOv integer oIv string oAv="" integer oNv string obv="" integer oBv string ocv="" integer oCv string odv="" integer oDv string ofv="" integer oFv string ogv="" integer oGv=0 integer array ohv integer oHv=U integer array ojv boolean array oJv boolean array okv integer oKv integer olv string oLv="" integer omv string oMv="" +integer opv string oPv="" integer oqv string oQv="" integer osv string oSv="" integer otv string oTv="" integer ouv integer oUv=0 string owv="" integer array oWv integer oyv=U integer array oYv boolean array ozv boolean array oZv integer o_v integer array o0v constant integer o1v=$DF +constant integer o2v=O+o1v integer o3v integer o4v integer o5v integer o6v integer o7v integer o8v integer o9v integer rvv integer rev integer rxv integer rov integer rrv integer riv string rav="" integer rnv string rVv="" integer rEv integer rXv string rOv="" integer rRv string rIv="" integer rAv integer rNv=0 string rbv="" +integer array rBv integer rcv=U integer array rCv boolean array rdv boolean array rDv integer rfv string array rFv +integer rgv string rGv="" integer rhv string rHv="" integer rjv string rJv="" +integer rkv string rKv="" integer rlv string rLv="" integer rmv string rMv="" integer rpv string rPv="" +integer rqv string rQv="" integer rsv string rSv="" integer rtv string rTv="" integer ruv string rUv="" integer rwv string rWv="" integer ryv string rYv="" integer rzv string rZv="" integer r_v string r0v="" integer r1v string r2v="" +integer r3v integer r4v integer array r5v integer array r6v integer array r7v constant integer r8v=$E4 +constant integer r9v=O+8192+r8v*8192 +integer array ivv integer array iev boolean array ixv integer array iov integer array irv integer array iiv integer iav=F integer inv integer array iVv integer iEv string iXv="" integer iOv string iRv="" integer iIv string iAv="" integer iNv string ibv="" integer iBv string icv="" integer iCv string idv="" integer iDv string ifv="" integer iFv string igv="" integer iGv string ihv="" integer iHv string ijv="" integer iJv string ikv="" integer iKv string ilv="" +integer iLv string imv="" integer iMv string ipv="" integer iPv string iqv="" integer iQv string isv="" integer iSv string itv="" +integer iTv string iuv="" integer iUv string iwv="" integer iWv string iyv="" +integer iYv string izv="" integer iZv string i_v="" +integer i0v string i1v="" integer i2v string i3v="" integer i4v string i5v="" integer i6v string i7v="" integer array i8v integer array i9v integer array avv integer aev string axv="" integer aov string arv="" integer array aiv integer array aav integer array anv integer aVv string aEv="" integer aXv string aOv="" integer aRv string aIv="" integer aAv string aNv="" integer array abv integer array aBv integer array acv integer array aCv integer adv string aDv="" integer afv string aFv="" integer agv string aGv="" integer ahv string aHv="" +integer ajv string aJv="" integer akv string aKv="" integer alv string aLv="" integer amv string aMv="" integer apv string aPv="" integer aqv string aQv="" integer asv string aSv="" integer atv string aTv="" integer auv string aUv="" +integer awv string aWv="" integer ayv string aYv="" +integer azv string aZv="" integer a_v string a0v="" integer a1v string a2v="" +integer a3v string a4v="" integer a5v string a6v="" integer a7v string a8v="" integer a9v string nvv="" integer nev string nxv="" +integer nov string nrv="" integer niv string nav="" +integer nnv string nVv="" integer nEv string nXv="" integer nOv string nRv="" integer nIv string nAv="" +integer nNv string nbv="" +integer nBv string ncv="" integer nCv string ndv="" integer nDv string nfv="" integer nFv integer ngv=0 integer array nGv integer nhv=U integer array nHv boolean array njv boolean array nJv string nkv="" integer nKv integer array nlv boolean array nLv integer array nmv integer nMv integer npv integer nPv integer nqv integer nQv integer nsv constant integer nSv=O+8192+272*8192 +integer ntv integer nTv constant integer nuv=O+386 integer array nUv integer array nwv string nWv="" boolean array nyv integer nYv integer nzv integer array nZv integer array n_v integer n0v=F integer n1v trigger n2v integer array n3v integer n4v=0 integer n5v=U boolean array n6v string array n7v +constant real n8v=dL*32 string array n9v +integer Vvv integer array Vev integer Vxv=F integer array Vov integer Vrv integer array Viv integer Vav=F integer array Vnv integer array VVv lightning array VEv lightning array VXv boolean array VOv integer VRv integer VIv integer VAv string VNv="" integer Vbv string VBv="" integer Vcv string VCv="" integer Vdv string VDv="" +integer Vfv string VFv="" integer Vgv string VGv="" integer Vhv string VHv="" integer Vjv string VJv="" +integer Vkv string VKv="" integer Vlv string VLv="" +integer Vmv string VMv="" +integer Vpv string VPv="" integer Vqv string VQv="" integer Vsv string VSv="" integer Vtv string VTv="" integer Vuv string VUv="" +integer Vwv string VWv="" integer Vyv string VYv="" integer Vzv string VZv="" +integer V_v string V0v="" integer V1v string V2v="" +integer V3v string V4v="" integer V5v string V6v="" integer V7v string V8v="" +integer V9v string Evv="" integer Eev string Exv="" integer Eov string Erv="" integer Eiv string Eav="" integer Env string EVv="" integer EEv string EXv="" integer EOv string ERv="" integer EIv string EAv="" integer ENv string Ebv="" integer EBv string Ecv="" integer ECv string Edv="" integer EDv string Efv="" integer EFv string Egv="" integer EGv string Ehv="" integer EHv string Ejv="" integer EJv string Ekv="" integer EKv string Elv="" integer ELv string Emv="" integer EMv string Epv="" +integer EPv string Eqv="" integer EQv string Esv="" integer ESv string Etv="" integer ETv string Euv="" integer EUv string Ewv="" integer EWv string Eyv="" integer EYv string Ezv="" string EZv="" integer E_v integer E0v boolean array E1v integer E2v string E3v="" integer E4v string E5v="" integer E6v string E7v="" integer E8v string E9v="" integer Xvv string Xev="" integer Xxv string Xov="" integer Xrv string Xiv="" integer Xav string Xnv="" integer XVv string XEv="" integer XXv string XOv="" integer XRv boolean array XIv integer XAv string XNv="" integer Xbv string XBv="" integer Xcv integer XCv string Xdv="" integer XDv string Xfv="" integer XFv string Xgv="" integer XGv string Xhv="" integer XHv string Xjv="" integer XJv string Xkv="" +integer XKv string Xlv="" +integer XLv string Xmv="" integer XMv string Xpv="" integer XPv string Xqv="" +integer XQv string Xsv="" integer XSv string Xtv="" integer XTv string Xuv="" integer XUv string Xwv="" integer XWv string Xyv="" integer XYv string Xzv="" integer XZv string X_v="" integer X0v string X1v="" integer X2v string X3v="" integer X4v string X5v="" integer X6v string X7v="" +integer X8v string X9v="" integer Ovv string Oev="" integer Oxv string Oov="" integer Orv string Oiv="" +integer Oav string Onv="" integer OVv string OEv="" integer OXv boolean array OOv string array ORv +integer OIv string OAv="" +integer ONv integer Obv boolean array OBv integer Ocv string OCv="" integer Odv string ODv="" integer Ofv string OFv="" integer Ogv string OGv="" integer Ohv string OHv="" integer Ojv string OJv="" integer Okv string OKv="" integer Olv string OLv="" integer Omv string OMv="" integer Opv string OPv="" integer Oqv string OQv="" integer Osv string OSv="" integer Otv string OTv="" integer Ouv string OUv="" +integer Owv integer OWv boolean array Oyv constant integer OYv=O+8192+334*8192 +integer Ozv string OZv="" integer O_v integer O0v boolean array O1v integer O2v string O3v="" string O4v="" integer O5v integer O6v integer O7v integer array O8v integer O9v string Rvv="" +integer Rev string Rxv="" integer Rov string Rrv="" integer Riv string Rav="" integer Rnv string RVv="" +integer REv string RXv="" integer ROv integer RRv integer RIv integer RAv=0 string RNv="" integer array Rbv integer RBv=U integer array Rcv boolean array RCv boolean array Rdv integer RDv integer array Rfv integer RFv real array Rgv real array RGv real array Rhv real array RHv integer Rjv boolean array RJv integer Rkv integer RKv string Rlv="" integer RLv string array Rmv +string RMv="Unit_page\\Unit_struct\\Frost\\finished\\BurstingIce.mdx" string array Rpv +integer RPv integer Rqv string RQv="" integer Rsv boolean array RSv string Rtv="Abilities\\Spells\\NightElf\\FaerieDragonInvis\\FaerieDragon_Invis.mdx" string RTv="AttachPoint.HEAD" integer Ruv string RUv="" integer Rwv integer RWv integer Ryv integer array RYv integer Rzv integer RZv integer R_v boolean array R0v integer R1v string R2v="" integer R3v boolean array R4v integer R5v string R6v="" +integer R7v string R8v="" integer R9v string Ivv="" integer Iev string Ixv="" integer array Iov integer array Irv integer Iiv string Iav="" +integer Inv string IVv="" integer IEv string IXv="" integer IOv string IRv="" string IIv="" +integer IAv boolean array INv integer Ibv string IBv="" integer Icv string ICv="" integer Idv string IDv="" integer Ifv string IFv="" integer Igv string IGv="" integer array Ihv integer array IHv integer Ijv string IJv="" +integer Ikv string IKv="" integer Ilv string ILv="" integer Imv string IMv="" string Ipv="" +integer IPv boolean array Iqv integer IQv string Isv="" integer ISv string Itv="" integer ITv string Iuv="" integer IUv string Iwv="" +integer IWv string Iyv="" integer IYv string Izv="" +integer IZv string I_v="" integer I0v string I1v="" integer I2v string I3v="" integer I4v string I5v="" integer I6v string I7v="" string I8v="" integer I9v boolean array Avv integer Aev string Axv="" integer Aov string Arv="" integer Aiv string Aav="" integer Anv string AVv="" integer AEv string AXv="" integer AOv string ARv="" integer AIv string AAv="" integer ANv string Abv="" integer ABv string Acv="" integer ACv integer Adv integer ADv boolean array Afv integer AFv integer Agv string AGv="" +integer Ahv integer AHv integer Ajv integer AJv string Akv="" +integer AKv integer Alv integer ALv integer Amv boolean array AMv integer Apv string APv="" integer Aqv integer AQv integer Asv boolean array ASv integer Atv integer ATv string Auv="" integer AUv string Awv="" integer AWv integer Ayv boolean array AYv integer array Azv integer array AZv string array A_v +constant integer A0v=O+8192+336*8192 +constant real A1v=1.*1./ 10. +real array A2v real array A3v boolean array A4v real array A5v constant integer A6v=O+8192+330*8192 +real array A7v real array A8v integer array A9v integer Nvv integer Nev real array Nxv constant integer Nov=O+8192+388*8192 +real Nrv=.01 +constant real Niv=Nrv*1. +real Nav=.02 +constant real Nnv=Nav*1. +integer NVv integer NEv string NXv="" +integer NOv boolean array NRv integer array NIv integer array NAv real NNv=.01 +constant real Nbv=NNv*1. +real NBv=.02 +constant real Ncv=NBv*1. +integer NCv string Ndv="" +integer NDv string Nfv="" +integer NFv boolean array Ngv integer NGv string Nhv="" integer NHv integer Njv integer NJv boolean array Nkv integer NKv string Nlv="" integer NLv string Nmv="" integer NMv string Npv="" +integer NPv string Nqv="" +integer NQv integer Nsv integer NSv boolean array Ntv integer NTv integer Nuv string NUv="" integer Nwv integer NWv integer Nyv integer NYv integer Nzv string NZv="" string N_v="" integer N0v integer N1v integer N2v string N3v="" integer N4v string N5v="" integer N6v string N7v="" +integer N8v string N9v="" integer bvv string bev="" integer bxv string bov="" integer brv string biv="" integer bav string bnv="" integer bVv string bEv="" integer bXv string bOv="" integer bRv string bIv="" integer bAv string bNv="" integer bbv string bBv="" integer bcv string bCv="" integer bdv string bDv="" +integer bfv string bFv="" integer bgv string bGv="" integer bhv string bHv="" integer bjv string bJv="" integer bkv string bKv="" integer blv string bLv="" integer bmv string bMv="" integer bpv string bPv="" integer bqv string bQv="" integer bsv string bSv="" integer btv integer bTv string buv="" +integer bUv string bwv="" integer bWv string byv="" integer bYv string bzv="" integer bZv string b_v="" +integer b0v string b1v="" integer b2v string b3v="" integer b4v string b5v="" integer b6v integer array b7v integer b8v string b9v="" integer Bvv integer array Bev integer array Bxv boolean array Bov integer Brv integer Biv integer Bav string Bnv="" integer BVv string BEv="" +integer BXv string BOv="" integer BRv integer BIv integer BAv string BNv="" integer Bbv string BBv="" string array Bcv +integer BCv string Bdv="" integer BDv string Bfv="" integer BFv integer Bgv string BGv="" integer Bhv string BHv="" integer Bjv string BJv="" integer array Bkv integer array BKv integer array Blv integer array BLv integer Bmv string BMv="" integer Bpv string BPv="" integer Bqv string BQv="" integer Bsv string BSv="" integer Btv string BTv="" integer Buv string BUv="" integer Bwv string BWv="" integer Byv string BYv="" +integer Bzv string BZv="" integer B_v string B0v="" integer B1v string B2v="" integer B3v string B4v="" integer B5v string B6v="" integer B7v string B8v="" integer B9v string cvv="" integer cev string cxv="" integer cov string crv="" integer civ string cav="" integer cnv string cVv="" integer cEv integer cXv=0 integer array cOv integer cRv=U integer array cIv boolean array cAv boolean array cNv integer array cbv string array cBv +integer ccv=F integer array cCv integer array cdv integer array cDv constant integer cfv=$FA +constant integer cFv=O+8192+cfv*8192 +integer cgv integer cGv integer chv integer cHv integer cjv integer cJv integer ckv integer cKv integer clv integer cLv integer array cmv integer cMv=0 integer cpv=U real array cPv real array cqv real array cQv real array csv real array cSv real array ctv real array cTv real array cuv real array cUv constant integer cwv=O+8192+418*8192 +constant integer cWv=O+8192+419*8192 +integer array cyv constant integer cYv=$D0 +constant integer czv=O+8192+cYv*8192 +constant integer cZv=$CF +constant integer c_v=O+8192+cZv*8192 +integer array c0v constant integer c1v=O+8192+420*8192 +real array c2v real array c3v real array c4v real array c5v real array c6v real array c7v real array c8v boolean array c9v real array Cvv real array Cev real array Cxv integer array Cov integer array Crv integer Civ integer Cav=6 integer Cnv=6 integer CVv=w constant integer CEv=O+8192+423*8192 +constant integer CXv=O+8192+421*8192 +constant integer COv=O+8192+422*8192 +integer CRv integer CIv boolean array CAv integer CNv integer array Cbv integer CBv=4 integer Ccv integer CCv real array Cdv real array CDv real array Cfv constant integer CFv=O+8192+425*8192 +constant integer Cgv=O+8192+322*8192 +integer CGv=0 integer array Chv integer CHv=U integer array Cjv boolean array CJv boolean array Ckv real array CKv real array Clv constant integer CLv=O+8192+320*8192 +constant integer Cmv=O+8192+426*8192 +string array CMv +string array Cpv +constant integer CPv=O+8192+427*8192 +integer Cqv real array CQv real array Csv real array CSv real array Ctv real array CTv integer array Cuv integer array CUv integer Cwv integer array CWv integer array Cyv real array CYv integer array Czv integer array CZv real array C_v real array C0v constant integer C1v=O+8192+428*8192 +constant integer C2v=O+8192+328*8192 +integer C3v integer array C4v string array C5v +string array C6v +integer array C7v integer array C8v integer array C9v integer array dvv integer array dev integer array dxv real array dov real array drv real array div boolean array dav integer array dnv boolean array dVv real array dEv real array dXv real array dOv real array dRv real array dIv real array dAv integer dNv=256 integer dbv='TS73' integer dBv=256 integer dcv='SS73' real array dCv real array ddv real array dDv real array dfv real array dFv real array dgv real array dGv real array dhv real array dHv real array djv real array dJv real array dkv real array dKv real array dlv real array dLv real array dmv real array dMv real array dpv real array dPv real array dqv real array dQv real array dsv real array dSv real array dtv real array dTv real array duv real array dUv real array dwv real array dWv real dyv=.2 constant integer dYv=O+8192+389*8192 +integer dzv constant integer dZv=O+8192+378*8192 +constant integer d_v=O+376 integer d0v integer d1v constant real d2v=dL*16 real array d3v real array d4v integer d5v integer d6v constant real d7v=.1*.1 real array d8v integer d9v integer Dvv integer Dev integer Dxv integer array Dov integer Drv=F integer array Div integer Dav integer array Dnv integer DVv=F real array DEv real array DXv real array DOv real array DRv real array DIv real array DAv real array DNv real array Dbv integer array DBv integer array Dcv integer array DCv real Ddv=.01 +real array DDv real array Dfv real array DFv real array Dgv integer DGv constant integer Dhv=O+8192+372*8192 +integer DHv=0 integer array Djv integer DJv=U integer array Dkv boolean array DKv boolean array Dlv real array DLv integer array Dmv integer array DMv integer array Dpv constant integer DPv=O+8192+370*8192 +integer Dqv integer DQv integer Dsv lightning array DSv real array Dtv lightning array DTv lightning array Duv real array DUv lightning array Dwv lightning array DWv real array Dyv lightning array DYv integer Dzv integer DZv integer D_v integer D0v=F integer array D1v integer array D2v integer D3v constant real D4v=(1*1.)*1./ 32 constant real D5v=3.141592654*1./ 2 constant real D6v=D5v constant real D7v=.5*D4v +constant real D8v=(.15-1.)*1./(.9-.7) constant real D9v=(1.*1./ .7-.15*1./ .9)*1./(1*1./ .7-1*1./ .9) integer fvv integer fev integer fxv boolean fov=true +integer array frv integer array fiv integer fav integer fnv integer fVv integer fEv integer array fXv integer array fOv integer fRv integer fIv integer fAv=0 string fNv="" +integer array fbv integer fBv=U integer array fcv boolean array fCv boolean array fdv integer fDv string array ffv +integer fFv boolean fgv=false integer fGv real fhv=.6 integer array fHv effect array fjv +integer array fJv integer array fkv boolean array fKv integer flv=0 integer fLv=U boolean array fmv constant real fMv=xj +string fpv="Unit_page\\Unit_struct\\Death\\Explosion\\CommonBloodExplosion.mdx" integer array fPv integer fqv constant real fQv=$80 integer fsv integer fSv=0 integer array ftv integer fTv=U integer array fuv boolean array fUv boolean array fwv integer array fWv integer fyv=0 integer array fYv integer fzv=U integer array fZv boolean array f_v boolean array f0v integer array f1v integer array f2v constant integer f3v=O+326 integer f4v integer f5v integer f6v integer f7v integer f8v constant integer f9v=O+8192+262*8192 +constant integer Fvv=O+8192+264*8192 +integer Fev boolean Fxv=false integer Fov integer Frv integer Fiv integer Fav integer Fnv integer FVv integer FEv integer FXv constant integer FOv=O+8192+352*8192 +constant integer FRv=O+350 integer FIv real array FAv real array FNv real array Fbv real array FBv real array Fcv integer FCv unit array Fdv integer FDv=0 integer Ffv=U boolean array FFv integer array Fgv integer FGv constant integer Fhv=O+8192+382*8192 +integer array FHv integer array Fjv integer FJv=F integer array Fkv integer array FKv integer Flv=F integer FLv integer Fmv integer FMv integer Fpv integer array FPv integer array Fqv integer FQv=F integer Fsv constant integer FSv=O+8192+391*8192 +integer array Ftv constant integer FTv=O+390 integer array Fuv integer array FUv integer array Fwv integer array FWv boolean array Fyv integer FYv integer Fzv integer FZv integer F_v integer F0v integer F1v integer F2v integer F3v=0 integer F4v=U boolean array F5v string F6v="origin" integer F7v integer F8v integer F9v integer gvv integer gev integer gxv integer gov boolean array grv integer array giv integer gav integer gnv integer gVv integer gEv integer gXv integer gOv integer gRv boolean gIv=false constant integer gAv=O+8192+332*8192 +string gNv="Abilities\\Spells\\Undead\\VampiricAura\\VampiricAuraTarget.mdl" +string gbv="origin" string gBv="Abilities\\Spells\\Undead\\VampiricAura\\VampiricAuraTarget.mdl" +string gcv="origin" constant integer gCv=O+8192+424*8192 +integer gdv boolean gDv integer gfv integer gFv integer ggv integer gGv integer ghv integer gHv real array gjv real array gJv integer gkv integer gKv integer glv integer gLv integer gmv integer array gMv integer array gpv integer array gPv region array gqv +constant integer gQv=O+8192+374*8192 +integer gsv integer array gSv integer array gtv integer array gTv integer guv integer gUv integer gwv integer gWv integer gyv real array gYv real array gzv constant real gZv=20.*.125 integer g_v integer array g0v integer array g1v integer g2v integer g3v integer g4v integer g5v integer g6v integer g7v constant integer g8v=O+314 integer array g9v integer array Gvv integer array Gev boolean array Gxv integer Gov constant integer Grv=O+8192+316*8192 +integer Giv integer Gav integer Gnv integer GVv integer GEv=0 integer GXv=U boolean array GOv integer GRv=0 integer array GIv integer GAv=U integer array GNv boolean array Gbv boolean array GBv integer array Gcv real array GCv integer Gdv=9 integer GDv=9 integer Gfv=w integer GFv integer Ggv integer GGv boolean Ghv=false integer GHv constant integer Gjv=O+8192+312*8192 +integer array GJv integer Gkv boolean GKv=false integer Glv integer GLv constant integer Gmv=O+308 integer array GMv integer Gpv integer GPv integer Gqv integer GQv integer Gsv integer GSv integer Gtv integer GTv integer Guv integer GUv integer Gwv constant integer GWv=O+384 integer Gyv=0 integer array GYv integer Gzv=U integer array GZv boolean array G_v boolean array G0v integer array G1v integer array G2v integer G3v string G4v="" integer G5v string G6v="" +integer G7v string G8v="" integer G9v string hvv="" +integer hev string hxv="" integer hov string hrv="" integer hiv string hav="" integer hnv string hVv="" integer hEv string hXv="" integer hOv string hRv="" integer hIv string hAv="" integer hNv string hbv="" integer hBv string hcv="" integer hCv string hdv="" integer hDv string hfv="" integer hFv string hgv="" +integer hGv string hhv="" integer hHv string hjv="" +integer hJv string hkv="" integer hKv string hlv="" integer hLv string hmv="" integer hMv string hpv="" integer hPv string hqv="" integer hQv string hsv="" integer hSv string htv="" integer hTv string huv="" integer hUv string hwv="" integer hWv string hyv="" integer hYv string hzv="" integer hZv string h_v="" +integer h0v string h1v="" integer h2v string h3v="" +integer h4v string h5v="" integer h6v string h7v="" integer h8v string h9v="" integer Hvv string Hev="" integer Hxv string Hov="" integer Hrv string Hiv="" integer Hav string Hnv="" integer HVv string HEv="" +integer HXv string HOv="" integer HRv string HIv="" integer HAv string HNv="" integer Hbv string HBv="" integer Hcv string HCv="" integer Hdv string HDv="" integer Hfv string HFv="" integer Hgv string HGv="" integer Hhv string HHv="" +integer Hjv string HJv="" integer Hkv string HKv="" integer Hlv string HLv="" integer Hmv string HMv="" integer Hpv string HPv="" integer Hqv string HQv="" +integer Hsv string HSv="" integer Htv string HTv="" integer Huv string HUv="" integer Hwv string HWv="" integer Hyv string HYv="" +integer Hzv string HZv="" +integer H_v string H0v="" integer H1v string H2v="" integer H3v string H4v="" integer H5v string H6v="" integer H7v string H8v="" integer H9v string jvv="" +integer jev string jxv="" integer jov string jrv="" integer jiv string jav="" integer jnv string jVv="" +integer jEv string jXv="" integer jOv string jRv="" integer jIv string jAv="" +integer jNv string jbv="" integer jBv string jcv="" integer jCv string jdv="" integer jDv string jfv="" integer jFv string jgv="" integer jGv string jhv="" integer jHv integer jjv=0 string jJv="" integer array jkv integer jKv=U integer array jlv boolean array jLv boolean array jmv integer jMv string array jpv +constant integer jPv=O+8192+417*8192 +boolean array jqv integer jQv=F integer array jsv integer array jSv integer jtv=1 integer jTv integer juv=2 integer jUv integer jwv integer jWv integer jyv integer jYv integer jzv integer jZv integer j_v integer j0v integer j1v integer j2v integer j3v integer j4v=3 integer j5v integer j6v integer j7v integer j8v integer j9v integer Jvv integer Jev integer Jxv integer Jov integer Jrv integer Jiv integer Jav integer Jnv integer JVv integer JEv integer JXv integer JOv integer JRv integer JIv integer JAv integer JNv integer Jbv integer JBv integer Jcv integer JCv integer Jdv integer JDv integer Jfv integer JFv integer Jgv integer JGv integer Jhv integer JHv integer Jjv integer JJv integer Jkv integer JKv integer Jlv integer JLv integer Jmv integer JMv integer Jpv integer JPv integer Jqv integer JQv integer Jsv integer JSv integer Jtv integer JTv integer Juv integer JUv integer Jwv integer JWv integer Jyv integer JYv integer Jzv integer JZv integer J_v integer J0v integer J1v integer J2v integer J3v integer J4v integer J5v integer J6v integer J7v integer J8v integer J9v integer kvv integer kev integer kxv integer kov integer krv integer kiv integer kav integer knv integer kVv integer kEv integer kXv integer kOv integer kRv integer kIv integer kAv integer kNv integer kbv integer kBv integer kcv integer kCv integer kdv integer kDv integer kfv integer kFv integer kgv integer kGv integer khv integer kHv integer kjv integer kJv integer kkv integer kKv integer klv integer kLv integer kmv integer kMv integer kpv integer kPv integer kqv integer kQv integer ksv string kSv="" integer ktv string kTv="" integer kuv string kUv="" integer kwv string kWv="" integer kyv string kYv="" +integer kzv string kZv="" integer k_v string k0v="" +integer k1v string k2v="" integer k3v string k4v="" integer k5v string k6v="" integer k7v string k8v="" integer k9v string Kvv="" +integer Kev string Kxv="" integer Kov string Krv="" integer Kiv string Kav="" integer Knv string KVv="" integer KEv string KXv="" integer KOv integer KRv integer KIv integer KAv integer KNv=0 integer array Kbv integer KBv=U integer array Kcv boolean array KCv boolean array Kdv mapcontrol array KDv +constant integer Kfv=O+8192+432*8192 +constant integer KFv=O+431 integer Kgv integer KGv integer Khv=0 integer array KHv integer Kjv=U integer array KJv boolean array Kkv boolean array KKv playerslotstate array Klv constant integer KLv=O+8192+434*8192 +constant integer Kmv=O+433 integer KMv integer Kpv integer KPv integer Kqv=0 integer array KQv integer Ksv=U integer array KSv boolean array Ktv boolean array KTv integer Kuv integer KUv=0 integer array Kwv integer KWv=U integer array Kyv boolean array KYv boolean array Kzv integer array KZv integer array K_v integer K0v=F integer array K1v constant integer K2v=O+8192+437*8192 +integer array K3v constant integer K4v=O+455 constant integer K5v=O+8192+436*8192 +constant integer K6v=O+8192+435*8192 +integer K7v string K8v="User_page\\User_struct\\lala.ai" +integer K9v integer lvv integer lev integer lxv integer lov integer lrv gamecache liv integer lav=w integer lnv integer lVv integer lEv integer lXv integer lOv integer lRv integer lIv string lAv="" integer lNv integer lbv=0 integer array lBv integer lcv=U integer array lCv boolean array ldv boolean array lDv integer array lfv integer lFv string lgv="" +integer lGv integer lhv=0 integer array lHv integer ljv=U integer array lJv boolean array lkv boolean array lKv weathereffect array llv integer lLv integer lmv string lMv="" integer lpv string lPv="" integer lqv string lQv="" integer lsv string lSv="" +integer ltv string lTv="" integer luv string lUv="" integer lwv string lWv="" integer lyv string lYv="" integer lzv integer lZv integer l_v integer l0v=w boolean l1v=false integer l2v integer l3v integer l4v string array l5v +integer l6v integer array l7v integer array l8v constant integer l9v=O+8192+467*8192 +boolean Lvv integer Lev integer Lxv integer Lov integer Lrv integer Liv integer Lav string array Lnv +integer LVv integer LEv=0 integer array LXv integer LOv=U integer array LRv boolean array LIv boolean array LAv integer array LNv integer array Lbv string array LBv +integer Lcv=F integer array LCv integer array Ldv integer array LDv integer array Lfv constant integer LFv=O+8192+465*8192 +boolean array Lgv integer LGv integer Lhv integer LHv integer Ljv integer LJv integer Lkv integer LKv integer Llv integer LLv integer array Lmv integer array LMv constant integer Lpv=O+8192+515*8192 +integer array LPv integer Lqv string LQv="" integer Lsv string LSv="" integer Ltv integer LTv integer Luv integer LUv integer Lwv string LWv="" +real Lyv +real LYv +real Lzv +real LZv +integer L_v constant integer L0v=O+545 integer L1v=w integer L2v=w real array L3v constant real L4v=(2*1.)*1./ 32 integer array L5v integer L6v integer L7v string L8v="" integer L9v integer mvv integer mev integer mxv string mov="" integer mrv string miv="" +integer mav string mnv="" +integer mVv string mEv="" +integer mXv string mOv="" integer mRv string mIv="" integer mAv string mNv="" +integer mbv string mBv="" integer mcv string mCv="" integer mdv string mDv="" integer mfv constant integer mFv=O+469 integer array mgv integer array mGv integer array mhv integer array mHv boolean array mjv integer array mJv integer array mkv integer mKv=F integer array mlv integer mLv integer mmv=0 integer array mMv integer mpv=U integer array mPv boolean array mqv boolean array mQv integer array msv integer mSv integer mtv integer mTv integer muv integer mUv integer mwv constant integer mWv=O+8192+475*8192 +integer array myv integer mYv=0 integer mzv=U boolean array mZv integer array m_v integer array m0v integer array m1v real array m2v real array m3v string array m4v +boolean array m5v integer array m6v integer array m7v constant integer m8v=O+8192+473*8192 +integer array m9v real array Mvv real array Mev real array Mxv integer array Mov integer Mrv=0 integer array Miv integer Mav=U integer array Mnv boolean array MVv boolean array MEv integer array MXv constant integer MOv=O+8192+471*8192 +integer MRv integer MIv=0 integer array MAv integer MNv=U integer array Mbv boolean array MBv boolean array Mcv integer MCv integer Mdv integer MDv integer Mfv integer MFv integer Mgv integer MGv string Mhv="" +integer MHv string Mjv="" integer MJv string Mkv="" integer MKv string Mlv="" +integer MLv string Mmv="" integer MMv string Mpv="" integer MPv string Mqv="" +integer MQv string Msv="" integer MSv string Mtv="" integer MTv string Muv="" +integer MUv string Mwv="" integer MWv string Myv="" integer MYv string Mzv="" integer MZv string M_v="" integer M0v string M1v="" +integer M2v string M3v="" integer M4v string M5v="" integer M6v string M7v="" +integer M8v string M9v="" +integer pvv integer pev constant integer pxv=O+489 integer array pov integer array prv constant integer piv=O+8192+487*8192 +integer array pav integer array pnv integer array pVv integer array pEv integer array pXv constant integer pOv=O+8192+483*8192 +integer array pRv integer array pIv integer array pAv integer array pNv integer pbv integer pBv=0 integer array pcv integer pCv=U integer array pdv boolean array pDv boolean array pfv integer pFv=F integer array pgv integer array pGv integer phv integer pHv integer pjv integer pJv=0 integer array pkv integer pKv=U integer array plv boolean array pLv boolean array pmv integer array pMv integer ppv=F integer array pPv integer array pqv constant integer pQv=O+8192+477*8192 +integer psv integer pSv integer ptv=F boolean array pTv integer puv=0 integer array pUv integer pwv=U integer array pWv boolean array pyv boolean array pYv integer array pzv real array pZv constant integer p_v=O+8192+485*8192 +integer p0v=0 integer array p1v integer p2v=U integer array p3v boolean array p4v boolean array p5v constant integer p6v=O+8192+481*8192 +integer p7v string p8v="" integer p9v string Pvv="" integer Pev integer Pxv string Pov="Abilities\\Spells\\Items\\ResourceItems\\ResourceEffectTarget.mdx" string Prv="origin" constant integer Piv=O+8192+495*8192 +constant integer Pav=O+8192+493*8192 +real Pnv=1. integer PVv integer PEv=0 integer array PXv integer POv=U integer array PRv boolean array PIv boolean array PAv constant integer PNv=O+8192+'v'*8192 +string array Pbv +integer PBv integer Pcv integer PCv=0 integer array Pdv integer PDv=U integer array Pfv boolean array PFv boolean array Pgv boolean array PGv constant integer Phv=$D1 +constant integer PHv=O+8192+Phv*8192 +integer array Pjv constant integer PJv=$DD +constant integer Pkv=O+8192+PJv*8192 +integer PKv string Plv="" integer array PLv real Pmv +string PMv="EternalVial_page\\EternalVial_struct\\Heal.mdx" string Ppv="origin" constant integer PPv=O+8192+395*8192 +real array Pqv real PQv=.075 constant integer Psv=O+8192+397*8192 +real PSv=.075 constant integer Ptv=O+8192+398*8192 +real PTv=.075 integer Puv=2 integer PUv=5 integer Pwv string PWv="" +integer Pyv integer PYv integer Pzv=0 integer array PZv integer P_v=U integer array P0v boolean array P1v boolean array P2v real array P3v real array P4v effect array P5v +integer array P6v integer array P7v boolean array P8v integer array P9v integer array qvv integer array qev integer qxv=0 integer qov=U boolean array qrv integer array qiv string array qav +real array qnv real array qVv string qEv="Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl" +integer qXv integer qOv integer qRv integer qIv string qAv="" integer qNv integer qbv integer qBv string qcv="" integer qCv=0 integer array qdv integer qDv=U integer array qfv boolean array qFv boolean array qgv integer array qGv boolean array qhv real array qHv real array qjv real array qJv constant real qkv=(1*1.)*1./ 32 real array qKv real array qlv real array qLv real array qmv real array qMv real array qpv real array qPv real array qqv real array qQv real array qsv boolean array qSv constant integer qtv=$BC +constant integer qTv=O+8192+qtv*8192 +integer array quv integer array qUv integer array qwv integer array qWv real array qyv real array qYv real array qzv real array qZv boolean array q_v real array q0v real array q1v real array q2v real array q3v real array q4v real array q5v real array q6v real array q7v integer q8v=0 integer array q9v integer Qvv=U integer array Qev boolean array Qxv boolean array Qov integer array Qrv integer array Qiv real array Qav real array Qnv real array QVv integer array QEv integer QXv=3 integer QOv=70 real array QRv real array QIv real array QAv boolean array QNv real array Qbv real array QBv integer array Qcv integer QCv=F real array Qdv real array QDv real array Qfv real QFv +trigger Qgv real array QGv integer Qhv integer QHv string Qjv="" integer QJv string array Qkv +integer QKv integer Qlv string QLv="" real Qmv=.35 +integer QMv=3 integer Qpv=0 integer array QPv integer Qqv=U integer array QQv boolean array Qsv boolean array QSv integer array Qtv string QTv="Abilities\\Spells\\Human\\Resurrect\\ResurrectTarget.mdl" string Quv="origin" integer QUv='x' integer Qwv integer QWv string Qyv="" integer QYv integer Qzv string QZv="" +integer Q_v integer Q0v string Q1v="" integer Q2v integer Q3v string Q4v="" integer Q5v integer Q6v string Q7v="" integer Q8v integer Q9v string svv="" integer sev integer sxv string sov="" integer srv integer siv constant integer sav=O+499 constant real snv=-.2 integer array sVv integer array sEv constant integer sXv=$A constant real sOv=10.*1./ sXv constant real sRv=50.*1./ sXv integer sIv integer sAv string sNv="" integer sbv integer sBv integer scv string sCv="" integer sdv integer sDv integer sfv=0 integer array sFv integer sgv=U integer array sGv boolean array shv boolean array sHv integer array sjv constant integer sJv=O+501 integer skv integer sKv integer slv string sLv="" integer smv integer sMv=0 integer array spv integer sPv=U integer array sqv boolean array sQv boolean array ssv blendmode array sSv integer array stv integer array sTv integer array suv integer array sUv integer array swv integer array sWv integer array syv integer array sYv texmapflags array szv string array sZv +real array s_v real array s0v real array s1v real array s2v real array s3v real array s4v real array s5v real array s6v integer array s7v integer s8v integer s9v=0 integer Svv=0 integer array Sev integer Sxv=U integer array Sov boolean array Srv boolean array Siv integer Sav integer array Snv integer array SVv string SEv="Abilities\\Spells\\Undead\\RegenerationAura\\ObsidianRegenAura.mdl" string SXv="origin" integer array SOv integer array SRv constant integer SIv=O+503 string SAv="Abilities\\Spells\\Undead\\CarrionSwarm\\CarrionSwarmDamage.mdl" +string SNv="chest" integer Sbv=$A integer SBv='d' integer Scv constant real SCv=(4*1.)*1./ 32 integer Sdv string SDv="Abilities\\Spells\\Human\\ReviveHuman\\ReviveHuman.mdl" string Sfv="origin" integer SFv=5 integer Sgv=1 real SGv=.5 integer Shv integer SHv integer Sjv integer SJv integer Skv string SKv="" integer Slv string SLv="" +integer Smv=0 integer array SMv integer Spv=U integer array SPv boolean array Sqv boolean array SQv real array Ssv string array SSv +integer array Stv integer array STv real array Suv real array SUv constant integer Swv=O+507 integer SWv=F integer array Syv integer array SYv constant integer Szv=O+8192+509*8192 +integer array SZv integer S_v integer S0v integer S1v=0 integer array S2v integer S3v=U integer array S4v boolean array S5v boolean array S6v integer array S7v constant integer S8v=$CC +constant integer S9v=O+S8v constant integer tvv=$CB +constant integer tev=O+8192+tvv*8192 +integer txv integer tov integer trv real tiv +real tav +real tnv +integer tVv=$C8 integer tEv constant integer tXv=O+505 boolean array tOv integer array tRv integer array tIv integer tAv integer array tNv integer array tbv integer tBv=F integer array tcv integer array tCv boolean array tdv string tDv="Abilities\\Spells\\Items\\SpellShieldAmulet\\SpellShieldCaster.mdx" string tfv="chest" string tFv="Abilities\\Spells\\Undead\\Possession\\PossessionMissile.mdx" string tgv="chest" integer tGv=0 integer array thv integer tHv=U integer array tjv boolean array tJv boolean array tkv integer array tKv string tlv="Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl" +integer tLv=0 integer tmv=U real array tMv real array tpv real tPv=.25*TH constant real tqv=(1*1.)*1./ 32 real array tQv real array tsv integer array tSv integer ttv=F integer tTv='}' integer tuv string tUv="" integer twv=0 integer array tWv integer tyv=U integer array tYv boolean array tzv boolean array tZv string array t_v +integer t0v=F integer array t1v integer array t2v integer t3v string t4v="" integer t5v integer t6v integer t7v integer t8v string t9v="" +integer Tvv group Tev integer Txv integer Tov unit Trv=null integer array Tiv integer array Tav integer array Tnv integer array TVv integer array TEv integer TXv=-65 constant real TOv=(2*1.)*1./ 32 integer TRv=0 integer array TIv integer TAv=U integer array TNv boolean array Tbv boolean array TBv real array Tcv real array TCv real array Tdv real array TDv integer array Tfv integer array TFv constant integer Tgv=$B6 +constant integer TGv=O+8192+Tgv*8192 +integer Thv=F integer array THv integer array Tjv real TJv=.5 integer array Tkv integer TKv=$C8 integer Tlv integer array TLv integer Tmv=0 integer TMv=U boolean array Tpv string TPv="UI\\Feedback\\WaypointFlags\\WaypointFlag.mdl" string Tqv="origin" string TQv="Abilities\\Spells\\Human\\Polymorph\\PolyMorphDoneGround.mdl" string Tsv="origin" integer TSv=2 string Ttv="Abilities\\Spells\\Human\\Polymorph\\PolyMorphDoneGround.mdl" string TTv="origin" integer Tuv string TUv="" integer Twv string TWv="" +integer Tyv integer array TYv integer Tzv=w integer TZv integer T_v integer T0v integer T1v integer T2v integer T3v integer T4v boolean array T5v integer array T6v boolean array T7v boolean array T8v boolean array T9v boolean array uvv boolean array uev boolean array uxv boolean array uov integer urv string array uiv +integer uav integer unv=0 integer array uVv integer uEv=U integer array uXv boolean array uOv boolean array uRv integer uIv integer uAv=0 integer array uNv integer ubv=U integer array uBv boolean array ucv boolean array uCv integer array udv integer array uDv constant integer ufv=$C2 +constant integer uFv=O+ufv integer ugv string uGv="" integer uhv=0 integer array uHv integer ujv=U integer array uJv boolean array ukv boolean array uKv quest array ulv string uLv string umv="About month ago, two peculiarly luminescent comets draught across the sky. While one featured a blue color and immediately vanished again behind the horizont, the red one bolted right into the capital of the united species of this planet. The shock wave tore apart buildings and roads and devastated most of the town. Many lost their lives." string uMv="As if this was not enough already, the sky darkened the day after and it became bitterly cold. Only the of a strange material consisting meteorite seemed to spend some even weirder soothing warmth. Though, the sky cleared a bit within time, the cold persisted and drove us to leave this place since a reconstruction appeared impossible before we would freeze to death. We fleed to the adjacent shire of count Dracula who there possesses a big castle which is directly worked into the Crystal Mountains. We also brought the meteorite with us whose still thermal energies emitting nature easily mesmerized us." +string upv="Since that time we try to get along with the small rations here and hope that the sun will return to us someday. Yet, the problems pile up: Besides the lack of food and the ongoing frost which we call the "+"\""+"Big Winter"+"\""+", the surrounding forest's inhabitants are becoming very anxious, too. The last three weeks, there were twenty attacks and break-ins by wolves and other confused animals. Most of us refugees do not dare to leave the castle anymore. And how long will the strange stone keep on giving us strength and hope?" +integer uPv integer uqv string uQv="" +integer usv integer uSv integer utv integer uTv integer uuv integer uUv=0 integer array uwv integer uWv=U integer array uyv boolean array uYv boolean array uzv constant integer uZv=O+8192+46*8192 integer u_v=0 integer array u0v integer u1v=U integer array u2v boolean array u3v boolean array u4v string array u5v +integer array u6v integer array u7v integer array u8v integer array u9v integer Uvv=0 integer array Uev integer Uxv=U integer array Uov boolean array Urv boolean array Uiv integer array Uav constant integer Unv=O+8192+44*8192 integer array UVv string array UEv +constant integer UXv=O+8192+50*8192 constant integer UOv=O+8192+54*8192 constant integer URv=O+8192+52*8192 constant integer UIv=O+491 integer UAv=F integer array UNv integer array Ubv integer UBv integer array Ucv integer UCv=0 integer array Udv integer UDv=U integer array Ufv boolean array UFv boolean array Ugv integer array UGv real array Uhv integer array UHv integer Ujv constant integer UJv=O+572 integer array Ukv integer UKv boolean Ulv integer ULv=0 string Umv="" integer array UMv integer Upv=U integer array UPv boolean array Uqv boolean array UQv integer Usv integer USv integer Utv integer UTv integer Uuv integer UUv integer Uwv integer UWv integer Uyv integer UYv integer Uzv integer UZv integer U_v integer U0v integer U1v integer U2v integer U3v integer U4v integer U5v integer U6v integer U7v integer U8v integer U9v integer wvv integer wev integer wxv integer wov=0 integer array wrv integer wiv=U integer array wav boolean array wnv boolean array wVv camerasetup array wEv integer wXv integer wOv integer wRv integer wIv integer wAv integer wNv integer wbv integer wBv integer wcv integer wCv integer wdv integer wDv integer wfv integer wFv integer wgv integer wGv integer whv integer wHv integer wjv integer wJv integer wkv integer wKv integer wlv integer wLv integer wmv integer wMv integer wpv integer wPv integer wqv integer wQv integer wsv integer wSv integer wtv integer wTv constant real wuv=.5*3.141592654 +integer wUv integer wwv string wWv="Sound\\Ambient\\DoodadEffects\\LordaeronSummerBrazierLoop1.wav" integer wyv string wYv="" integer wzv string wZv="" integer w_v string w0v="" +integer w1v string w2v="" integer w3v string w4v="" integer w5v string w6v="" integer w7v string w8v="" integer w9v string Wvv="" integer Wev string Wxv="" integer Wov string Wrv="" +integer Wiv string Wav="" integer Wnv string WVv="" integer WEv string WXv="" integer WOv string WRv="" +integer WIv=0 integer array WAv integer WNv=U integer array Wbv boolean array WBv boolean array Wcv integer array WCv integer array Wdv string array WDv +constant integer Wfv=O+8192+517*8192 +integer WFv integer Wgv integer WGv integer Whv integer WHv integer Wjv integer WJv integer Wkv integer WKv integer Wlv integer WLv integer Wmv integer WMv integer Wpv integer WPv integer Wqv integer array WQv integer Wsv=0 integer array WSv integer Wtv=U integer array WTv boolean array Wuv boolean array WUv constant integer Wwv=O+8192+513*8192 +integer WWv string Wyv="" integer WYv integer Wzv integer WZv string W_v="" integer W0v constant integer W1v=O+521 integer array W2v real array W3v real array W4v integer array W5v integer array W6v integer W7v=0 integer array W8v integer W9v=U integer array yvv boolean array yev boolean array yxv integer array yov integer array yrv integer array yiv constant integer yav=$F integer ynv string yVv="" integer yEv string yXv="" +integer yOv integer yRv integer yIv integer yAv integer yNv integer ybv integer yBv integer ycv integer yCv string array ydv +integer array yDv boolean yfv=false quest yFv integer ygv string yGv="" +integer yhv string yHv="" integer yjv string yJv="" +integer ykv string yKv="" integer ylv string yLv="" +integer ymv string yMv="" +integer ypv string yPv="" integer yqv integer yQv integer ysv integer ySv integer ytv string yTv="" integer yuv integer yUv integer ywv string yWv="" string yyv="Abilities\\Spells\\Human\\Heal\\HealTarget.mdl" string yYv="origin" integer yzv='d' integer yZv integer y_v integer y0v integer y1v integer y2v integer y3v string y4v="" +integer y5v=1 integer y6v=40 integer y7v string y8v="" integer y9v integer Yvv integer Yev integer Yxv=2 integer Yov=5 integer Yrv integer array Yiv integer Yav integer Ynv integer YVv integer YEv string YXv="" integer YOv integer YRv integer YIv=$A integer YAv=1 integer array YNv integer array Ybv real YBv +real Ycv +integer YCv=$C8 integer Ydv=$C8 integer YDv integer Yfv string YFv="" integer Ygv constant integer YGv=$D8 +constant integer Yhv=O+8192+YGv*8192 +integer YHv integer Yjv string YJv="" integer Ykv integer YKv string Ylv="Abilities\\Spells\\Items\\AIda\\AIdaCaster.mdl" integer YLv=30 integer Ymv integer YMv string Ypv="" integer YPv integer Yqv integer YQv string Ysv="" +string YSv="Abilities\\Spells\\Items\\AIma\\AImaTarget.mdl" string Ytv="origin" integer YTv=750 integer Yuv=$F real YUv +integer Ywv=30 real YWv=.35 +integer Yyv integer YYv real array Yzv integer array YZv integer Y_v integer Y0v integer Y1v integer array Y2v integer Y3v integer Y4v string Y5v="" string Y6v="Abilities\\Spells\\Items\\AIma\\AImaTarget.mdl" string Y7v="origin" integer Y8v integer Y9v integer zvv string zev="" integer zxv constant integer zov=O+8192+523*8192 +integer array zrv integer array ziv integer array zav boolean array znv integer array zVv integer zEv integer zXv=$A integer zOv=1 integer zRv=0 integer zIv=U boolean array zAv integer array zNv string zbv="Abilities\\Spells\\Human\\Heal\\HealTarget.mdl" string zBv="origin" real zcv +integer zCv=300 integer zdv string zDv="" integer zfv integer zFv integer zgv real zGv +integer zhv=$400 +integer zHv constant integer zjv=O+8192+525*8192 +integer zJv integer zkv real zKv +real zlv +integer array zLv integer array zmv string zMv="Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTo.mdl" string zpv="origin" real array zPv real array zqv string zQv="Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl" string zsv="origin" integer zSv integer ztv string zTv="" integer zuv integer zUv integer zwv integer zWv=0 integer zyv=$C integer zYv=0 integer array zzv integer zZv=U integer array z_v boolean array z0v boolean array z1v integer array z2v integer array z3v constant integer z4v=O+527 integer z5v integer z6v=20 string z7v="Abilities\\Spells\\Other\\Andt\\Andt.mdl" integer z8v=$C8 real z9v=.15 +real Zvv=.15 +integer Zev integer Zxv integer Zov integer Zrv string Ziv="" integer Zav integer Znv=0 string ZVv="Snowmen_page\\Snowmen_struct\\Possession.mdx" string ZEv="origin" integer ZXv string ZOv="" +integer ZRv string ZIv="" integer ZAv string ZNv="" integer Zbv string ZBv="" +integer Zcv string ZCv="" integer Zdv string ZDv="" integer Zfv string ZFv="" integer Zgv string ZGv="" integer Zhv string ZHv="" +integer Zjv string ZJv="" integer Zkv string ZKv="" integer Zlv string ZLv="" integer Zmv string ZMv="" integer Zpv string ZPv="" +integer Zqv string ZQv="" integer Zsv string ZSv="" integer Ztv integer ZTv string Zuv="" +integer ZUv integer Zwv boolean array ZWv integer Zyv=F integer ZYv integer array Zzv integer array ZZv integer array Z_v integer array Z0v constant integer Z1v=O+8192+541*8192 +constant integer Z2v=O+8192+543*8192 +integer array Z3v integer Z4v timerdialog array Z5v integer Z6v real array Z7v real array Z8v real array Z9v real array vve constant integer vee=O+8192+539*8192 +integer array vxe integer array voe constant integer vre=O+8192+531*8192 +real array vie real array vae real array vne real array vVe real array vEe constant integer vXe=O+8192+535*8192 +constant integer vOe=O+8192+533*8192 +integer vRe=0 integer array vIe integer vAe=U integer array vNe boolean array vbe boolean array vBe integer array vce integer array vCe real array vde real array vDe real array vfe integer vFe=w integer array vge integer array vGe integer vhe=w integer vHe integer array vje integer vJe=F integer array vke integer array vKe integer array vle integer array vLe integer array vme integer array vMe integer vpe=F integer vPe=0 integer array vqe integer vQe=U integer array vse boolean array vSe boolean array vte integer vTe constant integer vue=O+8192+396*8192 +integer vUe constant integer vwe=O+547 integer vWe integer vye integer array vYe integer vze integer vZe integer v_e=w integer array v0e integer array v1e integer v2e=w integer v3e integer array v4e integer v5e=F integer v6e constant integer v7e=O+557 integer v8e=0 integer array v9e integer eve=U integer array eee boolean array exe boolean array eoe integer ere=0 integer eie=F integer array eae integer array ene integer eVe integer eEe integer eXe integer eOe integer array eRe constant integer eIe=O+8192+551*8192 +integer eAe=0 string eNe="" +integer array ebe integer eBe=U integer array ece boolean array eCe boolean array ede integer eDe integer efe=F integer array eFe integer array ege constant integer eGe=O+8192+549*8192 +integer ehe boolean array eHe integer eje boolean array eJe integer eke boolean array eKe integer ele integer eLe integer eme boolean array eMe boolean array epe integer ePe integer eqe integer eQe integer ese integer eSe integer ete integer eTe integer eue integer eUe integer ewe integer eWe integer eye boolean array eYe integer eze integer eZe integer e_e boolean array e0e integer e1e integer e2e integer e3e integer e4e integer e5e integer e6e integer e7e integer e8e integer e9e=0 integer array xve integer xee=U integer array xxe boolean array xoe boolean array xre constant integer xie=O+8192+537*8192 +integer array xae integer xne=0 integer array xVe integer xEe=U integer array xXe boolean array xOe boolean array xRe constant integer xIe=O+8192+529*8192 +boolean array xAe integer xNe string xbe="" integer xBe string xce="" integer xCe string xde="" +integer xDe string xfe="" integer xFe string xge="" integer xGe string xhe="" integer xHe string xje="" integer xJe string xke="" integer xKe integer xle integer xLe string xme="" integer xMe integer xpe integer xPe integer xqe string xQe="" integer xse=60 integer xSe integer xte string xTe="" +integer xue integer xUe string xwe="" +integer xWe integer xye string xYe="" +integer xze string xZe="" +constant integer x_e=O+555 integer array x0e string x1e="Abilities\\Spells\\Items\\AIam\\AIamTarget.mdl" string x2e="origin" string x3e="Abilities\\Spells\\Items\\AIsm\\AIsmTarget.mdl" string x4e="origin" string x5e="Abilities\\Spells\\Items\\AIsm\\AIsmTarget.mdl" string x6e="origin" integer x7e string x8e="" integer x9e integer array ove integer oee integer oxe string ooe="" integer ore integer oie integer oae integer array one real oVe=.0 real oEe=.0 real oXe=.0 integer oOe integer oRe integer oIe integer oAe integer oNe constant real obe=(.05*32)*.125 integer oBe integer oce integer oCe integer ode integer oDe integer ofe integer oFe integer oge integer oGe integer ohe=0 integer oHe integer oje integer oJe string oke="" integer oKe string ole="Abilities\\Spells\\NightElf\\BattleRoar\\RoarCaster.mdx" +integer oLe integer ome=400 integer oMe integer ope=$F integer oPe string oqe="" +integer oQe integer ose string oSe="" +integer ote string oTe="" integer oue string oUe="" integer owe=0 integer array oWe integer oye=U integer array oYe boolean array oze boolean array oZe integer array o_e integer o0e integer array o1e integer o2e=5 integer o3e integer o4e integer o5e integer o6e integer o7e integer o8e=F integer array o9e integer array rve integer ree=F integer rxe string roe="" integer rre real array rie real array rae integer rne=F integer array rVe integer array rEe constant real rXe=20*dL constant integer rOe=O+8192+34*8192 integer array rRe integer array rIe boolean array rAe integer array rNe integer array rbe integer rBe=F integer array rce integer rCe=0 integer rde=U boolean array rDe integer array rfe real array rFe constant real rge=(1*1.)*1./ 32 real array rGe integer array rhe real array rHe integer rje string rJe="" integer rke integer rKe integer rle string rLe="" integer rme integer rMe integer rpe string rPe="" integer rqe string rQe="" +integer rse string rSe="" integer rte string rTe="" +integer rue string rUe="" integer rwe string rWe="" integer rye string rYe="" integer rze string rZe="" integer r_e integer r0e integer r1e constant integer r2e=O+8192+563*8192 +integer array r3e integer array r4e integer r5e=F integer array r6e integer r7e integer array r8e integer r9e=F integer array ive real array iee integer array ixe integer array ioe integer array ire integer array iie integer iae integer ine integer iVe integer iEe string iXe="" integer iOe=0 integer array iRe integer iIe=U integer array iAe boolean array iNe boolean array ibe integer array iBe constant integer ice=O+8192+84*8192 integer array iCe constant integer ide=O+82 constant integer iDe=O+8192+86*8192 constant integer ife=O+8192+96*8192 integer array iFe integer array ige constant integer iGe=O+8192+94*8192 timer array ihe real array iHe boolean array ije integer iJe=0 integer array ike integer iKe=U integer array ile boolean array iLe boolean array ime integer array iMe integer array ipe integer array iPe integer iqe=Bd constant integer iQe=O+8192+98*8192 constant integer ise=O+8192+92*8192 constant integer iSe=$A2 +constant integer ite=O+8192+iSe*8192 +constant integer iTe=O+8192+90*8192 integer iue integer iUe integer iwe string iWe="" +integer iye=3 integer iYe string ize="" integer iZe integer i_e integer i0e=0 integer array i1e integer i2e=U integer array i3e boolean array i4e boolean array i5e constant integer i6e=$E7 +constant integer i7e=O+i6e constant integer i8e=$E6 +constant integer i9e=O+8192+i8e*8192 +integer array ave integer aee string axe="" +integer aoe string are="" integer aie integer aae string ane="" +integer aVe integer aEe integer aXe boolean array aOe boolean array aRe integer array aIe integer array aAe integer array aNe constant integer abe=O+565 integer aBe=80 constant real ace=(1*1.)*1./ 32 integer aCe=0 integer array ade integer aDe=U integer array afe boolean array aFe boolean array age real array aGe integer array ahe integer array aHe constant integer aje=$B2 +constant integer aJe=O+8192+aje*8192 +integer ake=F integer array aKe integer array ale real array aLe integer array ame string aMe="Objects\\Spawnmodels\\Undead\\UCancelDeath\\UCancelDeath.mdl" integer ape=65 integer aPe=2 integer aqe=3 real array aQe real array ase real array aSe integer array ate integer aTe=F integer aue=300 integer aUe integer awe string aWe="" integer aye string aYe="" integer aze integer aZe integer array a_e integer a0e=3 integer array a1e integer array a2e string a3e="Abilities\\Spells\\Orc\\SpiritLink\\SpiritLinkTarget.mdx" string a4e="chest" string a5e="Abilities\\Weapons\\WitchDoctorMissile\\WitchDoctorMissile.mdx" string a6e="hand right" integer a7e integer a8e=30 integer a9e string nve="" integer nee integer nxe integer noe string nre="" integer nie integer nae integer array nne string nVe="Abilities\\Spells\\Other\\Incinerate\\IncinerateBuff.mdl" string nEe="weapon" integer array nXe string nOe="Abilities\\Spells\\Other\\BreathOfFire\\BreathOfFireDamage.mdl" string nRe="origin" integer nIe=0 integer array nAe integer nNe=U integer array nbe boolean array nBe boolean array nce real array nCe integer nde=40 integer array nDe real array nfe real array nFe real array nge integer nGe=900 real nhe=1.5 +integer nHe=5 integer nje string nJe="" real nke +real nKe=2.5 +integer nle=7 constant integer nLe=O+8192+567*8192 +integer array nme integer array nMe integer array npe integer array nPe integer array nqe boolean array nQe integer nse=0 integer nSe=U boolean array nte integer array nTe integer array nue integer nUe=50 integer nwe integer nWe string nye="" integer nYe string nze="" +real nZe +real n_e=.125 integer n0e=$A integer n1e real n2e +integer n3e=600 integer n4e integer n5e=0 integer array n6e integer n7e=U integer array n8e boolean array n9e boolean array Vve real array Vee integer array Vxe integer array Voe integer array Vre real array Vie real array Vae real array Vne real array VVe integer VEe=$C8 string VXe="Abilities\\Spells\\NightElf\\EntanglingRoots\\EntanglingRootsTarget.mdl" +integer VOe=3 integer VRe=6 integer VIe string VAe="" integer VNe integer Vbe=50 integer VBe string Vce="" string VCe="Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl" string Vde="origin" integer VDe string Vfe="" integer VFe integer Vge integer VGe string Vhe="" +integer VHe integer array Vje string VJe="HealExplosion_page\\HealExplosion_struct\\Charge2.mdx" string Vke="weapon" integer array VKe string Vle="Abilities\\Spells\\Items\\StaffOfPurification\\PurificationCaster.mdl" string VLe="chest" string Vme="Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosDone.mdl" string VMe="chest" integer Vpe=40 integer VPe=$F string Vqe="Abilities\\Spells\\Items\\StaffOfPurification\\PurificationTarget.mdl" string VQe="chest" integer Vse string VSe="" +integer Vte integer VTe integer Vue string VUe="Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl" string Vwe="origin" integer VWe=3 integer Vye=6 integer VYe=25 integer Vze integer VZe string V_e="" real V0e +integer V1e=20 real V2e=.5 integer V3e integer V4e real array V5e integer array V6e integer array V7e integer V8e=20 integer V9e string Eve="" +integer Eee integer Exe string Eoe="" integer Ere integer Eie integer Eae integer array Ene integer array EVe integer array EEe integer array EXe integer array EOe boolean array ERe integer EIe integer array EAe integer array ENe integer array Ebe string EBe="Abilities\\Spells\\Orc\\Reincarnation\\ReincarnationTarget.mdl" real array Ece real array ECe real Ede=4.5 +integer EDe=1 real Efe=.3 integer EFe string Ege="" integer EGe integer Ehe integer EHe string Eje="" +integer EJe real Eke +integer array EKe integer Ele=6 integer array ELe integer array Eme real EMe=-.7 +integer Epe=3 integer EPe=6 integer Eqe integer EQe string Ese="" integer ESe string Ete="" +integer array ETe integer array Eue integer EUe integer Ewe integer EWe integer Eye=2 integer EYe=4 integer Eze real EZe +integer E_e=5 real E0e=.5 integer array E1e real array E2e integer array E3e integer E4e string E5e="" integer E6e real E7e +real E8e=.2 real E9e=.035 real Xve +integer Xee=500 integer Xxe=300 integer Xoe=$514 +integer Xre real Xie +constant real Xae=(2*1.)*1./ 32 real Xne +integer XVe integer array XEe real array XXe real array XOe integer array XRe real array XIe real array XAe real array XNe real array Xbe string XBe="Abilities\\Weapons\\AncientProtectorMissile\\AncientProtectorMissile.mdl" real Xce=.5 string XCe="Abilities\\Weapons\\HydraliskImpact\\HydraliskImpact.mdl" string Xde="chest" integer XDe string Xfe="" integer XFe integer Xge integer XGe string Xhe="" +string XHe="Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl" integer Xje=2 integer XJe=25 integer Xke string XKe="" integer Xle real XLe +integer Xme='d' real XMe=.3 integer Xpe integer XPe real array Xqe integer array XQe integer Xse=50 integer XSe string Xte="" integer XTe integer Xue string XUe="" integer Xwe integer XWe integer Xye integer XYe=3 constant real Xze=(2*1.)*1./ 32 real XZe +integer X_e=-$3E8 integer X0e=0 integer array X1e integer X2e=U integer array X3e boolean array X4e boolean array X5e integer X6e=1 integer array X7e integer array X8e real array X9e real array Ove real array Oee integer array Oxe integer array Ooe real array Ore real array Oie real array Oae integer One=1 string OVe="Objects\\Spawnmodels\\Human\\FragmentationShards\\FragBoomSpawn.mdl" +integer OEe='x' integer OXe=40 integer OOe string ORe="" integer OIe real OAe +integer ONe=26 real Obe=.75 +integer OBe integer Oce integer OCe=0 integer array Ode integer ODe=U integer array Ofe boolean array OFe boolean array Oge integer array OGe integer array Ohe integer array OHe integer array Oje string OJe="Abilities\\Spells\\Orc\\LiquidFire\\Liquidfire.mdl" real array Oke real array OKe integer Ole integer OLe=6 integer Ome integer OMe integer Ope string OPe="" integer Oqe integer OQe integer Ose integer OSe=0 integer array Ote integer OTe=U integer array Oue boolean array OUe boolean array Owe real array OWe integer array Oye real array OYe integer Oze='x' real array OZe real O_e=.1 integer array O0e integer array O1e integer O2e=6 integer array O3e integer array O4e integer array O5e integer array O6e integer O7e=0 integer O8e=U boolean array O9e constant real Rve=(2*1.)*1./ 32 string Ree="Abilities\\Spells\\Items\\AIlb\\AIlbSpecialArt.mdl" string Rxe="chest" integer Roe trigger Rre integer Rie string Rae="" integer Rne string RVe="" integer REe string RXe="" +integer ROe string RRe="" integer RIe string RAe="" integer RNe string Rbe="" boolean array RBe boolean array Rce integer array RCe integer array Rde integer array RDe integer array Rfe integer array RFe real array Rge integer RGe=700 integer array Rhe integer array RHe integer array Rje constant integer RJe=O+8192+568*8192 +real Rke=.035 constant integer RKe=O+8192+569*8192 +integer Rle real array RLe real array Rme integer RMe='}' integer Rpe integer RPe=40 constant real Rqe=(2*1.)*1./ 32 real array RQe real array Rse integer array RSe real Rte +integer array RTe integer array Rue boolean array RUe integer Rwe=0 integer RWe=U boolean array Rye integer RYe='}' integer array Rze real RZe +integer R_e=650 integer R0e=600 integer R1e integer R2e string R3e="" integer R4e string R5e="" integer R6e integer R7e=0 integer array R8e integer R9e=U integer array Ive boolean array Iee boolean array Ixe integer array Ioe real array Ire integer Iie=70 integer array Iae integer array Ine integer IVe=1 integer IEe integer IXe=3 string IOe="Abilities\\Weapons\\VengeanceMissile\\VengeanceMissile.mdx" string IRe="origin" integer IIe integer IAe integer INe string Ibe="" integer IBe string Ice="" integer ICe integer Ide integer IDe=0 integer array Ife integer IFe=U integer array Ige boolean array IGe boolean array Ihe integer array IHe constant integer Ije=O+8192+561*8192 +integer array IJe integer array Ike integer array IKe integer Ile integer ILe integer array Ime integer IMe=F integer array Ipe integer IPe integer Iqe string IQe="" integer Ise string ISe="" integer Ite integer ITe integer Iue=1 integer IUe=3 real Iwe +integer IWe=20 real Iye=.5 integer array IYe real array Ize integer array IZe integer I_e string I0e="" integer I1e integer I2e integer I3e string I4e="" integer I5e string I6e="" boolean array I7e boolean array I8e integer array I9e integer array Ave integer array Aee integer Axe=5 integer Aoe=0 integer Are=U integer Aie=30 integer Aae=2 integer Ane string AVe="" integer AEe=$96 integer AXe string AOe="" string ARe="Medipack_page\\Medipack_struct\\Medipack3.mdx" string AIe="chest" integer AAe string ANe="" integer Abe integer ABe integer Ace string ACe="Abilities\\Spells\\NightElf\\BattleRoar\\RoarCaster.mdl" +integer Ade=4 real ADe=.05 +integer Afe string AFe="" integer Age constant integer AGe=O+570 integer array Ahe integer array AHe integer array Aje boolean array AJe integer array Ake integer array AKe integer Ale integer ALe integer Ame='d' integer AMe=2 string Ape="Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageCaster.mdl" integer APe=0 integer Aqe=U boolean array AQe constant real Ase=dL*4 integer ASe=0 integer Ate=U constant integer ATe=$F7 +constant integer Aue=O+8192+ATe*8192 +real array AUe real array Awe real array AWe real Aye=.5 integer AYe=$A string Aze="Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageDeathCaster.mdl" +integer AZe integer A_e string A0e="" integer A1e=0 integer array A2e integer A3e=U integer array A4e boolean array A5e boolean array A6e integer array A7e real array A8e real array A9e integer Nve=3 integer Nee=20 integer Nxe integer Noe string Nre="" integer Nie constant integer Nae=O+571 integer array Nne integer array NVe integer array NEe integer array NXe integer array NOe boolean array NRe integer NIe=2 integer NAe=0 integer NNe=U boolean array Nbe integer NBe=70 integer Nce=40 integer NCe string Nde="" +boolean array NDe boolean array Nfe integer array NFe integer array Nge integer NGe=3 integer Nhe='d' integer NHe integer Nje integer NJe string Nke="" +integer NKe real Nle +integer NLe=6 integer array Nme integer array NMe integer Npe=500 integer NPe=2 real array Nqe integer array NQe integer array Nse constant integer NSe=$FE +constant integer Nte=O+8192+NSe*8192 +constant integer NTe=O+8192+256*8192 +integer Nue integer NUe=20 integer Nwe=0 integer array NWe integer Nye=U integer array NYe boolean array Nze boolean array NZe constant integer N_e=$FC +constant integer N0e=O+8192+N_e*8192 +integer N1e=1 integer N2e=1 integer N3e integer N4e string N5e="" +integer N6e string N7e="" integer N8e integer array N9e integer array bve integer array bee integer array bxe integer array boe integer bre integer bie integer bae integer bne=0 integer array bVe integer bEe=U integer array bXe boolean array bOe boolean array bRe integer array bIe real array bAe real array bNe integer array bbe string bBe="Abilities\\Weapons\\LocustMissile\\LocustMissile.mdl" string bce="chest" integer bCe integer bde string bDe="" integer bfe integer array bFe real array bge integer array bGe integer array bhe integer array bHe integer bje integer bJe integer bke integer bKe integer ble=0 integer array bLe integer bme=U integer array bMe boolean array bpe boolean array bPe real array bqe integer bQe integer bse string bSe="Abilities\\Spells\\Human\\Flare\\FlareCaster.mdl" string bte="HawkEye_page\\HawkEye_struct\\area.mdx" integer bTe integer array bue real array bUe integer bwe string bWe="" integer array bye real array bYe integer bze string bZe="" integer b_e=0 integer array b0e integer b1e=U integer array b2e boolean array b3e boolean array b4e integer array b5e integer array b6e integer array b7e string b8e="Abilities\\Spells\\Items\\AIil\\AIilTarget.mdl" string b9e="origin" integer array Bve integer array Bee integer Bxe string Boe="" +integer Bre integer array Bie real array Bae integer array Bne integer array BVe integer BEe string BXe="" integer BOe integer BRe integer array BIe integer array BAe string BNe="Abilities\\Spells\\Other\\Incinerate\\IncinerateBuff.mdl" string Bbe="weapon" boolean array BBe boolean array Bce integer array BCe string Bde="Abilities\\Spells\\Other\\BreathOfFire\\BreathOfFireDamage.mdl" string BDe="origin" integer Bfe integer BFe integer Bge=1 integer BGe=$5DC +integer Bhe=0 integer array BHe integer Bje=U integer array BJe boolean array Bke boolean array BKe real array Ble real array BLe real array Bme real array BMe string Bpe="Abilities\\Spells\\Other\\BreathOfFire\\BreathOfFireDamage.mdl" string BPe="origin" integer Bqe=3 integer BQe=8 integer Bse string BSe="" integer array Bte integer array BTe integer array Bue integer array BUe integer Bwe integer BWe integer Bye integer BYe integer Bze real array BZe string B_e="Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl" +constant real B0e=$80 string B1e="Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl" +integer array B2e integer array B3e integer array B4e integer array B5e integer array B6e integer B7e integer B8e string B9e="" integer cve integer cee integer array cxe integer array coe integer array cre integer cie=$A integer array cae integer array cne integer array cVe boolean array cEe ubersplat array cXe integer array cOe integer array cRe boolean array cIe real array cAe real array cNe real array cbe real array cBe real array cce real array cCe integer array cde boolean array cDe boolean array cfe constant real cFe=(2*1.)*1./ 32 integer cge=0 integer cGe=U boolean array che real array cHe real array cje real array cJe real array cke integer array cKe integer cle=0 integer cLe=U boolean array cme constant integer cMe=$E2 +constant integer cpe=O+8192+cMe*8192 +string cPe="Abilities\\Spells\\Items\\AIvi\\AIviTarget.mdl" string cqe="origin" integer array cQe integer array cse real array cSe integer array cte integer array cTe integer cue integer cUe string cwe="" integer cWe integer cye real array cYe real array cze constant real cZe=(2*1.)*1./ 32 integer array c_e real array c0e real array c1e constant real c2e=-500. integer array c3e real array c4e integer array c5e integer array c6e integer c7e=$A integer array c8e integer array c9e string Cve="Abilities\\Weapons\\ChimaeraLightningMissile\\ChimaeraLightningMissile.mdl" integer Cee=32 string Cxe="Abilities\\Weapons\\WingedSerpentMissile\\WingedSerpentMissile.mdl" string Coe="chest" integer Cre string Cie="" integer Cae integer Cne integer array CVe integer array CEe integer array CXe integer array COe real array CRe integer array CIe integer array CAe integer CNe integer Cbe integer CBe integer Cce real CCe +real Cde +integer array CDe integer array Cfe integer array CFe integer array Cge real CGe=.75 +real array Che string CHe="TaintedLeaf_page\\TaintedLeaf_struct\\HealFinal.mdx" +real Cje=.7 integer array CJe real array Cke integer array CKe integer array Cle integer CLe string Cme="" integer CMe integer Cpe integer CPe integer Cqe integer CQe string Cse="" integer CSe integer array Cte integer CTe string Cue="" +string CUe="Abilities\\Spells\\Human\\Invisibility\\InvisibilityTarget.mdl" string Cwe="chest" integer CWe=0 integer array Cye integer CYe=U integer array Cze boolean array CZe boolean array C_e integer array C0e integer C1e string C2e="Abilities\\Spells\\Undead\\Sleep\\SleepSpecialArt.mdl" string C3e="origin" integer C4e boolean array C5e integer array C6e integer array C7e real array C8e integer C9e string dve="" integer dee integer dxe integer array doe integer dre string die="" +integer dae integer dne integer array dVe integer dEe integer dXe=0 integer array dOe integer dRe=U integer array dIe boolean array dAe boolean array dNe integer array dbe integer array dBe real array dce integer array dCe integer array dde real array dDe real array dfe integer array dFe real dge=.5 real array dGe integer array dhe integer array dHe integer dje integer dJe string dke="" integer dKe integer dle integer array dLe integer dme string dMe="" boolean array dpe integer array dPe integer array dqe integer array dQe real array dse real array dSe integer array dte boolean array dTe integer due=1 real dUe=.25 +integer array dwe integer dWe string dye="" integer dYe integer dze integer array dZe integer d_e integer array d0e integer array d1e real array d2e integer d3e string d4e="" integer d5e=$96 real d6e=.36*D6v +string d7e="Abilities\\Spells\\Human\\Avatar\\AvatarCaster.mdl" string d8e="overhead" integer d9e=260 real Dve=.4 integer Dee integer Dxe integer array Doe integer array Dre integer Die=80 integer array Dae integer array Dne integer DVe string DEe="" integer DXe string DOe="" integer DRe integer DIe integer DAe integer array DNe integer array Dbe integer array DBe real array Dce real array DCe real Dde=.75 +integer DDe=0 integer array Dfe integer DFe=U integer array Dge boolean array DGe boolean array Dhe real array DHe integer array Dje real array DJe real array Dke real array DKe string Dle="Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget.mdl" real DLe=.8 integer Dme integer DMe integer array Dpe integer DPe integer Dqe string DQe="" integer Dse integer array DSe integer array Dte integer DTe integer Due string DUe="" integer Dwe integer DWe real array Dye integer array DYe real array Dze integer array DZe real array D_e real array D0e real array D1e integer array D2e real array D3e integer array D4e integer array D5e integer array D6e real array D7e real array D8e constant real D9e=(2*1.)*1./ 32 integer fve=0 integer fee=300 integer fxe=0 integer array foe integer fre=U integer array fie boolean array fae boolean array fne integer array fVe integer array fEe integer array fXe integer array fOe integer array fRe integer array fIe integer array fAe integer array fNe integer array fbe integer array fBe boolean array fce integer fCe=0 integer fde=U boolean array fDe integer array ffe integer array fFe real fge=.5 real array fGe integer fhe string fHe="" integer fje constant integer fJe=O+574 integer array fke integer fKe integer fle=0 integer array fLe integer fme=U integer array fMe boolean array fpe boolean array fPe integer fqe integer fQe integer fse integer fSe integer fte integer fTe integer fue string fUe="" integer array fwe integer array fWe integer fye integer array fYe integer fze string fZe="" +integer f_e integer f0e=0 integer array f1e integer f2e=U integer array f3e boolean array f4e boolean array f5e integer array f6e boolean array f7e integer array f8e integer array f9e integer array Fve integer array Fee integer array Fxe integer array Foe integer array Fre real array Fie real array Fae string Fne="Abilities\\Spells\\Human\\Polymorph\\PolyMorphTarget.mdl" string FVe="origin" real FEe=.75 +constant integer FXe=O+8192+575*8192 +real FOe=.45 +integer FRe=0 integer array FIe integer FAe=U integer array FNe boolean array Fbe boolean array FBe integer array Fce integer FCe integer Fde integer FDe=1 integer Ffe=2 integer FFe integer Fge real array FGe real array Fhe integer FHe integer Fje=50 integer FJe integer array Fke real array FKe integer array Fle integer array FLe integer array Fme real array FMe integer array Fpe integer FPe string Fqe="" integer FQe integer Fse integer FSe=0 integer array Fte integer FTe=U integer array Fue boolean array FUe boolean array Fwe real array FWe real array Fye integer array FYe real array Fze integer FZe=1 real array F_e real array F0e real array F1e real array F2e real array F3e real array F4e real array F5e integer array F6e real array F7e real array F8e real array F9e integer array gve real array gee integer array gxe real array goe real array gre real array gie real array gae integer array gne real gVe=.2 string gEe="Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl" string gXe="Abilities\\Spells\\Human\\FlameStrike\\FlameStrikeEmbers.mdl" real array gOe real array gRe integer array gIe integer array gAe integer gNe integer gbe string gBe="" integer array gce integer gCe string gde="" integer gDe integer array gfe integer array gFe integer array gge integer gGe string ghe="" integer gHe integer gje real gJe=.1 integer gke=$A real gKe=.25*D6v +integer gle=0 integer array gLe integer gme=U integer array gMe boolean array gpe boolean array gPe real array gqe real array gQe integer array gse real array gSe integer array gte real array gTe real array gue real array gUe real array gwe real array gWe real array gye real array gYe integer array gze integer array gZe integer array g_e real array g0e real array g1e real array g2e real array g3e integer array g4e constant real g5e=(2*1.)*1./ 32 string g6e="Abilities\\Spells\\Undead\\FreezingBreath\\FreezingBreathMissile.mdl" real array g7e string g8e="Units\\NightElf\\Wisp\\WispExplode.mdl" integer g9e integer Gve integer Gee=400 integer Gxe=4 integer array Goe integer Gre string Gie="" real array Gae real array Gne real array GVe integer array GEe integer GXe integer array GOe integer array GRe integer GIe string GAe="" integer GNe integer Gbe integer array GBe integer Gce=F integer array GCe integer Gde constant real GDe=(1*1.)*1./ 32 integer array Gfe integer GFe=F real array Gge real array GGe real Ghe=1.5 +constant integer GHe=O+8192+576*8192 +real Gje=2.5 +integer GJe integer Gke integer GKe integer array Gle integer GLe real array Gme string GMe="Abilities\\Spells\\Human\\Feedback\\ArcaneTowerAttack.mdl" string Gpe="origin" real array GPe integer Gqe boolean array GQe integer array Gse string GSe="Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl" +string Gte="weapon" integer array GTe integer Gue=F integer array GUe string Gwe="Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl" +string GWe="weapon" integer Gye integer GYe integer array Gze real array GZe integer G_e integer G0e string G1e="" integer G2e string G3e="" +integer G4e integer G5e integer array G6e integer array G7e integer array G8e integer G9e integer hve integer hee integer array hxe real array hoe integer hre integer hie string hae="" integer hne string hVe="" integer hEe integer array hXe integer array hOe integer array hRe integer array hIe integer array hAe integer array hNe integer hbe integer hBe integer hce string hCe="Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl" integer array hde integer hDe integer hfe string hFe="" integer array hge integer array hGe integer hhe string hHe="" integer hje integer hJe integer hke integer hKe=0 integer array hle integer hLe=U integer array hme boolean array hMe boolean array hpe boolean array hPe integer array hqe real array hQe integer array hse real array hSe real array hte integer array hTe integer array hue integer array hUe real hwe=1.25 string hWe="Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosTarget.mdl" string hye="origin" real hYe=.75 +string hze="Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl" string hZe="origin" integer h_e=600 integer h0e=-$4B0 real h1e=.5 integer h2e=3 integer array h3e integer array h4e integer array h5e integer h6e integer h7e integer h8e string h9e="" integer Hve integer Hee integer Hxe=0 integer array Hoe integer Hre=U integer array Hie boolean array Hae boolean array Hne integer array HVe real array HEe integer array HXe integer array HOe integer array HRe real array HIe real array HAe integer array HNe integer Hbe=90 integer HBe constant real Hce=(2*1.)*1./ 32 string HCe="Monolith_page\\Monolith_struct\\TargetDust.mdx" string Hde="chest" integer HDe real array Hfe integer HFe string Hge="" integer HGe integer Hhe string HHe="" integer Hje integer array HJe integer array Hke integer array HKe integer Hle integer HLe integer Hme integer array HMe integer array Hpe integer array HPe integer Hqe string HQe="" integer array Hse integer array HSe integer Hte string HTe="" +integer Hue integer HUe integer Hwe=0 integer array HWe integer Hye=U integer array HYe boolean array Hze boolean array HZe real array H_e integer array H0e real array H1e integer array H2e integer array H3e integer array H4e integer array H5e integer array H6e real H7e=.2 trigger H8e integer array H9e integer array jve integer array jee integer array jxe integer joe string jre="" integer jie integer array jae integer array jne integer array jVe integer array jEe integer jXe string jOe="" integer jRe=0 integer array jIe integer jAe=U integer array jNe boolean array jbe boolean array jBe integer array jce real array jCe integer array jde integer array jDe integer array jfe real array jFe real array jge real array jGe real array jhe integer jHe=-50 real array jje integer array jJe integer array jke real array jKe real array jle real array jLe real array jme integer jMe=0 integer array jpe integer jPe=U integer array jqe boolean array jQe boolean array jse real array jSe integer array jte real array jTe integer array jue integer array jUe integer array jwe real array jWe real array jye real array jYe integer array jze constant real jZe=(2*1.)*1./ 32 integer j_e integer j0e real array j1e constant real j2e=(2*1.)*1./ 32 real array j3e real array j4e real array j5e integer array j6e integer j7e string j8e="" +integer j9e integer Jve integer Jee=0 integer array Jxe integer Joe=U integer array Jre boolean array Jie boolean array Jae real array Jne integer array JVe integer array JEe real array JXe integer array JOe integer array JRe real array JIe real array JAe real array JNe integer array Jbe integer JBe=$3E8 +integer Jce=3 real JCe=.5 string Jde="Thunderstrike_page\\Thunderstrike_struct\\Bolt.mdx" integer array JDe integer array Jfe integer array JFe integer Jge string JGe="" integer Jhe='d' real JHe=D6v*1./ 3 integer Jje=50 integer JJe real Jke=.5 integer JKe='}' integer Jle integer JLe integer Jme integer array JMe integer Jpe integer JPe string Jqe="" integer JQe integer array Jse real JSe=.5 integer Jte integer array JTe integer array Jue integer JUe string Jwe="" +integer array JWe integer array Jye integer array JYe integer Jze string JZe="" +integer J_e string J0e="" +integer J1e integer array J2e integer array J3e integer array J4e real array J5e integer J6e string J7e="" integer J8e integer J9e integer kve integer kee=0 integer array kxe integer koe=U integer array kre boolean array kie boolean array kae real array kne integer array kVe real array kEe real array kXe integer array kOe real array kRe real array kIe integer kAe=0 real array kNe real array kbe real kBe +real array kce integer kCe=$96 real array kde real array kDe integer kfe=3 real kFe +constant integer kge=O+8192+578*8192 +constant integer kGe=O+8192+577*8192 +real khe=1.5 +integer kHe=F integer array kje integer array kJe integer kke constant real kKe=(1*1.)*1./ 32 real kle +real kLe +integer kme=3 real kMe=1.43 integer kpe integer array kPe integer kqe integer kQe string kse="" integer kSe integer kte constant integer kTe=O+8192+579*8192 +integer array kue real array kUe real array kwe real kWe +integer kye=300 constant real kYe=(2*1.)*1./ 32 integer kze real array kZe integer array k_e integer array k0e integer array k1e integer array k2e string k3e="Abilities\\Spells\\Undead\\Possession\\PossessionMissile.mdl" string k4e="origin" real k5e=.5 integer k6e='x' integer k7e string k8e="" integer k9e integer Kve string Kee="" +integer Kxe integer array Koe integer array Kre integer Kie integer Kae integer Kne real array KVe real array KEe real array KXe integer array KOe real array KRe real array KIe real KAe=.35 +integer KNe=1 real Kbe=.5 integer KBe integer Kce real array KCe integer array Kde real array KDe integer Kfe string KFe="" real array Kge integer array KGe integer array Khe integer KHe integer Kje string KJe="" integer Kke integer KKe integer array Kle integer array KLe integer array Kme integer KMe integer Kpe=1 integer array KPe string Kqe="Abilities\\Spells\\Human\\Polymorph\\PolyMorphTarget.mdl" string KQe="origin" integer Kse=350 string KSe="ArcaneAttractor_page\\ArcaneAttractor_struct\\Area3.mdx" +real Kte=.25 +integer array KTe string Kue="Abilities\\Spells\\Undead\\OrbOfDeath\\AnnihilationMissile.mdl" string KUe="origin" integer array Kwe integer array KWe integer array Kye integer array KYe integer array Kze integer array KZe integer K_e integer K0e string K1e="" integer K2e integer K3e real K4e +integer K5e=400 constant real K6e=(1*1.)*1./ 32 integer K7e integer K8e=90 integer K9e=0 integer array lve integer lee=U integer array lxe boolean array loe boolean array lre integer lie=50 real array lae real array lne integer array lVe integer array lEe integer array lXe string lOe="ArcticWolf_page\\ArcticWolf_struct\\IceVortex.mdx" string lRe="origin" integer array lIe real array lAe integer array lNe integer array lbe real array lBe integer array lce real array lCe integer array lde real array lDe integer array lfe integer array lFe real array lge real array lGe real lhe=.5 string lHe="ArcticWolf_page\\ArcticWolf_struct\\Explosion.mdx" integer lje string lJe="" +integer lke integer lKe string lle="" integer array lLe integer array lme integer lMe integer lpe integer lPe integer array lqe integer array lQe real lse=.25 +real array lSe integer lte=1 real lTe=.5 integer array lue integer array lUe integer array lwe real array lWe real array lye real array lYe boolean array lze boolean array lZe constant real l_e=(2*1.)*1./ 32 integer array l0e real array l1e real array l2e real l3e=.25 +real l4e=.5 integer l5e string l6e="" +integer l7e real array l8e integer array l9e integer array Lve real array Lee real array Lxe integer Loe integer Lre integer Lie integer Lae integer Lne integer LVe integer LEe=0 integer array LXe integer LOe=U integer array LRe boolean array LIe boolean array LAe real array LNe integer array Lbe real array LBe integer array Lce real array LCe real array Lde real array LDe integer array Lfe real array LFe integer array Lge integer array LGe real array Lhe real array LHe integer array Lje integer array LJe integer array Lke integer array LKe integer array Lle integer array LLe integer array Lme integer array LMe integer Lpe=0 integer LPe=300 constant real Lqe=(2*1.)*1./ 32 real array LQe integer Lse integer LSe string Lte="" integer array LTe integer array Lue integer array LUe integer array Lwe integer LWe integer Lye string LYe="" integer Lze integer array LZe constant integer L_e=O+8192+580*8192 +integer L0e integer L1e integer L2e=300 integer L3e=0 integer array L4e integer L5e=U integer array L6e boolean array L7e boolean array L8e integer array L9e real array mve integer array mee integer array mxe integer array moe real array mre real array mie integer array mae integer mne=$80 integer mVe=w integer mEe constant real mXe=(2*1.)*1./ 32 integer mOe integer mRe string mIe="" integer mAe integer array mNe integer mbe string mBe="" +integer mce integer mCe string mde="" integer mDe integer array mfe real array mFe integer array mge integer array mGe real array mhe integer mHe integer mje integer mJe constant integer mke=O+8192+581*8192 +boolean array mKe string mle="Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl" string mLe="origin" string mme="Objects\\Spawnmodels\\Undead\\UndeadLargeDeathExplode\\UndeadLargeDeathExplode.mdl" integer array mMe real array mpe real mPe=.1 real array mqe real array mQe integer array mse integer array mSe integer array mte real mTe=.5 string mue="Abilities\\Weapons\\LichMissile\\LichMissile.mdx" string mUe="chest" integer mwe integer array mWe integer array mye integer array mYe integer mze string mZe="" +integer m_e integer m0e integer array m1e integer array m2e real array m3e integer m4e string m5e="" integer array m6e integer m7e integer m8e string m9e="" +integer Mve integer Mee real array Mxe integer array Moe integer Mre string Mie="" integer Mae integer Mne integer MVe constant integer MEe=O+582 integer array MXe integer array MOe real array MRe real array MIe real array MAe integer array MNe real array Mbe real array MBe real array Mce real array MCe integer Mde=$C8 string MDe="Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageDeathCaster.mdl" +string Mfe="Abilities\\Spells\\Human\\Polymorph\\PolyMorphDoneGround.mdl" integer MFe integer Mge string MGe="Objects\\Spawnmodels\\Other\\ToonBoom\\ToonBoom.mdl" +string Mhe="Doppelganger_page\\Doppelganger_struct\\BigBoom\\BigBoom.mdx" integer MHe integer array Mje integer MJe integer array Mke real array MKe integer array Mle integer array MLe real array Mme real array MMe real array Mpe integer array MPe integer Mqe string MQe="" +integer Mse integer MSe integer array Mte integer array MTe integer array Mue integer array MUe boolean array Mwe integer MWe integer array Mye string MYe="Abilities\\Spells\\Other\\Incinerate\\IncinerateBuff.mdl" string Mze="weapon" integer MZe=0 integer M_e=U boolean array M0e real array M1e string M2e="Abilities\\Spells\\Other\\BreathOfFire\\BreathOfFireDamage.mdl" string M3e="origin" integer M4e=$3E8 +string M5e="Abilities\\Spells\\Undead\\CarrionSwarm\\CarrionSwarmDamage.mdl" +string M6e="chest" integer M7e real array M8e integer array M9e integer pve string pee="" integer pxe string poe="" integer array pre integer array pie integer array pae integer array pne integer pVe integer pEe real pXe +integer pOe=$3E8 +constant real pRe=(1*1.)*1./ 32 real pIe=.2 integer array pAe integer array pNe real array pbe real array pBe integer array pce integer array pCe real array pde real array pDe integer pfe='x' string pFe="Abilities\\Spells\\Undead\\Possession\\PossessionMissile.mdl" string pge="origin" real pGe=.75 +integer array phe integer array pHe integer array pje integer array pJe integer pke string pKe="" integer ple integer pLe integer pme integer array pMe integer array ppe integer array pPe integer array pqe integer array pQe boolean array pse integer pSe integer pte=0 integer pTe=U boolean array pue real array pUe integer array pwe real array pWe integer array pye real array pYe real array pze string pZe="Objects\\Spawnmodels\\NightElf\\NECancelDeath\\NECancelDeath.mdl" integer p_e=64 string p0e="EnchantedArrow_page\\EnchantedArrow_struct\\arrowEffect.mdx" +string p1e="origin" string p2e="EnchantedArrow_page\\EnchantedArrow_struct\\arrowEffect2.mdx" string p3e="origin" integer array p4e constant real p5e=(2*1.)*1./ 32 integer p6e integer p7e string p8e="" integer p9e integer Pve string Pee="" integer Pxe integer Poe integer Pre real array Pie real array Pae integer array Pne integer array PVe integer array PEe real array PXe integer array POe integer PRe integer PIe integer PAe constant integer PNe=O+8192+583*8192 +integer Pbe real array PBe real array Pce real array PCe integer array Pde integer array PDe integer array Pfe integer array PFe integer Pge=$7FFFFFFD string PGe="Abilities\\Spells\\NightElf\\ManaBurn\\ManaBurnTarget.mdl" string Phe="origin" integer PHe real Pje +real PJe +integer array Pke string PKe="FairyShape_page\\FairyShape_struct\\Revert\\sourceEffect.mdx" real array Ple real array PLe string Pme="Abilities\\Spells\\Undead\\Possession\\PossessionMissile.mdl" string PMe="Abilities\\Spells\\Undead\\DarkRitual\\DarkRitualTarget.mdl" +integer array Ppe integer array PPe integer Pqe string PQe="" integer Pse integer PSe integer Pte integer PTe string Pue="" integer PUe integer Pwe integer PWe real array Pye real array PYe integer Pze=1 integer array PZe integer array P_e integer array P0e real P1e=.25 +integer P2e=2 integer array P3e real array P4e integer array P5e integer array P6e real P7e=.9 integer P8e integer array P9e integer qve string qee="" integer qxe=0 integer array qoe integer qre=U integer array qie boolean array qae boolean array qne integer qVe=400 integer qEe=3 integer qXe integer qOe integer qRe real array qIe integer qAe string qNe="" integer qbe string qBe="" +integer array qce integer qCe integer qde integer array qDe integer array qfe real array qFe real array qge integer array qGe integer array qhe integer qHe integer qje real qJe=.25 +integer qke string qKe="" constant integer qle=$9E +constant integer qLe=O+8192+qle*8192 +integer qme integer array qMe integer qpe string qPe="" integer qqe integer qQe integer array qse integer array qSe integer array qte string qTe="Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl" string que="origin" string qUe="Objects\\Spawnmodels\\Undead\\UndeadLargeDeathExplode\\UndeadLargeDeathExplode.mdl" real array qwe integer qWe string qye="" integer qYe integer qze integer qZe integer q_e string q0e="" integer array q1e integer q2e integer array q3e string q4e="Abilities\\Spells\\Orc\\FeralSpirit\\feralspiritdone.mdl" string q5e="chest" integer q6e integer q7e integer array q8e integer array q9e real Qve=.5 integer Qee string Qxe="" integer Qoe string Qre="" integer Qie string Qae="" +integer Qne string QVe="" integer QEe integer QXe string QOe="" integer array QRe real array QIe integer array QAe integer array QNe integer Qbe integer QBe string Qce="" integer QCe string Qde="" integer QDe string Qfe="" integer QFe integer array Qge integer array QGe integer array Qhe integer array QHe integer Qje string QJe="" integer Qke integer QKe integer Qle constant integer QLe=O+587 boolean array Qme integer array QMe integer array Qpe integer array QPe constant integer Qqe=O+8192+589*8192 +integer array QQe integer array Qse integer array QSe integer array Qte real array QTe integer array Que integer array QUe boolean array Qwe integer QWe=0 integer Qye=U boolean array QYe constant integer Qze=O+8192+585*8192 +integer array QZe string Q_e="Objects\\Spawnmodels\\NightElf\\EntBirthTarget\\EntBirthTarget.mdl" integer Q0e integer Q1e=0 integer array Q2e integer Q3e=U integer array Q4e boolean array Q5e boolean array Q6e integer array Q7e integer array Q8e integer array Q9e integer array sve integer array see integer array sxe real soe=.05 +string sre="Abilities\\Weapons\\TreantMissile\\TreantMissile.mdl" integer sie=1 real sae=.125 real array sne real array sVe real array sEe real array sXe real array sOe real sRe=.5 integer array sIe real array sAe integer array sNe integer array sbe integer sBe integer array sce integer array sCe integer sde string sDe="" integer sfe string sFe="" integer sge integer sGe integer she=2 integer sHe=4 integer sje real sJe +integer ske=5 real sKe=.5 integer array sle real array sLe integer array sme integer sMe integer spe integer sPe string sqe="" integer array sQe integer array sse integer sSe string ste="" integer sTe integer sue string sUe="" integer swe real sWe +integer sye=1 integer sYe constant real sze=(1*1.)*1./ 32 real sZe +real s_e +integer array s0e real array s1e real s2e +real array s3e real array s4e real s5e +real array s6e real s7e +integer s8e integer s9e=1 real Sve +integer See=900 real Sxe +integer Soe=500 real Sre +integer Sie=3 real array Sae real array Sne integer array SVe integer array SEe real array SXe integer array SOe real array SRe integer SIe integer SAe=40 real SNe=.5 real Sbe=1.5 +integer SBe integer Sce integer SCe=2 integer array Sde integer SDe string Sfe="" integer SFe integer Sge string SGe="" integer She integer array SHe integer array Sje integer array SJe integer Ske string SKe="" integer Sle integer SLe integer array Sme integer array SMe integer array Spe integer SPe string Sqe="" integer array SQe integer array Sse integer array SSe integer Ste integer STe string Sue="" +integer SUe integer array Swe integer SWe real Sye +integer SYe=500 integer Sze=650 integer SZe real S_e +constant real S0e=(1*1.)*1./ 32 integer S1e integer S2e integer array S3e constant integer S4e=O+593 integer S5e integer S6e integer array S7e integer array S8e real array S9e real array tve integer array tee real txe=.5 integer toe real tre=.25 +constant integer tie=O+8192+591*8192 +integer array tae integer array tne integer array tVe integer tEe string tXe="" +integer tOe integer tRe integer tIe integer array tAe integer array tNe integer array tbe integer array tBe integer array tce integer tCe integer tde string tDe="" +integer tfe integer tFe integer tge=0 integer array tGe integer the=U integer array tHe boolean array tje boolean array tJe real array tke integer array tKe integer array tle real array tLe integer array tme integer array tMe integer array tpe integer array tPe integer array tqe string tQe="Abilities\\Spells\\Other\\Drain\\DrainCaster.mdl" string tse="origin" real tSe=.35 +real tte=-.15 string tTe="KhakiRecovery_page\\KhakiRecovery_struct\\Vortex2.mdx" string tue="origin" string tUe="KhakiRecovery_page\\KhakiRecovery_struct\\Target.mdx" string twe="origin" integer tWe string tye="Abilities\\Spells\\Orc\\SpiritLink\\SpiritLinkZapTarget.mdl" +string tYe="overhead" real array tze real array tZe integer array t_e integer array t0e integer t1e string t2e="" integer t3e=75 integer t4e integer t5e real array t6e real array t7e integer t8e string t9e="" integer Tve integer Tee string Txe="" integer Toe integer array Tre integer array Tie integer array Tae integer Tne integer TVe integer TEe string TXe="" integer TOe integer TRe integer TIe integer TAe integer array TNe integer array Tbe integer array TBe integer array Tce integer TCe string Tde="" +integer TDe integer Tfe integer TFe=90 integer Tge=0 integer array TGe integer The=U integer array THe boolean array Tje boolean array TJe integer Tke=50 real array TKe real array Tle integer array TLe integer array Tme integer array TMe integer array Tpe integer array TPe integer array Tqe integer array TQe real array Tse real array TSe real array Tte constant real TTe=(1*1.)*1./ 32 integer Tue=0 integer TUe=U boolean array Twe constant real TWe=(2*1.)*1./ 32 string Tye="Abilities\\Spells\\NightElf\\ManaBurn\\ManaBurnTarget.mdl" string TYe="origin" real array Tze real TZe +real T_e +integer T0e=5 integer array T1e string T2e="ManaLaser_page\\ManaLaser_struct\\Revert\\SourceEffect.mdx" real array T3e real array T4e string T5e="Abilities\\Spells\\Undead\\Possession\\PossessionMissile.mdl" string T6e="Abilities\\Spells\\Undead\\DarkRitual\\DarkRitualTarget.mdl" +integer T7e integer T8e string T9e="" integer uve string uee="" +integer array uxe integer array uoe integer ure string uie="" integer uae integer une integer array uVe integer array uEe real array uXe real array uOe string uRe="Abilities\\Spells\\Items\\AIil\\AIilTarget.mdl" string uIe="Abilities\\Spells\\Items\\AIil\\AIilTarget.mdl" string uAe="origin" real uNe +real ube +real array uBe integer array uce integer array uCe integer ude=0 integer array uDe integer ufe=U integer array uFe boolean array uge boolean array uGe integer array uhe integer array uHe real array uje real array uJe string uke="Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl" +string uKe="Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl" +real array ule integer array uLe integer array ume real array uMe real array upe real array uPe integer uqe integer uQe integer use string uSe="" integer array ute real uTe=.125 integer uue integer array uUe real array uwe integer uWe string uye="" integer uYe integer uze string uZe="Abilities\\Weapons\\FarseerMissile\\FarseerMissile.mdx" string u_e="weapon" string u0e="Abilities\\Spells\\Human\\ManaFlare\\ManaFlareBoltImpact.mdl" string u1e="Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl" integer u2e integer u3e string u4e="" integer array u5e integer array u6e real array u7e real array u8e integer u9e integer Uve integer Uee string Uxe="Abilities\\Spells\\Other\\Drain\\DrainCaster.mdl" string Uoe="origin" integer Ure=0 integer array Uie integer Uae=U integer array Une boolean array UVe boolean array UEe real array UXe integer array UOe real array URe integer array UIe integer array UAe integer array UNe integer array Ube integer array UBe integer array Uce real UCe=.35 +string Ude="Abilities\\Weapons\\Bolt\\BoltImpact.mdl" string UDe="chest" constant real Ufe=-1. integer array UFe integer Uge string UGe="" +integer array Uhe integer UHe integer array Uje integer UJe integer array Uke integer array UKe integer array Ule integer ULe integer Ume string UMe="" integer Upe constant integer UPe=O+595 integer array Uqe integer array UQe integer array Use integer USe string Ute="Abilities\\Spells\\Undead\\PlagueCloud\\PlagueCloudCaster.mdl" integer UTe=0 integer array Uue integer UUe=U integer array Uwe boolean array UWe boolean array Uye real array UYe integer array Uze integer array UZe real array U_e constant real U0e=(2*1.)*1./ 32 real array U1e integer array U2e real array U3e real array U4e integer array U5e integer array U6e constant integer U7e=$80 +integer U8e integer array U9e integer array wve integer array wee integer array wxe real array woe integer array wre integer wie string wae="" integer wne real array wVe integer wEe string wXe="" +integer wOe string wRe="" integer array wIe integer wAe integer wNe string wbe="" integer array wBe integer array wce integer wCe real array wde integer array wDe integer array wfe real array wFe real array wge real array wGe real array whe integer array wHe integer array wje integer array wJe real array wke real array wKe integer array wle integer wLe=1 real wme=.125 constant real wMe=(2*1.)*1./ 32 integer wpe=-75 real wPe=.5 integer wqe=5 string wQe="Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl" integer wse=-'}' +integer wSe integer wte real wTe=.65*D6v +integer wue=0 integer array wUe integer wwe=U integer array wWe boolean array wye boolean array wYe real array wze integer array wZe real array w_e real array w0e real array w1e real array w2e real array w3e real array w4e real array w5e constant integer w6e=O+8192+597*8192 +integer w7e constant integer w8e=O+8192+599*8192 +integer array w9e integer Wve=F integer array Wee integer Wxe constant real Woe=(2*1.)*1./ 32 integer array Wre integer Wie=F integer Wae=$A string Wne="Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl" string WVe="origin" integer array WEe integer array WXe real array WOe integer array WRe integer WIe string WAe="" real array WNe string Wbe="" integer WBe integer Wce integer array WCe integer array Wde integer array WDe real array Wfe real array WFe integer array Wge integer WGe=0 integer array Whe integer WHe=U integer array Wje boolean array WJe boolean array Wke real array WKe integer array Wle real array WLe real array Wme real array WMe string Wpe="Abilities\\Spells\\NightElf\\Starfall\\StarfallTarget.mdx" real WPe=.8 integer Wqe integer WQe integer Wse integer WSe string Wte="" integer array WTe real array Wue integer array WUe integer array Wwe integer WWe string Wye="" integer WYe integer array Wze integer array WZe constant integer W_e=O+601 integer W0e integer W1e integer W2e integer W3e string W4e="" real array W5e integer W6e integer array W7e integer array W8e integer W9e integer yve string yee="" integer yxe integer yoe integer yre=0 integer array yie integer yae=U integer array yne boolean array yVe boolean array yEe integer array yXe real array yOe integer array yRe integer array yIe integer array yAe integer array yNe real array ybe real array yBe integer array yce integer yCe=0 integer array yde integer yDe=U integer array yfe boolean array yFe boolean array yge real array yGe integer array yhe integer array yHe real array yje integer array yJe integer array yke integer array yKe integer array yle real array yLe real array yme real array yMe real array ype integer array yPe integer yqe=0 integer array yQe integer yse=U integer array ySe boolean array yte boolean array yTe integer array yue integer array yUe integer array ywe integer array yWe integer array yye real yYe=.9 integer array yze integer array yZe integer y_e=F constant real y0e=(2*1.)*1./ 32 integer array y1e integer y2e=F string y3e="Objects\\Spawnmodels\\Critters\\Albatross\\CritterBloodAlbatross.mdl" string y4e="chest" integer y5e=0 integer array y6e integer y7e=U integer array y8e boolean array y9e boolean array Yve constant integer Yee=$BA +constant integer Yxe=O+8192+Yee*8192 +integer Yoe=0 integer Yre=U boolean array Yie real array Yae real array Yne real array YVe constant real YEe=(2*1.)*1./ 32 real array YXe real array YOe real array YRe integer YIe=0 integer YAe=U boolean array YNe integer array Ybe real array YBe real array Yce real array YCe real array Yde real array YDe real array Yfe integer YFe=$96 constant real Yge=(2*1.)*1./ 32 string YGe="Abilities\\Weapons\\GlaiveMissile\\GlaiveMissileTarget.mdl" string Yhe="chest" integer YHe string Yje="" real array YJe integer array Yke integer YKe integer array Yle integer YLe string Yme="" +integer array YMe integer Ype integer YPe integer array Yqe real array YQe integer Yse string YSe="" integer Yte integer YTe real array Yue integer array YUe integer array Ywe real array YWe real array Yye real YYe=.75 +integer Yze=$A integer YZe=0 integer array Y_e integer Y0e=U integer array Y1e boolean array Y2e boolean array Y3e integer array Y4e integer array Y5e integer Y6e string Y7e="" integer Y8e real array Y9e real array zve integer zee string zxe="" integer zoe integer array zre integer array zie string zae="Abilities\\Spells\\Demon\\DarkPortal\\DarkPortalTarget.mdl" integer array zne string zVe="Abilities\\Spells\\Orc\\Reincarnation\\ReincarnationTarget.mdl" real array zEe real array zXe real array zOe real array zRe integer zIe=2 string zAe="Abilities\\Spells\\Demon\\DarkPortal\\DarkPortalTarget.mdl" string zNe="origin" integer zbe=20 integer zBe string zce="" +real array zCe real array zde integer array zDe integer zfe integer zFe string zge="" integer zGe integer zhe integer zHe=0 integer array zje integer zJe=U integer array zke boolean array zKe boolean array zle integer array zLe integer array zme real array zMe real array zpe integer array zPe integer zqe=0 integer array zQe integer zse=U integer array zSe boolean array zte boolean array zTe integer array zue real array zUe integer array zwe real array zWe integer array zye integer array zYe integer zze=3 real array zZe real array z_e real array z0e real array z1e integer array z2e string z3e="Abilities\\Spells\\Other\\Volcano\\VolcanoMissile.mdl" real z4e=.5 integer z5e=1 real z6e=.3 string z7e="Abilities\\Spells\\Other\\StrongDrink\\BrewmasterTarget.mdl" +string z8e="overhead" real array z9e integer array Zve integer Zee integer Zxe string Zoe="" integer Zre integer array Zie real array Zae integer Zne integer ZVe string ZEe="" integer ZXe string ZOe="" integer ZRe integer ZIe string ZAe="" real array ZNe integer Zbe integer ZBe integer array Zce integer array ZCe integer Zde integer ZDe integer Zfe real ZFe=.5 integer array Zge real array ZGe integer array Zhe integer ZHe string Zje="" integer ZJe integer array Zke integer array ZKe real array Zle integer ZLe integer Zme integer array ZMe integer array Zpe integer array ZPe integer array Zqe integer ZQe string Zse="" +integer ZSe integer Zte integer ZTe=0 integer array Zue integer ZUe=U integer array Zwe boolean array ZWe boolean array Zye integer array ZYe integer array Zze string ZZe="Abilities\\Spells\\Undead\\Sleep\\SleepSpecialArt.mdl" string Z_e="origin" real Z0e=.05 +integer Z1e integer array Z2e integer Z3e string Z4e="" +integer array Z5e real array Z6e integer array Z7e integer array Z8e integer Z9e string vvx="" integer vex integer vxx integer vox string vrx="Units\\NightElf\\Wisp\\WispExplode.mdx" integer vix=512 integer array vax real array vnx real array vVx string vEx="SoberUp_page\\SoberUp_struct\\shockwave.mdx" +integer vXx=512 boolean array vOx boolean array vRx integer array vIx integer array vAx integer array vNx string vbx="Abilities\\Spells\\Other\\HealingSpray\\HealBottleMissile.mdl" string vBx="chest" string vcx="Abilities\\Spells\\Human\\Polymorph\\PolyMorphDoneGround.mdl" string vCx="chest" real array vdx integer vDx integer vfx string vFx="" integer array vgx integer array vGx integer vhx string vHx="" integer vjx integer vJx integer vkx real array vKx real array vlx real array vLx real array vmx integer array vMx integer array vpx integer array vPx integer array vqx integer vQx='d' string vsx="Abilities\\Spells\\Undead\\Impale\\ImpaleMissTarget.mdl" +string vSx="Abilities\\Spells\\Undead\\Impale\\ImpaleHitTarget.mdl" string vtx="origin" integer vTx string vux="" integer vUx integer array vwx integer vWx real array vyx integer array vYx real array vzx integer array vZx integer v_x string v0x="" integer v1x string v2x="" integer v3x=0 integer array v4x integer v5x=U integer array v6x boolean array v7x boolean array v8x integer array v9x integer array evx integer array eex constant integer exx=O+603 integer array eox integer array erx integer array eix integer enx=0 integer array eVx integer eEx=U integer array eXx boolean array eOx boolean array eRx integer eIx integer eAx integer eNx integer array ebx integer eBx string ecx="" integer eCx=0 integer array edx integer eDx=U integer array efx boolean array eFx boolean array egx integer array eGx integer array ehx integer array eHx integer ejx=2 integer eJx integer ekx string eKx="" integer elx integer eLx real array emx real array eMx integer array epx integer array ePx real array eqx integer eQx string esx="" integer eSx real array etx real eTx=-.3 +string eux="Abilities\\Spells\\Items\\AIil\\AIilTarget.mdl" string eUx="origin" string ewx="Abilities\\Spells\\Other\\HowlOfTerror\\HowlCaster.mdl" real array eWx integer array eyx integer array eYx string ezx="" +integer eZx integer array e_x real array e0x integer e1x integer e2x string e3x="" +integer e4x string e5x="" +integer array e6x integer e7x integer e8x integer e9x real array xvx integer array xex integer array xxx integer array xox string xrx="AttachPoint.FOOT" real xix=1 real xax=450 +real xnx=$6A4 constant real xVx=(1*1.)*1./ 32 string xEx="Abilities\\Spells\\Other\\Stampede\\StampedeMissileDeath.mdl" string xXx="chest" real xOx=7.5 +integer xRx string xIx="" +integer xAx integer xNx string xbx="" integer xBx string xcx="" integer xCx integer xdx string xDx="" +integer array xfx real array xFx integer array xgx integer xGx integer xhx integer xHx real xjx +real xJx +integer array xkx integer array xKx integer array xlx integer array xLx integer array xmx integer array xMx real array xpx real array xPx real array xqx real array xQx integer xsx integer xSx real array xtx real array xTx real array xux boolean array xUx constant real xwx=(2*1.)*1./ 32 integer xWx=300 integer xyx=1 real xYx=.15 +integer xzx=0 integer array xZx integer x_x=U integer array x0x boolean array x1x boolean array x2x integer array x3x integer array x4x real array x5x real array x6x integer x7x string x8x="" +integer array x9x integer array ovx real array oex integer array oxx integer array oox integer orx integer oix string oax="" integer array onx integer array oVx integer oEx string oXx="" +integer oOx integer oRx integer oIx=0 integer array oAx integer oNx=U integer array obx boolean array oBx boolean array ocx integer array oCx integer array odx real array oDx real array ofx integer oFx=0 integer array ogx integer oGx=U integer array ohx boolean array oHx boolean array ojx integer array oJx integer array okx integer array oKx real array olx real array oLx integer array omx integer array oMx real array opx real array oPx integer oqx integer oQx real osx=.75 +string oSx="Abilities\\Spells\\Human\\Feedback\\ArcaneTowerAttack.mdl" string otx="origin" integer oTx integer oux integer array oUx real array owx integer array oWx integer oyx string oYx="" integer array ozx real array oZx integer o_x string o0x="" integer o1x integer o2x string o3x="Abilities\\Spells\\NightElf\\BattleRoar\\RoarCaster.mdl" +integer o4x=1 real o5x=.3 integer array o6x integer array o7x integer array o8x integer array o9x integer rvx string rex="" integer rxx string rox="" +integer rrx=75 integer rix real array rax integer array rnx integer rVx integer rEx integer rXx string rOx="" real array rRx integer array rIx integer rAx integer rNx constant integer rbx=O+8192+605*8192 +real array rBx real array rcx integer array rCx integer array rdx integer array rDx integer array rfx integer array rFx integer array rgx integer array rGx real array rhx integer rHx string rjx="" integer rJx integer rkx string rKx="" +integer rlx integer rLx integer array rmx integer array rMx real array rpx integer rPx integer rqx string rQx="" real array rsx integer array rSx integer rtx string rTx="" integer rux integer rUx integer array rwx integer array rWx real array ryx real array rYx real rzx=.5 integer array rZx integer array r_x integer r0x integer r1x integer r2x integer array r3x integer r4x string r5x="" boolean array r6x boolean array r7x integer r8x integer r9x integer ivx integer iex string ixx="" integer iox integer irx integer iix=0 integer array iax integer inx=U integer array iVx boolean array iEx boolean array iXx real array iOx integer array iRx integer array iIx integer array iAx integer array iNx integer array ibx real iBx=.35 +integer icx='d' real iCx=.75 +string idx="BigHealingWave_page\\BigHealingWave_struct\\TargetEffect.mdx" string iDx="origin" integer ifx integer iFx integer igx string iGx="" boolean array ihx boolean array iHx integer array ijx integer array iJx integer array ikx integer iKx=20 integer ilx integer iLx string imx="" integer iMx integer ipx=50 integer iPx=50 integer iqx integer iQx string isx="" real iSx=.2 string itx="Abilities\\Spells\\Other\\Volcano\\VolcanoMissile.mdl" real iTx +integer iux integer iUx integer iwx integer iWx integer iyx string iYx="" integer izx integer array iZx integer array i_x integer i0x integer i1x string i2x="Abilities\\Spells\\Undead\\DeathCoil\\DeathCoilSpecialArt.mdx" string i3x="origin" integer i4x integer i5x string i6x="" integer i7x string i8x="" integer i9x integer avx integer array aex integer array axx integer aox integer arx integer aix string aax="" integer anx integer aVx integer aEx real aXx=1.5 +real aOx=1.5 +constant integer aRx=O+8192+607*8192 +string aIx="Abilities\\Spells\\NightElf\\MoonWell\\MoonWellCasterArt.mdl" string aAx="origin" string aNx="Abilities\\Spells\\Human\\Heal\\HealTarget.mdl" string abx="origin" string aBx="Abilities\\Spells\\Items\\AIma\\AImaTarget.mdl" string acx="origin" integer aCx string adx="" integer aDx real array afx integer aFx integer agx integer aGx integer ahx integer aHx string ajx="" integer aJx string akx="" integer aKx integer alx integer aLx integer amx string aMx="" integer apx integer aPx string aqx="" integer aQx integer asx integer aSx=$A boolean array atx boolean array aTx integer array aux real array aUx integer awx='d' integer array aWx integer array ayx integer aYx=$A integer array azx integer array aZx real array a_x real array a0x integer array a1x integer a2x integer a3x integer a4x string a5x="" integer a6x integer a7x integer a8x=0 integer array a9x integer nvx=U integer array nex boolean array nxx boolean array nox real array nrx integer array nix real array nax real array nnx integer array nVx integer array nEx real array nXx integer array nOx integer array nRx integer array nIx integer array nAx integer array nNx string nbx="abilities\\Spells\\Orc\\LightningBolt\\LightningBolt.wav" string nBx="Abilities\\Spells\\Items\\AIlb\\AIlbSpecialArt.mdl" string ncx="chest" integer nCx integer ndx trigger nDx string nfx="" +integer nFx integer ngx integer nGx string nhx="" integer nHx integer njx string nJx="" integer nkx integer nKx=Bd string nlx="Abilities\\Spells\\Items\\AIre\\AIreTarget.mdl" string nLx="origin" real nmx=.5 integer nMx integer npx string nPx="" integer nqx string nQx="" integer nsx integer nSx integer array ntx integer array nTx integer nux integer nUx integer nwx string nWx="" +integer nyx string nYx="" +integer nzx integer nZx string n_x="" +integer n0x unit n1x=null group n6x=null boolexpr n8x=null endglobals function Vex takes player Vxx returns group set n6x=CreateGroup() call SyncSelections() call GroupEnumUnitsSelected(n6x,Vxx,n8x) +return n6x endfunction function Vbx takes nothing returns nothing local integer VBx=6 local player Vcx +call SetPlayers(VBx+2) call SetTeams(2) +loop +exitwhen(VBx<0) set Vcx=Player(VBx) call SetPlayerController(Vcx,MAP_CONTROL_USER) call SetPlayerRacePreference(Vcx,RACE_PREF_HUMAN) call SetPlayerRaceSelectable(Vcx,false) call SetPlayerTeam(Vcx,0) set VBx=VBx-1 endloop set Vcx=Player(7) call SetPlayerColor(Vcx,PLAYER_COLOR_PINK) call SetPlayerController(Vcx,MAP_CONTROL_COMPUTER) call SetPlayerRacePreference(Vcx,RACE_PREF_HUMAN) call SetPlayerRaceSelectable(Vcx,false) call SetPlayerTeam(Vcx,1) set Vcx=Player($B) call SetPlayerColor(Vcx,PLAYER_COLOR_BROWN) call SetPlayerController(Vcx,MAP_CONTROL_COMPUTER) call SetPlayerRacePreference(Vcx,RACE_PREF_ORC) call SetPlayerRaceSelectable(Vcx,false) call SetPlayerTeam(Vcx,1) set Vcx=null +endfunction function config takes nothing returns nothing local integer VBx local player Vcx +call SetGamePlacement(MAP_PLACEMENT_USE_MAP_SETTINGS) call SetMapDescription("blub") call SetMapName("Defend Wintercastle") set VBx=6 call SetPlayers(VBx+2) call SetTeams(2) +loop +exitwhen(VBx<0) set Vcx=Player(VBx) call SetPlayerController(Vcx,MAP_CONTROL_USER) call SetPlayerRacePreference(Vcx,RACE_PREF_HUMAN) call SetPlayerRaceSelectable(Vcx,false) call SetPlayerTeam(Vcx,0) set VBx=VBx-1 endloop set Vcx=Player(7) call SetPlayerColor(Vcx,PLAYER_COLOR_PINK) call SetPlayerController(Vcx,MAP_CONTROL_COMPUTER) call SetPlayerRacePreference(Vcx,RACE_PREF_HUMAN) call SetPlayerRaceSelectable(Vcx,false) call SetPlayerTeam(Vcx,1) set Vcx=Player($B) call SetPlayerColor(Vcx,PLAYER_COLOR_BROWN) call SetPlayerController(Vcx,MAP_CONTROL_COMPUTER) call SetPlayerRacePreference(Vcx,RACE_PREF_ORC) call SetPlayerRaceSelectable(Vcx,false) call SetPlayerTeam(Vcx,1) set Vcx=null +endfunction function VCx takes player Vdx returns integer return(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId(((Vdx))))),((((R)))))) endfunction function VDx takes nothing returns integer return VCx(GetTriggerPlayer()) endfunction function Vfx takes integer VFx,integer Vgx returns integer return(LoadInteger(o[((V[(E[((I[(VFx)]))])]))],((((A[((VFx))])))),(((Vgx))))) endfunction function VGx takes integer Vgx,integer Vhx returns integer return(Vhx*8192+(((Vgx)-O-8192)/ 8192)) endfunction function VHx takes string s returns nothing set G=G+1 set h[G]=s endfunction function Vjx takes nothing returns nothing local integer i=H call VHx("stack trace:") +loop +exitwhen(i<0) call VHx("-> "+(LoadStr(j,(J[i]),0))) set i=i-1 endloop endfunction function VJx takes string s returns nothing local string s2 local integer Vkx local integer c local integer i set k=k+1 if((k/ K)!=((k-1)/ K))then call PreloadGenClear() endif set s="#"+I2S(k)+" ("+R2S((TimerGetElapsed(l)))+"): "+s set s2="\")"+s if(StringLength(s2)>259)then +set Vkx=StringLength(s) set c=Vkx/ 257+1 +set i=1 call Preload("\")"+":cmd mergeLines="+I2S(c)) loop +exitwhen(i>c) if(i==c)then +call Preload("\")"+SubString(s,(i-1)*257,Vkx)) else +call Preload("\")"+SubString(s,(i-1)*257,i*257+1)) endif set i=i+1 endloop else +call Preload(s2) +endif call PreloadGenEnd("Logs\\Defend Wintercastle\\Session"+I2S(L)+"\\DWC_Errors_"+I2S(k/ K)+".txt") +endfunction function VKx takes string s returns nothing local boolean Vlx=true if(s==null)then set s="null" +endif if Vlx then endif if not Vlx then return endif call VJx("[DEBUG] "+s) endfunction function VLx takes nothing returns nothing local integer i=G-1 local string s set f=f-1 if(f>0)then return endif if(G<0)then return endif set s=h[G] set G=F loop +exitwhen(i<0) set s=h[i]+" +"+"\t"+s set i=i-1 endloop call VKx(s) endfunction function Vmx takes string VMx,string Vpx,string s returns nothing set f=f+1 call VHx("---/") +if(s!=null)then call VHx(s) endif call VHx("") +if(VMx!=null)then call VHx("in ->"+VMx) endif if(Vpx!=null)then call VHx("line ->"+Vpx) endif call VHx("") +call Vjx() call VHx("/---") +call VLx() endfunction function VPx takes integer Vgx returns integer local integer Vqx=(((Vgx)-O-8192)/ 8192) +if(Vqx>0)then return O+8192+Vqx*8192 endif return 0 +endfunction function VQx takes integer Vsx returns string local integer Vqx=(((Vsx)-O-8192)/ 8192) +local integer VSx=VPx(Vsx) local string Vtx +if(Vqx>0)then set Vtx=LoadStr(P,0,VSx) +if(Vtx==null)then return null endif return((I2S((VSx)))+" (table "+(I2S((Vqx)))+"; index "+(I2S((Vsx-VSx)))+"): "+Vtx) endif set Vtx=LoadStr(P,0,Vsx) +if(Vtx==null)then return null endif return((I2S((Vsx)))+" (base "+(I2S((Vsx-O)))+"): "+Vtx) endfunction function VTx takes integer VFx,integer Vux,integer Vgx returns nothing local integer VUx=(0+(LoadInteger(o[((V[(E[((VFx))])]))],(((Vux))),(((Vgx)))))) local string Vwx +local string VWx +local integer VBx local integer Vhx local integer Vyx set f=f+1 call VHx("print table "+I2S(Vux)+";"+I2S(Vgx)+";"+I2S(VUx)) set Vwx=VQx(Vux) +set VWx=VQx(Vgx) +if((Vwx!=null)or(VWx!=null))then +call VHx(Vwx+";"+VWx) endif call VHx("--->") +set VBx=VUx loop +exitwhen(VBx0)then return endif if(W[VFx]!=Z)then call Vmx("EventResponse_Allocation_deallocCustom_confirm","call DebugEx(EventResponse.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",T+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set W[VFx]=W[(w)] set W[(w)]=VFx call EXx(VFx) endfunction function ERx takes integer VFx returns nothing set vv[VFx]=vv[VFx]-1 call EOx(VFx) endfunction function EIx takes integer VFx,integer EAx returns nothing local integer ENx=VFx local integer Eix=V4x((A[(ENx)])) local integer Ebx local integer VBx local integer V8x local integer EBx set nv[(Eix)]=(EAx) set Vv[(Eix)]=(ENx) set Ebx=V4x((Ev[(EAx)])) +set nv[(Ebx)]=(EAx) set Vv[(Ebx)]=(ENx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(ENx,Av,V8x) loop +exitwhen(EBx0)then +return endif if(B[EAx]!=0)then call UnitRemoveAbility(C[((VFx))],(B[EAx])) endif call V_x((VFx),Q,EAx) call V0x((VFx),N+EAx) call EIx((VFx),(EAx)) endfunction function ECx takes integer VFx,string Vux,string Vgx returns integer +if((Vux==null)or(Vgx==null))then +call Vmx("FolderGameCache_StructInteger_Get","call DebugEx(\"GameCache Get: \"+missionKey+\";\"+key)","GameCache Get: "+Vux+";"+Vgx) +return 0 +endif return GetStoredInteger(Kv[(VFx)],Vux,Vgx) endfunction function Edx takes string EDx,integer Vgx returns integer return(ECx(lv[(E[((X))])],((EDx)),(((I2S((Vgx))))))) +endfunction function Efx takes string EFx returns integer return Edx(EFx,mv) endfunction function Egx takes integer VFx,integer EGx returns nothing call UnitAddAbility(C[(VFx)],EGx) call UnitMakeAbilityPermanent(C[(VFx)],true,EGx) +endfunction function Ehx takes integer VFx,integer Vux,integer Vgx,integer Vhx returns boolean local integer VUx if((LoadInteger(o[((D[((VFx))]))],(((Vux))),(VGx(((Vgx)),(((Vhx)))))))!=0)then call Vmx("FolderDataTable_FolderIntegerKeys_StructTable_AddInteger","call DebugEx(I2S(value)+\" already in table \"+I2S(missionKey)+\";\"+I2S(key))",I2S(Vhx)+" already in table "+I2S(Vux)+";"+I2S(Vgx)) call VTx(VFx,Vux,Vgx) return false +endif set VUx=(0+(LoadInteger(o[((V[(E[((VFx))])]))],(((Vux))),(((Vgx))))))+1 call SaveInteger(o[((V[(E[((VFx))])]))],(((Vux))),(((Vgx))),(((VUx)-0))) +call SaveInteger(o[((D[VFx]))],(Vux),(VGx(Vgx,(Vhx))),(VUx)) +call SaveInteger(o[((V[(E[(VFx)])]))],((Vux)),((Vgx+VUx)),((Vhx))) return(VUx==q) endfunction function EHx takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(I[(VFx)],(A[((VFx))]),Vgx,Vhx) endfunction function Ejx takes integer VFx,integer Vgx,integer Vhx returns nothing call SaveInteger(o[((V[(E[((I[(VFx)]))])]))],((((A[((VFx))])))),(((Vgx))),(((Vhx)))) +endfunction function EJx takes integer VFx,integer EAx returns integer return Vfx((VFx),N+EAx) endfunction function Ekx takes integer VFx,integer EKx,integer EAx returns nothing local integer Ebx=V4x((Ev[(EAx)])) local integer VBx local integer V8x local integer EBx set Mv[(Ebx)]=(EKx) set nv[(Ebx)]=(EAx) set Vv[(Ebx)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=Enx(EAx,pv,V8x) loop +exitwhen(EBx0) if Epx then if(B[EAx]!=0)then call Egx(VFx,B[EAx]) +endif call EHx((VFx),Q,EAx) call Ejx((VFx),N+EAx,EKx) call Elx(VFx,EAx) return endif call Ejx((VFx),N+EAx,EKx) call ELx(VFx,B[EAx],EKx) +call Emx((VFx),(EAx),(EKx)) endfunction function EPx takes integer VFx,integer EAx returns nothing call EMx((VFx),(EAx),(1)) endfunction function Eqx takes nothing returns nothing local string EQx=GetEventPlayerChatString() local integer VFx=VDx() if(SubString(EQx,0,3)=="-r ")then call Ecx((kv[(VFx)]),Efx(SubString(EQx,3,(StringLength((EQx)))))) elseif(SubString(EQx,0,3)=="-a ")then call EPx((kv[(VFx)]),Efx(SubString(EQx,3,(StringLength((EQx)))))) endif endfunction function Esx takes nothing returns nothing set e=CreateTrigger() call TriggerRegisterPlayerChatEvent(e,Player(0),"-a ",false) +call TriggerRegisterPlayerChatEvent(e,Player(0),"-r ",false) +call TriggerAddAction(e,function Eqx) endfunction function ESx takes string Vdx,integer Etx,integer ETx returns string +local integer Eux=((StringLength(((Vdx))))-1) if(ETx>Eux)then call Vmx("String_Sub","call DebugEx(\"String Sub: end above upper limit (\" + self + \";\" + I2S(start) + \";\" + I2S(end) + \")\")","String Sub: end above upper limit ("+Vdx+";"+I2S(Etx)+";"+I2S(ETx)+")") set ETx=Eux endif if(Etx<0)then call Vmx("String_Sub","call DebugEx(\"String Sub: start below lower limit (\" + self + \";\" + I2S(start) + \";\" + I2S(end) + \")\")","String Sub: start below lower limit ("+Vdx+";"+I2S(Etx)+";"+I2S(ETx)+")") set Etx=0 elseif(Etx>ETx)then return null endif return SubString(Vdx,Etx,ETx+1) endfunction function EUx takes string Vdx,string Vhx,integer VAx returns integer +local integer VBx=0-1 local integer Ewx=((StringLength(((Vdx))))-1) local integer EWx=(StringLength((Vhx))) loop +exitwhen(VAx<0) set VBx=VBx+1 loop +if(VBx+EWx-1>Ewx)then return Qv endif exitwhen(ESx(Vdx,VBx,VBx+EWx-1)==Vhx) set VBx=VBx+1 endloop set VAx=VAx-1 endloop return VBx endfunction function Eyx takes nothing returns nothing local string Vsx=GetEventPlayerChatString() local integer EYx=EUx(Vsx,";",0) +call BJDebugMsg("load "+ESx(Vsx,5,EYx-1)) call BJDebugMsg("loadB "+ESx(Vsx,EYx+1,StringLength(Vsx)-1)) +call BJDebugMsg(I2S((LoadInteger(o[((V[(E[((X))])]))],(((S2I(ESx(Vsx,0,EYx-2))))),(((S2I(ESx(Vsx,EYx,StringLength(Vsx)))))))))) endfunction function Ezx takes nothing returns nothing set qv=CreateTrigger() call TriggerRegisterPlayerChatEvent(qv,Player(0),"-get ",false) call TriggerAddAction(qv,function Eyx) endfunction function EZx takes nothing returns nothing local integer i=q local integer Vgx=Sv +local integer Vux=$9C40 local integer Vsx=S2I(SubString(GetEventPlayerChatString(),5,StringLength(GetEventPlayerChatString()))) if(SubString(GetEventPlayerChatString(),0,4)=="-add")then call BJDebugMsg("add") call Ehx(X,Vux,Vgx,Vsx) else +call BJDebugMsg("rem") call VYx(X,Vux,Vgx,Vsx) endif call BJDebugMsg("count "+I2S((0+(LoadInteger(o[((V[(E[((X))])]))],(((Vux))),(((Vgx)))))))) loop +exitwhen(i>$A) call BJDebugMsg(I2S(i)+" --> "+I2S((LoadInteger(o[((V[(E[((X))])]))],(((Vux))),(((Vgx)+(i))))))) +set i=i+1 endloop endfunction function E_x takes nothing returns nothing set sv=CreateTrigger() call TriggerRegisterPlayerChatEvent(sv,Player(0),"-add ",false) call TriggerRegisterPlayerChatEvent(sv,Player(0),"-rem ",false) call TriggerAddAction(sv,function EZx) endfunction function E0x takes integer VFx returns integer set yv[VFx]=true +set Yv[VFx]=false call V1x(zv) +return VFx endfunction function E1x takes nothing returns integer local integer VFx if(Tv==8190)then +call Vmx("GameMessage_Allocation_allocCustom","call DebugEx(GameMessage.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",uv+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(Uv[(w)]==w)then set wv=wv+1 set VFx=wv else +set VFx=Uv[(w)] set Uv[(w)]=Uv[Uv[(w)]] endif set Uv[VFx]=Z set Wv[VFx]=1 call E0x(VFx) return VFx endfunction function E2x takes integer VFx returns integer set ie[VFx]=true +set ae[VFx]=false set ne[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(Xe) +return VFx endfunction function E3x takes nothing returns integer local integer VFx if(ve==8190)then +call Vmx("Timer_Allocation_allocCustom","call DebugEx(Timer.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",ee+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(xe[(w)]==w)then set oe=oe+1 set VFx=oe else +set VFx=xe[(w)] set xe[(w)]=xe[xe[(w)]] endif set xe[VFx]=Z set re[VFx]=1 call E2x(VFx) return VFx endfunction function E4x takes integer VFx returns nothing set Ie[(VFx)]=(Ne+VFx) endfunction function E5x takes nothing returns integer local integer VFx local timer Vdx if(Zv==F)then set VFx=E3x() set Vdx=CreateTimer() set Oe[VFx]=Vdx call SaveInteger(o[((V[(E[(((X)))])]))],(((GetHandleId((Vdx))))),((((Re)))),((((VFx))))) +set Vdx=null +call E4x(VFx) return VFx endif set VFx=be[Zv] set Zv=Zv-1 set Be[(VFx)]=(null) +set ce[(VFx)]=((.0)*1.) return VFx endfunction function E6x takes integer VFx returns boolean return(VFx==(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetLocalPlayer())))))),((((R)))))))or(VFx==Ge) endfunction function E7x takes integer VFx returns boolean set he=he+1 set He[he]=VFx set je[VFx]=he+1 +return(he==0) endfunction function E8x takes integer VFx returns boolean local integer VBx=(je[(VFx)])-1 loop +exitwhen(VBx==he) set He[VBx]=He[VBx+1] set je[He[VBx]]=VBx+1 set VBx=VBx+1 endloop set je[VFx]=0 set he=he-1 return(he==F) endfunction function E9x takes real a,real b returns real if(a>b)then return a +endif return b +endfunction function Xvx takes integer Xex returns nothing local integer VBx local player p local integer VFx if not E6x(Xex)then return endif if(he>F+4)then set De[He[0]]=false call E8x(He[0]) endif set VBx=(R2I(((E9x((0),(he+1-4)))*1.))) set p=GetLocalPlayer() call ClearTextMessages() +loop +set VFx=He[VBx] if Ce[VFx]then call DisplayTimedTextToPlayer(p,-.1,1.2,E9x(.001,(TimerGetRemaining(Oe[(de[VFx])]))-3.),Fe[VFx]) +else +call DisplayTimedTextToPlayer(p,-.1,1.2,.0,Fe[VFx]) endif set VBx=VBx+1 exitwhen(VBx>he) +endloop set p=null endfunction function Xxx takes string Xox,integer Xex returns integer local integer VFx=E1x() local integer Xrx=E5x() set Ce[VFx]=false set de[VFx]=Xrx set De[VFx]=true +set fe[VFx]=Xex set Fe[VFx]=Xox set ge[(Xrx)]=(VFx) if E6x(Xex)then call E7x(VFx) endif call Xvx(Xex) return VFx endfunction function Xix takes integer VFx returns boolean if((ke[((VFx))])>0)then return false +endif set Ke=Ke+1 set le[Ke]=VFx set ke[VFx]=Ke+1 +return(Ke==0) endfunction function Xax takes integer VFx,real Xnx,boolean XVx,code XEx returns nothing +set Je[(VFx)]=((GetHandleId(Condition((XEx))))) set Be[(VFx)]=((LoadStr(j,(GetHandleId(Condition(((XEx))))),0))) +set ce[(VFx)]=((Xnx)*1.) +call TimerStart(Oe[VFx],Xnx,XVx,XEx) +if XVx then call Xix(VFx) endif endfunction function XXx takes nothing returns integer return(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) endfunction function XOx takes integer VFx returns nothing set yv[VFx]=false call EEx(zv) +endfunction function XRx takes integer VFx returns nothing if(Wv[VFx]>0)then return endif if(Uv[VFx]!=Z)then call Vmx("GameMessage_Allocation_deallocCustom_confirm","call DebugEx(GameMessage.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",uv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Uv[VFx]=Uv[(w)] set Uv[(w)]=VFx call XOx(VFx) endfunction function XIx takes integer VFx returns nothing set Wv[VFx]=Wv[VFx]-1 call XRx(VFx) endfunction function XAx takes integer VFx returns boolean if not((ke[((VFx))])>0)then return false +endif set ke[le[Ke]]=ke[VFx] set le[ke[VFx]-1]=le[Ke] +set ke[VFx]=0 set Ke=Ke-1 return(Ke==F) endfunction function XNx takes integer VFx returns nothing call PauseTimer(Oe[VFx]) +call XAx(VFx) endfunction function Xbx takes integer VFx returns nothing set Zv=Zv+1 set be[Zv]=VFx call XNx(VFx) endfunction function XBx takes integer VFx returns nothing local integer Xrx=de[VFx] local integer Xex=fe[VFx] call XIx((VFx)) call Xbx(Xrx) if E6x(Xex)then if De[VFx]then call E8x(VFx) endif endif call Xvx(Xex) endfunction function Xcx takes nothing returns nothing local integer VFx=(ge[(XXx())]) call XBx(VFx) endfunction function XCx takes integer VFx,real Xdx returns nothing set Ce[VFx]=true +call Xax(de[VFx],Xdx,false,function Xcx) +endfunction function XDx takes integer Vxx,string Xox,real Xdx returns integer local integer Vtx=Xxx(Xox,Vxx) call XCx(Vtx,Xdx) return Vtx endfunction function Xfx takes string Vhx returns integer local integer Vkx=StringLength(Vhx) local integer XFx local integer VBx local integer Vtx local string Xgx +local integer XGx if(SubString(Vhx,0,1)=="-")then return-Xfx(SubString(Vhx,1,Vkx)) +endif set XFx=1 set VBx=Vkx-1 set Vtx=0 loop +exitwhen(VBx<0) set Xgx=StringCase(SubString(Vhx,VBx,VBx+1),true) set XGx=$F loop +exitwhen(Xgx==Le[XGx]) set XGx=XGx-1 endloop set Vtx=Vtx+XGx*XFx set XFx=XFx*16 set VBx=VBx-1 endloop return Vtx endfunction function Xhx takes string Vdx,string Vhx returns string if(Vhx==null)then return Vdx endif return("|c"+Vhx+Vdx+"|r") endfunction function XHx takes boolean Xjx,string Vdx returns string +if Xjx then return Vdx endif return"" +endfunction function XJx takes string Vhx returns string +return(XHx((StringLength((Vhx)))==1,Le[0])+Vhx) endfunction function Xkx takes real a,real b returns real if(a.5)then set Me[(pe)]=((Vhx)*1.) endif endfunction function X4x takes nothing returns nothing set me=CreateTrigger() call TriggerRegisterPlayerChatEvent(me,Player(0),"-sethp ",false) call TriggerAddAction(me,function X3x) endfunction function X5x takes integer VFx,integer V7x,integer V8x returns integer return(0+(LoadInteger(o[((V[(E[((Te[VFx]))])]))],((((se[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))))))) endfunction function X6x takes integer VFx,integer V7x,integer V8x,integer VAx returns integer return(LoadInteger(o[((V[(E[((Te[VFx]))])]))],((((se[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))+(VAx))))) endfunction function X7x takes integer VFx returns nothing local integer Eix=V4x(0) +local integer X8x local integer VBx local integer V8x local integer EBx set Qe[(Eix)]=(VFx) set X8x=V4x((se[(VFx)])) +set Qe[(X8x)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((Se))),((((1+8192*((((te))-1)*Iv+(((V8x))-1))))))))) loop +exitwhen(EBx0)then return false +endif set lr=lr+1 set Lr[lr]=VFx set Kr[VFx]=lr+1 +return(lr==0) endfunction function Ogx takes real OGx,real Ohx,real OHx,real Ojx returns integer local integer VFx=Ofx() set Gr[VFx]=OGx set hr[VFx]=Ohx set Hr[VFx]=OHx set jr[VFx]=Ojx set Jr[VFx]=(OGx+Ohx)*1./ 2 set kr[VFx]=(OHx+Ojx)*1./ 2 call OFx(VFx) return VFx endfunction function OJx takes nothing returns nothing set br=Ogx($EE0,4672,-6368,-5792) set mr=Ogx(-$D00,-$C00,4928,5504) set Mr=Ogx(-$760,-$520,6720,6976) set pr=Ogx(-$C00,-$B00,$D80,$E80) set Pr=Ogx($A00,$B00,$CC0,$DC0) set qr=Ogx(-4352,4352,-896,$F80) +set Qr=Ogx(-$D80,-768,4512,7456) +set sr=Ogx(-$6E0,-$540,-$640,-$4C0) set Sr=Ogx(-4992,-4576,-$4C0,-832) set tr=Ogx(-$C80,-$AE0,-960,-576) set Tr=Ogx($BC0,$D60,-$4A0,-800) +set ur=Ogx(4544,4960,-$B20,-$9A0) set Ur=Ogx($5C0,$760,-$680,-$500) set wr=Ogx(-384,384,$580,$880) set Wr=Ogx(-256,256,-832,-448) set yr=Ogx(-4096,-$E80,$600,$800) set Yr=Ogx($E00,$F80,$600,$800) set zr=Ogx(5056,5184,-6720,-6592) set Zr=Ogx(5056,5184,-5696,-5568) set vi=Ogx(704,$480,384,832) +set ei=Ogx(-$480,-704,384,832) set xi=Ogx(-$6E0,-$6A0,6208,6272) set oi=Ogx(-$960,-$8A0,5664,5856) set ri=Ogx(-$480,-$440,6240,6304) set ii=Ogx(-$660,-$620,4992,5056) set ai=Ogx(-$7C0,-$780,6240,6304) set ni=Ogx(-$960,-$920,5280,5344) set Vi=Ogx(-$A60,-$A20,6336,6400) set Ei=Ogx(-$860,-$820,5120,5184) set Xi=Ogx(-$920,-$8E0,6304,6368) set Oi=Ogx(-$500,-$4C0,5664,5728) set Ri=Ogx($400,$D80,$F80,5632) set Ii=Ogx($8A0,$8E0,5408,5472) set Ai=Ogx($8A0,$8E0,4768,4832) set Ni=Ogx($6E0,$720,4704,4768) set bi=Ogx($A60,$AA0,4704,4768) set Bi=Ogx($B60,$BA0,5952,6016) set ci=Ogx($B80,$BC0,5312,5376) set Ci=Ogx($A00,$A40,5216,5280) set di=Ogx($740,$780,5216,5280) set Di=Ogx($7E0,$820,5344,5408) set fi=Ogx($960,$9A0,5344,5408) set Fi=Ogx($C40,$C80,5024,5088) set gi=Ogx($460,$4A0,4672,4736) set Gi=Ogx($6A0,$6E0,4864,4928) set hi=Ogx(-800,-512,5504,5792) set Hi=Ogx(-6400,-5536,-$8A0,-$640) set ji=Ogx(5664,5920,$F80,4224) set Ji=Ogx(-992,-736,-5408,-5152) set ki=Ogx($A0,416,-6112,-5856) set Ki=Ogx(704,960,-6944,-6688) set li=Ogx($580,$680,-6016,-5760) set Li=Ogx(6592,6816,4704,4928) set mi=Ogx(6336,6560,$B00,$C00) set Mi=Ogx($700,$800,-$D00,-$C00) set pi=Ogx(-$C60,-$B60,-$C80,-$B80) set Pi=Ogx(-$D20,-$C20,-$C40,-$B40) set qi=Ogx(-6560,-6304,800,$420) +set Qi=Ogx(-6912,-6656,$860,$960) set si=Ogx(-5824,-5568,$920,$A20) set Si=Ogx(512,800,5504,5792) set ti=Ogx(5312,6272,-$8E0,-$620) set Ti=Ogx($440,$4A0,352,448) set ui=Ogx(-704,32,-6784,-5984) set Ui=Ogx(-640,640,$480,$980) set wi=Ogx(-320,288,$D60,$FA0) set Wi=Ogx(-7648,-7040,$640,$900) set yi=Ogx(7008,7616,$540,$8C0) set Yi=Ogx($C40,$CE0,$D20,$D60) set zi=Ogx(-768,-704,-$E0,-$A0) set Zi=Ogx(704,768,-$E0,-$A0) set va=Ogx(-7712,8192,$A0,4992) set ea=Ogx(-$4C0,$4C0,-8192,$A0) +set xa=Ogx(-$400,$400,$F80,6336) +endfunction function Okx takes integer VFx returns boolean if((Ea[((VFx))])>0)then return false +endif set Xa=Xa+1 set Oa[Xa]=VFx set Ea[VFx]=Xa+1 +return(Xa==0) endfunction function OKx takes boolean Olx,integer OLx,integer Omx,real x,real y,real OMx,integer Opx returns integer local integer VFx=Ofx() set ra[VFx]=Olx set ia[VFx]=Omx set aa[VFx]=OLx set Jr[VFx]=x set kr[VFx]=y set na[VFx]=OMx set Va[VFx]=Opx call Okx(VFx) return VFx endfunction function OPx takes nothing returns nothing set oa=OKx(true,'sloc',0,0,0,4.71,w) +set Ra=OKx(true,'UMet',0,0,5760,4.71,w) set Ia=OKx(true,'uLib',7,0,$700,4.71,w) set Aa=OKx(true,'uFou',7,$800,$700,4.71,w) set Na=OKx(true,'uTav',$F,-6144,-$7C0,.0,w) set ba=OKx(true,'uPha',7,-$6C0,4288,4.71,w) set Ba=OKx(true,'uGaC',7,$6C0,4288,4.71,w) set ca=OKx(true,'uTow',$B,704,-$80,4.71,w) set Ca=OKx(true,'sloc',1,0,0,4.71,w) +set da=OKx(true,'sloc',2,0,0,4.71,w) +set Da=OKx(true,'sloc',3,0,0,4.71,w) +set fa=OKx(true,'sloc',4,0,0,4.71,w) +set Fa=OKx(true,'sloc',5,0,0,4.71,w) +set ga=OKx(true,'sloc',6,0,0,4.71,w) +set Ga=OKx(true,'sloc',7,0,0,4.71,w) +set ha=OKx(true,'uRes',7,832,-448,4.71,w) set Ha=OKx(true,'uArS',$F,4416,-5376,4.71,w) +set ja=OKx(true,'uGaC',7,-$CC0,448,4.71,w) set Ja=OKx(true,'uPen',8,-5607.96,-5022.64,5.36,w) set ka=OKx(true,'ISno',$F,4.59,-2574.64,4.71,w) set Ka=OKx(true,'uBTw',$B,-928,$A60,4.71,w) set la=OKx(true,'uRes',7,-$580,4352,4.71,w) set La=OKx(true,'ISno',$F,6004.32,2239.96,4.71,w) set ma=OKx(true,'sloc',$B,0,0,4.71,w) set Ma=OKx(true,'sloc',8,0,0,4.71,w) +set pa=OKx(true,'uPen',8,-4436.59,-6030.5,5.92,w) set Pa=OKx(true,'uTav',$F,6272,-$640,4.71,w) +set qa=OKx(true,'uFou',7,-$800,$700,4.71,w) set Qa=OKx(true,'uPha',7,$CC0,448,4.71,w) set sa=OKx(true,'uRes',7,-$DC0,$A80,4.71,w) set Sa=OKx(true,'uSeb',7,-74.06,1659.47,4.57,w) set ta=OKx(true,'IRun',$F,3.18,4995.94,4.71,w) set Ta=OKx(true,'sloc',$A,0,0,4.71,w) set ua=OKx(true,'sloc',9,0,0,4.71,w) +set Ua=OKx(true,'uRiS',7,$D40,$440,4.71,w) set wa=OKx(true,'uPen',8,-3996.7,-6982.05,.1,w) set Wa=OKx(false,'uTrP',0,4842.5,-2666.6,1.15,w) +set ya=OKx(true,'uRes',7,$580,4352,4.71,w) set Ya=OKx(true,'uRes',7,$E00,$B80,4.71,w) set za=OKx(true,'uRiS',7,-$D80,$980,4.71,w) set Za=OKx(false,'uPan',0,-2933.68,-710.26,5.18,w) set vn=OKx(true,'ISno',$F,-6400.1,1532.99,4.71,w) set en=OKx(true,'uPeL',$F,-5590.03,-7097.49,2.62,w) set xn=OKx(true,'uPen',8,-4690.55,-6965.2,2.82,w) set on=OKx(false,'uTus',0,-1550.46,-1407.35,2.64,w) set rn=OKx(true,'uBTw',$B,-672,-$A0,4.71,w) set in=OKx(true,'uBTw',$B,-$F20,$460,4.71,w) +set an=OKx(true,'uBTw',$B,928,$A60,4.71,w) set nn=OKx(true,'uPen',8,-5808.83,-6672.78,.1,w) +set Vn=OKx(true,'uBTw',$B,$F20,$460,4.71,w) set En=OKx(false,'uWoM',0,3244.42,-898.11,4.31,w) set Xn=OKx(false,'uKoM',0,-4896.15,-1000.41,4.17,w) set On=OKx(true,'nogr',0,-2668.68,-923.61,5.1,w) +set Rn=OKx(false,'uFuM',0,-4761.15,-978.84,4.05,w) set In=OKx(false,'uWol',0,3092.35,-965.9,4.51,w) +set An=OKx(false,'uWol',0,3295.54,-1068.42,3.96,w) set Nn=OKx(false,'uKoB',0,1603.14,-1488.02,1.13,w) set bn=OKx(false,'uTus',0,-1666.84,-1546.88,2.63,w) set Bn=OKx(true,'nogr',0,-2788.83,-1018.31,5.49,w) set cn=OKx(false,'uKoR',0,1774.88,-1418.17,1.01,w) set Cn=OKx(false,'uTrG',0,4714.97,-2739.71,1.46,w) set dn=OKx(false,'uKoM',0,-4719.19,-1132.61,3.77,w) set Dn=OKx(false,'uKoB',0,1686.55,-1549.23,1.04,w) set fn=OKx(false,'uPan',0,-3084.7,-845.33,5.84,w) set Fn=OKx(false,'uTrP',0,4603.89,-2603.4,1.11,w) set gn=OKx(false,'uBDS',0,-$5BF,-1470.95,2.87,w) +set Gn=OKx(false,'uBDS',0,-1571.35,-1640.34,2.21,w) set hn=OKx(false,'uKoR',0,1582.36,-1361.09,.96,w) set Hn=OKx(false,'UAru',$F,-1703.85,6098.26,3.55,w) set jn=OKx(false,'UDra',$F,-1110.24,6281.83,4.16,w) set Jn=OKx(false,'UJot',$F,-1601.65,5037.67,2.88,w) set kn=OKx(false,'UKer',$F,-1965.03,6124.93,5.45,w) set Kn=OKx(false,'UMan',$F,-2376.73,5319.46,5.98,w) set ln=OKx(false,'URoc',$F,-2293.22,6337.23,4.31,w) set Ln=OKx(false,'USmo',$F,-2105.35,5143.41,1.86,w) set mn=OKx(false,'USto',$F,-2625.32,6390.22,5.14,w) set Mn=OKx(false,'UThr',$F,-1248.28,5694.68,2.46,w) set pn=OKx(true,'qwrp',$F,-$C80,5376,4.71,pr) set Pn=OKx(true,'qwrp',$F,-$5C0,6848,4.71,Pr) endfunction function Oqx takes string s returns nothing local boolean Vlx=true if(s==null)then set s="null" +endif if not Vlx then return endif call VJx("[INFO] "+s) endfunction function OQx takes nothing returns nothing call SetTerrainFogEx(0,10000.,10000.,0,0,0,0) call SetCameraField(CAMERA_FIELD_FARZ,10000.,.0) +loop +exitwhen qn call SetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK,270.,.0) call SetCameraField(CAMERA_FIELD_TARGET_DISTANCE,1650.,.0) call SetCameraField(CAMERA_FIELD_ZOFFSET,10000.,.0) call TriggerSleepAction(.035) endloop endfunction function Osx takes nothing returns nothing set Qn=0 +loop +exitwhen qn call TriggerSleepAction(1) set Qn=Qn+1 endloop endfunction function OSx takes nothing returns nothing local real camX=GetCameraTargetPositionX() local real camY=GetCameraTargetPositionY() local real z=3900. call EnableUserUI(false) +call ShowInterface(false,0) call SetCineFilterBlendMode(BLEND_MODE_BLEND) call SetCineFilterTexMapFlags(TEXMAP_FLAG_NONE) call SetCineFilterDuration(0) call SetCineFilterEndColor($FF,$FF,$FF,$FF) call SetCineFilterStartColor($FF,$FF,$FF,$FF) call SetCineFilterEndUV(0,0,1,1) +call SetCineFilterStartUV(0,0,1,1) call SetCineFilterTexture("UI\\LoadingScreenBackground.blp") +call DisplayCineFilter(true) +call FogEnable(false) call FogMaskEnable(false) call ExecuteFunc("OQx") call ExecuteFunc("Osx") endfunction function Otx takes integer VFx returns integer set Wn[VFx]=true +set yn[VFx]=false call V1x(Yn) +return VFx endfunction function OTx takes nothing returns integer local integer VFx if(Tn==8190)then +call Vmx("Allocation_allocCustom","call DebugEx(Loading.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",""+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(un[(w)]==w)then set Un=Un+1 set VFx=Un else +set VFx=un[(w)] set un[(w)]=un[un[(w)]] endif set un[VFx]=Z set wn[VFx]=1 call Otx(VFx) return VFx endfunction function Oux takes integer VFx returns boolean return(xV==VFx)or((oV[VFx]!=w)or(rV[VFx]!=w)) endfunction function OUx takes integer VFx returns boolean if Oux(VFx)then return false +endif set rV[VFx]=w if(xV==w)then set iV=VFx set xV=VFx return true endif set oV[VFx]=iV set rV[iV]=VFx set iV=VFx return false +endfunction function Owx takes trigger t,integer Exx,string EFx returns nothing local integer VFx=OTx() set zn=zn+1 set Zn[VFx]=Exx set vV[VFx]=EFx set eV[VFx]=t call OUx(VFx) endfunction function OWx takes nothing returns boolean local integer VBx=tn +loop +exitwhen(VBx<0) call Owx(aV[VBx],nV[VBx],VV[VBx]) set VBx=VBx-1 endloop return true endfunction function Oyx takes code c returns nothing local string EFx=LoadStr(j,(GetHandleId(Condition((c)))),0) local trigger t=CreateTrigger() set zn=zn+1 call TriggerAddCondition(t,Condition(c)) +if(EFx==null)then set EFx="unknown" endif call Owx(t,(GetHandleId(Condition((c)))),EFx) set t=null endfunction function OYx takes integer VFx returns integer set NV[VFx]=true +set bV[VFx]=false call V1x(BV) +return VFx endfunction function Ozx takes nothing returns integer local integer VFx if(XV==8190)then +call Vmx("EffectLevel_Allocation_allocCustom","call DebugEx(EffectLevel.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",OV+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(RV[(w)]==w)then set IV=IV+1 set VFx=IV else +set VFx=RV[(w)] set RV[(w)]=RV[RV[(w)]] endif set RV[VFx]=Z set AV[VFx]=1 call OYx(VFx) return VFx endfunction function OZx takes integer VFx returns boolean set CV=CV+1 set dV[CV]=VFx set DV[VFx]=CV+1 +return(CV==0) endfunction function O_x takes string EFx returns integer local integer VFx=Ozx() set cV[(VFx)]=(EFx) call OZx(VFx) return VFx endfunction function O0x takes nothing returns boolean set EV=O_x("low") set fV=O_x("normal") +set FV=fV return true endfunction function O1x takes nothing returns boolean local integer VBx=gV +loop +exitwhen(VBx<0) call Owx(GV[VBx],hV[VBx],HV[VBx]) set VBx=VBx-1 endloop return true endfunction function O2x takes nothing returns boolean local integer VBx=jV +loop +exitwhen(VBx<0) call Owx(JV[VBx],kV[VBx],KV[VBx]) set VBx=VBx-1 endloop return true endfunction function O3x takes nothing returns boolean local integer VBx=lV +loop +exitwhen(VBx<0) call Owx(LV[VBx],mV[VBx],MV[VBx]) set VBx=VBx-1 endloop return true endfunction function O4x takes integer VFx returns integer set UV[VFx]=true +set wV[VFx]=false call V1x(WV) +return VFx endfunction function O5x takes nothing returns integer local integer VFx if(sV==8190)then +call Vmx("ObjThread_Allocation_allocCustom","call DebugEx(ObjThread.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",SV+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(tV[(w)]==w)then set TV=TV+1 set VFx=TV else +set VFx=tV[(w)] set tV[(w)]=tV[tV[(w)]] endif set tV[VFx]=Z set uV[VFx]=1 call O4x(VFx) return VFx endfunction function O6x takes integer VFx returns boolean set YV=YV+1 set zV[YV]=VFx set ZV[VFx]=YV+1 +return(YV==0) endfunction function O7x takes integer VFx returns nothing set UV[VFx]=false call EEx(WV) +endfunction function O8x takes integer VFx returns nothing if(uV[VFx]>0)then return endif if(tV[VFx]!=Z)then call Vmx("ObjThread_Allocation_deallocCustom_confirm","call DebugEx(ObjThread.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",SV+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set tV[VFx]=tV[(w)] set tV[(w)]=VFx call O7x(VFx) endfunction function O9x takes integer VFx returns nothing set uV[VFx]=uV[VFx]-1 call O8x(VFx) endfunction function Rvx takes integer VFx returns boolean local integer VAx=(ZV[(VFx)]) set ZV[zV[YV]]=VAx set zV[VAx-1]=zV[YV] +set ZV[VFx]=0 set YV=YV-1 return(YV==F) endfunction function Rex takes integer VFx returns nothing call O9x((VFx)) if Rvx(VFx)then call PauseTimer(vE) endif endfunction function Rxx takes nothing returns nothing local integer i=YV set f=f+1 loop +exitwhen(i<0) call VHx("threadBreak (ObjThread): "+yV[zV[i]]) set eE=false +call Rex(zV[i]) set eE=true set i=i-1 endloop call VLx() endfunction function Rox takes string EFx returns integer local integer VFx=O5x() set yV[VFx]=EFx if O6x(VFx)then if(vE==null)then +set vE=CreateTimer() +endif call TimerStart(vE,1,true,function Rxx) endif return VFx endfunction function Rrx takes nothing returns nothing local integer Rix=(R2I(((Xkx((xE+rE),(oE)))*1.))) local integer Rax=pV +local trigger t local integer Exx local string EFx +loop +exitwhen(xE>Rix) +set t=LoadTriggerHandle(QV,Rax,xE) set Exx=LoadInteger(iE,Rax,xE) set EFx=LoadStr(aE,Rax,xE) call Owx(t,Exx,EFx) set xE=xE+1 endloop endfunction function Rnx takes nothing returns nothing local integer Rax=pV +local integer VUx=LoadInteger(QV,Rax,0) local integer th=Rox("OBJECT INITS "+I2S(Rax)) set xE=PV set oE=(R2I(((Xkx((VUx),(qV)))*1.))) +set rE=$5DC loop +exitwhen(xE>oE) call Odx(function Rrx) endloop call Rex(th) +endfunction function RVx takes integer Rax returns nothing set pV=Rax set PV=1 +set qV=99999 +call Odx(function Rnx) endfunction function REx takes nothing returns boolean local integer VBx=EE +loop +exitwhen(VBx<0) call Owx(XE[VBx],OE[VBx],RE[VBx]) set VBx=VBx-1 endloop return true endfunction function RXx takes nothing returns boolean local integer VBx=IE +loop +exitwhen(VBx<0) call Owx(AE[VBx],NE[VBx],bE[VBx]) set VBx=VBx-1 endloop return true endfunction function ROx takes nothing returns boolean local integer VBx=BE +loop +exitwhen(VBx<0) call Owx(cE[VBx],CE[VBx],dE[VBx]) set VBx=VBx-1 endloop return true endfunction function RRx takes nothing returns boolean local integer VBx=DE +loop +exitwhen(VBx<0) call Owx(fE[VBx],FE[VBx],gE[VBx]) set VBx=VBx-1 endloop return true endfunction function RIx takes nothing returns boolean local integer VBx=GE +loop +exitwhen(VBx<0) call Owx(hE[VBx],HE[VBx],jE[VBx]) set VBx=VBx-1 endloop return true endfunction function RAx takes nothing returns boolean local integer VBx=JE +loop +exitwhen(VBx<0) call Owx(kE[VBx],KE[VBx],lE[VBx]) set VBx=VBx-1 endloop return true endfunction function RNx takes nothing returns boolean local integer VBx=YE +loop +exitwhen(VBx<0) call Owx(zE[VBx],ZE[VBx],vX[VBx]) set VBx=VBx-1 endloop return true endfunction function Rbx takes nothing returns boolean local integer VBx=eX +loop +exitwhen(VBx<0) call Owx(xX[VBx],oX[VBx],rX[VBx]) set VBx=VBx-1 endloop return true endfunction function RBx takes nothing returns boolean local integer VBx=iX +loop +exitwhen(VBx<0) call Owx(aX[VBx],nX[VBx],VX[VBx]) set VBx=VBx-1 endloop return true endfunction function Rcx takes nothing returns boolean local integer VBx=EX +loop +exitwhen(VBx<0) call Owx(XX[VBx],OX[VBx],RX[VBx]) set VBx=VBx-1 endloop return true endfunction function RCx takes nothing returns boolean local integer VBx=IX +loop +exitwhen(VBx<0) call Owx(AX[VBx],NX[VBx],bX[VBx]) set VBx=VBx-1 endloop return true endfunction function Rdx takes nothing returns boolean local integer VBx=BX +loop +exitwhen(VBx<0) call Owx(cX[VBx],CX[VBx],DX[VBx]) set VBx=VBx-1 endloop return true endfunction function RDx takes nothing returns boolean local integer VBx=fX +loop +exitwhen(VBx<0) call Owx(FX[VBx],gX[VBx],GX[VBx]) set VBx=VBx-1 endloop return true endfunction function Rfx takes nothing returns boolean local integer VBx=hX +loop +exitwhen(VBx<0) call Owx(HX[VBx],jX[VBx],JX[VBx]) set VBx=VBx-1 endloop return true endfunction function RFx takes nothing returns boolean local integer VBx=kX +loop +exitwhen(VBx<0) call Owx(KX[VBx],lX[VBx],LX[VBx]) set VBx=VBx-1 endloop return true endfunction function Rgx takes nothing returns boolean local integer VBx=mX +loop +exitwhen(VBx<0) call Owx(MX[VBx],pX[VBx],PX[VBx]) set VBx=VBx-1 endloop return true endfunction function RGx takes nothing returns boolean local integer VBx=qX +loop +exitwhen(VBx<0) call Owx(QX[VBx],sX[VBx],SX[VBx]) set VBx=VBx-1 endloop return true endfunction function Rhx takes nothing returns boolean local integer VBx=tX +loop +exitwhen(VBx<0) call Owx(TX[VBx],uX[VBx],UX[VBx]) set VBx=VBx-1 endloop return true endfunction function RHx takes nothing returns boolean local integer VBx=wX +loop +exitwhen(VBx<0) call Owx(WX[VBx],yX[VBx],YX[VBx]) set VBx=VBx-1 endloop return true endfunction function Rjx takes nothing returns boolean local integer VBx=zX +loop +exitwhen(VBx<0) call Owx(ZX[VBx],vO[VBx],eO[VBx]) set VBx=VBx-1 endloop return true endfunction function RJx takes nothing returns boolean local integer VBx=xO +loop +exitwhen(VBx<0) call Owx(oO[VBx],rO[VBx],iO[VBx]) set VBx=VBx-1 endloop return true endfunction function Rkx takes nothing returns boolean local integer VBx=aO +loop +exitwhen(VBx<0) call Owx(nO[VBx],VO[VBx],EO[VBx]) set VBx=VBx-1 endloop return true endfunction function RKx takes nothing returns boolean local integer VBx=XO +loop +exitwhen(VBx<0) call Owx(OO[VBx],RO[VBx],IO[VBx]) set VBx=VBx-1 endloop return true endfunction function Rlx takes nothing returns boolean local integer VBx=AO +loop +exitwhen(VBx<0) call Owx(NO[VBx],bO[VBx],BO[VBx]) set VBx=VBx-1 endloop return true endfunction function RLx takes nothing returns boolean call SetFloatGameState((GAME_STATE_TIME_OF_DAY),((12.)*1.)) return true endfunction function Rmx takes nothing returns boolean local integer VBx=cO +loop +exitwhen(VBx<0) call Owx(CO[VBx],dO[VBx],DO[VBx]) set VBx=VBx-1 endloop return true endfunction function RMx takes nothing returns boolean local integer VBx=fO +loop +exitwhen(VBx<0) call Owx(FO[VBx],gO[VBx],GO[VBx]) set VBx=VBx-1 endloop return true endfunction function Rpx takes nothing returns boolean local integer VBx=hO +loop +exitwhen(VBx<0) call Owx(HO[VBx],jO[VBx],JO[VBx]) set VBx=VBx-1 endloop return true endfunction function RPx takes nothing returns boolean local integer VBx=kO +loop +exitwhen(VBx<0) call Owx(KO[VBx],lO[VBx],LO[VBx]) set VBx=VBx-1 endloop return true endfunction function Rqx takes nothing returns boolean local integer VBx=mO +loop +exitwhen(VBx<0) call Owx(MO[VBx],pO[VBx],PO[VBx]) set VBx=VBx-1 endloop return true endfunction function RQx takes nothing returns boolean local integer VBx=qO +loop +exitwhen(VBx<0) call Owx(QO[VBx],sO[VBx],SO[VBx]) set VBx=VBx-1 endloop return true endfunction function Rsx takes nothing returns boolean local integer VBx=tO +loop +exitwhen(VBx<0) call Owx(TO[VBx],uO[VBx],UO[VBx]) set VBx=VBx-1 endloop return true endfunction function RSx takes nothing returns boolean local integer VBx=wO +loop +exitwhen(VBx<0) call Owx(WO[VBx],yO[VBx],YO[VBx]) set VBx=VBx-1 endloop return true endfunction function Rtx takes nothing returns boolean local integer VBx=zO +loop +exitwhen(VBx<0) call Owx(ZO[VBx],vR[VBx],eR[VBx]) set VBx=VBx-1 endloop return true endfunction function RTx takes nothing returns boolean local integer VBx=xR +loop +exitwhen(VBx<0) call Owx(oR[VBx],rR[VBx],iR[VBx]) set VBx=VBx-1 endloop return true endfunction function Rux takes nothing returns boolean local integer VBx=aR +loop +exitwhen(VBx<0) call Owx(nR[VBx],VR[VBx],ER[VBx]) set VBx=VBx-1 endloop return true endfunction function RUx takes nothing returns nothing call SetCameraField(CAMERA_FIELD_FARZ,.0,.0) +call SetCineFilterBlendMode(BLEND_MODE_BLEND) call SetCineFilterTexMapFlags(TEXMAP_FLAG_NONE) call SetCineFilterDuration(3.-1.) call SetCineFilterEndColor($FF,$FF,$FF,0) call SetCineFilterStartColor($FF,$FF,$FF,$FF) call SetCineFilterEndUV(0,0,1,1) +call SetCineFilterStartUV(0,0,1,1) call SetCineFilterTexture("UI\\LoadingScreenBackground.blp") +call DisplayCineFilter(true) +call ShowInterface(true,3.-1.) endfunction function Rwx takes integer VFx returns nothing local integer V8x local integer VBx if(XR[VFx]!=F)then return endif set V8x=OR[VFx] set VBx=RR set RR=VBx+1 +loop +exitwhen(VBx<0) exitwhen(OR[IR[VBx]]Xv) +set V8x=Ov[VBx] set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((Se))),((((1+8192*((((KR))-1)*Iv+(((V8x))-1))))))))) loop +exitwhen(EBxIax))then +set QR[Iax]=VAx endif set sR[Iax]=VAx set TR=TR+1 return true endfunction function IAx takes nothing returns nothing set LR=CreateTrigger() set Jv=CreateTrigger() set rv=CreateTrigger() call TriggerAddCondition(LR,Condition(function Ixx)) +call TriggerAddCondition(Jv,Condition(function Irx)) +call TriggerAddCondition(rv,Condition(function IIx)) +endfunction function INx takes nothing returns boolean local string Ibx=GetPlayerName(GetLocalPlayer()) +call TimerStart(l,99999,true,null) call SetPlayerName(GetLocalPlayer(),I2S(L)) call PreloadGenClear() call Preloader("Logs\\Defend Wintercastle\\index.ini") set L=S2I(GetPlayerName(GetLocalPlayer()))+1 +call PreloadGenClear() call PreloadGenStart() call Preload("\") +call SetPlayerName(GetLocalPlayer(), \""+I2S(L)+"\") +call Preload(\"") +call SetPlayerName(GetLocalPlayer(),Ibx) +call PreloadGenEnd("Logs\\Defend Wintercastle\\index.ini") call PreloadGenEnd("Logs\\Defend Wintercastle\\signal.ini") call PreloadGenClear() call Preload("\") +"+("DEL \"DWC_Errors.txt\"")+" +REM (\"") call Preload("\") +"+("DEL takeFile.bat")+" +REM (\"") +call Preload("\") +"+("echo set file=%%~1>>takeFile.bat")+" +REM (\"") +call Preload("\") +"+("echo echo %%file%%>>takeFile.bat")+" +REM (\"") +call Preload("\") +"+("echo for /f \"tokens=*\" %%%%A in (%%file%%) do (call takeLine.bat \"%%%%A\")>>takeFile.bat")+" +REM (\"") call Preload("\") +"+("REM echo DEL %%file%%>>takeFile.bat")+" +REM (\"") call Preload("\") +"+("DEL takeLine.bat")+" +REM (\"") +call Preload("\") +"+("echo set txt=%%1>>takeLine.bat")+" +REM (\"") call Preload("\") +"+("echo set txt=%%txt:call Preload( ^\"^\")=%%>>takeLine.bat")+" +REM (\"") call Preload("\") +"+("echo IF %%txt%%==%%1 goto :eof>>takeLine.bat")+" +REM (\"") +call Preload("\") +"+("echo set txt=%%txt:^\" )=%%>>takeLine.bat")+" +REM (\"") call Preload("\") +"+("echo set txt=%%txt:^|=^^^^^^^|%%>>takeLine.bat")+" +REM (\"") call Preload("\") +"+("echo set txt=%%txt:^>=^^^^^^^>%%>>takeLine.bat")+" +REM (\"") call Preload("\") +"+("echo set txt=%%txt:^\"='%%>>takeLine.bat")+" +REM (\"") +call Preload("\") +"+("echo IF \"%%txt%%\"==\"\" goto :eof>>takeLine.bat")+" +REM (\"") call Preload("\") +"+("echo echo %%txt%%^>^>DWC_Errors.txt>>takeLine.bat")+" +REM (\"") call Preload("\") +"+("pause")+" +REM (\"") call Preload("\") +"+("for /f %%f in ('dir /b /od \"DWC_Errors_*.txt\"') do (call takeFile.bat \"%%f\")")+" +REM (\"") +call Preload("\") +"+("DEL takeFile.bat")+" +REM (\"") +call Preload("\") +"+("DEL takeLine.bat")+" +REM (\"") +call PreloadGenEnd("Logs\\Defend Wintercastle\\Session"+I2S(L)+"\\DWC_Errors_MergeLogs.bat") +call PreloadGenClear() call Oqx("private session "+I2S(L)) call IAx() return true endfunction function IBx takes nothing returns nothing set H=H-1 endfunction function Icx takes code c,string EFx returns boolean +local trigger t=CreateTrigger() local boolean Vtx call TriggerAddCondition(t,Condition(c)) +call Eex(GetHandleId(Condition(c))) set Vtx=TriggerEvaluate(t) if not Vtx then call Vmx(null,"runProtFunc","compilefunc "+EFx+" has been broken") endif call IBx() set t=null return Vtx endfunction function ICx takes nothing returns boolean set P=InitHashtable() call SaveStr(P,0,414,"s__FolderUnitModSet_StructMods_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,66,"s__FolderSpotEffectWithSize_StructDestroyTimed_GetKeyMacro_KEY") call SaveStr(P,0,$F9,"s__Translation_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,391,"s__FolderUnit_FolderSelection_StructCircle_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,$F6,"s__TranslationAccelerated_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$EB,"s__Trigger_GetKeyMacro_CODE_KEY") call SaveStr(P,0,415,"s__FolderUnitModSet_StructMods_GetKeyMacro_KEY_ARRAY_DETAIL_VAL") call SaveStr(P,0,$B6,"s__FolderDummyUnit_FolderVertexColor_StructTimed_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,427,"s__FolderUnitType_StructClasses_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,368,"s__FolderUnit_StructVertexColor_GetKeyMacro_STATE_ALPHA_KEY") call SaveStr(P,0,$DF,"s__TileType_GetKeyMacro_KEY") call SaveStr(P,0,$AE,"s__FolderDummyUnit_StructFollowUnit_GetKeyMacro_KEY") call SaveStr(P,0,352,"s__FolderUnit_StructVertexColor_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$DE,"s__Spell_GetKeyMacro_INIT_KEY_ARRAY") call SaveStr(P,0,322,"s__FolderUnit_FolderAttack_StructSplash_GetKeyMacro_TYPE_BOUND_KEY_ARRAY") +call SaveStr(P,0,18,"s__FolderVoteHost_StructVotes_GetKeyMacro_KEY") +call SaveStr(P,0,485,"s__FolderDefenderSpawnWave_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$F0,"s__KnockbackAccelerated_GetKeyMacro_KEY") call SaveStr(P,0,330,"s__FolderUnit_StructInvulnerability_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$D5,"s__Spell_GetKeyMacro_KEY") +call SaveStr(P,0,84,"s__FolderEventCombination_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$A0,"s__AIAutoCast_GetKeyMacro_SPELL_KEY") call SaveStr(P,0,306,"s__FolderUnit_StructModSets_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,578,"s__FolderVividMeteor_StructEffects_GetKeyMacro_PARENT_KEY_ARRAY") call SaveStr(P,0,44,"s__FolderDialogButton_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,364,"s__FolderUnit_StructVertexColor_GetKeyMacro_STATE_GREEN_KEY") call SaveStr(P,0,68,"s__DummyUnitEffect_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$D2,"s__Spell_GetKeyMacro_AREA_RANGE_KEY_ARRAY_DETAIL") +call SaveStr(P,0,$B2,"s__FolderDummyUnit_FolderScale_StructTimed_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,74,"s__SpotEffect_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,477,"s__FolderDefenderSpawnType_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$D9,"s__Spell_GetKeyMacro_CastTime_KEY_ARRAY_DETAIL") call SaveStr(P,0,366,"s__FolderUnit_StructVertexColor_GetKeyMacro_STATE_BLUE_KEY") call SaveStr(P,0,413,"s__FolderUnitModSet_StructCustomMods_GetKeyMacro_S_MODS_TABLE_KEY") call SaveStr(P,0,310,"s__FolderUnit_StructItems_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,398,"s__Unit_GetKeyMacro_HEAL_STAMINA_KEY_ARRAY") call SaveStr(P,0,318,"s__FolderUnit_FolderAttack_FolderSplash_StructTargetFlag_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,$E5,"s__TextTag_GetKeyMacro_PARENT_KEY") call SaveStr(P,0,412,"s__FolderUnitModSet_StructCustomMods_GetKeyMacro_R_MODS_TABLE_KEY") call SaveStr(P,0,545,"s__SpawnWave_GetKeyMacro_KEY") +call SaveStr(P,0,399,"s__FolderUnitModSet_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,86,"s__FolderEventCombination_StructRemainingEventsAmount_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,$C,"s__FolderEventResponse_StructDynamic_GetKeyMacro_LOCAL_KEY") call SaveStr(P,0,507,"s__HeroSelection_GetKeyMacro_KEY") +call SaveStr(P,0,272,"s__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_GetKeyMacro_CASTER_KEY_ARRAY") call SaveStr(P,0,386,"s__FolderUnit_FolderAnimation_StructLoop_GetKeyMacro_KEY") +call SaveStr(P,0,64,"s__Dialog_GetKeyMacro_PLAYER_SHOWN_KEY_ARRAY") call SaveStr(P,0,280,"s__FolderUnit_FolderBuffs_FolderTimed_StructCountdown_GetKeyMacro_KEY") call SaveStr(P,0,$A6,"s__FolderDummyUnit_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,497,"s__Explosive_GetKeyMacro_KEY") +call SaveStr(P,0,505,"s__Spirit_GetKeyMacro_KEY") call SaveStr(P,0,$CD,"s__SoundType_GetKeyMacro_INIT_KEY_ARRAY") call SaveStr(P,0,72,"s__FolderSpotEffect_StructDestroyTimed_GetKeyMacro_KEY") call SaveStr(P,0,$DD,"s__Spell_GetKeyMacro_Range_KEY_ARRAY_DETAIL") call SaveStr(P,0,$F5,"s__TranslationAccelerated_GetKeyMacro_KEY") call SaveStr(P,0,278,"s__FolderUnit_StructAbilities_GetKeyMacro_LEVEL_KEY_ARRAY_DETAIL") +call SaveStr(P,0,535,"s__SpawnGroup_GetKeyMacro_TYPES_KEY_ARRAY") call SaveStr(P,0,405,"s__FolderUnitModSet_StructCustomMods_GetKeyMacro_KEY_ARRAY_DETAIL_VAL") call SaveStr(P,0,26,"s__FolderBuff_StructLoopSounds_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,298,"s__FolderUnit_StructBuffs_GetKeyMacro_LEVELS_KEY_ARRAY_DETAIL") call SaveStr(P,0,46,"s__FolderDialog_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,431,"s__PlayerController_GetKeyMacro_KEY") call SaveStr(P,0,19,"s__FolderVoteHost_StructVotes_GetKeyMacro_PLAYER_BUTTON_KEY") call SaveStr(P,0,$90,"s__FolderLightning_StructFromSpotToDummyUnit_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,96,"s__FolderEventCombination_StructPeriodic_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,24,"s__FolderBuff_StructTargetEffects_GetKeyMacro_LEVELS_KEY_ARRAY") call SaveStr(P,0,393,"s__Unit_GetKeyMacro_KEY") call SaveStr(P,0,432,"s__PlayerController_GetKeyMacro_PARENT_KEY") call SaveStr(P,0,294,"s__FolderUnit_StructBuffs_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$C6,"s__FolderOrder_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,607,"s__FountainHeal_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,394,"s__Unit_GetKeyMacro_SPELL_TEXT_TAG_KEY_ARRAY") +call SaveStr(P,0,326,"s__FolderUnit_FolderDecay_StructTimed_GetKeyMacro_KEY") call SaveStr(P,0,$A4,"s__AICastSpell_GetKeyMacro_SPELL_KEY") +call SaveStr(P,0,'d',"s__Ping_GetKeyMacro_KEY") call SaveStr(P,0,428,"s__FolderUnitType_StructDrop_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,430,"s__UnitType_GetKeyMacro_INIT_KEY_ARRAY") call SaveStr(P,0,276,"s__FolderUnit_StructAbilities_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$EE,"s__Trigger_GetKeyMacro_INIT_NORMAL_KEY_ARRAY") +call SaveStr(P,0,551,"s__FolderSpawnType_StructItems_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,'j',"s__FolderItemClass_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,573,"s__FolderBarrier_StructKnockback_GetKeyMacro_KEY") +call SaveStr(P,0,'f',"s__FolderUnitList_StructId_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,'h',"s__UnitList_GetKeyMacro_MEMBERS_KEY_ARRAY") call SaveStr(P,0,$D4,"s__Spell_GetKeyMacro_COOLDOWN_KEY_ARRAY_DETAIL") call SaveStr(P,0,88,"s__FolderEventCombination_StructEvents_GetKeyMacro_KEY") call SaveStr(P,0,$CE,"s__HeroSpell_GetKeyMacro_BASE_SPELL_KEY") call SaveStr(P,0,256,"s__UnitTypePool_GetKeyMacro_WEIGHT_KEY_ARRAY_DETAIL") call SaveStr(P,0,266,"s__FolderUnit_FolderAbilities_StructCooldown_GetKeyMacro_KEY") +call SaveStr(P,0,519,"s__Level_GetKeyMacro_PARENT_KEY") call SaveStr(P,0,$B0,"s__FolderDummyUnit_FolderScale_StructTimed_GetKeyMacro_KEY") call SaveStr(P,0,'t',"s__Item_GetKeyMacro_KEY") call SaveStr(P,0,422,"s__FolderUnitType_StructAttachments_GetKeyMacro_LEVEL_KEY_ARRAY") call SaveStr(P,0,451,"s__FolderUser_FolderKeyEvent_StructUpArrow_GetKeyMacro_KEY") call SaveStr(P,0,$EF,"s__Trigger_GetKeyMacro_INIT_NATIVE_KEY_ARRAY") +call SaveStr(P,0,76,"s__FolderUnitEffect_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,374,"s__FolderUnit_FolderMovement_FolderEvents_StructRegion_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,469,"s__CreepLocation_GetKeyMacro_KEY") +call SaveStr(P,0,$E,"s__Event_GetKeyMacro_KEY") call SaveStr(P,0,312,"s__FolderUnit_StructItems_GetKeyMacro_SLOT_KEY_ARRAY_DETAIL") call SaveStr(P,0,396,"s__Unit_GetKeyMacro_BURN_MANA_KEY_ARRAY") call SaveStr(P,0,$82,"s__LightningType_GetKeyMacro_INIT_KEY_ARRAY") call SaveStr(P,0,258,"s__FolderUnit_StructId_GetKeyMacro_KEY") call SaveStr(P,0,$D3,"s__Spell_GetKeyMacro_CHANNEL_TIME_KEY_ARRAY_DETAIL") call SaveStr(P,0,32,"s__Buff_GetKeyMacro_KEY") call SaveStr(P,0,410,"s__FolderUnitModSet_StructCustomMods_GetKeyMacro_B_MODS_TABLE_KEY") call SaveStr(P,0,$F2,"s__Knockback_GetKeyMacro_KEY") +call SaveStr(P,0,17,"s__CommandHeader_GetKeyMacro_KEY") call SaveStr(P,0,$D1,"s__FolderSpell_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,316,"s__FolderUnit_FolderAttack_FolderEvents_StructGround_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,585,"s__FolderHandOfNature_StructId_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,$BA,"s__FolderMissileCheckpoint_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$CB,"s__FolderRegion_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,531,"s__SpawnGroup_GetKeyMacro_LOCATIONS_KEY_ARRAY") call SaveStr(P,0,$F4,"s__TranslationAccelerated_Id_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,78,"s__FolderUnitEffect_StructDestroyTimed_GetKeyMacro_KEY") call SaveStr(P,0,25,"s__FolderBuff_StructTargetEffects_GetKeyMacro_PATHS_KEY_ARRAY") +call SaveStr(P,0,559,"s__Zoom_GetKeyMacro_KEY") call SaveStr(P,0,457,"s__User_GetKeyMacro_KEY") call SaveStr(P,0,$F1,"s__KnockbackAccelerated_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,274,"s__FolderUnit_FolderAbilities_FolderEvents_StructEffect_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,581,"s__DeprivingShock_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,471,"s__FolderCreepSet_StructId_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,481,"s__FolderDefenderSpawnGroup_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,328,"s__FolderUnit_StructDrop_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,82,"s__EventPair_GetKeyMacro_PARTNER_KEY") call SaveStr(P,0,521,"s__Lumber_GetKeyMacro_KEY") call SaveStr(P,0,$94,"s__FolderLightning_StructFromSpotToUnit_GetKeyMacro_KEY") call SaveStr(P,0,332,"s__FolderUnit_FolderDamage_StructEvents_GetKeyMacro_TEXT_TAG_KEY_ARRAY") call SaveStr(P,0,$D8,"s__Spell_GetKeyMacro_AreaRange_KEY_ARRAY_DETAIL") call SaveStr(P,0,336,"s__FolderUnit_StructMagicImmunity_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,587,"s__HandOfNature_GetKeyMacro_KEY") call SaveStr(P,0,354,"s__FolderUnit_StructVertexColor_GetKeyMacro_RED_KEY_ARRAY_DETAIL") +call SaveStr(P,0,$D0,"s__HeroSpell_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,$C4,"s__Multiboard_GetKeyMacro_ITEMS_KEY_ARRAY") call SaveStr(P,0,$B,"s__InitAbilityStruct_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,308,"s__FolderUnit_FolderItems_FolderEvents_StructMoveInInventory_GetKeyMacro_KEY") +call SaveStr(P,0,$EC,"s__Trigger_GetKeyMacro_KEY") call SaveStr(P,0,372,"s__FolderUnit_FolderMovement_FolderEvents_StructInterval_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,401,"s__FolderUnitModSet_StructBoolMods_GetKeyMacro_KEY_ARRAY_DETAIL_VAL") call SaveStr(P,0,268,"s__FolderUnit_FolderAbilities_StructCooldown_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,35,"s__FolderDestructableType_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,290,"s__FolderUnit_FolderBuffs_StructTimed_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,282,"s__FolderUnit_FolderBuffs_FolderTimed_StructCountdown_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,52,"s__FolderDialog_StructButtons_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,553,"s__SpawnType_GetKeyMacro_KEY") +call SaveStr(P,0,543,"s__FolderSpawnWave_StructGroups_GetKeyMacro_TIMER_KEY_ARRAY_DETAIL") call SaveStr(P,0,60,"s__Dialog_GetKeyMacro_PLAYER_CUR_SHOWN_KEY_ARRAY") call SaveStr(P,0,406,"s__FolderUnitModSet_StructCustomMods_GetKeyMacro_B_MODS_VAL_KEY") call SaveStr(P,0,$C8,"s__AILetOff_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$84,"s__FolderLightning_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,20,"s__memtableteststruct_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$E4,"s__FolderUbersplat_FolderColor_StructTimed_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,493,"s__Drop_GetKeyMacro_TAG_KEY_ARRAY") call SaveStr(P,0,264,"s__FolderUnit_FolderEvent_StructCounted_GetKeyMacro_KEY_ARRAY_DETAIL") +call SaveStr(P,0,$E2,"s__FolderUbersplat_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,605,"s__Lariat_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,603,"s__FolderSummonPolarBear_StructSummon_GetKeyMacro_KEY") call SaveStr(P,0,$8E,"s__FolderLightning_StructFromSpotToDummyUnit_GetKeyMacro_KEY") +call SaveStr(P,0,599,"s__FolderPandaPaw_FolderArrival_StructTarget_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,568,"s__FolderCleaver_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,597,"s__FolderPandaPaw_FolderArrival_StructTarget_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,595,"s__NurturingGrounds_GetKeyMacro_KEY") call SaveStr(P,0,593,"s__FolderInfection_StructSummon_GetKeyMacro_KEY") call SaveStr(P,0,591,"s__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,589,"s__HandOfNature_GetKeyMacro_SUMMONS_KEY_ARRAY") call SaveStr(P,0,583,"s__FairyShape_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,513,"s__FolderLevelSet_StructId_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,378,"s__FolderUnit_FolderMovement_StructEvents_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,576,"s__GhostSword_GetKeyMacro_SWORDS_KEY_ARRAY") call SaveStr(P,0,16,"s__Event_GetKeyMacro_STATICS_PARENT_KEY") call SaveStr(P,0,555,"s__Tomes_GetKeyMacro_KEY") +call SaveStr(P,0,50,"s__FolderDialog_StructButtons_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,70,"s__FolderSpotEffect_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,517,"s__FolderLevel_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,'r',"s__FolderItem_StructAbilities_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,320,"s__FolderUnit_FolderAttack_StructSplash_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,314,"s__FolderUnit_FolderAttack_FolderEvents_StructGround_GetKeyMacro_KEY") +call SaveStr(P,0,426,"s__FolderUnitType_FolderAttack_StructSplash_GetKeyMacro_DAMAGE_KEY_ARRAY") +call SaveStr(P,0,$C2,"s__MultiboardItem_GetKeyMacro_KEY") call SaveStr(P,0,$E7,"s__TriggerTimer_GetKeyMacro_KEY") call SaveStr(P,0,$E6,"s__FolderTriggerTimer_StructId_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,350,"s__FolderUnit_StructVertexColor_GetKeyMacro_KEY") call SaveStr(P,0,577,"s__FolderVividMeteor_StructEffects_GetKeyMacro_DUMMY_UNITS_KEY_ARRAY") +call SaveStr(P,0,395,"s__Unit_GetKeyMacro_HEAL_KEY_ARRAY") call SaveStr(P,0,575,"s__Fireburst_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$8A,"s__FolderLightning_StructFromDummyUnitToUnit_GetKeyMacro_KEY") +call SaveStr(P,0,572,"s__Artifact_GetKeyMacro_KEY") call SaveStr(P,0,429,"s__UnitType_GetKeyMacro_KEY") call SaveStr(P,0,570,"s__Realplex_GetKeyMacro_KEY") call SaveStr(P,0,22,"s__FolderBuff_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$98,"s__FolderLightning_StructFromUnitToUnit_GetKeyMacro_KEY") call SaveStr(P,0,$C0,"s__FolderMissile_StructGoToUnit_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,441,"s__FolderUser_FolderKeyEvent_StructDownArrow_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,94,"s__FolderEventCombination_FolderPeriodic_StructSubjectsA_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,567,"s__FuzzyAttack_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,40,"s__FolderDestructable_StructTimedLife_GetKeyMacro_KEY") +call SaveStr(P,0,'|',"s__FolderItemType_StructClasses_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,31,"s__FolderBuff_StructUnitModSets_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,565,"s__ChaosBall_GetKeyMacro_KEY") +call SaveStr(P,0,421,"s__FolderUnitType_StructAttachments_GetKeyMacro_ATTACH_POINT_KEY_ARRAY") call SaveStr(P,0,563,"s__Aura_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,400,"s__FolderUnitModSet_StructBoolMods_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,$BC,"s__FolderMissile_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,33,"s__Buff_GetKeyMacro_INIT_KEY_ARRAY") call SaveStr(P,0,292,"s__FolderUnit_StructBuffs_GetKeyMacro_EFFECTS_KEY") call SaveStr(P,0,557,"s__Waypoint_GetKeyMacro_KEY") call SaveStr(P,0,549,"s__FolderSpawnType_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,547,"s__FolderSpawn_StructShadow_GetKeyMacro_KEY") call SaveStr(P,0,$B8,"s__DummyUnit_GetKeyMacro_KEY") +call SaveStr(P,0,541,"s__FolderSpawnWave_StructGroups_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,539,"s__FolderSpawnWave_StructGroups_GetKeyMacro_DELAY_KEY_ARRAY_DETAIL") call SaveStr(P,0,537,"s__FolderSpawnWave_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$D,"s__FolderEvent_StructId_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,$92,"s__FolderLightning_StructFromSpotToSpot_GetKeyMacro_KEY") call SaveStr(P,0,419,"s__FolderUnitType_FolderAbilities_StructArrayBuild_GetKeyMacro_LEVEL_KEY_ARRAY_DETAIL") call SaveStr(P,0,529,"s__FolderSpawnGroup_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,36,"s__DestructableType_GetKeyMacro_KEY") call SaveStr(P,0,525,"s__TeleportScroll_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,523,"s__Meat_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,'n',"s__FolderItem_StructClasses_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,580,"s__Cyclone_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,449,"s__FolderUser_FolderKeyEvent_StructRightArrow_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,515,"s__FolderLevelSet_StructLevels_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,511,"s__FolderInfoboard_StructUser_GetKeyMacro_KEY") call SaveStr(P,0,$80,"s__ItemType_GetKeyMacro_INIT_KEY_ARRAY") call SaveStr(P,0,416,"s__BuffRef_GetKeyMacro_KEY") call SaveStr(P,0,$E8,"s__FolderTimer_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,503,"s__HeroRevival_GetKeyMacro_KEY") call SaveStr(P,0,501,"s__GoldCoin_GetKeyMacro_AMOUNT_KEY") call SaveStr(P,0,382,"s__FolderUnit_FolderOrder_FolderEvents_StructIdle_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,342,"s__FolderUnit_FolderScale_StructTimed_GetKeyMacro_STATE_SCALE_KEY") call SaveStr(P,0,'l',"s__FolderItem_StructId_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,475,"s__CreepSet_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,30,"s__FolderBuff_StructUnitMods_GetKeyMacro_KEY_ARRAY_DETAIL_VAL") +call SaveStr(P,0,495,"s__Drop_GetKeyMacro_HEAL_TAG_KEY_ARRAY") call SaveStr(P,0,491,"s__Difficulty_GetKeyMacro_KEY") call SaveStr(P,0,443,"s__FolderUser_FolderKeyEvent_StructLeftArrow_GetKeyMacro_KEY") +call SaveStr(P,0,533,"s__SpawnGroup_GetKeyMacro_TYPE_AMOUNT_KEY_ARRAY_DETAIL") call SaveStr(P,0,$F8,"s__Translation_GetKeyMacro_KEY") call SaveStr(P,0,397,"s__Unit_GetKeyMacro_HEAL_MANA_KEY_ARRAY") call SaveStr(P,0,$86,"s__FolderLightning_FolderColor_StructTimed_GetKeyMacro_KEY") call SaveStr(P,0,433,"s__PlayerSlotState_GetKeyMacro_KEY") call SaveStr(P,0,479,"s__DefenderSpawnType_GetKeyMacro_KEY") +call SaveStr(P,0,473,"s__CreepSet_GetKeyMacro_CREEP_KEY_ARRAY") call SaveStr(P,0,37,"s__DestructableType_GetKeyMacro_INIT_KEY_ARRAY") call SaveStr(P,0,90,"s__FolderEventCombination_StructEvents_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$8C,"s__FolderLightning_StructFromDummyUnitToUnit_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,463,"s__Initialization_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,346,"s__FolderUnit_FolderVertexColor_StructTimed_GetKeyMacro_KEY") call SaveStr(P,0,434,"s__PlayerSlotState_GetKeyMacro_PARENT_KEY") call SaveStr(P,0,80,"s__UnitEffect_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,459,"s__WeatherType_GetKeyMacro_INIT_KEY_ARRAY") call SaveStr(P,0,$DA,"s__Spell_GetKeyMacro_ChannelTime_KEY_ARRAY_DETAIL") call SaveStr(P,0,455,"s__FolderUser_StructSlotState_GetKeyMacro_PLAYING_HUMANS_KEY") +call SaveStr(P,0,453,"s__FolderUser_FolderKeyEvent_StructUpArrow_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,'v',"s__FolderItemType_StructId_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,92,"s__FolderEventCombination_StructSubjects_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,437,"s__FolderUser_StructId_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,445,"s__FolderUser_FolderKeyEvent_StructLeftArrow_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$D7,"s__Spell_GetKeyMacro_RANGE_KEY_ARRAY_DETAIL") call SaveStr(P,0,489,"s__DefenderSpawnWave_GetKeyMacro_KEY") +call SaveStr(P,0,439,"s__FolderUser_FolderKeyEvent_StructDownArrow_GetKeyMacro_KEY") +call SaveStr(P,0,'z',"s__FolderItemType_StructAbilities_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,58,"s__Dialog_GetKeyMacro_PLAYER_CUR_SHOWN_KEY") call SaveStr(P,0,447,"s__FolderUser_FolderKeyEvent_StructRightArrow_GetKeyMacro_KEY") call SaveStr(P,0,436,"s__Team_GetKeyMacro_PARENT_KEY_ARRAY") +call SaveStr(P,0,435,"s__Team_GetKeyMacro_MEMBERS_KEY_ARRAY") call SaveStr(P,0,571,"s__SpiritWolves_GetKeyMacro_KEY") call SaveStr(P,0,579,"s__WarmthMagnetism_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,$EA,"s__FolderTrigger_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,98,"s__FolderEventCombination_StructPairs_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$9C,"s__FolderLightning_StructDestroyTimed_GetKeyMacro_KEY") call SaveStr(P,0,300,"s__FolderUnit_StructBuffs_GetKeyMacro_LOOP_SOUNDS_KEY") call SaveStr(P,0,425,"s__FolderUnitType_FolderAttack_StructSplash_GetKeyMacro_AREA_RANGE_KEY_ARRAY") +call SaveStr(P,0,424,"s__FolderUnitType_FolderAttack_FolderSplash_StructTargetFlag_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,376,"s__FolderUnit_FolderMovement_StructEvents_GetKeyMacro_KEY") call SaveStr(P,0,569,"s__FolderCleaver_StructWave_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,420,"s__FolderUnitType_FolderAbilities_StructHero_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,302,"s__FolderUnit_StructBuffs_GetKeyMacro_LOCAL_REFS_KEY") +call SaveStr(P,0,418,"s__FolderUnitType_FolderAbilities_StructArrayBuild_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,$F,"s__Event_GetKeyMacro_STATICS_KEY") call SaveStr(P,0,$C9,"s__Code_GetKeyMacro_SELF_TRIGGER_KEY") +call SaveStr(P,0,262,"s__FolderUnit_FolderEvent_StructCounted_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,417,"s__FolderUnitType_StructId_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,$9A,"s__FolderLightning_StructFromUnitToUnit_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,270,"s__FolderUnit_FolderAbilities_StructCooldown_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,29,"s__FolderBuff_StructUnitMods_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$CF,"s__HeroSpell_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,38,"s__FolderDestructable_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,34,"s__FolderCameraField_StructTimed_GetKeyMacro_KEY_ARRAY_DETAIL") +call SaveStr(P,0,403,"s__FolderUnitModSet_StructRealMods_GetKeyMacro_KEY_ARRAY_DETAIL_VAL") call SaveStr(P,0,380,"s__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructImmediate_GetKeyMacro_CANCEL_ITEM_USAGE_KEY_ARRAY") call SaveStr(P,0,54,"s__FolderDialog_StructButtons_GetKeyMacro_PARENT_KEY_ARRAY") call SaveStr(P,0,582,"s__Doppelganger_GetKeyMacro_KEY") call SaveStr(P,0,21,"s__BoolExpr_GetKeyMacro_KEY") call SaveStr(P,0,$BE,"s__FolderMissile_StructDummyUnit_GetKeyMacro_KEY") +call SaveStr(P,0,411,"s__FolderUnitModSet_StructCustomMods_GetKeyMacro_I_MODS_TABLE_KEY") call SaveStr(P,0,$E1,"s__UbersplatType_GetKeyMacro_INIT_KEY_ARRAY") call SaveStr(P,0,$7E,"s__ItemType_GetKeyMacro_KEY") call SaveStr(P,0,56,"s__Dialog_GetKeyMacro_KEY") +call SaveStr(P,0,$DC,"s__Spell_GetKeyMacro_ManaCost_KEY_ARRAY_DETAIL") call SaveStr(P,0,$AA,"s__FolderDummyUnit_StructDestruction_GetKeyMacro_KEY") +call SaveStr(P,0,$A2,"s__AICastSpell_GetKeyMacro_KEY") call SaveStr(P,0,409,"s__FolderUnitModSet_StructCustomMods_GetKeyMacro_S_MODS_VAL_KEY") call SaveStr(P,0,408,"s__FolderUnitModSet_StructCustomMods_GetKeyMacro_R_MODS_VAL_KEY") call SaveStr(P,0,$ED,"s__Trigger_GetKeyMacro_INIT_PARENT_KEY_ARRAY") +call SaveStr(P,0,$88,"s__FolderLightning_FolderColor_StructTimed_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,407,"s__FolderUnitModSet_StructCustomMods_GetKeyMacro_I_MODS_VAL_KEY") call SaveStr(P,0,390,"s__FolderUnit_FolderSelection_StructCircle_GetKeyMacro_KEY") call SaveStr(P,0,$D6,"s__Spell_GetKeyMacro_MANA_COST_KEY_ARRAY_DETAIL") call SaveStr(P,0,324,"s__FolderUnit_FolderDeath_StructProtection_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,$F7,"s__Translation_Id_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,527,"s__Rune_GetKeyMacro_KEY") call SaveStr(P,0,402,"s__FolderUnitModSet_StructRealMods_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,$E0,"s__TileType_GetKeyMacro_INIT_KEY_ARRAY") call SaveStr(P,0,360,"s__FolderUnit_StructVertexColor_GetKeyMacro_ALPHA_KEY_ARRAY_DETAIL") call SaveStr(P,0,$FA,"s__FolderUnitClass_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,62,"s__Dialog_GetKeyMacro_PLAYER_SHOWN_KEY") call SaveStr(P,0,'p',"s__FolderItem_StructAbilities_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$FE,"s__UnitTypePool_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$CA,"s__FolderRectangle_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,$CC,"s__Region_GetKeyMacro_KEY") call SaveStr(P,0,483,"s__DefenderSpawnGroup_GetKeyMacro_TYPES_KEY_ARRAY") call SaveStr(P,0,404,"s__FolderUnitModSet_StructCustomMods_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,574,"s__ElementalSpellToHero_GetKeyMacro_KEY") call SaveStr(P,0,344,"s__FolderUnit_FolderScale_StructTimed_GetKeyMacro_STATE_DURATION_KEY") +call SaveStr(P,0,$AC,"s__FolderDummyUnit_StructFollowDummyUnit_GetKeyMacro_KEY") +call SaveStr(P,0,286,"s__FolderUnit_FolderBuffs_StructTimed_GetKeyMacro_KEY") call SaveStr(P,0,392,"s__FolderUnit_StructSelection_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,561,"s__FolderAura_StructId_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,48,"s__FolderDialog_StructButtons_GetKeyMacro_KEY") +call SaveStr(P,0,$9E,"s__AIAutoCast_GetKeyMacro_KEY") call SaveStr(P,0,388,"s__FolderUnit_StructSpellVamp_GetKeyMacro_TEXT_TAG_KEY_ARRAY") +call SaveStr(P,0,384,"s__FolderUnit_FolderStun_StructCancel_GetKeyMacro_KEY") call SaveStr(P,0,509,"s__HeroSelection_GetKeyMacro_SOUNDS_KEY_ARRAY") call SaveStr(P,0,370,"s__FolderUnit_FolderMovement_FolderEvents_StructInterval_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,28,"s__FolderBuff_StructVariants_GetKeyMacro_PARENT_KEY_ARRAY") +call SaveStr(P,0,389,"s__FolderUnit_FolderStamina_StructExhaustion_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,284,"s__FolderUnit_FolderBuffs_FolderTimed_StructCountdown_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,$FC,"s__FolderUnitTypePool_StructId_GetKeyMacro_KEY_ARRAY") +call SaveStr(P,0,288,"s__FolderUnit_FolderBuffs_StructTimed_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,260,"s__FolderUnit_StructId_GetKeyMacro_PARENT_KEY_ARRAY") call SaveStr(P,0,461,"s__Initialization_GetKeyMacro_KEY") call SaveStr(P,0,$C7,"s__Order_GetKeyMacro_KEY") +call SaveStr(P,0,499,"s__SpearOfTheDefender_GetKeyMacro_KEY") call SaveStr(P,0,$E3,"s__FolderUbersplat_FolderColor_StructTimed_GetKeyMacro_KEY") call SaveStr(P,0,23,"s__FolderBuff_StructTargetEffects_GetKeyMacro_ATTACH_POINTS_KEY_ARRAY") +call SaveStr(P,0,$DB,"s__Spell_GetKeyMacro_Cooldown_KEY_ARRAY_DETAIL") call SaveStr(P,0,358,"s__FolderUnit_StructVertexColor_GetKeyMacro_BLUE_KEY_ARRAY_DETAIL") call SaveStr(P,0,356,"s__FolderUnit_StructVertexColor_GetKeyMacro_GREEN_KEY_ARRAY_DETAIL") call SaveStr(P,0,362,"s__FolderUnit_StructVertexColor_GetKeyMacro_STATE_RED_KEY") call SaveStr(P,0,$B4,"s__FolderDummyUnit_FolderVertexColor_StructTimed_GetKeyMacro_KEY") +call SaveStr(P,0,348,"s__FolderUnit_FolderVertexColor_StructTimed_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,'x',"s__FolderItemType_StructAbilities_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,465,"s__FolderAct_StructId_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,340,"s__FolderUnit_FolderScale_StructTimed_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,304,"s__FolderUnit_StructBuffs_GetKeyMacro_VARIANT_REFS_KEY") call SaveStr(P,0,27,"s__FolderBuff_StructVariants_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,338,"s__FolderUnit_FolderScale_StructTimed_GetKeyMacro_KEY") call SaveStr(P,0,$F3,"s__Knockback_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,487,"s__FolderDefenderSpawnWave_StructGroups_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,334,"s__FolderUnit_FolderMagicImmunity_StructSpellShield_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,467,"s__FolderAct_StructLevelSets_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,423,"s__FolderUnitType_StructAttachments_GetKeyMacro_PATH_KEY_ARRAY") call SaveStr(P,0,601,"s__FolderRazorBladeDrawBack_StructBlade_GetKeyMacro_CHECKPOINT_BOLT_KEY") call SaveStr(P,0,296,"s__FolderUnit_StructBuffs_GetKeyMacro_KEY_ARRAY_DETAIL") call SaveStr(P,0,$A8,"s__FolderDummyUnit_StructDestroyTimed_GetKeyMacro_KEY") call SaveStr(P,0,$96,"s__FolderLightning_StructFromSpotToUnit_GetKeyMacro_KEY_ARRAY") call SaveStr(P,0,42,"s__Destructable_GetKeyMacro_KEY") return true endfunction function Idx takes string EFx returns integer local integer VAx set UR=UR+1 set VAx=wR+1 +set wR=VAx set qR[VAx]=0 set WR[VAx]=EFx if(MR==F)then set MR=VAx set QR[0]=VAx else +set pR[tR]=VAx endif set pR[VAx]=F set SR[VAx]=tR set tR=VAx set sR[0]=VAx return VAx endfunction function IDx takes nothing returns boolean set uR=Idx(yR) return true endfunction function Ifx takes nothing returns boolean set WV=Idx(SV) return true endfunction function IFx takes nothing returns boolean set YR=Idx(zR) return true endfunction function Igx takes nothing returns boolean set ZR=Idx(vI) return true endfunction function IGx takes integer Rax,code c,string EFx returns nothing +local trigger t=CreateTrigger() local integer VUx call TriggerAddCondition(t,Condition(c)) +if(QV==null)then +set QV=InitHashtable() set iE=InitHashtable() set eI=InitHashtable() set aE=InitHashtable() endif set VUx=LoadInteger(QV,Rax,0)+1 call SaveInteger(QV,Rax,0,VUx) call SaveTriggerHandle(QV,Rax,VUx,t) +call SaveStr(aE,Rax,VUx,EFx) +call SaveInteger(iE,Rax,VUx,(GetHandleId(Condition((c))))) endfunction function Ihx takes code c,string EFx returns nothing +call IGx(mE,c,EFx) endfunction function IHx takes integer VFx returns integer set EI[VFx]=true +set XI[VFx]=false call V1x(OI) +return VFx endfunction function Ijx takes nothing returns integer local integer VFx if(rI==8190)then +call Vmx("LightningType_Allocation_allocCustom","call DebugEx(LightningType.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",iI+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(aI[(w)]==w)then set nI=nI+1 set VFx=nI else +set VFx=aI[(w)] set aI[(w)]=aI[aI[(w)]] endif set aI[VFx]=Z set VI[VFx]=1 call IHx(VFx) return VFx endfunction function IJx takes string Vdx returns integer local integer VFx=Ijx() set RI[(VFx)]=(Vdx) return VFx endfunction function Ikx takes nothing returns boolean set oI=IJx("OTes") return true endfunction function IKx takes nothing returns boolean call Ihx(function Ikx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Math.page\\Math.struct\\Shapes\\obj_testBolt_wc3bolt.j") +return true endfunction function Ilx takes nothing returns boolean set II=Idx(AI) return true endfunction function ILx takes code c,string EFx returns nothing +set tn=tn+1 set aV[tn]=CreateTrigger() set nV[tn]=(GetHandleId(Condition((c)))) +set VV[tn]=EFx call TriggerAddCondition(aV[tn],Condition(c)) endfunction function Imx takes real a,real b returns integer +local integer Vtx if(a==0)then +return 0 +endif set Vtx=0 loop +exitwhen(Pow(b,Vtx*1./ 10.)>=a) set Vtx=Vtx+$A endloop loop +exitwhen(Pow(b,Vtx*1./ 10.)<=a) set Vtx=Vtx-1 endloop return(Vtx/ $A) endfunction function IMx takes nothing returns nothing local integer VBx=bI +loop +exitwhen(VBx<0) set CI[VBx]=(Imx((VBx),(2))) +set VBx=VBx-1 set cI=cI+1 exitwhen(cI>500) +endloop if(VBx>F)then set bI=VBx set cI=0 +call Odx(function IMx) endif endfunction function Ipx takes nothing returns nothing set Le[0]="0" set Le[1]="1" set Le[2]="2" set Le[3]="3" set Le[4]="4" set Le[5]="5" set Le[6]="6" set Le[7]="7" set Le[8]="8" set Le[9]="9" set Le[$A]="A" set Le[$B]="B" set Le[$C]="C" set Le[$D]="D" set Le[$E]="E" set Le[$F]="F" endfunction function IPx takes nothing returns boolean local integer VBx=20 +loop +exitwhen(VBx<0) set NI[VBx]=(R2I((((Pow((((2))*1.),(((VBx))*1.))))*1.))) +set VBx=VBx-1 endloop set bI=BI set cI=0 +call Odx(function IMx) call Ipx() return true endfunction function Iqx takes nothing returns boolean call ILx(function IPx,"Math_Init") return true endfunction function IQx takes nothing returns boolean set dI=Idx(DI) return true endfunction function Isx takes nothing returns boolean set fI=Idx(FI) return true endfunction function ISx takes nothing returns boolean set gI=Idx(GI) return true endfunction function Itx takes nothing returns boolean set hI=Idx(HI) return true endfunction function ITx takes nothing returns boolean set jI=Idx(JI) return true endfunction function Iux takes nothing returns boolean set kI=Idx(KI) return true endfunction function IUx takes nothing returns boolean set lI=Idx(LI) return true endfunction function Iwx takes nothing returns boolean set mI=Idx(MI) return true endfunction function IWx takes nothing returns boolean set pI=Idx(PI) return true endfunction function Iyx takes nothing returns boolean set qI=Idx(QI) return true endfunction function IYx takes nothing returns boolean set sI=Idx(SI) return true endfunction function Izx takes nothing returns boolean set tI=Idx(TI) return true endfunction function IZx takes nothing returns boolean set uI=Idx(UI) return true endfunction function I_x takes nothing returns boolean set wI=Idx(WI) return true endfunction function I0x takes nothing returns boolean set YI=Idx(zI) return true endfunction function I1x takes nothing returns boolean set ZI=Idx(vA) return true endfunction function I2x takes nothing returns boolean set eA=Idx(M) return true endfunction function I3x takes nothing returns boolean set xA=Idx(oA) return true endfunction function I4x takes nothing returns boolean set rA=Idx(iA) return true endfunction function I5x takes nothing returns boolean set aA=Idx(nA) return true endfunction function I6x takes nothing returns boolean set VA=Idx(EA) return true endfunction function I7x takes nothing returns boolean set XA=Idx(OA) return true endfunction function I8x takes nothing returns nothing endfunction function I9x takes integer VFx returns integer set BA[VFx]=true +set cA[VFx]=false call V1x(XA) +return VFx endfunction function Avx takes nothing returns integer local integer VFx if(IA==8190)then +call Vmx("DataTable_Allocation_allocCustom","call DebugEx(DataTable.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",OA+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(AA[(w)]==w)then set NA=NA+1 set VFx=NA else +set VFx=AA[(w)] set AA[(w)]=AA[AA[(w)]] endif set AA[VFx]=Z set bA[VFx]=1 call I9x(VFx) return VFx endfunction function Aex takes integer VFx returns integer set FA[VFx]=true +set gA[VFx]=false call V1x(wI) +return VFx endfunction function Axx takes nothing returns integer local integer VFx if(CA==8190)then +call Vmx("DataTableHead_Allocation_allocCustom","call DebugEx(DataTableHead.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",WI+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(dA[(w)]==w)then set DA=DA+1 set VFx=DA else +set VFx=dA[(w)] set dA[(w)]=dA[dA[(w)]] endif set dA[VFx]=Z set fA[VFx]=1 call Aex(VFx) return VFx endfunction function Aox takes integer VFx returns integer set JA[VFx]=true +set kA[VFx]=false call V1x(qI) +return VFx endfunction function Arx takes nothing returns integer local integer VFx if(GA==8190)then +call Vmx("HashTable_Allocation_allocCustom","call DebugEx(HashTable.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",QI+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(hA[(w)]==w)then set HA=HA+1 set VFx=HA else +set VFx=hA[(w)] set hA[(w)]=hA[hA[(w)]] endif set hA[VFx]=Z set jA[VFx]=1 call Aox(VFx) return VFx endfunction function Aix takes nothing returns integer local integer VFx=Arx() set o[VFx]=InitHashtable() return VFx endfunction function Aax takes integer VFx returns nothing set V[VFx]=Aix() +set KA[(VFx)]=Aix() endfunction function Anx takes integer VFx returns integer set pA[VFx]=true +set PA[VFx]=false call V1x(jI) +return VFx endfunction function AVx takes nothing returns integer local integer VFx if(lA==8190)then +call Vmx("GameCache_Allocation_allocCustom","call DebugEx(GameCache.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",JI+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(LA[(w)]==w)then set mA=mA+1 set VFx=mA else +set VFx=LA[(w)] set LA[(w)]=LA[LA[(w)]] endif set LA[VFx]=Z set MA[VFx]=1 call Anx(VFx) return VFx endfunction function AEx takes nothing returns integer local integer VFx=AVx() set Kv[VFx]=InitGameCache("bla") +return VFx endfunction function AXx takes nothing returns integer local integer VFx=Axx() call Aax(VFx) set lv[(VFx)]=AEx() return VFx endfunction function AOx takes integer VFx returns nothing set qA[VFx]=Aix() set QA[VFx]=Aix() set sA[VFx]=Aix() set SA[VFx]=Aix() set tA[VFx]=Aix() endfunction function ARx takes integer VFx returns nothing set D[VFx]=Aix() +set TA[VFx]=Aix() endfunction function AIx takes integer VFx returns nothing call AOx((VFx)) call ARx(VFx) endfunction function AAx takes nothing returns integer local integer VFx=Avx() set E[VFx]=AXx() +call AIx(VFx) set uA[(VFx)]=InitHashtable() return VFx endfunction function ANx takes nothing returns nothing local integer i set Ee=$A+F set i=Ee +loop +exitwhen(i<0) set Ve[i]=AAx() set i=i-1 endloop endfunction function Abx takes nothing returns boolean call Oqx("memory") call I8x() set RA=AAx() +set X=RA +call ANx() return true endfunction function ABx takes nothing returns boolean call ILx(function Abx,"DataTable_Init") return true endfunction function Acx takes nothing returns boolean set UA=Idx(wA) return true endfunction function ACx takes nothing returns boolean set WA=Idx(yA) return true endfunction function Adx takes nothing returns boolean set YA=Idx(zA) return true endfunction function ADx takes nothing returns boolean set ZA[(0)*7+(0)]=((1.)*1.) set ZA[(0)*7+(1)]=((1.35)*1.) set ZA[(0)*7+(2)]=((1.)*1.) set ZA[(0)*7+(3)]=((.7)*1.) set ZA[(0)*7+(4)]=((1.)*1.) set ZA[(0)*7+(5)]=((1.)*1.) set ZA[(0)*7+(6)]=((1.)*1.) set ZA[(1)*7+(0)]=((1.5)*1.) +set ZA[(1)*7+(1)]=((.7)*1.) set ZA[(1)*7+(2)]=((1.)*1.) set ZA[(1)*7+(3)]=((.35)*1.) +set ZA[(1)*7+(4)]=((.5)*1.) set ZA[(1)*7+(5)]=((1.35)*1.) set ZA[(1)*7+(6)]=((1.)*1.) set ZA[(2)*7+(0)]=((1.)*1.) set ZA[(2)*7+(1)]=((.65)*1.) +set ZA[(2)*7+(2)]=((1.)*1.) set ZA[(2)*7+(3)]=((1.5)*1.) +set ZA[(2)*7+(4)]=((.35)*1.) +set ZA[(2)*7+(5)]=((1.)*1.) set ZA[(2)*7+(6)]=((1.)*1.) set ZA[(3)*7+(0)]=((1.25)*1.) set ZA[(3)*7+(1)]=((.75)*1.) +set ZA[(3)*7+(2)]=((1.5)*1.) +set ZA[(3)*7+(3)]=((.35)*1.) +set ZA[(3)*7+(4)]=((.5)*1.) set ZA[(3)*7+(5)]=((1.)*1.) set ZA[(3)*7+(6)]=((1.)*1.) set ZA[(4)*7+(0)]=((1.)*1.) set ZA[(4)*7+(1)]=((1.)*1.) set ZA[(4)*7+(2)]=((1.)*1.) set ZA[(4)*7+(3)]=((1.)*1.) set ZA[(4)*7+(4)]=((1.)*1.) set ZA[(4)*7+(5)]=((1.)*1.) set ZA[(4)*7+(6)]=((1.)*1.) set ZA[(5)*7+(0)]=((1.)*1.) set ZA[(5)*7+(1)]=((1.)*1.) set ZA[(5)*7+(2)]=((1.)*1.) set ZA[(5)*7+(3)]=((1.)*1.) set ZA[(5)*7+(4)]=((1.)*1.) set ZA[(5)*7+(5)]=((1.)*1.) set ZA[(5)*7+(6)]=((1.)*1.) set ZA[(6)*7+(0)]=((1.)*1.) set ZA[(6)*7+(1)]=((1.)*1.) set ZA[(6)*7+(2)]=((1.)*1.) set ZA[(6)*7+(3)]=((.5)*1.) set ZA[(6)*7+(4)]=((1.)*1.) set ZA[(6)*7+(5)]=((1.)*1.) set ZA[(6)*7+(6)]=((1.)*1.) return true endfunction function Afx takes nothing returns boolean call ILx(function ADx,"Attack_Init") +return true endfunction function AFx takes nothing returns boolean set vN=Idx(eN) return true endfunction function Agx takes nothing returns boolean set xN=Idx(oN) return true endfunction function AGx takes nothing returns boolean set rN=Idx(iN) return true endfunction function Ahx takes nothing returns boolean set aN=Idx(nN) return true endfunction function AHx takes nothing returns boolean set VN=Idx(EN) return true endfunction function Ajx takes nothing returns boolean set XN=Idx(ON) return true endfunction function AJx takes nothing returns boolean set RN=Idx(IN) return true endfunction function Akx takes nothing returns boolean set AN=Idx(NN) return true endfunction function AKx takes nothing returns boolean set bN=Idx(BN) return true endfunction function Alx takes nothing returns boolean set cN=Idx(CN) return true endfunction function ALx takes nothing returns boolean set dN=Idx(DN) return true endfunction function Amx takes nothing returns boolean set fN=Idx(FN) return true endfunction function AMx takes nothing returns boolean set gN=Idx(GN) return true endfunction function Apx takes nothing returns boolean set hN=Idx(HN) return true endfunction function APx takes nothing returns boolean set jN=Idx(JN) return true endfunction function Aqx takes nothing returns boolean set kN=Idx(KN) return true endfunction function AQx takes nothing returns boolean set lN=Idx(LN) return true endfunction function Asx takes nothing returns boolean set mN=Idx(MN) return true endfunction function ASx takes nothing returns boolean set pN=Idx(PN) return true endfunction function Atx takes nothing returns boolean set qN=Idx(QN) return true endfunction function ATx takes nothing returns boolean set sN=Idx(SN) return true endfunction function Aux takes nothing returns boolean set tN=Idx(TN) return true endfunction function AUx takes nothing returns boolean set uN=Idx(UN) return true endfunction function Awx takes nothing returns boolean set wN=Idx(WN) return true endfunction function AWx takes nothing returns boolean set yN=Idx(YN) return true endfunction function Ayx takes nothing returns boolean set zN=Idx(ZN) return true endfunction function AYx takes nothing returns boolean set vb=Idx(eb) return true endfunction function Azx takes nothing returns boolean set xb=Idx(ob) return true endfunction function AZx takes nothing returns boolean set rb=Idx(ib) return true endfunction function A_x takes nothing returns boolean set ab=Idx(nb) return true endfunction function A0x takes nothing returns boolean set Vb=Idx(Eb) return true endfunction function A1x takes nothing returns boolean set Xb=Idx(Ob) return true endfunction function A2x takes nothing returns boolean set Rb=Idx(Ib) return true endfunction function A3x takes nothing returns boolean set iv=Idx(T) return true endfunction function A4x takes nothing returns boolean set Ab=Idx(Nb) return true endfunction function A5x takes nothing returns boolean set bb=Idx(Bb) return true endfunction function A6x takes nothing returns boolean set cb=Idx(Cb) return true endfunction function A7x takes nothing returns boolean set db=Idx(Db) return true endfunction function A8x takes nothing returns boolean set fb=Idx(Fb) return true endfunction function A9x takes nothing returns boolean set gb=Idx(Gb) return true endfunction function Nvx takes nothing returns boolean set hb=Idx(Hb) return true endfunction function Nex takes nothing returns boolean set jb=Idx(Jb) return true endfunction function Nxx takes nothing returns boolean set kb=Idx(Kb) return true endfunction function Nox takes code c,string EFx returns nothing +set gV=gV+1 set GV[gV]=CreateTrigger() set hV[gV]=(GetHandleId(Condition((c)))) +set HV[gV]=EFx call TriggerAddCondition(GV[gV],Condition(c)) endfunction function Nrx takes integer VFx returns integer set Pb[VFx]=true +set qb[VFx]=false call V1x(bb) +return VFx endfunction function Nix takes nothing returns integer local integer VFx if(Lb==8190)then +call Vmx("EventType_Allocation_allocCustom","call DebugEx(EventType.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Bb+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(mb[(w)]==w)then set Mb=Mb+1 set VFx=Mb else +set VFx=mb[(w)] set mb[(w)]=mb[mb[(w)]] endif set mb[VFx]=Z set pb[VFx]=1 call Nrx(VFx) return VFx endfunction function Nax takes integer VFx returns integer set wb[VFx]=true +set Wb[VFx]=false call V1x(Ab) +return VFx endfunction function Nnx takes nothing returns integer local integer VFx if(tb==8190)then +call Vmx("EventPriority_Allocation_allocCustom","call DebugEx(EventPriority.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Nb+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(Tb[(w)]==w)then set ub=ub+1 set VFx=ub else +set VFx=Tb[(w)] set Tb[(w)]=Tb[Tb[(w)]] endif set Tb[VFx]=Z set Ub[VFx]=1 call Nax(VFx) return VFx endfunction function NVx takes integer VFx returns boolean set Xv=Xv+1 set Ov[Xv]=VFx set Yb[VFx]=Xv+1 +return(Xv==0) endfunction function NEx takes string EFx returns integer local integer VFx=Nnx() set yb[(VFx)]=(EFx) call NVx(VFx) return VFx endfunction function NXx takes nothing returns nothing set Sb=NEx("Header") +set zb=NEx("HeaderTop") set Zb=NEx("Combination") set vB=NEx("AI") +set eB=NEx("Events") +set xB=NEx("Content") set oB=NEx("Content2") set rB=xB set iB=xB set aB=oB set nB=xB set VB=xB set EB=xB set Iv=Xv+1 endfunction function NOx takes nothing returns boolean local integer i set lb=(Nix()) set Qb=$A+F set i=Qb +loop +exitwhen(i<0) set sb[i]=AAx() set i=i-1 endloop call NXx() set KR=(Nix()) return true endfunction function NRx takes nothing returns boolean call Nox(function NOx,"Event_Init") return true endfunction function NIx takes nothing returns boolean set XB=Idx(OB) return true endfunction function NAx takes code c,string EFx returns nothing +set eX=eX+1 set xX[eX]=CreateTrigger() set oX[eX]=(GetHandleId(Condition((c)))) +set rX[eX]=EFx call TriggerAddCondition(xX[eX],Condition(c)) endfunction function NNx takes integer VFx returns integer set BB[VFx]=true +set cB[VFx]=false call V1x(CB) +return VFx endfunction function Nbx takes nothing returns integer local integer VFx if(RB==8190)then +call Vmx("CommandHeader_Allocation_allocCustom","call DebugEx(CommandHeader.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",IB+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(AB[(w)]==w)then set NB=NB+1 set VFx=NB else +set VFx=AB[(w)] set AB[(w)]=AB[AB[(w)]] endif set AB[VFx]=Z set bB[VFx]=1 call NNx(VFx) return VFx endfunction function NBx takes integer VFx returns integer set gB[VFx]=true +set GB[VFx]=false set hB[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(kb) +return VFx endfunction function Ncx takes nothing returns integer local integer VFx if(dB==8190)then +call Vmx("Event_Allocation_allocCustom","call DebugEx(Event.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Kb+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(DB[(w)]==w)then set fB=fB+1 set VFx=fB else +set VFx=DB[(w)] set DB[(w)]=DB[DB[(w)]] endif set DB[VFx]=Z set FB[VFx]=1 call NBx(VFx) return VFx endfunction function NCx takes integer VFx returns nothing set kB[(VFx)]=(lB+VFx) endfunction function Ndx takes integer VFx returns nothing set LB[VFx]=false set mB[VFx]=0 set MB[VFx]=null +endfunction function NDx takes nothing returns integer local integer VFx=Ncx() set hv[VFx]=w set cv[(VFx)]=(w) set HB[(VFx)]=(0) set jB[(VFx)]=(w) set JB[(VFx)]=(w) call NCx(VFx) call Ndx(VFx) return VFx endfunction function Nfx takes integer VFx returns integer set sB[VFx]=true +set SB[VFx]=false set tB[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(TB) +return VFx endfunction function NFx takes nothing returns integer local integer VFx if(pB==8190)then +call Vmx("Trigger_Allocation_allocCustom","call DebugEx(Trigger.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Dv+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(PB[(w)]==w)then set qB=qB+1 set VFx=qB else +set VFx=PB[(w)] set PB[(w)]=PB[PB[(w)]] endif set PB[VFx]=Z set QB[VFx]=1 call Nfx(VFx) return VFx endfunction function Ngx takes integer VFx returns nothing set yB[(VFx)]=(zB+VFx) endfunction function NGx takes nothing returns integer local integer VFx=NFx() local trigger Vdx=CreateTrigger() set dv[VFx]=null +set fv[VFx]=0 set Gv[VFx]=null +set uB[VFx]=null +set Fv[VFx]="default" set gv[VFx]=null +set UB[VFx]=Vdx call SaveInteger(o[((V[(E[(((X)))])]))],(((GetHandleId((Vdx))))),((((WB)))),((((VFx))))) +call Ngx(VFx) call TriggerAddCondition(Vdx,ZB) +set Vdx=null +return VFx endfunction function Nhx takes string EFx returns integer local integer VFx=NGx() set Fv[VFx]=EFx return VFx endfunction function NHx takes integer VFx returns nothing endfunction function Njx takes integer VFx,integer Vgx,integer Vhx returns nothing call SaveInteger(o[((V[(E[((tB[(VFx)]))])]))],((((yB[((VFx))])))),(((Vgx))),(((Vhx)))) endfunction function NJx takes integer VFx,code Vhx returns nothing if(Vhx==null)then return endif set dv[VFx]=CreateTrigger() set fv[VFx]=(GetHandleId(Condition((Vhx)))) set gv[VFx]=(I2S(((GetHandleId(Condition((Vhx))))))) +if(Gv[VFx]!=null)then set Gv[VFx]=Gv[VFx]+";" endif set Gv[VFx]=Gv[VFx]+(LoadStr(j,(GetHandleId(Condition(((Vhx))))),0)) +call SaveInteger(o[((V[(E[(((X)))])]))],(((GetHandleId((dv[VFx]))))),((((WB)))),((((VFx))))) +call TriggerAddCondition(dv[VFx],Condition(Vhx)) +endfunction function Nkx takes integer VFx,code XEx returns nothing local integer NKx=(hv[(VFx)]) if(NKx!=w)then call NHx(NKx) endif call Njx(NKx,xc,VFx) +call NJx(NKx,XEx) endfunction function Nlx takes string EFx,integer V7x,integer V8x,code XEx returns integer local integer VFx=NDx() local integer NKx=Nhx(EFx) set hv[VFx]=NKx set cv[(VFx)]=(w) set HB[(VFx)]=((1+8192*(((V7x)-1)*Iv+((V8x)-1)))) set vc[(VFx)]=(EFx) set jB[(VFx)]=(V8x) set JB[(VFx)]=(V7x) call Nkx(VFx,XEx) return VFx endfunction function NLx takes string Vdx,integer Nmx returns integer local integer Vsx=S2I(Vdx) if(Vdx=="0")then +return Vsx endif if(Vsx==0)then return Nmx endif return Vsx endfunction function NMx takes string Vdx,integer Etx returns string +return ESx(Vdx,Etx,((StringLength(((Vdx))))-1)) endfunction function Npx takes string Vdx,integer ETx returns string +return ESx(Vdx,0,ETx) endfunction function NPx takes integer VFx,integer Eix returns nothing set bv=(Eix) +call Eox(VFx) endfunction function Nqx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer VFx=Edx((ic[(Eix)]),ac) local integer NQx=EUx(EQx,"^",0) +local integer Nsx if(NQx!=Qv)then set Nsx=NLx(NMx(EQx,NQx+1),0) set rc[(Eix)]=(Npx(EQx,NQx-1)) call Oqx("repeat "+I2S(Nsx)+": "+EQx) loop +exitwhen(Nsx<1) call NPx(nc[VFx],Eix) set Nsx=Nsx-1 endloop return true endif call Eox(nc[VFx]) return true endfunction function NSx takes code NKx returns integer local integer VFx if(NKx==null)then return w +endif set VFx=Nhx((LoadStr(j,(GetHandleId(Condition(((NKx))))),0))) call NJx(VFx,NKx) return VFx endfunction function Ntx takes code NKx returns integer local integer NTx=(GetHandleId(Condition((NKx)))) local integer VFx=(LoadInteger(o[((Vc))],(NTx),(Xc))) if(VFx==0)then call SaveInteger(o[((Vc))],(NTx),(Xc),(VFx)) +return NSx(NKx) endif return VFx endfunction function Nux takes integer VFx,string Vux,string Vgx,integer Vhx returns nothing +if((Vux==null)or(Vgx==null))then +call Vmx("FolderGameCache_StructInteger_Set","call DebugEx(\"GameCache Set: \"+missionKey+\";\"+key)","GameCache Set: "+Vux+";"+Vgx) +return endif call StoreInteger(Kv[(VFx)],Vux,Vgx,Vhx) +endfunction function NUx takes string EDx,integer Vgx,integer Vhx returns nothing call Nux(lv[(E[((X))])],((EDx)),(((I2S((Vgx))))),((Vhx))) endfunction function Nwx takes integer VFx returns integer set cc[VFx]=true +set Cc[VFx]=false call V1x(dc) +return VFx endfunction function NWx takes nothing returns integer local integer VFx if(Ic==8190)then +call Vmx("BoolExpr_Allocation_allocCustom","call DebugEx(BoolExpr.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Ac+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Nc[(w)]==w)then set bc=bc+1 set VFx=bc else +set VFx=Nc[(w)] set Nc[(w)]=Nc[Nc[(w)]] endif set Nc[VFx]=Z set Bc[VFx]=1 call Nwx(VFx) return VFx endfunction function Nyx takes code NYx returns integer local integer Nzx=(GetHandleId(Condition((NYx)))) local integer VFx=(LoadInteger(o[((Oc))],(Nzx),(Rc))) if(VFx==0)then set VFx=NWx() set Bv[VFx]=Condition(NYx) call SaveInteger(o[((Oc))],(Nzx),(Rc),(VFx)) +endif return VFx endfunction function NZx takes string Vdx,string Vhx,integer VAx returns integer +local integer VBx=0-1 local integer Ewx=((StringLength(((Vdx))))-1) local integer EWx=(StringLength((Vhx))) loop +exitwhen(VAx<0) set VBx=VBx+1 loop +if(VBx+EWx-1>Ewx)then return Qv endif exitwhen(ESx(Vdx,VBx,VBx+EWx-1)!=Vhx) set VBx=VBx+1 endloop set VAx=VAx-1 endloop return VBx endfunction function N_x takes string Vdx,integer VAx returns string +local integer Vyx=NZx(Vdx," ",0) +local boolean N0x if(Vyx==Qv)then return null endif set Vdx=NMx(Vdx,Vyx) +set Vyx=EUx(Vdx," ",0) if(VAx==0)then if(Vyx==Qv)then return Vdx endif return(ESx((Vdx),0,(Vyx-1))) +elseif(Vyx==Qv)then return null endif set N0x=false set VAx=VAx-1 loop +set Vdx=NMx(Vdx,Vyx) +set Vyx=NZx(Vdx," ",0) if(Vyx==Qv)then return null endif if(ESx(Vdx,Vyx,Vyx)=="\"")then set Vdx=NMx(Vdx,Vyx+1) set Vyx=EUx(Vdx,"\"",0) set N0x=true +else +set Vdx=NMx(Vdx,Vyx) +set Vyx=EUx(Vdx," ",0) endif if(VAx==0)then if(Vyx==Qv)then return Vdx endif return(ESx((Vdx),0,(Vyx-1))) +elseif(Vyx==Qv)then return null endif set VAx=VAx-1 exitwhen(VAx<0) if N0x then set N0x=false set Vyx=Vyx+1 endif endloop return null endfunction function N1x takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local string N2x=(ic[(Eix)]) +local boolean Vtx=(N_x(EQx,0)==N2x) local string array N3x local integer N4x local string N5x +if Vtx then set N4x=0 set N5x=null +loop +exitwhen(N_x(EQx,N4x+1)==null) set N4x=N4x+1 set N3x[F+N4x]=N_x(EQx,N4x) if(N4x==1)then set N5x=N3x[F+N4x] else +set N5x=N5x+" "+N3x[F+N4x] endif endloop if(N5x==null)then call Oqx("execute "+N2x) +else +call Oqx("execute "+N2x+" with "+N5x) endif endif return Vtx return true endfunction function N6x takes integer VFx,string Vux,string Vgx,integer Vhx returns boolean +local integer VUx=(Dc+(ECx(lv[(E[((VFx))])],((Vux)),((Vgx)))))+1 +call Nux(lv[(E[(VFx)])],(Vux),(Vgx),(VUx-Dc)) call Nux(lv[(E[(VFx)])],(Vux),(Vgx+I2S(Dc+VUx+2)),(Vhx)) +return(VUx==0) endfunction function N7x takes integer VFx,string Vdx,integer N8x returns nothing call N6x(X,(Vdx),(I2S((((HB[(N8x)]))))),(N8x)) endfunction function N9x takes string EQx,code bvx returns nothing local integer VFx=Nbx() local integer N8x=Nlx("CommandHeader_RegisterEvent: local Event whichEvent = Event.Create(User.CHAT_EVENT_TYPE, EventPriority.MISC, function CommandHeader.Event_Chat)",oc,iB,function Nqx) set nc[VFx]=Ntx(bvx) +call NUx(EQx,ac,VFx) +set cv[(N8x)]=(Nyx(function N1x)) call N7x(fc,EQx,N8x) +endfunction function bex takes real x,real y returns real call MoveLocation(kc[(Kc)],((x)*1.),((y)*1.)) return(GetLocationZ(kc[(Kc)])) endfunction function bxx takes integer VFx,real x,real y,real z returns nothing if Fc[VFx]then set x=x-(StringLength((jc[(VFx)])))*1./ 2*16.5 endif call SetTextTagPos(Jc[(VFx)],x,y,z-bex(x,y)) +endfunction function box takes integer VFx,real x,real y,real z returns nothing set Gc[VFx]=x set hc[VFx]=y set Hc[VFx]=z call bxx(VFx,x,y,z) endfunction function brx takes integer VFx returns nothing call box(VFx,Gc[VFx],hc[VFx],Hc[VFx]) endfunction function bix takes integer VFx returns nothing set Fc[VFx]=true +call brx(VFx) endfunction function bax takes integer VFx returns integer set sc[VFx]=true +set Sc[VFx]=false call V1x(tc) +return VFx endfunction function bnx takes nothing returns integer local integer VFx if(Mc==8190)then +call Vmx("TextTag_Allocation_allocCustom","call DebugEx(TextTag.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",pc+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(Pc[(w)]==w)then set qc=qc+1 set VFx=qc else +set VFx=Pc[(w)] set Pc[(w)]=Pc[Pc[(w)]] endif set Pc[VFx]=Z set Qc[VFx]=1 call bax(VFx) return VFx endfunction function bVx takes integer VFx returns nothing set Uc[VFx]=$FF set wc[VFx]=$FF set Wc[VFx]=$FF set yc[VFx]=$FF endfunction function bEx takes integer VFx returns nothing set Fc[VFx]=false call box(VFx,.0,.0,.0) endfunction function bXx takes integer id returns integer local integer VFx if((id!=0)and((LoadInteger(o[((V[(E[((X))])]))],(((Lc))),(((id)))))!=w))then +return w +endif if(mc=='d')then call Vmx("TextTag_Create","call DebugEx(TextTag.Create.name + \": limit exceeded\")","s__TextTag_Create: limit exceeded") return w +endif set mc=mc+1 set VFx=bnx() set Tc[VFx]=id set Jc[VFx]=CreateTextTag() call SaveInteger(o[((V[(E[((X))])]))],(((Lc))),(((id))),(((VFx)))) set uc[VFx]=.0 call bVx(VFx) set Yc[(VFx)]="" +call bEx(VFx) return VFx endfunction function bOx takes string Vdx returns string +local integer VAx=EUx(Vdx,"|c",0) if(VAx!=Qv)then return bOx((ESx((Vdx),0,(VAx-1)))+NMx(Vdx,VAx+(StringLength(("|c")))+8)) +endif set VAx=EUx(Vdx,"|r",0) if(VAx!=Qv)then return bOx((ESx((Vdx),0,(VAx-1)))+NMx(Vdx,VAx+(StringLength(("|r"))))) endif return Vdx endfunction function bRx takes integer VFx,string Xox,real bIx returns nothing set xC[VFx]=bIx set jc[VFx]=bOx(Xox) +set Yc[VFx]=Xox call SetTextTagText(Jc[(VFx)],Xox,bIx) call brx((VFx)) endfunction function bAx takes integer VFx returns boolean set oC=oC+1 set rC[oC]=VFx set iC[VFx]=oC+1 +return(oC==0) endfunction function bNx takes integer VFx,real z returns nothing set Hc[VFx]=z call bxx(VFx,Gc[VFx],hc[VFx],z) endfunction function bbx takes integer VFx,real z returns nothing call bNx(VFx,(Hc[(VFx)])+z) endfunction function bBx takes nothing returns nothing local integer VBx=oC +local integer VFx loop +set VFx=rC[VBx] call bbx((VFx),zc[VFx]) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function bcx takes integer VFx returns boolean local integer VAx=(iC[(VFx)]) set iC[rC[oC]]=VAx set rC[VAx-1]=rC[oC] +set iC[VFx]=0 set oC=oC-1 return(oC==F) endfunction function bCx takes integer VFx,integer Xrx returns nothing set eC[VFx]=false call Xbx(Xrx) if bcx(VFx)then call XNx(aC) +endif endfunction function bdx takes integer VFx returns boolean local integer VAx=(VC[(VFx)]) set VC[EC[XC]]=VAx set EC[VAx-1]=EC[XC] +set VC[VFx]=0 set XC=XC-1 return(XC==F) endfunction function bDx takes integer VFx,integer Xrx returns nothing set nC[VFx]=false call Xbx(Xrx) if bdx(VFx)then call XNx(OC) +endif endfunction function bfx takes integer VFx returns nothing if nC[VFx]then call bDx(VFx,RC[VFx]) endif endfunction function bFx takes integer VFx returns boolean local integer VAx=(AC[(VFx)]) set AC[NC[bC]]=VAx set NC[VAx-1]=NC[bC] +set AC[VFx]=0 set bC=bC-1 return(bC==F) endfunction function bgx takes integer VFx,integer Xrx returns nothing set IC[VFx]=false call Xbx(Xrx) if bFx(VFx)then call XNx(BC) +endif endfunction function bGx takes integer VFx returns nothing if IC[VFx]then call bgx(VFx,cC[VFx]) endif endfunction function bhx takes integer VFx returns nothing if eC[VFx]then call bCx(VFx,vC[VFx]) endif endfunction function bHx takes integer VFx returns boolean local integer VAx=(CC[(VFx)]) set CC[dC[DC]]=VAx set dC[VAx-1]=dC[DC] +set CC[VFx]=0 set DC=DC-1 return(DC==F) endfunction function bjx takes integer VFx returns nothing if bHx(VFx)then call XNx(fC) +endif endfunction function bJx takes integer VFx returns nothing if((CC[((VFx))])>0)then call bjx(VFx) endif endfunction function bkx takes integer VFx returns nothing set sc[VFx]=false call EEx(tc) +endfunction function bKx takes integer VFx returns nothing if(Qc[VFx]>0)then return endif if(Pc[VFx]!=Z)then call Vmx("TextTag_Allocation_deallocCustom_confirm","call DebugEx(TextTag.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",pc+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Pc[VFx]=Pc[(w)] set Pc[(w)]=VFx call bkx(VFx) endfunction function blx takes integer VFx returns nothing set Qc[VFx]=Qc[VFx]-1 call bKx(VFx) endfunction function bLx takes integer VFx returns nothing local integer id=Tc[VFx] +local texttag Vdx=Jc[VFx] set mc=mc-1 call bfx(VFx) call bGx(VFx) call bhx(VFx) call bJx(VFx) call blx((VFx)) call DestroyTextTag(Vdx) +call SaveInteger(o[(((V[(E[((X))])])))],((((Lc)))),((((id)))),(0)) set Vdx=null +endfunction function bmx takes nothing returns nothing local integer Xrx=XXx() local integer VFx=(ge[(Xrx)]) call bCx(VFx,Xrx) call bLx((VFx)) endfunction function bMx takes integer VFx returns boolean set DC=DC+1 set dC[DC]=VFx set CC[VFx]=DC+1 +return(DC==0) endfunction function bpx takes integer VFx returns boolean return((CC[((VFx))])>0) endfunction function bPx takes integer VFx returns nothing if bpx((VFx))then call SetTextTagColor(Jc[(VFx)],(R2I(((Uc[VFx])*1.))),(R2I(((wc[VFx])*1.))),(R2I(((Wc[VFx])*1.))),(R2I((((GC[((VFx))]))*1.)))) else +call SetTextTagColor(Jc[(VFx)],(R2I(((Uc[VFx])*1.))),(R2I(((wc[VFx])*1.))),(R2I(((Wc[VFx])*1.))),(R2I(((yc[VFx])*1.)))) endif endfunction function bqx takes nothing returns nothing local integer VBx=DC +local integer VFx local real bQx loop +set VFx=dC[VBx] set bQx=GC[VFx]+FC[VFx] set GC[VFx]=bQx call bPx((VFx)) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function bsx takes integer VFx,real Xdx returns nothing set FC[VFx]=-$FF*1./ Xdx*gC set GC[VFx]=$FF call SetTextTagPermanent(Jc[(VFx)],false) if bMx(VFx)then call Xax(fC,gC,true,function bqx) endif endfunction function bSx takes nothing returns nothing local integer VFx=(ge[(XXx())]) call Xbx(hC[(VFx)]) call bsx((VFx),HC[VFx]) endfunction function btx takes integer VFx,real bTx,real bux returns nothing +local integer bUx if(bTx<=.0)then call bsx((VFx),bux) return endif set bUx=E5x() set hC[VFx]=bUx set HC[VFx]=bux-bTx set ge[(bUx)]=(VFx) call Xax(bUx,bTx,false,function bSx) +endfunction function bwx takes integer VFx,real bTx,real bux returns nothing +call btx(VFx,bTx,bux) endfunction function bWx takes string Xox,real bIx,real x,real y,real z,real byx,real bYx,real Xdx,integer id returns integer local integer ENx local integer VFx local integer Xrx if(Xdx==.0)then return w +endif set ENx=bXx(id) if(ENx==w)then return w +endif set VFx=ENx set Xrx=E5x() set zc[VFx]=byx*Zc set vC[VFx]=Xrx set eC[VFx]=true +set ge[(Xrx)]=(VFx) call box(ENx,x,y,z) call bRx(ENx,Xox,bIx) if bAx(VFx)then call Xax(aC,Zc,true,function bBx) endif call Xax(Xrx,Xdx,false,function bmx) +call bwx(ENx,bYx,Xdx) return ENx endfunction function bzx takes integer VFx,real x,real y returns real return(bex(x,y)+(GetUnitFlyHeight(C[((VFx))]))) endfunction function bZx takes integer VFx,boolean b_x returns real if b_x then return(jC[VFx]*(JC[((VFx))])) endif return jC[VFx] endfunction function b0x takes integer VFx,string Xox,real bIx,real byx,real bYx,real Xdx,integer id returns integer +local real x=(GetUnitX(C[((VFx))])) local real y=(GetUnitY(C[((VFx))])) return bWx(Xox,bIx,x,y,bzx(VFx,x,y)+bZx(VFx,true),byx,bYx,Xdx,id) endfunction function b1x takes integer VFx returns string return("|c"+kC[VFx]+KC[VFx]+"|r") endfunction function b2x takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local integer b3x=(kv[(Vxx)]) set EQx=NMx(EQx,1) if(b3x!=w)then call bix(b0x(b3x,b1x(Vxx)+": "+EQx,lC,100.,2.,3.+.1*(StringLength((EQx))),(0))) endif return true endfunction function b4x takes nothing returns boolean call N9x("!",function b2x) return true endfunction function b5x takes nothing returns boolean call NAx(function b4x,"CharacterSpeech_Init") return true endfunction function b6x takes nothing returns boolean set LC=Idx(mC) return true endfunction function b7x takes integer VFx,integer Vgx returns integer return(LoadInteger(o[((V[(E[(((MC[(VFx)])))])]))],(((((pC[((VFx))]))))),((((Vgx))+(q))))) endfunction function b8x takes integer VFx,integer Vgx,integer Vhx returns boolean return((LoadInteger(o[((D[((MC[(VFx)]))]))],((((pC[((VFx))])))),(VGx(((Vgx)),(((Vhx)))))))!=0) endfunction function b9x takes integer VFx,integer Vgx,integer Vhx returns boolean return VYx(MC[(VFx)],(pC[((VFx))]),Vgx,Vhx) endfunction function Bvx takes integer VFx,integer Vhx returns nothing if not(b8x((VFx),qC,(Vhx)))then call Vmx("UnitList_Remove","call DebugEx(UnitList.NAME + \" Remove: \" + value.GetName() + \" not in \" + this.GetName())",sC+" Remove: "+(GetUnitName(C[(Vhx)]))+" not in "+(SC[(VFx)])) return endif call b9x(VFx,qC,Vhx) +endfunction function Bex takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((I[(VFx)]))])]))],((((A[((VFx))])))),(((Vgx)))))) endfunction function Bxx takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((I[(VFx)]))])]))],((((A[((VFx))])))),(((Vgx)+(VAx))))) endfunction function Box takes integer VFx returns nothing local integer VBx=(Bex(((VFx)),Q)) loop +exitwhen(VBx0)then return endif if(ad[VFx]!=Z)then call Vmx("Unit_Allocation_deallocCustom_confirm","call DebugEx(Unit.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",nd+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set ad[VFx]=ad[(w)] set ad[(w)]=VFx call BIx(VFx) endfunction function BNx takes integer VFx returns nothing set rd[VFx]=rd[VFx]-1 call BAx(VFx) endfunction function Bbx takes integer VFx returns boolean local unit Vdx if QC[VFx]then return true endif set QC[VFx]=true +set Vdx=C[VFx] call Bvx(tC,VFx) +call Box(VFx) call Bnx(VFx) call SaveInteger(o[(((V[((E[((X))]))])))],(((GetHandleId(((Vdx)))))),(((((Vx))))),(0)) call BXx(Vdx) set Vdx=null +call BNx(VFx) return true endfunction function BBx takes nothing returns nothing set hg=Bbx(gg) endfunction function Bcx takes integer VFx returns boolean set gg=VFx call Eex(GetHandleId(Condition(function BBx))) call TriggerEvaluate(Xd) +call IBx() return hg endfunction function BCx takes nothing returns nothing local integer Bdx loop +set Bdx=(b7x((PC),qC)) exitwhen(Bdx==w) +call Bcx(Bdx) endloop endfunction function BDx takes nothing returns boolean local integer Eix=(bv) call BCx() return true endfunction function Bfx takes nothing returns boolean call N9x("-clearSpawns",function BDx) return true endfunction function BFx takes nothing returns boolean call NAx(function Bfx,"ClearSpawns_Init") return true endfunction function Bgx takes nothing returns boolean set Od=Idx(Rd) return true endfunction function BGx takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((Ad[(VFx)]))])]))],((((Nd[((VFx))])))),(((Vgx)))))) endfunction function Bhx takes integer VFx,integer Vxx returns integer return BGx(Vxx,bd) endfunction function BHx takes integer VFx returns integer set Gd[VFx]=true +set hd[VFx]=false call V1x(Hd) +return VFx endfunction function Bjx takes nothing returns integer local integer VFx if(dd==8190)then +call Vmx("Group_Allocation_allocCustom","call DebugEx(Group.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Dd+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(fd[(w)]==w)then set Fd=Fd+1 set VFx=Fd else +set VFx=fd[(w)] set fd[(w)]=fd[fd[(w)]] endif set fd[VFx]=Z set gd[VFx]=1 call BHx(VFx) return VFx endfunction function BJx takes integer VFx returns nothing set kd[VFx]=0 set Kd[VFx]=false endfunction function Bkx takes nothing returns integer local integer VFx if(Cd==F)then set VFx=Bjx() set jd[VFx]=CreateGroup() else +set VFx=Jd[Cd] set Cd=Cd-1 endif call BJx(VFx) return VFx endfunction function BKx takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((Ad[(VFx)]))])]))],((((Nd[((VFx))])))),(((Vgx)+(VAx))))) endfunction function Blx takes integer VFx,integer Vxx,integer VAx returns integer return BKx(Vxx,bd,VAx) endfunction function BLx takes integer VFx returns boolean if((kd[(VFx)])>0)then set Kd[VFx]=true +return false +endif return true endfunction function Bmx takes integer VFx returns nothing if not BLx(VFx)then return endif set Cd=Cd+1 set Jd[Cd]=VFx call GroupClear(jd[VFx]) +endfunction function BMx takes integer VFx,code NKx returns nothing local integer VBx=Bhx(cd,VFx) local integer Bpx if(VBx0)then set Vdx=null +return Z +endif set Vtx=OXx(Vdx) +set Vdx=null +return Vtx endfunction function BWx takes nothing returns boolean local integer Eix=(bv) call BUx(Bwx(),Id) return true endfunction function Byx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local integer EAx=Efx(N_x(EQx,1)) if(EAx==w)then call Vmx("CommandAutoCast_Event_Chat","call DebugEx(\"invalid spell\")","invalid spell") +return true endif set Id=EAx call BMx(Vxx,function BWx) return true endfunction function BYx takes nothing returns boolean call N9x("-autocast",function Byx) return true endfunction function Bzx takes nothing returns boolean call NAx(function BYx,"CommandAutoCast_Init") return true endfunction function BZx takes nothing returns boolean set Qd=Idx(sd) return true endfunction function B_x takes string EFx returns integer return Edx(EFx,Sd) endfunction function B0x takes integer B1x,integer B2x,integer B3x returns integer local integer B4x set B1x=B1x-O set B4x=(B1x/ 64*8192*8192+B2x*8192+B3x) +return B4x endfunction function B5x takes integer B1x,integer B6x,integer B7x returns integer local integer B4x set B1x=B1x-O set B4x=((B1x-B1x/ 64*64)*8192*8192+B6x*8192+B7x) return B4x endfunction function B8x takes integer VFx,integer B9x,integer B1x,integer B2x,integer B3x,integer B6x,integer B7x returns integer return(LoadInteger(o[((B9x))],(B0x(B1x,B2x,B3x)),(B5x(B1x,B6x,B7x)))) endfunction function cvx takes integer VFx,integer B1x,integer B2x,integer B3x,integer B6x returns integer return B8x(E[(VFx)],qA[VFx],B1x,B2x,B3x,B6x,0) endfunction function cex takes integer VFx,integer B1x,integer B2x,integer B3x,integer B6x,integer Vhx returns integer return B8x(E[(VFx)],sA[VFx],B1x,B2x,B3x,B6x,(Vhx)) endfunction function cxx takes integer VFx,integer B1x,integer B2x,integer B3x,integer B6x,integer Vhx returns integer return B8x(E[(VFx)],SA[VFx],B1x,B2x,B3x,B6x,(Vhx)) endfunction function cox takes integer VFx,integer B9x,integer B1x,integer B2x,integer B3x,integer B6x,integer B7x,integer Vhx returns nothing call SaveInteger(o[((B9x))],(B0x(B1x,B2x,B3x)),(B5x(B1x,B6x,B7x)),(Vhx)) +endfunction function crx takes integer VFx,integer B1x,integer B2x,integer B3x,integer B6x,integer Vhx returns nothing local integer cix=cex(VFx,B1x,B2x,B3x,B6x,Vhx) local integer cax=cxx(VFx,B1x,B2x,B3x,B6x,Vhx) if((cax==0)and(cix==0))then if(cvx(VFx,B1x,B2x,B3x,B6x)!=Vhx)then return endif endif if(cix==0)then call cox(E[(VFx)],QA[VFx],B1x,B2x,B3x,B6x,0,cax) +else +call cox(E[(VFx)],SA[VFx],B1x,B2x,B3x,B6x,(cix),cax) +endif if(cax==0)then call cox(E[(VFx)],qA[VFx],B1x,B2x,B3x,B6x,0,cix) +else +call cox(E[(VFx)],sA[VFx],B1x,B2x,B3x,B6x,(cax),cix) +endif endfunction function cnx takes integer VFx,integer B1x,integer B2x,integer B3x,integer B6x returns integer local integer Vhx=cvx(VFx,B1x,B2x,B3x,B6x) if(Vhx==0)then return 0 +endif call crx(VFx,B1x,B2x,B3x,B6x,Vhx) return Vhx endfunction function cVx takes integer VFx,integer B1x,integer B2x,integer B3x,integer B6x returns nothing loop +exitwhen(cnx(VFx,B1x,B2x,B3x,B6x)==0) endloop endfunction function cEx takes integer VFx,integer N8x returns nothing if not((LoadInteger(o[((D[((Rv[VFx]))]))],((((A[((VFx))])))),(VGx((((HB[(N8x)]))),(((N8x)))))))!=0)then call Vmx("FolderUnit_StructEvent_Remove","call DebugEx(\"subject \"+I2S(Unit(this).Id.Get()) + \" has not \" + whichEvent.GetName())","subject "+I2S((A[((VFx))]))+" has not "+(vc[(N8x)])) return endif call VYx(Rv[VFx],(A[((VFx))]),(HB[(N8x)]),N8x) endfunction function cXx takes integer VFx,integer V7x,integer V8x returns integer return(0+(LoadInteger(o[((V[(E[((iD[VFx]))])]))],((((oD[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))))))) endfunction function cOx takes integer VFx,integer V7x,integer V8x,integer VAx returns integer return(LoadInteger(o[((V[(E[((iD[VFx]))])]))],((((oD[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))+(VAx))))) endfunction function cRx takes integer VFx returns nothing local integer Eix=V4x((oD[(VFx)])) local integer VBx local integer V8x local integer EBx set rD[(Eix)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=cXx(VFx,aD,V8x) loop +exitwhen(EBx0)then return endif if(AD[VFx]!=Z)then call Vmx("UnitEffect_Allocation_deallocCustom_confirm","call DebugEx(UnitEffect.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",ND+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set AD[VFx]=AD[(w)] set AD[(w)]=VFx call cBx(VFx) endfunction function cCx takes integer VFx returns nothing set ID[VFx]=ID[VFx]-1 call ccx(VFx) endfunction function cdx takes integer VFx returns boolean if xD[VFx]then return true endif set xD[VFx]=true +call cRx(VFx) call cIx(VFx) call cAx(VFx) call cCx(VFx) return true endfunction function cDx takes integer VFx returns nothing set FD[VFx]=FD[VFx]+1 endfunction function cfx takes integer VFx returns nothing set jD[VFx]=false call EEx(JD) +endfunction function cFx takes integer VFx returns nothing if(FD[VFx]>0)then return endif if(hD[VFx]!=Z)then call Vmx("Sound_Allocation_deallocCustom_confirm","call DebugEx(Sound.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",HD+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set hD[VFx]=hD[(w)] set hD[(w)]=VFx call cfx(VFx) endfunction function cgx takes integer VFx returns nothing set FD[VFx]=FD[VFx]-1 call cFx(VFx) endfunction function cGx takes nothing returns nothing local integer bUx=XXx() local integer VFx=(ge[(bUx)]) set fD[VFx]=w call StopSound(DD[VFx],gD[VFx],GD[VFx]) call cgx(VFx) endfunction function chx takes integer VFx,boolean cHx,boolean cjx returns nothing local integer bUx=fD[VFx] if(bUx==w)then set bUx=E5x() set ge[(bUx)]=(VFx) call cDx(VFx) endif set fD[VFx]=bUx set gD[VFx]=cHx set GD[VFx]=cjx call Xax(bUx,.07,false,function cGx) +endfunction function cJx takes integer VFx,boolean ckx returns boolean local sound Vdx if dD[VFx]then return true endif set dD[VFx]=true +set Vdx=DD[VFx] if ckx then call chx(VFx,true,true) else +if(kD[(VFx)])then call chx(VFx,true,ckx) else +call KillSoundWhenDone(Vdx) endif endif set Vdx=null +call cgx(VFx) return true endfunction function cKx takes integer VFx returns nothing set MD[VFx]=false call EEx(pD) +endfunction function clx takes integer VFx returns nothing if(lD[VFx]>0)then return endif if(LD[VFx]!=Z)then call Vmx("UnitSound_Allocation_deallocCustom_confirm","call DebugEx(UnitSound.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",mD+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set LD[VFx]=LD[(w)] set LD[(w)]=VFx call cKx(VFx) endfunction function cLx takes integer VFx returns nothing set lD[VFx]=lD[VFx]-1 call clx(VFx) endfunction function cmx takes integer VFx returns nothing call cJx(KD[VFx],true) call cLx((VFx)) endfunction function cMx takes integer VFx returns nothing set UD[VFx]=false call EEx(wD) +endfunction function cpx takes integer VFx returns nothing if(tD[VFx]>0)then return endif if(TD[VFx]!=Z)then call Vmx("BuffRef_Allocation_deallocCustom_confirm","call DebugEx(BuffRef.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",uD+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set TD[VFx]=TD[(w)] set TD[(w)]=VFx call cMx(VFx) endfunction function cPx takes integer VFx returns nothing set tD[VFx]=tD[VFx]-1 call cpx(VFx) endfunction function cqx takes integer VFx returns nothing if not SD[VFx]then return endif if(qD[VFx]>0)then return endif call cPx((VFx)) endfunction function cQx takes integer VFx returns nothing local integer csx=QD[VFx] local integer cSx=sD[VFx] if SD[VFx]then return endif set SD[VFx]=true +set qD[VFx]=qD[VFx]-1 if(qD[VFx]==0)then call cqx(VFx) endif call crx(X,PD,csx,cSx,w,VFx) +endfunction function ctx takes integer cSx,integer csx returns nothing local integer VFx=cvx(X,PD,csx,cSx,w) loop +exitwhen(VFx==w) +set qD[VFx]=qD[VFx]+1 call cQx(VFx) set VFx=cvx(X,PD,csx,cSx,w) endloop endfunction function cTx takes integer VFx,integer Vgx returns integer return(LoadInteger(o[((V[(E[((WD[(VFx)]))])]))],((((yD[((VFx))])))),(((Vgx))))) endfunction function cux takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((vf[(VFx)]))])]))],((((ef[((VFx))])))),(((Vgx)))))) endfunction function cUx takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((vf[(VFx)]))])]))],((((ef[((VFx))])))),(((Vgx)+(VAx))))) endfunction function cwx takes integer VFx,integer csx,boolean Vsx returns nothing local integer Eix=V4x(0) +set of[(Eix)]=(Vsx) set Vv[(Eix)]=(csx) call NPx((rf[(VFx)]),Eix) call ERx(((Eix))) endfunction function cWx takes integer VFx,integer cyx,boolean Vsx returns nothing call cwx(cyx,VFx,Vsx) endfunction function cYx takes integer VFx,integer Vgx returns boolean return(LoadBoolean(o[((V[(E[((vf[(VFx)]))])]))],((((ef[((VFx))])))),(((Vgx))))) endfunction function czx takes integer VFx,integer csx returns nothing local integer VBx=(cux(((VFx)),xf)) local integer cZx loop +exitwhen(VBx=Yf[VFx])then set ED[VFx]=AddSpecialEffectTarget(zf[VFx],C[Zf[VFx]],Wf[VFx]) if(ED[VFx]==null)then endif else +set VD[VFx]=AddSpecialEffectTarget(null,C[Zf[VFx]],Wf[VFx]) endif endfunction function C1x takes integer b3x,string Czx,string CZx,integer EKx returns integer +local boolean C2x=Cmx(b3x,tf) local integer VFx=CYx(b3x,Czx,CZx,EKx) if not C2x then call C0x(VFx) endif return VFx endfunction function C3x takes integer VFx,integer Vgx,integer VAx returns string return(LoadStr(o[((V[(E[((WD[(VFx)]))])]))],((((yD[((VFx))])))),(((Vgx)+(VAx))))) endfunction function C4x takes integer VFx returns integer set MD[VFx]=true +set RF[VFx]=false call V1x(pD) +return VFx endfunction function C5x takes nothing returns integer local integer VFx if(XF==8190)then +call Vmx("UnitSound_Allocation_allocCustom","call DebugEx(UnitSound.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",mD+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(LD[(w)]==w)then set OF=OF+1 set VFx=OF else +set VFx=LD[(w)] set LD[(w)]=LD[LD[(w)]] endif set LD[VFx]=Z set lD[VFx]=1 call C4x(VFx) return VFx endfunction function C6x takes integer VFx returns integer set jD[VFx]=true +set dD[VFx]=false set NF[VFx]=w set bF[VFx]=0 set BF[VFx]=0 set cF[VFx]=0 call V1x(JD) +return VFx endfunction function C7x takes nothing returns integer local integer VFx if(IF==8190)then +call Vmx("Sound_Allocation_allocCustom","call DebugEx(Sound.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",HD+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(hD[(w)]==w)then set AF=AF+1 set VFx=AF else +set VFx=hD[(w)] set hD[(w)]=hD[hD[(w)]] endif set hD[VFx]=Z set FD[VFx]=1 call C6x(VFx) return VFx endfunction function C8x takes integer VFx,integer Vsx returns nothing set DF[(VFx)]=(Vsx) if(DD[VFx]!=null)then call SetSoundChannel(DD[VFx],Vsx) endif endfunction function C9x takes integer VFx returns nothing local string dvx=(Vg[((FF[(VFx)]))]) +if(dvx==null)then set dvx="" endif set DD[VFx]=CreateSound((CF[(VFx)]),(kD[(VFx)]),(sF[(VFx)]),(qF[(VFx)]),(R2I((((LF[(VFx)]))*1.))),(R2I((((MF[(VFx)]))*1.))),dvx) +endfunction function dex takes integer V7x returns integer local integer VFx=C7x() set fD[VFx]=w set CF[(VFx)]=((dF[(V7x)])) call C8x(VFx,(fF[(V7x)])) set FF[(VFx)]=((gF[(V7x)])) set GF[(VFx)]=(((hF[(V7x)]))*1.) +set HF[(VFx)]=(((jF[(V7x)]))*1.) +set JF[(VFx)]=((kF[(V7x)])) set KF[(VFx)]=(((lF[(V7x)]))*1.) +set LF[(VFx)]=(((mF[(V7x)]))*1.) +set MF[(VFx)]=(((pF[(V7x)]))*1.) +set kD[(VFx)]=((PF[(V7x)])) set qF[(VFx)]=((QF[(V7x)])) set sF[(VFx)]=((SF[(V7x)])) set tF[(VFx)]=(((TF[(V7x)]))*1.) +set uF[(VFx)]=(((UF[(V7x)]))*1.) +set wF[(VFx)]=(((WF[(V7x)]))*1.) +set yF[(VFx)]=(((YF[(V7x)]))*1.) +set zF[(VFx)]=(((ZF[(V7x)]))*1.) +set vg[(VFx)]=(((eg[(V7x)]))*1.) +set xg[(VFx)]=(((og[(V7x)]))*1.) +set rg[(VFx)]=(((ig[(V7x)]))*1.) +set ag[(VFx)]=(((ng[(V7x)]))*1.) +call C9x(VFx) return VFx endfunction function dxx takes integer VFx returns real return GetUnitX(C[(VFx)]) endfunction function dox takes integer VFx returns real return GetUnitY(C[(VFx)]) endfunction function drx takes integer VFx returns real return bzx(VFx,(GetUnitX(C[(((VFx)))])),(GetUnitY(C[(((VFx)))]))) endfunction function dix takes integer VFx returns real if((NF[(VFx)])!=w)then return dxx((NF[(VFx)])) endif return(bF[(VFx)]) endfunction function dax takes integer VFx returns real if((NF[(VFx)])!=w)then return dox((NF[(VFx)])) endif return(BF[(VFx)]) endfunction function dnx takes integer VFx returns real if((NF[(VFx)])!=w)then return drx((NF[(VFx)])) endif return(cF[(VFx)]) endfunction function dVx takes integer VFx,real XMx,real Xpx,real XPx,real Xqx returns nothing set Uc[(VFx)]=((XMx)*1.) +set wc[(VFx)]=((Xpx)*1.) +set Wc[(VFx)]=((XPx)*1.) +set yc[(VFx)]=((Xqx)*1.) +if bpx((VFx))then call SetTextTagColor(Jc[(VFx)],(R2I(((XMx)*1.))),(R2I(((Xpx)*1.))),(R2I(((XPx)*1.))),(R2I((((GC[((VFx))]))*1.)))) else +call SetTextTagColor(Jc[(VFx)],(R2I(((XMx)*1.))),(R2I(((Xpx)*1.))),(R2I(((XPx)*1.))),(R2I(((Xqx)*1.)))) endif endfunction function dEx takes integer VFx returns nothing call dVx(VFx,(GetRandomReal(((0)*1.),(($FF)*1.))),(GetRandomReal(((0)*1.),(($FF)*1.))),(GetRandomReal(((0)*1.),(($FF)*1.))),(yc[(VFx)])) +endfunction function dXx takes integer VFx returns nothing local integer t call SetSoundVolume(DD[VFx],(R2I(((KF[VFx]*(Eg[((DF[(VFx)]))])*Xg*127.)*1.)))) call StartSound(DD[VFx]) +if(sF[(VFx)])then set t=bWx((CF[(VFx)]),.02*(KF[(VFx)]),dix(VFx),dax(VFx),dnx(VFx),300,0,2,(0)) call dEx(t) call bix(t) endif endfunction function dOx takes integer VFx,integer csx returns nothing set NF[(VFx)]=(csx) set bF[(VFx)]=((dxx(csx))*1.) set BF[(VFx)]=((dox(csx))*1.) set cF[(VFx)]=((drx(csx))*1.) call AttachSoundToUnit(DD[VFx],C[csx]) call dXx(VFx) endfunction function dRx takes integer b3x,integer dIx returns integer local integer VFx=C5x() local integer dAx=dex(dIx) set KD[VFx]=dAx call dOx(dAx,b3x) return VFx endfunction function dNx takes integer VFx returns integer set UD[VFx]=true +set Ag[VFx]=false call V1x(wD) +return VFx endfunction function dbx takes nothing returns integer local integer VFx if(Rg==8190)then +call Vmx("BuffRef_Allocation_allocCustom","call DebugEx(BuffRef.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",uD+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(TD[(w)]==w)then set Ig=Ig+1 set VFx=Ig else +set VFx=TD[(w)] set TD[(w)]=TD[TD[(w)]] endif set TD[VFx]=Z set tD[VFx]=1 call dNx(VFx) return VFx endfunction function dBx takes integer VFx,integer cSx,integer EKx,integer Clx returns nothing set kf=VFx set Kf=cSx set Bg=EKx set cg=Clx call TriggerEvaluate(Cg) +endfunction function dcx takes integer VFx,integer B1x,integer B2x,integer B3x,integer B6x returns integer local integer Vhx=cvx(VFx,B1x,B2x,B3x,B6x) local integer Vtx=0 local integer Ctx loop +exitwhen(Vhx==0) +set Ctx=CQx(VFx,B1x,B2x,B3x,B6x,Vhx) +if(Ctx>Vtx)then set Vtx=Ctx endif set Vhx=cex(VFx,B1x,B2x,B3x,B6x,Vhx) +endloop return Vtx endfunction function dCx takes integer cSx,integer EKx,integer csx,integer Clx returns integer local integer VFx=dbx() set Ng[VFx]=Clx set SD[VFx]=false set bg[VFx]=EKx set qD[VFx]=0 set QD[VFx]=csx set sD[VFx]=cSx call CSx(X,PD,csx,cSx,w,VFx,EKx) +call dBx(csx,cSx,dcx(X,PD,csx,cSx,w),Clx) return VFx endfunction function ddx takes integer VFx,integer cSx,integer EKx,integer Clx returns integer local integer dDx=dCx(cSx,EKx,VFx,Clx) return dDx endfunction function dfx takes integer VFx,integer cSx,integer EKx,integer Clx returns nothing local integer VBx=(Cdx(((cSx)),Og)) loop +exitwhen(VBx0)then set CKx=(Vfx(((VFx)),Wd+(cSx))) if(EKx!=CKx)then +call Ejx((VFx),Wd+cSx,EKx) call CLx(VFx,cSx,CKx,EKx,Clx) endif return false +endif if(Qf[((VFx))])then return false +endif if((sf[(cSx)])and Cmx((VFx),tf))then +return false +endif if EHx((VFx),zd,cSx)then +call CMx((VFx),Zd) call CMx((VFx),vD) endif call Cpx((VFx),Ud+cSx,1) +call Ejx((VFx),Wd+cSx,EKx) set dhx=(wd[(cSx)]) if(dhx!=0)then call Egx((VFx),dhx) call ELx((VFx),dhx,EKx) endif if(Tf[(cSx)])then set VBx=(CPx(((cSx)),uf)) loop +exitwhen(VBx0)then call djx(VFx,cSx,EKx,Clx) else +call CDx(VFx,cSx) endif endfunction function dkx takes integer VFx returns nothing if SD[VFx]then return endif call cQx(VFx) call dJx(QD[VFx],sD[VFx],dcx(X,PD,QD[VFx],sD[VFx],w),Ng[VFx]) endfunction function dKx takes integer VFx,integer cSx returns nothing local integer dDx=cnx(X,mf,VFx,cSx,w) loop +exitwhen(dDx==w) +call dkx(dDx) set dDx=cnx(X,mf,VFx,cSx,w) endloop endfunction function dlx takes integer VFx,integer cSx returns boolean local integer dhx local integer EKx local integer dLx local integer dmx local integer VBx if not(Vfx((((VFx))),(Ud+(cSx)))>0)then return false +endif set dhx=(wd[(cSx)]) set EKx=(Vfx(((VFx)),Wd+(cSx))) if(dhx!=0)then call UnitRemoveAbility(C[(((VFx)))],(dhx)) call UnitRemoveAbility(C[(((VFx)))],(yd[cSx])) endif call V0x((VFx),Ud+cSx) call V0x((VFx),Wd+cSx) call cVx(X,Yd,VFx,cSx,w) +if V_x((VFx),zd,cSx)then +call cEx((VFx),Zd) call cEx((VFx),vD) endif set dLx=cnx(X,eD,VFx,cSx,w) loop +exitwhen(dLx==w) +call cdx(dLx) set dLx=cnx(X,eD,VFx,cSx,w) endloop set dmx=cnx(X,CD,VFx,cSx,w) loop +exitwhen(dmx==w) +call cmx(dmx) set dmx=cnx(X,CD,VFx,cSx,w) endloop call ctx(cSx,VFx) call Ccx(VFx,cSx,EKx) set VBx=(Cdx(((cSx)),Jf)) loop +exitwhen(VBx0)then return endif if(Kg[VFx]!=Z)then call Vmx("FolderUnit_FolderBuffs_StructTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderUnit_FolderBuffs_StructTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",kg+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Kg[VFx]=Kg[(w)] set Kg[(w)]=VFx call dQx(VFx) endfunction function dSx takes integer VFx returns nothing set Lg[VFx]=Lg[VFx]-1 call dsx(VFx) endfunction function dtx takes integer VFx,integer B1x,integer B2x,integer B3x,integer B6x,integer B7x returns nothing call SaveInteger(o[(((KA[VFx])))],((B0x(B1x,B2x,B3x))),((B5x(B1x,B6x,B7x))),(0)) +endfunction function dTx takes integer VFx returns nothing set wg[VFx]=false call EEx(Wg) +endfunction function dux takes integer VFx returns nothing if(Tg[VFx]>0)then return endif if(ug[VFx]!=Z)then call Vmx("FolderUnit_FolderBuffs_FolderTimed_StructCountdown_Allocation_deallocCustom_confirm","call DebugEx(FolderUnit_FolderBuffs_FolderTimed_StructCountdown.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Ug+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set ug[VFx]=ug[(w)] set ug[(w)]=VFx call dTx(VFx) endfunction function dUx takes integer VFx returns nothing set Tg[VFx]=Tg[VFx]-1 call dux(VFx) endfunction function dwx takes integer VFx,integer Xrx,integer ENx returns nothing local integer dWx=Sg[VFx] local integer cSx=tg[VFx] call dUx((VFx)) call Xbx(dWx) call Xbx(Xrx) if V_x(ENx,yg,VFx)then call cEx(ENx,Yg) +endif call V0x(ENx,sg+cSx) +endfunction function dyx takes integer VFx,integer cSx returns nothing local integer ENx=VFx set VFx=Vfx(ENx,sg+cSx) if(VFx!=w)then call dwx(VFx,zg[VFx],ENx) endif endfunction function dYx takes integer VFx returns nothing set qD[VFx]=qD[VFx]-1 endfunction function dzx takes integer VFx returns nothing local integer Xrx=Pg[VFx] local integer ENx=qg[VFx] local integer dZx=Qg[VFx] local integer EKx=bg[dZx] local integer cSx=sD[dZx] call dSx((VFx)) call Xbx(Xrx) call dtx(E[((X))],(jg),(ENx),(cSx),(EKx),(w)) call dyx((ENx),cSx) if V_x(ENx,Zg,VFx)then call cEx(ENx,vG) +call cEx(ENx,eG) +endif call dkx(dZx) call dYx(dZx) endfunction function d_x takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call dzx(VFx) endfunction function d0x takes integer VFx returns nothing set qD[VFx]=qD[VFx]+1 endfunction function d1x takes integer VFx returns integer set wg[VFx]=true +set VG[VFx]=false call V1x(Wg) +return VFx endfunction function d2x takes nothing returns integer local integer VFx if(aG==8190)then +call Vmx("FolderUnit_FolderBuffs_FolderTimed_StructCountdown_Allocation_allocCustom","call DebugEx(FolderUnit_FolderBuffs_FolderTimed_StructCountdown.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Ug+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(ug[(w)]==w)then set nG=nG+1 set VFx=nG else +set VFx=ug[(w)] set ug[(w)]=ug[ug[(w)]] endif set ug[VFx]=Z set Tg[VFx]=1 call d1x(VFx) return VFx endfunction function d3x takes nothing returns nothing endfunction function d4x takes integer VFx returns nothing local integer VUx=EG[VFx] local boolean d5x=XG[VFx] if d5x then set XG[VFx]=false call b0x(OG[VFx],Xhx((RG[(tg[VFx])])+" vanishes in "+" +"+(I2S((VUx))),"ff00ffff"),.022,120.,1.,2.,(0)) else +call b0x(OG[VFx],Xhx((I2S((VUx))),"ff00ffff"),.022,120.,1.,2.,(0)) endif set EG[VFx]=VUx-1 endfunction function d6x takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) call dwx(VFx,Xrx,OG[VFx]) endfunction function d7x takes integer VFx,integer cSx,real Xdx returns nothing local integer ENx=VFx local integer VUx local integer dWx local integer Xrx local real d8x set VFx=Vfx(ENx,sg+cSx) if(VFx!=w)then call dwx(VFx,zg[VFx],ENx) endif set VUx=(R2I(((Xkx(((R2I(((Xdx)*1.)))),(3)))*1.))) set dWx=E5x() set Xrx=E5x() set VFx=d2x() set d8x=Xdx-VUx-1. set EG[VFx]=VUx set Sg[VFx]=dWx set zg[VFx]=Xrx set XG[VFx]=true +set OG[VFx]=ENx set tg[VFx]=cSx set ge[(dWx)]=(VFx) set ge[(Xrx)]=(VFx) if EHx(ENx,yg,VFx)then call CMx(ENx,Yg) +endif call Ejx(ENx,sg+cSx,VFx) +call Xax(dWx,d8x,false,function d3x) +if(d8x<.0)then call d4x(VFx) endif call Xax(Xrx,Xdx-1+.01,false,function d6x) endfunction function d9x takes integer VFx,integer cSx,integer EKx,integer Clx,real Xdx returns integer local integer ENx=VFx local integer Xrx local integer dZx set VFx=(c7x(E[((X))],(jg),((VFx)),((cSx)),((EKx)),(w))) +if(VFx==w)then set dZx=ddx(ENx,cSx,EKx,Clx) +if(dZx==w)then return w +endif set Xrx=E5x() set VFx=dqx() set Pg[VFx]=Xrx set qg[VFx]=ENx set Qg[VFx]=dZx set ge[(Xrx)]=(VFx) call c6x(E[((X))],(jg),(ENx),(cSx),(EKx),(w),(VFx)) call Xax(Xrx,Xdx,false,function d_x) +if EHx(ENx,Zg,VFx)then call CMx(ENx,vG) +call CMx(ENx,eG) +endif call d0x(dZx) else +set Xrx=Pg[VFx] if(Xdx>(TimerGetRemaining(Oe[(Xrx)])))then call Xax(Xrx,Xdx,false,function d_x) +endif return w +endif if not(xG[(cSx)])then if(Xdx!=oG)then if(Cmx(ENx,rG)or(iG[(cSx)]))then +call d7x((ENx),cSx,Xdx) endif endif endif return dZx endfunction function Dvx takes integer VFx,integer cSx,integer EKx,integer Clx,real Xdx returns integer return d9x(VFx,cSx,EKx,Clx,Xdx) endfunction function Dex takes nothing returns boolean local integer Eix=(bv) if(td==0)then call dpx(Bwx(),Td) return true endif if(ud==0)then call dJx(Bwx(),Td,td,w) else +call Dvx(Bwx(),Td,td,w,ud) endif return true endfunction function Dxx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local string Dox=N_x(EQx,1) local integer cSx=B_x(Dox) local integer EKx=(S2I((N_x(EQx,2)))) local real Xdx=(S2R((N_x(EQx,3)))) if(cSx==w)then set cSx=NLx(Dox,F) if(cSx==F)then call Vmx("CommandBuff_Event_Chat","call DebugEx(\"invalid buff\")","invalid buff") return true endif endif set td=EKx set Td=cSx set ud=Xdx call BMx(Vxx,function Dex) return true endfunction function Drx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer VBx=IG +local integer Vxx=(ax[(Eix)]) call PreloadGenStart() loop +exitwhen(VBx<0) call Vmx("CommandBuff_Event_ListAll_Chat","call DebugEx(Buff.ALL[iteration].GetName())",(RG[(AG[VBx])])) +set VBx=VBx-1 endloop return true endfunction function Dix takes nothing returns boolean call N9x("-buff",function Dxx) call N9x("-buffListAll",function Drx) return true endfunction function Dax takes nothing returns boolean call NAx(function Dix,"CommandBuff_Init") return true endfunction function Dnx takes nothing returns boolean set NG=Idx(bG) return true endfunction function DVx takes string EFx returns integer return Edx(EFx,BG) endfunction function DEx takes string Vdx,real Nmx returns real local real Vsx=S2R(Vdx) if(Vsx!=.0)then return Vsx endif if((Vdx=="0")or(Vdx=="0."))then return Vsx endif set Vdx=NMx(Vdx,0+1) +if(NZx(Vdx,"0",0)==Qv)then return Vsx endif return Nmx endfunction function DXx takes integer VFx returns integer set FG[VFx]=true +set gG[VFx]=false set GG[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set hG[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) call V1x(HG) +return VFx endfunction function DOx takes nothing returns integer local integer VFx if(cG==8190)then +call Vmx("Destructable_Allocation_allocCustom","call DebugEx(Destructable.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",CG+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(dG[(w)]==w)then set DG=DG+1 set VFx=DG else +set VFx=dG[(w)] set dG[(w)]=dG[dG[(w)]] endif set dG[VFx]=Z set fG[VFx]=1 call DXx(VFx) return VFx endfunction function DRx takes integer VFx returns nothing set MG[(VFx)]=(pG+VFx) endfunction function DIx takes integer VFx returns nothing set PG[(VFx)]=((LoadInteger(o[((V[(E[((X))])]))],((((GetDestructableTypeId(kG[(VFx)]))))),(((BG)))))) endfunction function DAx takes integer VFx,integer DNx returns nothing call TriggerRegisterDeathEvent(UB[(VFx)],kG[DNx]) endfunction function Dbx takes integer VFx,integer V7x,integer V8x returns integer return(0+(LoadInteger(o[((V[(E[((TG[VFx]))])]))],((((SG[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))))))) endfunction function DBx takes integer VFx,integer V7x,integer V8x,integer VAx returns integer return(LoadInteger(o[((V[(E[((TG[VFx]))])]))],((((SG[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))+(VAx))))) endfunction function Dcx takes integer VFx returns nothing local integer DCx=(PG[(VFx)]) local integer Eix=V4x(0) +local integer Ddx local integer VBx local integer V8x local integer EBx set QG[(Eix)]=(VFx) set sG[(Eix)]=(DCx) set Ddx=V4x((SG[(DCx)])) +set QG[(Ddx)]=(VFx) set sG[(Ddx)]=(DCx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((Se))),((((1+8192*((((tG))-1)*Iv+(((V8x))-1))))))))) loop +exitwhen(EBx0)then return endif if(zG[VFx]!=Z)then call Vmx("Item_Allocation_deallocCustom_confirm","call DebugEx(Item.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",YG+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set zG[VFx]=zG[(w)] set zG[(w)]=VFx call D4x(VFx) endfunction function D6x takes integer VFx returns nothing set vh[VFx]=vh[VFx]-1 call D5x(VFx) endfunction function D7x takes integer VFx returns nothing local item Vdx=ah[VFx] call SetItemPosition(Vdx,.0,.0) call D1x(VFx) call D6x((VFx)) call SaveInteger(o[((V[(E[(((X)))])]))],(((GetHandleId((Vdx))))),((((nh)))),((((VFx))))) +call RemoveItem(Vdx) +set Vdx=null +endfunction function D8x takes integer VFx,integer R9x returns nothing set Ch[VFx]=R9x call SetItemCharges(ah[(VFx)],R9x) call D0x(VFx,R9x) if((R9x==0)and((fh[((Oh[((VFx))]))])>0))then +call D7x((VFx)) endif endfunction function D9x takes integer VFx returns nothing call D8x(VFx,(fh[((Oh[((VFx))]))])) endfunction function fvx takes integer VFx returns integer return Dmx((VFx),gh) +endfunction function fex takes integer VFx,integer V7x returns nothing if DTx((VFx),Gh,V7x)then +call Dux((VFx),hh) endif endfunction function fxx takes integer VFx,integer VAx returns integer return Dpx((VFx),gh,VAx) +endfunction function fox takes integer VFx returns nothing local integer DCx=(Oh[((VFx))]) local integer VBx=fvx(DCx) loop +exitwhen(VBx0)then return endif if(Mh[VFx]!=Z)then call Vmx("FolderCamera_StructSeismic_Allocation_deallocCustom_confirm","call DebugEx(FolderCamera_StructSeismic.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",mh+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Mh[VFx]=Mh[(w)] set Mh[(w)]=VFx call fFx(VFx) endfunction function fGx takes integer VFx returns nothing set Ph[VFx]=Ph[VFx]-1 call fgx(VFx) endfunction function fhx takes integer VFx returns boolean if not((RH[((VFx))])>0)then return false +endif set RH[IH[AH]]=RH[VFx] set IH[RH[VFx]-1]=IH[AH] +set RH[VFx]=0 set AH=AH-1 return(AH==F) endfunction function fHx takes integer VFx returns nothing local integer Xrx=Sh[VFx] local integer fjx=Yh[VFx] call Xbx(Xrx) call ffx(fjx) call fGx((VFx)) if fhx(VFx)then call XNx(NH) +endif endfunction function fJx takes nothing returns nothing local integer VFx=(ge[(XXx())]) call fHx(VFx) endfunction function fkx takes integer VFx returns boolean if((RH[((VFx))])>0)then return false +endif set AH=AH+1 set IH[AH]=VFx set RH[VFx]=AH+1 +return(AH==0) endfunction function fKx takes nothing returns nothing call TriggerExecute(bH) endfunction function flx takes real x,real y,real z,real fLx,real fmx,real fMx,real fdx returns nothing local integer VFx=fAx() local integer Xrx=E5x() set Sh[VFx]=Xrx set Th[VFx]=fMx set uh[VFx]=.0 set Uh[VFx]=fdx*wh set Wh[VFx]=fLx set yh[VFx]=fmx set Yh[VFx]=fBx() set EH[VFx]=x set XH[VFx]=y set OH[VFx]=z set ge[(Xrx)]=(VFx) call Xax(Xrx,fcx(fMx,fdx,.0),false,function fJx) +if fkx(VFx)then call Xax(NH,wh,true,function fKx) endif endfunction function fpx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local real x=(S2R((N_x(EQx,1)))) +local real y=(S2R((N_x(EQx,2)))) +local real z=(S2R((N_x(EQx,3)))) +local real fLx=(S2R((N_x(EQx,4)))) local real fmx=(S2R((N_x(EQx,5)))) local real fMx=(S2R((N_x(EQx,6)))) local real fdx=(S2R((N_x(EQx,7)))) if(fLx==.0)then set fLx=1000. endif if(fMx==.0)then set fMx=99999. endif if(fdx==.0)then set fdx=1000. endif call flx(x,y,z,fLx,fmx,fMx,fdx) return true endfunction function fPx takes integer fqx returns integer local integer VFx if((fqx<0)or(fqx>16-1))then call Vmx("User_GetFromNativeIndex","call DebugEx(User.NAME + \"GetFromNativeIndex: \" + Integer.ToString(nativeIndex) + \" out of bounds\")",BH+"GetFromNativeIndex: "+(I2S((fqx)))+" out of bounds") return w +endif set VFx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((Player(fqx))))))),((((R)))))) if(VFx==w)then call Vmx("User_GetFromNativeIndex","call DebugEx(User.NAME + \"GetFromNativeIndex: \" + Integer.ToString(nativeIndex) + \" not assigned\")",BH+"GetFromNativeIndex: "+(I2S((fqx)))+" not assigned") return w +endif return VFx endfunction function fQx takes integer VFx returns boolean if((DH[((VFx))])>0)then return false +endif set fH=fH+1 set FH[fH]=VFx set DH[VFx]=fH+1 +return(fH==0) endfunction function fsx takes integer VFx returns boolean if not((kH[((VFx))])>0)then return false +endif set kH[KH[lH]]=kH[VFx] set KH[kH[VFx]-1]=KH[lH] +set kH[VFx]=0 set lH=lH-1 return(lH==F) endfunction function fSx takes integer Vxx returns nothing if E6x(Vxx)then call SetCameraBounds(FR,HR,gR,jR,GR,JR,hR,kR) endif endfunction function ftx takes nothing returns nothing local integer VFx=(ge[(XXx())]) local integer Vxx=VFx set JH[VFx]=false if fsx(VFx)then call XNx(LH) +endif call fSx(Vxx) endfunction function fTx takes integer VFx returns boolean if((kH[((VFx))])>0)then return false +endif set lH=lH+1 set KH[lH]=VFx set kH[VFx]=lH+1 +return(lH==0) endfunction function fux takes nothing returns nothing local integer i=lH local integer VFx local integer Vxx loop +exitwhen(i<0) set VFx=KH[i] set Vxx=VFx if E6x(Vxx)then call fSx(Vxx) endif set i=i-1 endloop call Xax(XXx(),.03,false,qH) +endfunction function fUx takes nothing returns nothing local integer i=lH local integer VFx local integer Vxx local real fwx local real fWx local real x +local real y +loop +exitwhen(i<0) set VFx=KH[i] set Vxx=VFx set fwx=GH[VFx] set fWx=HH[VFx] set x=(GetCameraTargetPositionX())+fwx set y=(GetCameraTargetPositionY())+fWx if E6x(Vxx)then if(mH[(Vxx)])then set x=x-6000*hH endif if(MH[(Vxx)])then set x=x+6000*hH endif if(pH[(Vxx)])then set y=y-6000*hH endif if(PH[(Vxx)])then set y=y+6000*hH endif endif if E6x(Vxx)then call SetCameraBounds(x,y,x,y,x,y,x,y) endif set i=i-1 endloop call Xax(XXx(),.03,false,function fux) endfunction function fyx takes integer Vxx,real x,real y,real Xdx returns nothing local real dX=x-(GetCameraTargetPositionX()) +local real dY=y-(GetCameraTargetPositionY()) +local integer VFx=Vxx set GH[VFx]=dX*hH*1./ Xdx set HH[VFx]=dY*hH*1./ Xdx call Xax(jH[VFx],Xdx,false,function ftx) +if JH[VFx]then return endif set JH[VFx]=true +if fTx(VFx)then call Xax(LH,hH,true,function fUx) endif endfunction function fYx takes integer VFx returns boolean if not((DH[((VFx))])>0)then return false +endif set DH[FH[fH]]=DH[VFx] set FH[DH[VFx]-1]=FH[fH] +set DH[VFx]=0 set fH=fH-1 return(fH==F) endfunction function fzx takes nothing returns nothing local integer i=fH local integer VFx local integer Vxx local real fZx local real OMx local real R6x local real f_x loop +exitwhen(i<0) set VFx=FH[i] set Vxx=VFx set fZx=cH[VFx]+CH[VFx] if(fZx<1)then call fyx(Vxx,(GetCameraTargetPositionX())-QH[VFx],(GetCameraTargetPositionY())-sH[VFx],1.) set SH[VFx]=.0 set cH[VFx]=.0 set QH[VFx]=.0 set sH[VFx]=.0 if fYx(VFx)then call XNx(gH) +endif else +set OMx=(GetRandomReal(((.0)*1.),((TH)*1.))) +set R6x=SH[VFx]+.9 set f_x=(Sin(((((R6x)*1.))*1.))) +set SH[VFx]=R6x set cH[VFx]=fZx set QH[VFx]=(Cos(((((OMx)*1.))*1.)))*f_x*fZx +set sH[VFx]=(Sin(((((OMx)*1.))*1.)))*f_x*fZx +call fyx(Vxx,(GetCameraTargetPositionX())+QH[VFx],(GetCameraTargetPositionY())+sH[VFx],1.) endif set i=i-1 endloop endfunction function f0x takes integer Vxx,real fZx,real Xdx returns nothing +local integer VFx=Vxx set cH[VFx]=cH[VFx]+fZx set CH[VFx]=CH[VFx]+(-fZx*1./ Xdx*dH) if fQx(VFx)then call Xax(gH,dH,true,function fzx) endif endfunction function f1x takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local real fZx=(S2R((N_x(EQx,1)))) local string f2x=N_x(EQx,2) local real Xdx=(S2R((N_x(EQx,3)))) local integer f3x if(f2x==null)then set f3x=Vxx else +set f3x=fPx((S2I((f2x)))) endif if(fZx==.0)then set fZx=10. endif if(Xdx==.0)then set Xdx=5. endif if(f3x!=w)then call f0x(Vxx,fZx,Xdx) endif return true endfunction function f4x takes nothing returns boolean call N9x("-quake",function fpx) call N9x("-shake",function f1x) return true endfunction function f5x takes nothing returns boolean call NAx(function f4x,"CommandCreateQuake_Init") +return true endfunction function f6x takes nothing returns boolean set uH=Idx(UH) return true endfunction function f7x takes string EFx returns integer return(ECx(lv[(E[((X))])],(((EFx))),(((I2S(((wH)))))))) endfunction function f8x takes integer V7x,integer Vxx,real x,real y,real OMx returns integer set WH=x +set yH=y +set YH=OMx set zH=Vxx set ZH=V7x call Eox(vj) +return ej endfunction function f9x takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local integer V7x=f7x(N_x(EQx,1)) local integer Fvx local string Fex=N_x(EQx,2) local real x=(S2R((N_x(EQx,3)))) +local real y=(S2R((N_x(EQx,4)))) +if(Fex==null)then set Fvx=Vxx else +set Fvx=fPx((S2I((Fex)))) endif if(V7x==w)then call Oqx("invalid unit type") return true endif call f8x(V7x,Fvx,x,y,oj) +return true endfunction function Fxx takes nothing returns boolean call N9x("-create",function f9x) +return true endfunction function Fox takes nothing returns boolean call NAx(function Fxx,"CommandCreateUnit_Init") return true endfunction function Frx takes nothing returns boolean set rj=Idx(ij) return true endfunction function Fix takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) call Vmx("CommandDebug_Event_Chat","call DebugEx(String.Word(input, 1))",N_x(EQx,1)) +return true endfunction function Fax takes nothing returns boolean call N9x("-debug",function Fix) return true endfunction function Fnx takes nothing returns boolean call NAx(function Fax,"CommandDebug_Init") return true endfunction function FVx takes nothing returns boolean set aj=Idx(nj) return true endfunction function FEx takes integer VFx,real Vhx returns nothing set Ej[VFx]=Vhx call SetHeroXP(C[(VFx)],(R2I(((Vhx)*1.))),false) +endfunction function FXx takes nothing returns boolean local integer Eix=(bv) call FEx(Bwx(),Vj) return true endfunction function FOx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local real Vsx=(S2R((N_x(EQx,1)))) set Vj=Vsx call BMx(Vxx,function FXx) return true endfunction function FRx takes nothing returns boolean call N9x("-exp",function FOx) return true endfunction function FIx takes nothing returns boolean call NAx(function FRx,"CommandExp_Init") +return true endfunction function FAx takes nothing returns boolean set CB=Idx(IB) return true endfunction function FNx takes nothing returns boolean set Xj=Idx(Oj) return true endfunction function Fbx takes integer VFx returns nothing set cj[(VFx)]=(((Bj[(VFx)])+(Cj[(VFx)]))*1.) +endfunction function FBx takes integer VFx,real Vhx returns nothing set Bj[VFx]=Vhx call Fbx((VFx)) endfunction function Fcx takes integer VFx,real Vhx returns nothing call FBx(VFx,(Bj[(VFx)])+Vhx) endfunction function FCx takes real Vhx,real Fdx,real R7x returns real return Xkx(E9x(Fdx,Vhx),R7x) +endfunction function FDx takes integer VFx returns nothing set Gj[(VFx)]=(((hj[(VFx)])+(gj[(VFx)]))*1.) +endfunction function Ffx takes integer VFx,real Vhx returns nothing set gj[VFx]=Vhx call FDx((VFx)) endfunction function FFx takes integer VFx,real Vhx returns nothing call Ffx(VFx,(gj[(VFx)])+Vhx) endfunction function Fgx takes integer VFx returns nothing set jj[(VFx)]=(((Jj[(VFx)])+(Hj[(VFx)]))*1.) +endfunction function FGx takes integer VFx,real Vhx returns nothing set Hj[VFx]=Vhx call Fgx((VFx)) endfunction function Fhx takes integer VFx,real Vhx returns nothing call FGx(VFx,(Hj[(VFx)])+Vhx) endfunction function FHx takes integer VFx,real Vhx returns nothing local real R7x=(fj[((VFx))]) +local real OVx=(Fj[(VFx)]) set Vhx=FCx(Vhx,.0,(fj[((VFx))])) set Fj[VFx]=Vhx call FFx((VFx),Vhx-OVx) call Fhx((VFx),Vhx-OVx) endfunction function Fjx takes integer VFx,real Vhx returns nothing local real OVx=(fj[(VFx)]) set fj[VFx]=Vhx if(OVx==.0)then return endif call FHx((VFx),(Fj[((VFx))])*1./ OVx*Vhx) endfunction function FJx takes integer VFx returns nothing call Fjx(VFx,(Dj[(VFx)])*(kj[(VFx)])+(Kj[(VFx)])) endfunction function Fkx takes integer VFx,real Vhx returns nothing set Dj[VFx]=Vhx call FJx((VFx)) endfunction function FKx takes integer VFx,real Vhx returns nothing call Fkx(VFx,(Dj[(VFx)])+Vhx) endfunction function Flx takes integer VFx,real R9x returns nothing if((Nj[((bj[((VFx))]))])==1)then +set R9x=1.25*R9x +endif call Fcx((VFx),R9x*dj) call FKx((VFx),R9x*lj) endfunction function FLx takes integer VFx,integer Vgx returns boolean return((LoadInteger(o[((V[(E[((I[(VFx)]))])]))],((((A[((VFx))])))),(((Vgx)))))==0) endfunction function Fmx takes integer a returns integer +if(a>BI)then +return(Imx((a),(2))) +endif return CI[a] +endfunction function FMx takes real a returns real if(a<0)then return-a +endif return a +endfunction function Fpx takes integer VFx,unit Vdx,real R9x,real FPx returns nothing local integer Fqx local integer FQx set R9x=R9x*1 set FPx=FPx*1 if(R9x*FPx<=.0)then if(FPx<.0)then set FQx=qj loop +call UnitRemoveAbility(Vdx,Qj[FQx]) set FQx=FQx-1 exitwhen(FQx<0) endloop else +set FQx=sj loop +call UnitRemoveAbility(Vdx,Sj[FQx]) set FQx=FQx-1 exitwhen(FQx<0) endloop endif if(R9x<.0)then set R9x=-R9x +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(qj)))*1.))) loop +exitwhen(R9x<1.) +set Fqx=tj[FQx] if(Fqx<=R9x)then +set R9x=R9x-Fqx call UnitAddAbility(Vdx,Qj[FQx]) +endif set FQx=FQx-1 endloop else +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(sj)))*1.))) loop +exitwhen(R9x<1.) +set Fqx=tj[FQx] if(Fqx<=R9x)then +set R9x=R9x-Fqx call UnitAddAbility(Vdx,Sj[FQx]) +endif set FQx=FQx-1 endloop endif else +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(qj)))*1.))) if(R9x<.0)then set R9x=-R9x +loop +exitwhen(FQx<0) set Fqx=tj[FQx] if(Fqx<=R9x)then +set R9x=R9x-Fqx call UnitAddAbility(Vdx,Qj[FQx]) +else +call UnitRemoveAbility(Vdx,Qj[FQx]) endif set FQx=FQx-1 endloop else +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(sj)))*1.))) loop +exitwhen(FQx<0) set Fqx=tj[FQx] if(Fqx<=R9x)then +set R9x=R9x-Fqx else +call UnitRemoveAbility(Vdx,Sj[FQx]) endif set FQx=FQx-1 endloop endif endif endfunction function Fsx takes integer VFx,real Vhx,real OVx returns nothing +set Mj[VFx]=Vhx call Fpx(Tj,C[(VFx)],Vhx,OVx) endfunction function FSx takes integer VFx,real Vhx returns nothing local real Ftx=Mj[VFx] set mj[VFx]=Vhx if(Vhx==Ftx)then +if pj[VFx]then set pj[VFx]=false call cEx((VFx),Pj) endif return endif if(FLx((((VFx))),bd))then if not pj[VFx]then set pj[VFx]=true +call CMx((VFx),Pj) endif else +call Fsx(VFx,Vhx,Ftx) endif endfunction function FTx takes integer VFx returns nothing set uj[VFx]=(Cj[((VFx))]) endfunction function Fux takes integer VFx,real Vhx returns nothing set Cj[VFx]=(Cj[(VFx)])+Vhx call FTx(VFx) endfunction function FUx takes integer VFx,real Vhx returns nothing set Kj[VFx]=Vhx call FJx((VFx)) endfunction function Fwx takes integer VFx,real Vhx returns nothing call FUx(VFx,(Kj[(VFx)])+Vhx) endfunction function FWx takes integer VFx,real R9x returns nothing if((Nj[((bj[((VFx))]))])==1)then +set R9x=1.25*R9x +endif call Fux((VFx),R9x*dj) call Fwx((VFx),R9x*lj) endfunction function Fyx takes integer VFx,real Vhx returns nothing local integer FYx=(R2I((((mj[(VFx)]))*1.))) local integer Fzx=(R2I(((Vhx)*1.))) call FSx(VFx,Vhx) call FWx(VFx,Fzx-FYx) endfunction function FZx takes integer VFx returns nothing call Fyx(VFx,(Aj[((VFx))])*((Uj[((VFx))])-1)+(wj[((VFx))])) endfunction function F_x takes integer VFx,real Vhx returns nothing set Lj[VFx]=Vhx call FZx(VFx) endfunction function F0x takes integer VFx returns nothing call F_x(VFx,(Aj[(VFx)])*(Uj[(VFx)])+(wj[(VFx)])) endfunction function F1x takes integer VFx,real Vhx returns nothing local integer FYx=(R2I((((Aj[(VFx)]))*1.))) local integer Fzx=(R2I(((Vhx)*1.))) set Aj[VFx]=Vhx call SetHeroAgi(C[(VFx)],Fzx,true) call Flx(VFx,Fzx-FYx) call F0x((VFx)) endfunction function F2x takes integer VFx,real Vhx returns nothing call F1x(VFx,(Aj[(VFx)])+Vhx) endfunction function F3x takes integer VFx returns boolean if((Zj[((VFx))])>0)then return false +endif set vJ=vJ+1 set eJ[vJ]=VFx set Zj[VFx]=vJ+1 +return(vJ==0) endfunction function F4x takes nothing returns nothing local integer VBx=vJ +loop +exitwhen(VBx<0) set oJ[VBx]=eJ[VBx] set VBx=VBx-1 endloop set rJ=vJ endfunction function F5x takes nothing returns integer local integer Vtx if(rJ<0)then +return w +endif set Vtx=oJ[0] set oJ[0]=oJ[rJ] +set rJ=rJ-1 return Vtx endfunction function F6x takes real a,limitop F7x,real b returns boolean +if(F7x==LESS_THAN)then if(ab)then return true endif elseif(F7x==GREATER_THAN_OR_EQUAL)then if(a>=b)then +return true endif endif return false +endfunction function F8x takes integer ENx,real OVx,real Vhx returns nothing +local integer Eix=V4x((A[(ENx)])) local integer VBx local integer V8x local integer EBx local integer N8x local limitop F9x local integer gvx set Vv[(Eix)]=(ENx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(ENx,nJ,V8x) loop +exitwhen(EBx0)then return false +endif set Zj[eJ[vJ]]=Zj[VFx] set eJ[Zj[VFx]-1]=eJ[vJ] +set Zj[VFx]=0 set vJ=vJ-1 return(vJ==F) endfunction function gax takes integer VFx returns nothing if gix(VFx)then call XNx(xJ) +endif endfunction function gnx takes integer VFx,real Vhx returns nothing local real OVx=Yj[VFx] set Yj[VFx]=Vhx if((OVx>.0)==(Vhx>.0))then return endif if(Vfx(((((VFx)))),(Ud+(zj)))>0)then +return endif if(Vhx>.0)then call grx(VFx) else +call gax(VFx) endif endfunction function gVx takes integer VFx returns nothing call gnx(VFx,(yj[(VFx)])*(VJ[(VFx)])+(EJ[(VFx)])) endfunction function gEx takes integer VFx,real Vhx returns nothing set yj[VFx]=Vhx call gVx((VFx)) endfunction function gXx takes integer VFx,real Vhx returns nothing call gEx(VFx,(yj[(VFx)])+Vhx) endfunction function gOx takes integer VFx,integer R9x returns nothing local integer gRx local integer gIx if(R9x<0)then set R9x=-R9x +set gRx=R9x/ RJ set R9x=R9x-gRx*RJ loop +exitwhen(gRx<1) call Egx((VFx),IJ) call ELx((VFx),IJ,2) +call UnitRemoveAbility(C[(((VFx)))],(IJ)) set gRx=gRx-1 endloop set gIx=AJ[R9x] call Egx((VFx),gIx) call ELx((VFx),gIx,2) call UnitRemoveAbility(C[(((VFx)))],(gIx)) else +set gRx=R9x/ NJ set R9x=R9x-gRx*NJ loop +exitwhen(gRx<1) call Egx((VFx),bJ) call ELx((VFx),bJ,2) +call UnitRemoveAbility(C[(((VFx)))],(bJ)) set gRx=gRx-1 endloop set gIx=BJ[R9x] call Egx((VFx),gIx) call ELx((VFx),gIx,2) call UnitRemoveAbility(C[(((VFx)))],(gIx)) endif endfunction function gAx takes integer VFx,real OVx,real Vhx returns nothing +if((iJ[((VFx))])==.0)then return endif call gex((VFx),(iJ[((VFx))])*1./ OVx*Vhx) endfunction function gNx takes integer VFx,real Vhx returns nothing local real OVx=aJ[VFx] if(OVx==Vhx)then +return endif set aJ[VFx]=Vhx call gOx(VFx,(R2I(((Vhx-OVx)*1.)))) if(OVx!=.0)then call gAx(VFx,OVx,Vhx) endif endfunction function gbx takes integer VFx returns nothing call gNx(VFx,(OJ[(VFx)])*(cJ[(VFx)])+(CJ[(VFx)])) endfunction function gBx takes integer VFx,real Vhx returns nothing set OJ[VFx]=Vhx call gbx((VFx)) endfunction function gcx takes integer VFx,real Vhx returns nothing call gBx(VFx,(OJ[(VFx)])+Vhx) endfunction function gCx takes integer VFx,real Vhx returns nothing set fJ[VFx]=Vhx-(DJ[(VFx)]) set FJ[VFx]=Vhx endfunction function gdx takes integer VFx returns nothing call gCx(VFx,(DJ[(VFx)])*(gJ[(VFx)])+(GJ[(VFx)])) endfunction function gDx takes integer VFx,real Vhx returns nothing set DJ[VFx]=Vhx call gdx((VFx)) endfunction function gfx takes integer VFx,real Vhx returns nothing call gDx(VFx,(DJ[(VFx)])+Vhx) endfunction function gFx takes integer VFx,real R9x returns nothing if((Nj[((bj[((VFx))]))])==2)then +set R9x=1.25*R9x +endif call gXx((VFx),R9x*XJ) call gcx((VFx),R9x*dJ) call gfx((VFx),R9x*hJ) endfunction function ggx takes integer VFx,unit Vdx,real R9x,real FPx returns nothing local integer Fqx local integer FQx set R9x=R9x*1 set FPx=FPx*1 if(R9x*FPx<=.0)then if(FPx<.0)then set FQx=lJ loop +call UnitRemoveAbility(Vdx,LJ[FQx]) set FQx=FQx-1 exitwhen(FQx<0) endloop else +set FQx=mJ loop +call UnitRemoveAbility(Vdx,MJ[FQx]) set FQx=FQx-1 exitwhen(FQx<0) endloop endif if(R9x<.0)then set R9x=-R9x +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(lJ)))*1.))) loop +exitwhen(R9x<1.) +set Fqx=pJ[FQx] if(Fqx<=R9x)then +set R9x=R9x-Fqx call UnitAddAbility(Vdx,LJ[FQx]) +endif set FQx=FQx-1 endloop else +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(mJ)))*1.))) loop +exitwhen(R9x<1.) +set Fqx=pJ[FQx] if(Fqx<=R9x)then +set R9x=R9x-Fqx call UnitAddAbility(Vdx,MJ[FQx]) +endif set FQx=FQx-1 endloop endif else +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(lJ)))*1.))) if(R9x<.0)then set R9x=-R9x +loop +exitwhen(FQx<0) set Fqx=pJ[FQx] if(Fqx<=R9x)then +set R9x=R9x-Fqx call UnitAddAbility(Vdx,LJ[FQx]) +else +call UnitRemoveAbility(Vdx,LJ[FQx]) endif set FQx=FQx-1 endloop else +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(mJ)))*1.))) loop +exitwhen(FQx<0) set Fqx=pJ[FQx] if(Fqx<=R9x)then +set R9x=R9x-Fqx else +call UnitRemoveAbility(Vdx,MJ[FQx]) endif set FQx=FQx-1 endloop endif endif endfunction function gGx takes integer VFx,real Vhx,real OVx returns nothing +set JJ[VFx]=Vhx call ggx(PJ,C[(VFx)],Vhx,OVx) endfunction function ghx takes integer VFx,real Vhx returns nothing local real Ftx=JJ[VFx] set jJ[VFx]=Vhx if(Vhx==Ftx)then +if kJ[VFx]then set kJ[VFx]=false call cEx((VFx),KJ) endif return endif if(FLx((((VFx))),bd))then if not kJ[VFx]then set kJ[VFx]=true +call CMx((VFx),KJ) endif else +call gGx(VFx,Vhx,Ftx) endif endfunction function gHx takes integer VFx,real Vhx returns nothing set EJ[VFx]=Vhx call gVx((VFx)) endfunction function gjx takes integer VFx,real Vhx returns nothing call gHx(VFx,(EJ[(VFx)])+Vhx) endfunction function gJx takes integer VFx,real Vhx returns nothing set CJ[VFx]=Vhx call gbx((VFx)) endfunction function gkx takes integer VFx,real Vhx returns nothing call gJx(VFx,(CJ[(VFx)])+Vhx) endfunction function gKx takes integer VFx,real Vhx returns nothing set GJ[VFx]=Vhx call gdx((VFx)) endfunction function glx takes integer VFx,real Vhx returns nothing call gKx(VFx,(GJ[(VFx)])+Vhx) endfunction function gLx takes integer VFx,real R9x returns nothing if((Nj[((bj[((VFx))]))])==2)then +set R9x=1.25*R9x +endif call gjx((VFx),R9x*XJ) call gkx((VFx),R9x*dJ) call glx((VFx),R9x*hJ) endfunction function gmx takes integer VFx,real Vhx returns nothing local integer FYx=(R2I((((jJ[(VFx)]))*1.))) local integer Fzx=(R2I(((Vhx)*1.))) call ghx(VFx,Vhx) call gLx(VFx,Fzx-FYx) endfunction function gMx takes integer VFx returns nothing call gmx(VFx,(Wj[((VFx))])*((qJ[((VFx))])-1)+(QJ[((VFx))])) endfunction function gpx takes integer VFx,real Vhx returns nothing set HJ[VFx]=Vhx call gMx(VFx) endfunction function gPx takes integer VFx returns nothing call gpx(VFx,(Wj[(VFx)])*(qJ[(VFx)])+(QJ[(VFx)])) endfunction function gqx takes integer VFx,real Vhx returns nothing local integer FYx=(R2I((((Wj[(VFx)]))*1.))) local integer Fzx=(R2I(((Vhx)*1.))) set Wj[VFx]=Vhx call SetHeroInt(C[(VFx)],Fzx,true) call gFx(VFx,Fzx-FYx) call gPx((VFx)) endfunction function gQx takes integer VFx,real Vhx returns nothing call gqx(VFx,(Wj[(VFx)])+Vhx) endfunction function gsx takes integer VFx returns boolean return FLx((VFx),bd) +endfunction function gSx takes integer VFx,unit Vdx,real R9x returns nothing +local boolean gtx=(UnitInventorySize(Vdx)>0) +local integer Fqx local integer FQx if not gtx then call UnitAddAbility(Vdx,'AInv') endif if(R9x<0)then set R9x=-R9x +set FQx=yJ loop +exitwhen(R9x<1) set Fqx=YJ[FQx] loop +exitwhen(R9x0)then return false +endif set Fk=Fk+1 set gk[Fk]=VFx set fk[VFx]=Fk+1 +return(Fk==0) endfunction function g5x takes nothing returns nothing local integer VBx=Fk +loop +exitwhen(VBx<0) set hk[VBx]=gk[VBx] set VBx=VBx-1 endloop set Hk=Fk endfunction function g6x takes nothing returns integer local integer Vtx if(Hk<0)then +return w +endif set Vtx=hk[0] set hk[0]=hk[Hk] +set Hk=Hk-1 return Vtx endfunction function g7x takes integer VFx returns boolean set XC=XC+1 set EC[XC]=VFx set VC[VFx]=XC+1 +return(XC==0) endfunction function g8x takes integer VFx,real x,real y,real z returns nothing call box(VFx,(Gc[(VFx)])+x,(hc[(VFx)])+y,(Hc[(VFx)])+z) endfunction function g9x takes integer VFx,real Vhx returns nothing set xC[VFx]=Vhx call SetTextTagText(Jc[(VFx)],Yc[VFx],Vhx) endfunction function Gvx takes nothing returns nothing local integer VBx=XC +local integer VFx local real Gex local real Gxx local real Gox loop +set VFx=EC[VBx] set Gex=lk[VFx]+Mk[VFx] set Gxx=sk[VFx]+tk[VFx] set Gox=Kk[VFx]+Gex set Kk[VFx]=Gox set lk[VFx]=Gex set sk[VFx]=Gxx call g8x((VFx),qk[VFx],Qk[VFx],Gxx) call g9x((VFx),Gox*Pk[VFx]) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function Grx takes nothing returns nothing local integer Xrx=XXx() local integer VFx=(ge[(Xrx)]) call bDx(VFx,Xrx) call bLx((VFx)) endfunction function Gix takes string Xox,real bIx,real x,real y,real z,integer id returns integer local integer ENx=bXx(id) local real OMx local integer VFx local integer Xrx if(ENx==w)then return w +endif set OMx=(GetRandomReal(((.0)*1.),((TH)*1.))) +set VFx=ENx set Xrx=E5x() set Kk[VFx]=1. set lk[VFx]=Lk*mk set Mk[VFx]=pk*mk*mk +set Pk[VFx]=bIx set qk[VFx]=(Cos(((((OMx)*1.))*1.)))*20.*mk set Qk[VFx]=(Sin(((((OMx)*1.))*1.)))*20.*mk set sk[VFx]=Sk*mk set tk[VFx]=Tk*mk*mk +set RC[VFx]=Xrx set nC[VFx]=true +set ge[(Xrx)]=(VFx) call box(ENx,x,y,z) call bRx(ENx,Xox,bIx) if g7x(VFx)then call Xax(OC,mk,true,function Gvx) endif call Xax(Xrx,1.5,false,function Grx) +call bwx(ENx,.75,1.5) return ENx endfunction function Gax takes integer VFx,string Xox,real bIx,integer id returns integer local real x=(GetUnitX(C[((VFx))])) local real y=(GetUnitY(C[((VFx))])) return Gix(Xox,bIx,x,y,bzx(VFx,x,y)+bZx(VFx,true),id) endfunction function Gnx takes integer VFx returns boolean if not(kk[(VFx)])then return false +endif call Gax((VFx),Xhx("Immortal!!","ff777777"),.02,uk+VFx) return true endfunction function GVx takes integer VFx,integer GEx returns nothing local integer Eix=V4x(0) +local integer VBx local integer V8x local integer EBx set Wk[(Eix)]=(GEx) set Vv[(Eix)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((Se))),((((1+8192*((((yk))-1)*Iv+(((V8x))-1))))))))) loop +exitwhen(EBx0)then return false +endif set fk[gk[Fk]]=fk[VFx] set gk[fk[VFx]-1]=gk[Fk] +set fk[VFx]=0 set Fk=Fk-1 return(Fk==F) endfunction function GCx takes integer VFx returns nothing if Gcx(VFx)then call XNx(Gk) +endif endfunction function Gdx takes integer VFx,real Vhx returns nothing local real OVx=dk[VFx] set dk[VFx]=Vhx if((OVx>.0)==(Vhx>.0))then return endif if(Vfx(((((VFx)))),(Ud+(Dk)))>0)then +return endif if(Vhx>.0)then call GBx(VFx) else +call GCx(VFx) endif endfunction function GDx takes integer VFx returns nothing call Gdx(VFx,(Ck[(VFx)])*(Zk[(VFx)])+(vK[(VFx)])) endfunction function Gfx takes integer VFx,real Vhx returns nothing set Ck[VFx]=Vhx call GDx((VFx)) endfunction function GFx takes integer VFx,real Vhx returns nothing call Gfx(VFx,(Ck[(VFx)])+Vhx) endfunction function Ggx takes integer VFx,integer R9x returns nothing local integer gRx local integer gIx if(R9x<0)then set R9x=-R9x +set gRx=R9x/ oK set R9x=R9x-gRx*oK loop +exitwhen(gRx<1) call Egx((VFx),rK) call ELx((VFx),rK,2) +call UnitRemoveAbility(C[(((VFx)))],(rK)) set gRx=gRx-1 endloop set gIx=iK[R9x] call Egx((VFx),gIx) call ELx((VFx),gIx,2) call UnitRemoveAbility(C[(((VFx)))],(gIx)) else +set gRx=R9x/ aK set R9x=R9x-gRx*aK loop +exitwhen(gRx<1) call Egx((VFx),nK) call ELx((VFx),nK,2) +call UnitRemoveAbility(C[(((VFx)))],(nK)) set gRx=gRx-1 endloop set gIx=VK[R9x] call Egx((VFx),gIx) call ELx((VFx),gIx,2) call UnitRemoveAbility(C[(((VFx)))],(gIx)) endif endfunction function GGx takes integer VFx,real OVx,real Vhx returns nothing +local real Ghx=(jk[((VFx))]) +if(Ghx==.0)then return endif call GIx((VFx),Ghx*1./ OVx*Vhx) endfunction function GHx takes integer VFx,real Vhx returns nothing local real OVx=Jk[VFx] if(OVx==Vhx)then +return endif set Jk[VFx]=Vhx call Ggx(VFx,(R2I(((Vhx-OVx)*1.)))) if(OVx!=.0)then call GGx(VFx,OVx,Vhx) endif endfunction function Gjx takes integer VFx returns nothing call GHx(VFx,(xK[(VFx)])*(EK[(VFx)])+(XK[(VFx)])) endfunction function GJx takes integer VFx,real Vhx returns nothing set xK[VFx]=Vhx call Gjx((VFx)) endfunction function Gkx takes integer VFx,real Vhx returns nothing call GJx(VFx,(xK[(VFx)])+Vhx) endfunction function GKx takes integer VFx,real R9x returns nothing if((Nj[((bj[((VFx))]))])==3)then +set R9x=1.25*R9x +endif call g3x((VFx),R9x*ck) call GFx((VFx),R9x*eK) call Gkx((VFx),R9x*OK) endfunction function Glx takes integer VFx,unit Vdx,real R9x,real FPx returns nothing local integer Fqx local integer FQx set R9x=R9x*1 set FPx=FPx*1 if(R9x*FPx<=.0)then if(FPx<.0)then set FQx=BK loop +call UnitRemoveAbility(Vdx,cK[FQx]) set FQx=FQx-1 exitwhen(FQx<0) endloop else +set FQx=CK loop +call UnitRemoveAbility(Vdx,dK[FQx]) set FQx=FQx-1 exitwhen(FQx<0) endloop endif if(R9x<.0)then set R9x=-R9x +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(BK)))*1.))) loop +exitwhen(R9x<1.) +set Fqx=DK[FQx] if(Fqx<=R9x)then +set R9x=R9x-Fqx call UnitAddAbility(Vdx,cK[FQx]) +endif set FQx=FQx-1 endloop else +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(CK)))*1.))) loop +exitwhen(R9x<1.) +set Fqx=DK[FQx] if(Fqx<=R9x)then +set R9x=R9x-Fqx call UnitAddAbility(Vdx,dK[FQx]) +endif set FQx=FQx-1 endloop endif else +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(BK)))*1.))) if(R9x<.0)then set R9x=-R9x +loop +exitwhen(FQx<0) set Fqx=DK[FQx] if(Fqx<=R9x)then +set R9x=R9x-Fqx call UnitAddAbility(Vdx,cK[FQx]) +else +call UnitRemoveAbility(Vdx,cK[FQx]) endif set FQx=FQx-1 endloop else +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(CK)))*1.))) loop +exitwhen(FQx<0) set Fqx=DK[FQx] if(Fqx<=R9x)then +set R9x=R9x-Fqx else +call UnitRemoveAbility(Vdx,dK[FQx]) endif set FQx=FQx-1 endloop endif endif endfunction function GLx takes integer VFx,real Vhx,real OVx returns nothing +set AK[VFx]=Vhx call Glx(fK,C[(VFx)],Vhx,OVx) endfunction function Gmx takes integer VFx,real Vhx returns nothing local real Ftx=AK[VFx] set IK[VFx]=Vhx if(Vhx==Ftx)then +if NK[VFx]then set NK[VFx]=false call cEx((VFx),bK) endif return endif if(FLx((((VFx))),bd))then if not NK[VFx]then set NK[VFx]=true +call CMx((VFx),bK) endif else +call GLx(VFx,Vhx,Ftx) endif endfunction function GMx takes integer VFx,real Vhx returns nothing set xk[VFx]=Vhx call gZx((VFx)) endfunction function Gpx takes integer VFx,real Vhx returns nothing call GMx(VFx,(xk[(VFx)])+Vhx) endfunction function GPx takes integer VFx,real Vhx returns nothing set vK[VFx]=Vhx call GDx((VFx)) endfunction function Gqx takes integer VFx,real Vhx returns nothing call GPx(VFx,(vK[(VFx)])+Vhx) endfunction function GQx takes integer VFx,real Vhx returns nothing set XK[VFx]=Vhx call Gjx((VFx)) endfunction function Gsx takes integer VFx,real Vhx returns nothing call GQx(VFx,(XK[(VFx)])+Vhx) endfunction function GSx takes integer VFx,real R9x returns nothing if((Nj[((bj[((VFx))]))])==3)then +set R9x=1.25*R9x +endif call Gpx((VFx),R9x*ck) call Gqx((VFx),R9x*eK) call Gsx((VFx),R9x*OK) endfunction function Gtx takes integer VFx,real Vhx returns nothing local integer FYx=(R2I((((IK[(VFx)]))*1.))) local integer Fzx=(R2I(((Vhx)*1.))) call Gmx(VFx,Vhx) call GSx(VFx,Fzx-FYx) endfunction function GTx takes integer VFx returns nothing call Gtx(VFx,(sJ[((VFx))])*((FK[((VFx))])-1)+(gK[((VFx))])) endfunction function Gux takes integer VFx,real Vhx returns nothing set RK[VFx]=Vhx call GTx(VFx) endfunction function GUx takes integer VFx returns nothing call Gux(VFx,(sJ[(VFx)])*(FK[(VFx)])+(gK[(VFx)])) endfunction function Gwx takes integer VFx,real Vhx returns nothing local integer FYx=(R2I((((sJ[(VFx)]))*1.))) local integer Fzx=(R2I(((Vhx)*1.))) set sJ[VFx]=Vhx call SetHeroStr(C[(VFx)],Fzx,true) call GKx(VFx,Fzx-FYx) call GUx((VFx)) endfunction function GWx takes integer VFx,real Vhx returns nothing call Gwx(VFx,(sJ[(VFx)])+Vhx) endfunction function Gyx takes nothing returns boolean local integer Eix=(bv) if(Rj=="-agi")then call F2x(Bwx(),Ij) elseif(Rj=="-int")then call gQx(Bwx(),Ij) elseif(Rj=="-str")then call GWx(Bwx(),Ij) else +call Vmx("CommandHeroAttribute_Enum","call DebugEx(\"unrecognized\")","unrecognized") endif return true endfunction function GYx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local string Gzx=(ic[(Eix)]) +local real Vsx=(S2R((N_x(EQx,1)))) set Rj=Gzx set Ij=Vsx call BMx(Vxx,function Gyx) return true endfunction function GZx takes nothing returns boolean call N9x("-agi",function GYx) call N9x("-int",function GYx) call N9x("-str",function GYx) return true endfunction function G_x takes nothing returns boolean call NAx(function GZx,"CommandHeroAttribute_Init") return true endfunction function G0x takes nothing returns boolean set GK=Idx(hK) return true endfunction function G1x takes integer VFx,integer GEx returns nothing if Gnx(VFx)then return endif set Yk=GEx call KillUnit(C[(VFx)]) endfunction function G2x takes integer VFx returns nothing call G1x(VFx,w) endfunction function G3x takes nothing returns boolean local integer Eix=(bv) call G2x(Bwx()) return true endfunction function G4x takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) call BMx(Vxx,function G3x) return true endfunction function G5x takes nothing returns boolean call N9x("-kill",function G4x) return true endfunction function G6x takes nothing returns boolean call NAx(function G5x,"CommandKillUnit_Init") return true endfunction function G7x takes nothing returns boolean set HK=Idx(jK) return true endfunction function G8x takes integer VFx returns nothing set lK[(VFx)]=true set LK[(VFx)]=true set mK[(VFx)]=true endfunction function G9x takes integer VFx,integer EGx returns nothing call UnitRemoveAbility(C[(VFx)],EGx) +endfunction function hvx takes integer VFx,integer Bqx returns integer local integer VBx=(Bex(((VFx)),Q)) local integer EAx loop +exitwhen(VBx=uK)and(VFx<=UK)) endfunction function hax takes integer VFx,playerstate hnx returns integer return GetPlayerState(vx[(VFx)],hnx) +endfunction function hVx takes integer VFx,integer hEx returns nothing call UnitAddItem(C[(VFx)],ah[hEx]) endfunction function hXx takes integer VFx,integer Fvx returns nothing local item Vdx=ah[VFx] local real x=(GetItemX(ah[((VFx))])) +local real y=(GetItemY(ah[((VFx))])) +call SaveInteger(o[((V[(E[(((X)))])]))],(((GetHandleId((Vdx))))),((((nh)))),((((VFx))))) +call RemoveItem(Vdx) +set Vdx=CreateItem(kh[(Oh[(VFx)])],x,y) set ah[VFx]=Vdx call SaveInteger(o[((V[(E[(((X)))])]))],(((GetHandleId((Vdx))))),((((nh)))),((((VFx))))) +if(Fvx!=w)then call hVx(Fvx,VFx) endif set Vdx=null +endfunction function hOx takes integer VFx,playerstate hnx,integer Vhx returns nothing local integer VBx if(VFx==Ge)then set VBx=YK loop +call hOx(zK[VBx],hnx,Vhx) set VBx=VBx-1 exitwhen(VBx<0) endloop else +call SetPlayerState(vx[(VFx)],hnx,Vhx) endif endfunction function hRx takes integer VFx,playerstate hnx,integer Vhx returns nothing call hOx(VFx,hnx,(GetPlayerState(vx[((VFx))],(hnx)))-Vhx) endfunction function hIx takes integer VFx,integer Vgx,integer Vhx returns boolean return((LoadInteger(o[((D[((oh[(VFx)]))]))],((((Eh[((VFx))])))),(VGx(((Vgx)),(((Vhx)))))))!=0) endfunction function hAx takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((oh[(VFx)]))])]))],((((Eh[((VFx))])))),(((Vgx)))))) endfunction function hNx takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((oh[(VFx)]))])]))],((((Eh[((VFx))])))),(((Vgx)+(VAx))))) endfunction function hbx takes integer VFx returns integer set Il[VFx]=true +set Al[VFx]=false call V1x(Nl) +return VFx endfunction function hBx takes nothing returns integer local integer VFx if(Vl==8190)then +call Vmx("SpellInstance_Allocation_allocCustom","call DebugEx(SpellInstance.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",El+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(Xl[(w)]==w)then set Ol=Ol+1 set VFx=Ol else +set VFx=Xl[(w)] set Xl[(w)]=Xl[Xl[(w)]] endif set Xl[VFx]=Z set Rl[VFx]=1 call hbx(VFx) return VFx endfunction function hcx takes integer VFx returns nothing set gl[VFx]=0 set Gl[VFx]=false endfunction function hCx takes integer hdx,integer EAx returns integer local integer VFx=hBx() set bl[(VFx)]=((.0)*1.) set Bl[(VFx)]=(hdx) set cl[(VFx)]=(0) set Cl[(VFx)]=(((ak[(hdx)]))*1.) +set dl[(VFx)]=((.0)*1.) set Dl[(VFx)]=(EJx(hdx,EAx)) +set fl[(VFx)]=(EAx) set Fl[(VFx)]=(((FJ[(hdx)]))*1.) +set rl[(VFx)]=(w) set il[(VFx)]=(w) set al[(VFx)]=((.0)*1.) set nl[(VFx)]=((.0)*1.) call hcx(VFx) return VFx endfunction function hDx takes integer VFx,integer Vgx returns real return(LoadReal(o[((V[(E[((hl[(VFx)]))])]))],((((Ev[((VFx))])))),(((Vgx))))) +endfunction function hfx takes integer VFx,integer cSx,integer EKx,real Xdx returns integer return d9x(VFx,cSx,EKx,w,Xdx) endfunction function hFx takes integer hgx returns nothing local real Xdx=(hDx(((fl[(hgx)])),jl+((Dl[(hgx)])))) +if(Xdx==.0)then return endif call dpx((Bl[(hgx)]),Jl) +set kl=Xdx set Kl=hgx call hfx((Bl[(hgx)]),Jl,1,Xdx) endfunction function hGx takes integer VFx returns integer set Ql[VFx]=true +set sl[VFx]=false call V1x(Sl) +return VFx endfunction function hhx takes nothing returns integer local integer VFx if(ml==8190)then +call Vmx("FolderUnit_FolderAbilities_StructCooldown_Allocation_allocCustom","call DebugEx(FolderUnit_FolderAbilities_StructCooldown.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Ml+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(pl[(w)]==w)then set Pl=Pl+1 set VFx=Pl else +set VFx=pl[(w)] set pl[(w)]=pl[pl[(w)]] endif set pl[VFx]=Z set ql[VFx]=1 call hGx(VFx) return VFx endfunction function hHx takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(hl[(VFx)],(Ev[((VFx))]),Vgx,Vhx) endfunction function hjx takes integer VFx,integer Vgx,integer Vhx returns nothing call SaveInteger(o[((V[(E[((hl[(VFx)]))])]))],((((Ev[((VFx))])))),(((Vgx))),(((Vhx)))) endfunction function hJx takes integer VFx returns nothing set Ql[VFx]=false call EEx(Sl) +endfunction function hkx takes integer VFx returns nothing if(ql[VFx]>0)then return endif if(pl[VFx]!=Z)then call Vmx("FolderUnit_FolderAbilities_StructCooldown_Allocation_deallocCustom_confirm","call DebugEx(FolderUnit_FolderAbilities_StructCooldown.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Ml+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set pl[VFx]=pl[(w)] set pl[(w)]=VFx call hJx(VFx) endfunction function hKx takes integer VFx returns nothing set ql[VFx]=ql[VFx]-1 call hkx(VFx) endfunction function hlx takes integer VFx,integer Vgx,integer Vhx returns boolean return VYx(hl[(VFx)],(Ev[((VFx))]),Vgx,Vhx) endfunction function hLx takes integer VFx,integer Vgx returns nothing call SaveInteger(o[(((V[(E[((hl[(VFx)]))])])))],(((((Ev[((VFx))]))))),((((Vgx)))),(0)) endfunction function hmx takes integer ENx,integer EAx returns nothing local integer Eix=V4x((A[(ENx)])) local integer Ebx local integer VBx local integer V8x local integer EBx set nv[(Eix)]=(EAx) set Vv[(Eix)]=(ENx) set Ebx=V4x((Ev[(EAx)])) +set nv[(Ebx)]=(EAx) set Vv[(Ebx)]=(ENx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(ENx,Wl,V8x) loop +exitwhen(EBx0)then set Gl[VFx]=true +return false +endif return true endfunction function h4x takes integer VFx returns nothing set Il[VFx]=false call EEx(Nl) +endfunction function h5x takes integer VFx returns nothing if(Rl[VFx]>0)then return endif if(Xl[VFx]!=Z)then call Vmx("SpellInstance_Allocation_deallocCustom_confirm","call DebugEx(SpellInstance.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",El+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Xl[VFx]=Xl[(w)] set Xl[(w)]=VFx call h4x(VFx) endfunction function h6x takes integer VFx returns nothing set Rl[VFx]=Rl[VFx]-1 call h5x(VFx) endfunction function h7x takes integer VFx returns nothing if not h3x(VFx)then return endif call h6x((VFx)) endfunction function h8x takes integer hgx,integer hzx returns nothing local integer hdx=(Bl[(hgx)]) local integer EKx=(Dl[(hgx)]) local integer h_x=(il[(hgx)]) local integer EAx=(fl[(hgx)]) local boolean h9x=(h_x!=w) local integer VFx=hdx local boolean Hvx call hFx(hgx) call hqx(hdx,EAx) call hQx(hdx,(hDx((EAx),zl+(EKx)))) if h9x then set Hvx=not(IsUnitAlly(C[(hdx)],vx[((ze[(h_x)]))])) endif if Cmx(hdx,rG)then call htx(hdx,Xhx((Zl[((fl[(hgx)]))]),"ff00ffff"),S2R(hWx("size","0.021")),(0),false,-hyx(hdx,true),.0) endif call hYx(hgx,hzx) if h9x then if Hvx then set nL=true endif endif call h7x(hgx) set ol[VFx]=w endfunction function Hex takes integer VFx,integer hgx,integer hEx returns nothing call h8x(hgx,hEx) endfunction function Hxx takes integer VFx,integer hEx,integer EAx,integer EKx,integer hZx,integer h_x,real h0x,real h1x returns nothing +local integer hgx=hCx(VFx,EAx) set Dl[(hgx)]=(EKx) set rl[(hgx)]=(hZx) set il[(hgx)]=(h_x) set al[(hgx)]=((h0x)*1.) +set nl[(hgx)]=((h1x)*1.) +call Hex((VFx),hgx,hEx) endfunction function Hox takes integer VFx,integer hEx returns nothing local integer VBx=(hAx(((hEx)),Nh)) local integer EKx local integer Hrx=(ol[((VFx))]) local integer EAx local integer hZx=(rl[(Hrx)]) local integer h_x=(il[(Hrx)]) local real h0x=(al[(Hrx)]) local real h1x=(nl[(Hrx)]) loop +exitwhen(VBx0)then set RL[VFx]=true +return false +endif return true endfunction function HEx takes integer VFx returns nothing set bL[VFx]=false call EEx(BL) +endfunction function HXx takes integer VFx returns nothing if(IL[VFx]>0)then return endif if(AL[VFx]!=Z)then call Vmx("OrderInstance_Allocation_deallocCustom_confirm","call DebugEx(OrderInstance.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",NL+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set AL[VFx]=AL[(w)] set AL[(w)]=VFx call HEx(VFx) endfunction function HOx takes integer VFx returns nothing set IL[VFx]=IL[VFx]-1 call HXx(VFx) endfunction function HRx takes integer VFx returns nothing if not HVx(VFx)then return endif call HOx((VFx)) endfunction function HIx takes integer VFx returns nothing local integer Clx=(XL[(VFx)]) if(Clx==w)then return endif set XL[VFx]=w call HRx(Clx) endfunction function HAx takes integer VFx returns nothing local integer ENx=VFx endfunction function HNx takes integer VFx returns nothing call HIx((VFx)) call HAx(VFx) endfunction function Hbx takes integer VFx,integer Vgx returns boolean return((LoadInteger(o[((V[(E[((MC[(VFx)]))])]))],((((pC[((VFx))])))),(((Vgx)))))==0) +endfunction function HBx takes integer VFx,integer Vux,integer Vgx returns integer local integer VUx=(0+(LoadInteger(o[((V[(E[((VFx))])]))],(((Vux))),(((Vgx)))))) local integer Vhx if(VUx==0)then return 0 +endif set Vhx=(LoadInteger(o[((V[(E[((VFx))])]))],(((Vux))),(((Vgx)+(VUx))))) call SaveInteger(o[((V[(E[((VFx))])]))],(((Vux))),(((Vgx))),(((VUx-1)-0))) call SaveInteger(o[(((D[VFx])))],((Vux)),((VGx(Vgx,(Vhx)))),(0)) +call SaveInteger(o[(((V[(E[(VFx)])])))],(((Vux))),(((Vgx+VUx))),(0)) +return Vhx endfunction function Hcx takes integer VFx,integer Vgx returns integer return HBx(MC[(VFx)],(pC[((VFx))]),Vgx) endfunction function HCx takes integer VFx returns integer return(LoadInteger(o[((V[(E[((X))])]))],((((GetUnitCurrentOrder(C[(VFx)]))))),(((FL))))) +endfunction function Hdx takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(MC[(VFx)],(pC[((VFx))]),Vgx,Vhx) endfunction function HDx takes integer VFx,integer Vhx returns nothing if(b8x((VFx),qC,(Vhx)))then call Vmx("UnitList_Add","call DebugEx(UnitList.NAME + \" Add: \" + value.GetName() + \" already in \" + this.GetName())",sC+" Add: "+(GetUnitName(C[(Vhx)]))+" already in "+(SC[(VFx)])) +return endif call Hdx(VFx,qC,Vhx) +endfunction function Hfx takes integer VFx,integer Vux,integer Vgx,integer HFx,integer Hgx,integer HGx returns nothing local integer VUx=(0+(LoadInteger(o[((V[(E[(((HFx)))])]))],(((Hgx))),(((HGx)))))) local integer Hhx local integer VBx local integer Iix local integer Vhx if(VUx==0)then return endif set Hhx=0 set VBx=q set Iix=(0+(LoadInteger(o[((V[(E[((VFx))])]))],(((Vux))),(((Vgx)))))) loop +set Vhx=(LoadInteger(o[((V[(E[(((HFx)))])]))],(((Hgx))),(((HGx)+(VBx))))) if not((LoadInteger(o[((D[((VFx))]))],(((Vux))),(VGx(((Vgx)),(((Vhx)))))))!=0)then set Hhx=Hhx+1 call SaveInteger(o[((D[VFx]))],(Vux),(VGx(Vgx,(Vhx))),(Iix+Hhx)) +call SaveInteger(o[((V[(E[(VFx)])]))],((Vux)),((Vgx+Iix+Hhx)),((Vhx))) endif set VBx=VBx+1 exitwhen(VBx>VUx) endloop call SaveInteger(o[((V[(E[((VFx))])]))],(((Vux))),(((Vgx))),(((Iix+Hhx)-0))) +endfunction function HHx takes integer VFx,integer Vgx,integer HFx returns nothing call Hfx(MC[(VFx)],(pC[((VFx))]),Vgx,MC[(HFx)],(pC[((HFx))]),Vgx) endfunction function Hjx takes integer VFx,integer Vux,integer Vgx returns nothing local integer VBx=(0+(LoadInteger(o[((V[(E[((VFx))])]))],(((Vux))),(((Vgx)))))) local integer Vhx loop +exitwhen(VBxhax(HTx,PLAYER_STATE_RESOURCE_GOLD))then call hXx(Hux,VFx) call Gax((VFx),Xhx("Not enough gold!","ffff0000"),.022,yK+VFx) return endif call hRx(HTx,PLAYER_STATE_RESOURCE_GOLD,HUx) +if((hIx(((Hux)),Gh,(ZK)))and(vl[((VFx))]))then call Hix((VFx),Hux) endif endif call HLx((VFx),Clx) call HPx(VFx,Clx) endfunction function Hwx takes integer VFx returns nothing local integer Clx set lK[VFx]=false set Clx=MK[VFx] if(Clx==w)then return endif set MK[VFx]=w call HQx(VFx,Clx) endfunction function HWx takes integer VFx,integer Clx returns nothing local integer ENx=VFx local integer Bqx=(pK[(Clx)]) local real h0x=(JL[(Clx)]) local real h1x=(kL[(Clx)]) local integer Hqx=V4x((GL[(Bqx)])) local integer Eix local integer VBx local integer V8x local integer EBx set QK[(Hqx)]=(Bqx) set rL[(Hqx)]=((h0x)*1.) +set iL[(Hqx)]=((h1x)*1.) +set Vv[(Hqx)]=(ENx) set Eix=V4x((A[(ENx)])) set QK[(Eix)]=(Bqx) set rL[(Eix)]=((h0x)*1.) +set iL[(Eix)]=((h1x)*1.) +set Vv[(Eix)]=(ENx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(ENx,KL,V8x) loop +exitwhen(EBxXm))then call Vmx("FolderDummyUnit_FolderPosition_StructX_Set","call DebugEx(FolderDummyUnit_FolderPosition_StructX.NAME + \" out of bounds \" + DummyUnit(this).GetName() + \" \" + R2S(val))",Om+" out of bounds "+(GetUnitName(nm[((VFx))]))+" "+R2S(Vsx)) +return endif set Rm[VFx]=Vsx call SetUnitX(nm[(VFx)],Vsx) +endfunction function jFx takes integer VFx,real Vsx returns nothing if((VsxAm))then call Vmx("FolderDummyUnit_FolderPosition_StructY_Set","call DebugEx(FolderDummyUnit_FolderPosition_StructY.NAME + \" out of bounds \" + DummyUnit(this).GetName() + \" \" + R2S(val))",Nm+" out of bounds "+(GetUnitName(nm[((VFx))]))+" "+R2S(Vsx)) +return endif set bm[VFx]=Vsx call SetUnitY(nm[(VFx)],Vsx) +endfunction function jgx takes integer VFx,integer Bqx,integer csx returns boolean call jfx((VFx),dxx(csx)) +call jFx((VFx),dox(csx)) +return(IssueTargetOrderById(nm[((VFx))],md[(Bqx)],C[((csx))])) endfunction function jGx takes integer VFx,integer cSx,integer EKx,integer Clx returns boolean local integer dDx=ddx(VFx,cSx,EKx,Clx) if(dDx==w)then return false +endif call CSx((X),(Yd),(VFx),(cSx),(w),(dDx),0) return true endfunction function jhx takes integer VFx returns nothing endfunction function jHx takes integer VFx returns nothing local real jjx=jCx(VFx)-(vm[((bj[((VFx))]))]) local integer dhx call UnitRemoveAbility(C[(((((VFx)))))],(('BUSC'))) if(jjx==0)then call dpx((VFx),em) call jdx(VFx) return endif if Cmx((VFx),tf)then +call jdx(VFx) return endif set dhx=xm[jDx((R2I(((((jjx)-om)*1./ rm)*1.))),im,am)] call UnitAddAbility(nm[((Vm))],(dhx)) call jgx(Vm,Bm,VFx) call UnitRemoveAbility(nm[((Vm))],(dhx)) +call jdx(VFx) call jGx(((VFx)),(em),(1),w) +call jGx(((VFx)),(cm),(1),w) +call jhx((VFx)) endfunction function jJx takes integer VFx,real Vsx returns nothing set JC[VFx]=Vsx call jHx(VFx) endfunction function jkx takes integer VFx,real Vhx returns nothing call jJx(VFx,(JC[(VFx)])+Vhx) endfunction function jKx takes integer VFx returns integer set Gm[VFx]=true +set hm[VFx]=false call V1x(Hm) +return VFx endfunction function jlx takes nothing returns integer local integer VFx if(dm==8190)then +call Vmx("FolderUnit_FolderScale_StructTimed_Allocation_allocCustom","call DebugEx(FolderUnit_FolderScale_StructTimed.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Dm+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(fm[(w)]==w)then set Fm=Fm+1 set VFx=Fm else +set VFx=fm[(w)] set fm[(w)]=fm[fm[(w)]] endif set fm[VFx]=Z set gm[VFx]=1 call jKx(VFx) return VFx endfunction function jLx takes integer VFx returns boolean set Lm=Lm+1 set mm[Lm]=VFx set Mm[VFx]=Lm+1 +return(Lm==0) endfunction function jmx takes integer VFx,real Vsx returns nothing set JC[VFx]=Vsx call jdx(VFx) endfunction function jMx takes integer VFx,real Vsx returns nothing call jmx(VFx,(JC[(VFx)])+Vsx) endfunction function jpx takes nothing returns nothing local integer VBx=Lm +local integer VFx loop +set VFx=mm[VBx] call jMx(Jm[VFx],km[VFx]) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function jPx takes integer VFx returns nothing set Gm[VFx]=false call EEx(Hm) +endfunction function jqx takes integer VFx returns nothing if(gm[VFx]>0)then return endif if(fm[VFx]!=Z)then call Vmx("FolderUnit_FolderScale_StructTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderUnit_FolderScale_StructTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Dm+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set fm[VFx]=fm[(w)] set fm[(w)]=VFx call jPx(VFx) endfunction function jQx takes integer VFx returns nothing set gm[VFx]=gm[VFx]-1 call jqx(VFx) endfunction function jsx takes integer VFx returns boolean local integer VAx=(Mm[(VFx)]) set Mm[mm[Lm]]=VAx set mm[VAx-1]=mm[Lm] +set Mm[VFx]=0 set Lm=Lm-1 return(Lm==F) endfunction function jSx takes integer VFx,integer Xrx,integer ENx returns nothing call jQx((VFx)) call Xbx(Xrx) if V_x(ENx,Km,VFx)then call cEx(ENx,lm) +endif if jsx(VFx)then call XNx(pm) +endif endfunction function jtx takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) call jSx(VFx,Xrx,Jm[VFx]) call jHx(Jm[VFx]) endfunction function jTx takes integer VFx,real Dfx,real Xdx returns nothing +local integer ENx=VFx local integer jux local integer Xrx if(Xdx==.0)then call jkx((VFx),Dfx) return endif set jux=(R2I(((Xdx*1./ Cm)*1.))) +set VFx=jlx() set Xrx=E5x() set jm[VFx]=Xrx set Jm[VFx]=ENx set km[VFx]=Dfx*1./ jux set ge[(Xrx)]=(VFx) if EHx(ENx,Km,VFx)then call CMx(ENx,lm) +endif if jLx(VFx)then call Xax(pm,Cm,true,function jpx) endif call Xax(Xrx,Xdx,false,function jtx) +endfunction function jUx takes nothing returns boolean local integer Eix=(bv) call jTx(Bwx(),zL,YL) return true endfunction function jwx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local real Dfx=(S2R((N_x(EQx,1)))) local real Xdx=(S2R((N_x(EQx,2)))) set YL=Xdx set zL=Dfx call BMx(Vxx,function jUx) return true endfunction function jWx takes nothing returns boolean call N9x("-scale",function jwx) return true endfunction function jyx takes nothing returns boolean call NAx(function jWx,"CommandScaleUnit_Init") return true endfunction function jYx takes nothing returns boolean set Pm=Idx(qm) return true endfunction function jzx takes integer VFx,integer EAx,integer EKx returns nothing call EMx(VFx,EAx,EKx) endfunction function jZx takes nothing returns boolean local integer Eix=(bv) call jzx(Bwx(),sm,Qm) return true endfunction function j_x takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local string j0x=N_x(EQx,1) local integer EAx=Efx(j0x) local integer EKx=(S2I((N_x(EQx,2)))) if(EAx==w)then set EAx=NLx(j0x,F) if(EAx==F)then call Vmx("CommandSpell_Event_Chat","call DebugEx(\"invalid spell\")","invalid spell") return true endif endif set Qm=EKx set sm=EAx call BMx(Vxx,function jZx) return true endfunction function j1x takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer VBx=Sm +local integer Vxx=(ax[(Eix)]) call PreloadGenStart() loop +exitwhen(VBx<0) call Vmx("CommandSpell_Event_ListAll_Chat","call DebugEx(Spell.ALL[iteration].GetName())",(Zl[(tm[VBx])])) set VBx=VBx-1 endloop return true endfunction function j2x takes nothing returns boolean call N9x("-spell",function j_x) call N9x("-spellListAll",function j1x) return true endfunction function j3x takes nothing returns boolean call NAx(function j2x,"CommandSpell_Init") return true endfunction function j4x takes nothing returns boolean set Tm=Idx(um) return true endfunction function j5x takes integer csx,integer EKx returns nothing local integer VFx=csx local integer VUx if not(Vfx((((csx))),(Ud+(Wm)))>0)then set VUx=1 else +set VUx=ym[VFx]+1 endif set ym[VFx]=VUx call jGx((csx),(Wm),(1),w) call jGx((csx),(Ym[VUx]),(EKx),w) endfunction function j6x takes nothing returns boolean local integer Eix=(bv) call j5x(Bwx(),wm) return true endfunction function j7x takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local integer EKx=(S2I((N_x(EQx,1)))) local real Xdx=(S2R((N_x(EQx,2)))) set Um=Xdx set wm=EKx call BMx(Vxx,function j6x) return true endfunction function j8x takes nothing returns boolean call N9x("-swift",function j7x) return true endfunction function j9x takes nothing returns boolean call NAx(function j8x,"CommandSwift_Init") return true endfunction function Jvx takes nothing returns boolean set zm=Idx(Zm) return true endfunction function Jex takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local integer Vsx call CSx((X),(-$7FFFFEF0),(45),(53),(0),($BA),0) +set Vsx=cnx(X,-$7FFFFEF0,47,'{',0) call Vmx("CommandTest_Event_Chat","call DebugEx(\"TEST: \" + I2S(val))","TEST: "+I2S(Vsx)) return true endfunction function Jxx takes nothing returns boolean call N9x("-test",function Jex) return true endfunction function Jox takes nothing returns boolean call NAx(function Jxx,"CommandTest_Init") return true endfunction function Jrx takes nothing returns boolean set vM=Idx(eM) return true endfunction function Jix takes nothing returns integer return(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetLocalPlayer())))))),((((R)))))) endfunction function Jax takes integer VFx,integer Vgx returns real return(LoadReal(o[((V[(E[((I[(VFx)]))])]))],((((A[((VFx))])))),(((Vgx))))) endfunction function Jnx takes integer VFx,real XMx,real Xpx,real XPx,real Xqx returns nothing local integer Vxx=Jix() set nM[(VFx)]=((XMx)*1.) +set VM[(VFx)]=((Xpx)*1.) +set EM[(VFx)]=((XPx)*1.) +set XM[(VFx)]=((Xqx)*1.) +if(OM[((VFx))])then set Xqx=RM endif call SetUnitVertexColor(C[(VFx)],(R2I(((XMx+(Jax(((VFx)),IM+(Vxx))))*1.))),(R2I(((Xpx+(Jax(((VFx)),AM+(Vxx))))*1.))),(R2I(((XPx+(Jax(((VFx)),NM+(Vxx))))*1.))),(R2I(((Xqx+(Jax(((VFx)),bM+(Vxx))))*1.)))) endfunction function JVx takes integer VFx,real XMx,real Xpx,real XPx,real Xqx returns nothing call Jnx(VFx,(nM[(VFx)])+XMx,(VM[(VFx)])+Xpx,(EM[(VFx)])+XPx,(XM[(VFx)])+Xqx) endfunction function JEx takes integer VFx returns integer set FM[VFx]=true +set gM[VFx]=false call V1x(GM) +return VFx endfunction function JXx takes nothing returns integer local integer VFx if(cM==8190)then +call Vmx("FolderUnit_FolderVertexColor_StructTimed_Allocation_allocCustom","call DebugEx(FolderUnit_FolderVertexColor_StructTimed.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",CM+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(dM[(w)]==w)then set DM=DM+1 set VFx=DM else +set VFx=dM[(w)] set dM[(w)]=dM[dM[(w)]] endif set dM[VFx]=Z set fM[VFx]=1 call JEx(VFx) return VFx endfunction function JOx takes integer VFx returns boolean set mM=mM+1 set MM[mM]=VFx set pM[VFx]=mM+1 +return(mM==0) endfunction function JRx takes nothing returns nothing local integer VBx=mM +local integer VFx loop +set VFx=MM[VBx] call JVx(KM[VFx],hM[VFx],HM[VFx],jM[VFx],JM[VFx]) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function JIx takes integer VFx returns nothing set FM[VFx]=false call EEx(GM) +endfunction function JAx takes integer VFx returns nothing if(fM[VFx]>0)then return endif if(dM[VFx]!=Z)then call Vmx("FolderUnit_FolderVertexColor_StructTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderUnit_FolderVertexColor_StructTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",CM+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set dM[VFx]=dM[(w)] set dM[(w)]=VFx call JIx(VFx) endfunction function JNx takes integer VFx returns nothing set fM[VFx]=fM[VFx]-1 call JAx(VFx) endfunction function Jbx takes integer VFx returns boolean local integer VAx=(pM[(VFx)]) set pM[MM[mM]]=VAx set MM[VAx-1]=MM[mM] +set pM[VFx]=0 set mM=mM-1 return(mM==F) endfunction function JBx takes integer VFx,integer Xrx,integer ENx returns nothing call JNx((VFx)) call Xbx(Xrx) if V_x(ENx,lM,VFx)then call cEx(ENx,LM) +endif if Jbx(VFx)then call XNx(PM) +endif endfunction function Jcx takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) call JBx(VFx,Xrx,KM[VFx]) endfunction function JCx takes integer VFx,real XMx,real Xpx,real XPx,real Xqx,real Xdx returns nothing local integer ENx=VFx local integer jux local integer Xrx if(Xdx==.0)then call JVx((VFx),XMx,Xpx,XPx,Xqx) return endif set jux=(R2I(((Xdx*1./ BM)*1.))) +set VFx=JXx() set Xrx=E5x() set hM[VFx]=XMx*1./ jux set HM[VFx]=Xpx*1./ jux set jM[VFx]=XPx*1./ jux set JM[VFx]=Xqx*1./ jux set kM[VFx]=Xrx set KM[VFx]=ENx set ge[(Xrx)]=(VFx) if EHx(ENx,lM,VFx)then call CMx(ENx,LM) +endif if JOx(VFx)then call Xax(PM,BM,true,function JRx) endif call Xax(Xrx,Xdx,false,function Jcx) +endfunction function Jdx takes nothing returns boolean local integer Eix=(bv) local integer csx=Bwx() local real XMx=xM local real Xpx=oM local real XPx=rM local real Xqx=iM if(XMx==-1)then set XMx=(nM[(csx)]) endif if(Xpx==-1)then set Xpx=(VM[(csx)]) endif if(XPx==-1)then set XPx=(EM[(csx)]) endif if(Xqx==-1)then set Xqx=(XM[(csx)]) endif call JCx(csx,XMx,Xpx,XPx,Xqx,aM) +return true endfunction function JDx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local real XMx=DEx(N_x(EQx,1),-1) local real Xpx=DEx(N_x(EQx,2),-1) local real XPx=DEx(N_x(EQx,3),-1) local real Xqx=DEx(N_x(EQx,4),-1) local real Xdx=(S2R((N_x(EQx,5)))) set xM=XMx set oM=Xpx set rM=XPx set iM=Xqx set aM=Xdx call BMx(Vxx,function Jdx) return true endfunction function Jfx takes nothing returns boolean call N9x("-vertexcolor",function JDx) return true endfunction function JFx takes nothing returns boolean call NAx(function Jfx,"CommandVertexColorUnit_Init") +return true endfunction function Jgx takes nothing returns boolean set qM=Idx(QM) return true endfunction function JGx takes real x,real y returns real return(x*x+y*y) endfunction function Jhx takes real x,real y returns boolean +local real h0x local real h1x local real d +call MoveRectTo(TM,x,y) call EnumItemsInRect(TM,uM,null) +call SetItemPosition(UM,x,y) +set h0x=GetWidgetX(UM) set h1x=GetWidgetY(UM) call SetItemVisible(UM,false) loop +exitwhen(wM<0) call SetItemVisible(WM[wM],true) +set wM=wM-1 endloop set d=JGx(h0x-x,h1x-y) return(d>1.) +endfunction function JHx takes integer VFx,real x,real y,real z returns boolean if not(z0)then return false +endif set tM[xp[op]]=tM[VFx] set xp[tM[VFx]-1]=xp[op] +set tM[VFx]=0 set op=op-1 return(op==F) endfunction function JJx takes integer VFx,integer Vgx returns nothing call SaveInteger(o[(((V[(E[((rp[(VFx)]))])])))],(((((ip[((VFx))]))))),((((Vgx)))),(0)) endfunction function Jkx takes integer VFx returns boolean local integer VAx=(Np[(VFx)]) set Np[bp[Bp]]=VAx set bp[VAx-1]=bp[Bp] +set Np[VFx]=0 set Bp=Bp-1 return(Bp==F) endfunction function JKx takes real x,real y returns real return(SquareRoot(((x*x+y*y)*1.))) endfunction function Jlx takes integer csx returns boolean return( not((Cp[((bj[(csx)]))])<=.0)) endfunction function JLx takes integer VFx returns nothing set jp[(VFx)]=(kp+VFx) endfunction function Jmx takes integer VFx returns integer set hp[VFx]=true +set Hp[VFx]=false call JLx(VFx) set Kp[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(lp) +return VFx endfunction function JMx takes nothing returns integer local integer VFx if(Dp==8190)then +call Vmx("TranslationAccelerated_Allocation_allocCustom","call DebugEx(TranslationAccelerated.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",fp+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Fp[(w)]==w)then set gp=gp+1 set VFx=gp else +set VFx=Fp[(w)] set Fp[(w)]=Fp[Fp[(w)]] endif set Fp[VFx]=Z set Gp[VFx]=1 call Jmx(VFx) return VFx endfunction function Jpx takes integer VFx returns boolean set Up=Up+1 set wp[Up]=VFx set Wp[VFx]=Up+1 +return(Up==0) endfunction function JPx takes integer VFx,real Vsx returns nothing set kf=VFx set Yp=Vsx call TriggerEvaluate(zp) +endfunction function Jqx takes integer VFx,real Vhx returns nothing call JPx(VFx,(GetUnitX(C[((VFx))]))+Vhx) +endfunction function JQx takes integer csx,real x,real y returns boolean +set kf=csx set Yp=x +set Zp=y +call TriggerEvaluate(vP) +return lf endfunction function Jsx takes integer VFx returns boolean if not((eP[((VFx))])>0)then return false +endif set eP[nP[VP]]=eP[VFx] set nP[eP[VFx]-1]=nP[VP] +set eP[VFx]=0 set VP=VP-1 return(VP==F) endfunction function JSx takes integer VFx,integer Vgx returns nothing call SaveInteger(o[(((V[(E[((Kp[(VFx)]))])])))],(((((jp[((VFx))]))))),((((Vgx)))),(0)) endfunction function Jtx takes integer VFx returns boolean local integer VAx=(Wp[(VFx)]) set Wp[wp[Up]]=VAx set wp[VAx-1]=wp[Up] +set Wp[VFx]=0 set Up=Up-1 return(Up==F) endfunction function JTx takes integer VFx returns nothing set kf=VFx call TriggerEvaluate(OP) +endfunction function Jux takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((Kp[VFx]))])])],((((jp[((VFx))]))))) endfunction function JUx takes integer VFx returns nothing set hp[VFx]=false call Jux((VFx)) call EEx(lp) +endfunction function Jwx takes integer VFx returns nothing if(Gp[VFx]>0)then return endif if(Fp[VFx]!=Z)then call Vmx("TranslationAccelerated_Allocation_deallocCustom_confirm","call DebugEx(TranslationAccelerated.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",fp+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Fp[VFx]=Fp[(w)] set Fp[(w)]=VFx call JUx(VFx) endfunction function JWx takes integer VFx returns nothing set Gp[VFx]=Gp[VFx]-1 call Jwx(VFx) endfunction function Jyx takes integer VFx returns boolean local integer csx if Hp[VFx]then return true endif set Hp[VFx]=true +set csx=mp[VFx] call Xbx(Lp[VFx]) if V_x(csx,tp,VFx)then call cEx(csx,Tp) +call cEx(csx,up) +endif if Jtx(VFx)then call XNx(yp) +endif call JTx(csx) call JWx(VFx) return true endfunction function JYx takes integer VFx,integer cSx returns boolean local integer dDx=cnx(X,Yd,VFx,cSx,w) if(dDx==w)then return false +endif if cSx!=sD[dDx]then call Vmx("FolderUnit_StructBuffs_Subtract","call DebugEx(I2S(LOCAL_REFS_KEY)+\"\t\t subtract CORRUPT buffref\"+whichBuff.GetName()+\";\"+I2S(whichBuff)+\";\"+I2S(whichRef)+\";\"+I2S(whichRef.whichBuff))",I2S(Yd)+"\t\t subtract CORRUPT buffref"+(RG[(cSx)])+";"+I2S(cSx)+";"+I2S(dDx)+";"+I2S(sD[dDx])) endif call dkx(dDx) return true endfunction function Jzx takes integer VFx returns nothing call JYx((VFx),RP) endfunction function JZx takes integer VFx returns nothing set bP[VFx]=false call EEx(BP) +endfunction function J_x takes integer VFx returns nothing if(IP[VFx]>0)then return endif if(AP[VFx]!=Z)then call Vmx("KnockbackAccelerated_Allocation_deallocCustom_confirm","call DebugEx(KnockbackAccelerated.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",NP+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set AP[VFx]=AP[(w)] set AP[(w)]=VFx call JZx(VFx) endfunction function J0x takes integer VFx returns nothing set IP[VFx]=IP[VFx]-1 call J_x(VFx) endfunction function J1x takes integer VFx returns boolean local integer csx local integer J2x if rP[VFx]then return true endif set rP[VFx]=true +set csx=iP[VFx] set J2x=aP[VFx] if V_x(csx,oP,VFx)then call Jsx(csx) endif call JSx(J2x,XP) +call Jyx(J2x) call Jzx(csx) call J0x(VFx) return true endfunction function J3x takes integer csx,real x,real y returns boolean +local integer VBx local integer VFx if not((eP[((csx))])>0)then return false +endif if((GetTerrainCliffLevel(((x)*1.),((y)*1.)))<(GetTerrainCliffLevel(((dxx(csx))*1.),((dox(csx))*1.))))then return false +endif if not JHx(yM,x,y,drx(csx))then return false +endif set VBx=Bex(csx,oP) loop +set VFx=Bxx(csx,oP,VBx) call J1x(VFx) set VBx=VBx-1 exitwhen(VBxAm))then call Vmx("FolderUnit_FolderPosition_StructY_Set","call DebugEx(FolderUnit_FolderPosition_StructY.NAME + \" out of bounds \" + Unit(this).GetName() + \" \" + R2S(val))",cP+" out of bounds "+(GetUnitName(C[((VFx))]))+" "+R2S(Vsx)) +return endif call SetUnitY(C[(VFx)],Vsx) endfunction function J5x takes integer VFx,real Vhx returns nothing call J4x(VFx,(GetUnitY(C[((VFx))]))+Vhx) +endfunction function J6x takes integer VFx,real x,real y,real z returns nothing call SetUnitFlyHeight(C[(VFx)],z-bex(x,y),.0) endfunction function J7x takes integer VFx,real z returns nothing call J6x(VFx,(GetUnitX(C[(((VFx)))])),(GetUnitY(C[(((VFx)))])),z) endfunction function J8x takes integer VFx,real Vhx returns nothing call J7x(VFx,drx(VFx)+Vhx) endfunction function J9x takes nothing returns nothing local integer VBx=Up +local integer VFx local integer csx local real fwx local real fWx local real Gxx loop +set VFx=wp[VBx] set csx=mp[VFx] set fwx=Mp[VFx]+pp[VFx] set fWx=Pp[VFx]+qp[VFx] set Gxx=Qp[VFx]+sp[VFx] set Mp[VFx]=fwx set Pp[VFx]=fWx set Qp[VFx]=Gxx call Jqx(csx,fwx) call J5x(csx,fWx) call J8x(csx,Gxx) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function kvx takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call Jyx(VFx) endfunction function kex takes integer csx,real fwx,real fWx,real Gxx,real kxx,real kox,real krx,real Xdx returns integer local integer jux local integer VFx local integer Xrx if not Jlx(csx)then return w +endif set jux=(R2I(((E9x((1),((R2I(((Xdx*1./ dp+.5)*1.))))))*1.))) +set VFx=JMx() set Xrx=E5x() set Lp[VFx]=Xrx set mp[VFx]=csx set Mp[VFx]=fwx*1./ jux set pp[VFx]=kxx*1./ jux*dp set Pp[VFx]=fWx*1./ jux set qp[VFx]=kox*1./ jux*dp set Qp[VFx]=Gxx*1./ jux set sp[VFx]=krx*1./ jux*dp set ge[(Xrx)]=(VFx) if EHx(csx,tp,VFx)then call CMx(csx,Tp) +call CMx(csx,up) +endif if Jpx(VFx)then call Xax(yp,dp,true,function J9x) endif call Xax(Xrx,Xdx,false,function kvx) +endfunction function kix takes integer VFx returns integer set gP[VFx]=true +set GP[VFx]=false set hP[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set HP[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) call V1x(jP) +return VFx endfunction function kax takes nothing returns integer local integer VFx if(CP==8190)then +call Vmx("Lightning_Allocation_allocCustom","call DebugEx(Lightning.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",dP+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(DP[(w)]==w)then set fP=fP+1 set VFx=fP else +set VFx=DP[(w)] set DP[(w)]=DP[DP[(w)]] endif set DP[VFx]=Z set FP[VFx]=1 call kix(VFx) return VFx endfunction function knx takes integer VFx returns nothing set lP[(VFx)]=(mP+VFx) endfunction function kVx takes integer VFx returns nothing set MP[(VFx)]=((GetLightningColorR(KP[(VFx)]))*1.) endfunction function kEx takes integer VFx returns nothing set pP[(VFx)]=((GetLightningColorG(KP[(VFx)]))*1.) endfunction function kXx takes integer VFx returns nothing set PP[(VFx)]=((GetLightningColorB(KP[(VFx)]))*1.) endfunction function kOx takes integer VFx returns nothing set qP[(VFx)]=((GetLightningColorA(KP[(VFx)]))*1.) endfunction function kRx takes integer VFx,real XMx,real Xpx,real XPx,real Xqx returns nothing local integer Vxx=Jix() set MP[(VFx)]=((XMx)*1.) +set pP[(VFx)]=((Xpx)*1.) +set PP[(VFx)]=((XPx)*1.) +set qP[(VFx)]=((Xqx)*1.) +set XMx=FCx(XMx,.0,1.) set Xpx=FCx(Xpx,.0,1.) set XPx=FCx(XPx,.0,1.) set Xqx=FCx(Xqx,.0,1.) call SetLightningColor(KP[(VFx)],XMx,Xpx,XPx,Xqx) endfunction function kIx takes integer VFx returns nothing call kVx(VFx) call kEx(VFx) call kXx(VFx) call kOx(VFx) call kRx(VFx,(MP[(VFx)]),(pP[(VFx)]),(PP[(VFx)]),(qP[(VFx)])) endfunction function kAx takes integer V7x returns integer local integer VFx=kax() local lightning Vdx=AddLightningEx((RI[(V7x)]),false,.0,.0,.0,.0,.0,.0) set JP[VFx]=true +set kP[VFx]=false set KP[VFx]=Vdx call knx(VFx) call kIx(VFx) return VFx endfunction function kNx takes integer VFx,integer V7x,integer V8x returns integer return(0+(LoadInteger(o[((V[(E[((HP[VFx]))])]))],((((lP[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))))))) endfunction function kbx takes integer VFx,integer V7x,integer V8x,integer VAx returns integer return(LoadInteger(o[((V[(E[((HP[VFx]))])]))],((((lP[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))+(VAx))))) endfunction function kBx takes integer VFx returns nothing local integer Eix=V4x((lP[(VFx)])) local integer VBx local integer V8x local integer EBx set sP[(Eix)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=kNx(VFx,SP,V8x) loop +exitwhen(EBx0)then return endif if(fq[VFx]!=Z)then call Vmx("FolderLightning_StructDestroyTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderLightning_StructDestroyTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Fq+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set fq[VFx]=fq[(w)] set fq[(w)]=VFx call kMx(VFx) endfunction function kPx takes integer VFx returns nothing set Dq[VFx]=Dq[VFx]-1 call kpx(VFx) endfunction function kqx takes integer VFx,integer Vgx returns nothing call SaveInteger(o[(((V[(E[((hP[(VFx)]))])])))],(((((lP[((VFx))]))))),((((Vgx)))),(0)) endfunction function kQx takes integer VFx,integer N8x returns nothing if not((LoadInteger(o[((D[((HP[VFx]))]))],((((lP[((VFx))])))),(VGx((((HB[(N8x)]))),(((N8x)))))))!=0)then +call Vmx("FolderLightning_StructEvent_Remove","call DebugEx(\"subject \"+I2S(Lightning(this).Id.Get()) + \" has not \" + whichEvent.GetName())","subject "+I2S((lP[((VFx))]))+" has not "+(vc[(N8x)])) return endif call VYx(HP[VFx],(lP[((VFx))]),(HB[(N8x)]),N8x) endfunction function ksx takes integer VFx,integer Xrx,integer ENx returns nothing call kPx((VFx)) call Xbx(Xrx) call kqx(ENx,dq) +call kQx(ENx,hq) +endfunction function kSx takes integer VFx returns integer set gq[VFx]=true +set kq[VFx]=false call V1x(Gq) +return VFx endfunction function ktx takes nothing returns integer local integer VFx if(jq==8190)then +call Vmx("FolderLightning_StructDestroyTimed_Allocation_allocCustom","call DebugEx(FolderLightning_StructDestroyTimed.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Fq+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(fq[(w)]==w)then set Jq=Jq+1 set VFx=Jq else +set VFx=fq[(w)] set fq[(w)]=fq[fq[(w)]] endif set fq[VFx]=Z set Dq[VFx]=1 call kSx(VFx) return VFx endfunction function kTx takes integer VFx returns nothing local integer Eix=V4x((lP[(VFx)])) local integer VBx local integer V8x local integer EBx set sP[(Eix)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=kNx(VFx,lq,V8x) loop +exitwhen(EBx0)then return endif if(pq[VFx]!=Z)then call Vmx("FolderLightning_FolderColor_StructTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderLightning_FolderColor_StructTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Mq+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set pq[VFx]=pq[(w)] set pq[(w)]=VFx call kzx(VFx) endfunction function k_x takes integer VFx returns nothing set qq[VFx]=qq[VFx]-1 call kZx(VFx) endfunction function k0x takes integer VFx,integer Vgx,integer Vhx returns boolean return VYx(hP[(VFx)],(lP[((VFx))]),Vgx,Vhx) endfunction function k1x takes integer VFx returns boolean local integer VAx=(eQ[(VFx)]) set eQ[vQ[Zq]]=VAx set vQ[VAx-1]=vQ[Zq] +set eQ[VFx]=0 set Zq=Zq-1 return(Zq==F) endfunction function k2x takes integer VFx,integer Xrx,integer ENx returns nothing call k_x((VFx)) call Xbx(Xrx) if k0x(ENx,Yq,VFx)then call kQx(ENx,zq) +endif if k1x(VFx)then call XNx(xQ) +endif endfunction function k3x takes nothing returns nothing local integer Xrx=XXx() local integer VFx=(ge[(Xrx)]) call k2x(VFx,Xrx,Wq[VFx]) endfunction function k4x takes integer VFx,real XMx,real Xpx,real XPx,real Xqx,real Xdx returns nothing local integer ENx=VFx local integer jux local integer Xrx if(Xdx==.0)then call kux((VFx),XMx,Xpx,XPx,Xqx) return endif set jux=(R2I(((Xdx*1./ Lq)*1.))) +set VFx=kwx() set Xrx=E5x() set tq[VFx]=XMx*1./ jux set Tq[VFx]=Xpx*1./ jux set uq[VFx]=XPx*1./ jux set Uq[VFx]=Xqx*1./ jux set wq[VFx]=Xrx set Wq[VFx]=ENx set ge[(Xrx)]=(VFx) if kWx(ENx,Yq,VFx)then call kFx(ENx,zq) +endif if kyx(VFx)then call Xax(xQ,Lq,true,function kYx) endif call Xax(Xrx,Xdx,false,function k3x) +endfunction function k5x takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((hP[VFx]))])])],((((lP[((VFx))]))))) endfunction function k6x takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((HP[VFx]))])])],((((lP[((VFx))]))))) endfunction function k7x takes integer VFx returns nothing set gP[VFx]=false call k5x((VFx)) call k6x(((VFx))) call EEx(jP) +endfunction function k8x takes integer VFx returns nothing if(FP[VFx]>0)then return endif if(DP[VFx]!=Z)then call Vmx("Lightning_Allocation_deallocCustom_confirm","call DebugEx(Lightning.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",dP+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set DP[VFx]=DP[(w)] set DP[(w)]=VFx call k7x(VFx) endfunction function k9x takes integer VFx returns nothing set FP[VFx]=FP[VFx]-1 call k8x(VFx) endfunction function Kvx takes nothing returns nothing local integer Kex=XXx() local integer VFx=(ge[(Kex)]) local lightning Vdx=KP[VFx] call Xbx(Kex) call k9x((VFx)) call DestroyLightning(Vdx) set Vdx=null +endfunction function Kxx takes integer VFx returns nothing local integer Kex call kcx(VFx) set Kex=E5x() set ge[(Kex)]=(VFx) call kTx(VFx) call k4x((VFx),-((.0)*1.),-((.0)*1.),-((.0)*1.),-(((qP[(VFx)]))*1.),((oQ)*1.)) call Xax(Kex,oQ,false,function Kvx) endfunction function Kox takes nothing returns nothing local integer Xrx=XXx() local integer VFx=(ge[(Xrx)]) local integer ENx=Kq[VFx] call ksx(VFx,Xrx,ENx) call Kxx(ENx) endfunction function Krx takes integer VFx,real Xdx returns nothing local integer ENx=VFx local integer Xrx set VFx=kmx(ENx,dq) if(VFx!=w)then call ksx(VFx,Hq[VFx],ENx) endif set VFx=ktx() set Xrx=E5x() set Hq[VFx]=Xrx set Kq[VFx]=ENx set ge[(Xrx)]=(VFx) call kfx(ENx,dq,VFx) +call kFx(ENx,hq) +call Xax(Xrx,Xdx,false,function Kox) +endfunction function Kix takes integer VFx returns nothing local integer Kax local real kKx=(GetUnitX(C[((VFx))])) local real klx=(GetUnitY(C[((VFx))])) local item Knx=CreateItem('iUPN',kKx,klx) local real h0x=GetWidgetX(Knx) local real h1x=GetWidgetY(Knx) local real d=JKx(h0x-kKx,h1x-klx) local real Xdx call RemoveItem(Knx) +set Knx=null +if(d<1.)then +return endif set Xdx=d*1./ 150. call kex((VFx),((h0x-kKx)*1.),((h1x-klx)*1.),((.0)*1.),((.0)*1.),((.0)*1.),((.0)*1.),((Xdx)*1.)) +set Kax=kAx(QP) call kkx(Kax,h0x,h1x,bex(h0x,h1x),VFx) call Krx(Kax,Xdx) endfunction function KVx takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((rp[VFx]))])])],((((ip[((VFx))]))))) endfunction function KEx takes integer VFx returns nothing set nQ[VFx]=false call KVx((VFx)) call EEx(VQ) +endfunction function KXx takes integer VFx returns nothing if(rQ[VFx]>0)then return endif if(iQ[VFx]!=Z)then call Vmx("Translation_Allocation_deallocCustom_confirm","call DebugEx(Translation.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",aQ+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set iQ[VFx]=iQ[(w)] set iQ[(w)]=VFx call KEx(VFx) endfunction function KOx takes integer VFx returns nothing set rQ[VFx]=rQ[VFx]-1 call KXx(VFx) endfunction function KRx takes integer VFx returns boolean local integer csx if Vp[VFx]then return true endif set Vp[VFx]=true +set csx=Ep[VFx] call Xbx(Xp[VFx]) if V_x(csx,Rp,VFx)then call cEx(csx,Ip) +call cEx(csx,Ap) +endif if Jkx(VFx)then call XNx(cp) +endif call Kix(csx) call KOx(VFx) return true endfunction function KIx takes integer VFx returns nothing set RQ[VFx]=false call EEx(IQ) +endfunction function KAx takes integer VFx returns nothing if(EQ[VFx]>0)then return endif if(XQ[VFx]!=Z)then call Vmx("Knockback_Allocation_deallocCustom_confirm","call DebugEx(Knockback.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",OQ+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set XQ[VFx]=XQ[(w)] set XQ[(w)]=VFx call KIx(VFx) endfunction function KNx takes integer VFx returns nothing set EQ[VFx]=EQ[VFx]-1 call KAx(VFx) endfunction function Kbx takes integer VFx returns boolean local integer csx local integer J2x if ZM[VFx]then return true endif set ZM[VFx]=true +set csx=vp[VFx] set J2x=ep[VFx] if V_x(csx,zM,VFx)then call Jjx(csx) endif call JJx(J2x,np) +call KRx(J2x) call Jzx(csx) call KNx(VFx) return true endfunction function KBx takes integer csx,real x,real y returns boolean +local integer VBx local integer VFx if not((tM[((csx))])>0)then return false +endif if((GetTerrainCliffLevel(((x)*1.),((y)*1.)))<(GetTerrainCliffLevel(((dxx(csx))*1.),((dox(csx))*1.))))then return false +endif if not JHx(yM,x,y,drx(csx))then return false +endif set VBx=Bex(csx,zM) loop +set VFx=Bxx(csx,zM,VBx) call Kbx(VFx) set VBx=VBx-1 exitwhen(VBxXm))then call Vmx("FolderUnit_FolderPosition_StructX_Set","call DebugEx(FolderUnit_FolderPosition_StructX.NAME + \" out of bounds \" + Unit(this).GetName() + \" \" + R2S(val))",AQ+" out of bounds "+(GetUnitName(C[((VFx))]))+" "+R2S(Vsx)) +return endif call SetUnitX(C[(VFx)],Vsx) endfunction function KCx takes integer VFx,real x,real y returns nothing +call Kcx(VFx,x) call J4x(VFx,y) call J6x(VFx,x,y,drx(VFx)) endfunction function Kdx takes nothing returns boolean local integer Eix=(bv) call KCx(Bwx(),sM,SM) return true endfunction function KDx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local real x=(S2R((N_x(EQx,1)))) +local real y=(S2R((N_x(EQx,2)))) +set sM=x +set SM=y +call BMx(Vxx,function Kdx) return true endfunction function Kfx takes nothing returns boolean call N9x("-move",function KDx) return true endfunction function KFx takes nothing returns boolean call NAx(function Kfx,"MoveUnit_Init") return true endfunction function Kgx takes nothing returns boolean set NQ=Idx(bQ) return true endfunction function KGx takes string Vdx returns boolean return(Vdx=="true") endfunction function Khx takes integer VFx,boolean KHx returns nothing local real x=(GetUnitX(C[((VFx))])) local real y=(GetUnitY(C[((VFx))])) if KHx then call Oqx("ping unit "+(GetUnitName(C[(VFx)]))+" at "+R2S(x)+";"+R2S(y)) endif call PingMinimapEx(x,y,5,(GetRandomInt((0),($FF))),(GetRandomInt((0),($FF))),(GetRandomInt((0),($FF))),true) +endfunction function Kjx takes nothing returns boolean local integer Eix=(bv) call Khx(Bwx(),BQ) return true endfunction function KJx takes nothing returns boolean local integer Eix=(bv) set BQ=KGx(N_x((rc[(Eix)]),1)) call jVx(PC,function Kjx) return true endfunction function Kkx takes nothing returns boolean call N9x("-pingSpawns",function KJx) +return true endfunction function KKx takes nothing returns boolean call NAx(function Kkx,"PingSpawns_Init") +return true endfunction function Klx takes nothing returns boolean set cQ=Idx(CQ) return true endfunction function KLx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer id=(S2I((N_x(EQx,1)))) +call Vmx("RequestEvent_Event_Chat","call DebugEx(Event(id).GetName())",(vc[((id))])) +return true endfunction function Kmx takes nothing returns boolean call N9x("-event",function KLx) return true endfunction function KMx takes nothing returns boolean call NAx(function Kmx,"RequestEvent_Init") return true endfunction function Kpx takes nothing returns boolean set dQ=Idx(DQ) return true endfunction function KPx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local string Vhx=N_x(EQx,1) local integer Fzx local string Vtx +if(Vhx==null)then call Vmx("RequestKeyMacro_Event_Chat","call DebugEx(\"invalid syntax\")","invalid syntax") return true endif set Fzx=(S2I((Vhx))) +if(Fzx==0)then call Vmx("RequestKeyMacro_Event_Chat","call DebugEx(\"invalid syntax\")","invalid syntax") return true endif set Vtx=VQx(Fzx) +if(Vtx==null)then call Vmx("RequestKeyMacro_Event_Chat","call DebugEx(\"no key found under \" + Integer.ToString(valueI))","no key found under "+(I2S((Fzx)))) +return true endif call Vmx("RequestKeyMacro_Event_Chat","call DebugEx(result)",Vtx) return true endfunction function Kqx takes nothing returns boolean call N9x("-key",function KPx) return true endfunction function KQx takes nothing returns boolean call NAx(function Kqx,"RequestKeyMacro_Init") return true endfunction function Ksx takes nothing returns boolean set fQ=Idx(FQ) return true endfunction function KSx takes nothing returns nothing local integer VBx=Ke +loop +exitwhen(VBx<0) set gQ[VBx]=le[VBx] set VBx=VBx-1 endloop set GQ=Ke endfunction function Ktx takes nothing returns integer local integer Vtx if(GQ<0)then +return w +endif set Vtx=gQ[0] set gQ[0]=gQ[GQ] +set GQ=GQ-1 return Vtx endfunction function KTx takes nothing returns nothing local integer VFx call Vmx("Timer_RequestRunningList","call DebugEx(Timer.NAME + \" Request running list:\")",ee+" Request running list:") +call KSx() loop +set VFx=Ktx() exitwhen(VFx==w) +call Vmx("Timer_RequestRunningList","call DebugEx(Code.GetNameById(this.GetActionFunc()))",(LoadStr(j,((Je[(VFx)])),0))) +endloop call Vmx("Timer_RequestRunningList","call DebugEx(Timer.NAME + \" end of Request running list\")",ee+" end of Request running list") +endfunction function Kux takes nothing returns boolean local integer Eix=(bv) call KTx() return true endfunction function KUx takes nothing returns boolean call N9x("-timers",function Kux) +return true endfunction function Kwx takes nothing returns boolean call NAx(function KUx,"RequestTimers_Init") return true endfunction function KWx takes nothing returns boolean set hQ=Idx(HQ) return true endfunction function Kyx takes nothing returns boolean local integer Eix=(bv) call gSx(ek,C[Bwx()],jQ) +return true endfunction function KYx takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local real Vsx=(S2R((N_x(EQx,1)))) set jQ=Vsx call BMx(Vxx,function Kyx) return true endfunction function Kzx takes nothing returns boolean call N9x("-dmgtest",function KYx) return true endfunction function KZx takes nothing returns boolean call NAx(function Kzx,"SetDmgTest_Init") +return true endfunction function K_x takes nothing returns boolean set JQ=Idx(kQ) return true endfunction function K0x takes integer VFx,string Vux,string Vgx,string Vhx returns nothing if((Vux==null)or(Vgx==null))then +call Vmx("FolderGameCache_StructString_Set","call DebugEx(\"GameCache Set: \"+missionKey+\";\"+key)","GameCache Set: "+Vux+";"+Vgx) return endif call StoreString(Kv[(VFx)],Vux,Vgx,Vhx) endfunction function K1x takes nothing returns boolean local integer Eix=(bv) local string EQx=(rc[(Eix)]) +local integer Vxx=(ax[(Eix)]) local string EFx=N_x(EQx,1) local string Vsx=N_x(EQx,2) if(EFx==null)then call Vmx("SetVar_Event_Chat","call DebugEx(\"SetVar: no name given\")","SetVar: no name given") return true endif call K0x(vL,EFx,"var",Vsx) call Vmx("SetVar_Event_Chat","call DebugEx(\"SetVar: value of \" + name + \":\" + SetVar.GetVal(name))","SetVar: value of "+EFx+":"+(hwx(vL,(EFx),"var"))) return true endfunction function K2x takes nothing returns boolean set vL=AEx() +call N9x("-var",function K1x) return true endfunction function K3x takes nothing returns boolean call NAx(function K2x,"SetVar_Init") +return true endfunction function K4x takes nothing returns boolean set KQ=Idx(lQ) return true endfunction function K5x takes nothing returns boolean set LQ=Idx(mQ) return true endfunction function K6x takes nothing returns boolean local integer Eix=(bv) local integer Vxx=(ax[(Eix)]) if pQ then call XDx(Vxx,"A vote is already in process.",5.) +return true elseif PQ then call XDx(Vxx,"The vote option is on cooldown for another "+(R2S((((TimerGetRemaining(Oe[(MQ)])))*1.)))+"seconds.",5.) return true endif set pQ=true call N7x(fc,"-vote",qQ) return true endfunction function K7x takes nothing returns boolean set MQ=E5x() +call N9x("-votehost",function K6x) return true endfunction function K8x takes nothing returns boolean call NAx(function K7x,"VoteHost_Init") return true endfunction function K9x takes nothing returns boolean return true endfunction function lvx takes nothing returns boolean set QQ=Idx(sQ) return true endfunction function lex takes code c,string EFx returns nothing +set fO=fO+1 set FO[fO]=CreateTrigger() set gO[fO]=(GetHandleId(Condition((c)))) +set GO[fO]=EFx call TriggerAddCondition(FO[fO],Condition(c)) endfunction function lxx takes nothing returns nothing local destructable d=GetFilterDestructable() +if(GetDestructableTypeId(d)=='cPG4')then +call KillDestructable(d) +endif set d=null endfunction function lox takes nothing returns boolean call EnumDestructablesInRect(SQ[tQ],null,function lxx) return true endfunction function lrx takes nothing returns boolean call lex(function lox,"PathingBlockers_Init") return true endfunction function lix takes nothing returns boolean set gr=Idx(cr) return true endfunction function lax takes nothing returns boolean set dc=Idx(Ac) return true endfunction function lnx takes code c,string EFx returns nothing +set jV=jV+1 set JV[jV]=CreateTrigger() set kV[jV]=(GetHandleId(Condition((c)))) +set KV[jV]=EFx call TriggerAddCondition(JV[jV],Condition(c)) endfunction function lVx takes nothing returns boolean return true endfunction function lEx takes nothing returns boolean set Oc=Aix() +set Bv[(w)]=null +set TQ=Nyx(function lVx) +return true endfunction function lXx takes nothing returns boolean call lnx(function lEx,"BoolExpr_Init") return true endfunction function lOx takes nothing returns boolean set uQ=Idx(UQ) return true endfunction function lRx takes nothing returns boolean set wQ=Idx(WQ) return true endfunction function lIx takes nothing returns boolean set yQ=Idx(YQ) return true endfunction function lAx takes nothing returns boolean set zQ=Idx(ZQ) return true endfunction function lNx takes nothing returns boolean set vs=Idx(es) return true endfunction function lbx takes nothing returns boolean set xs=Idx(os) return true endfunction function lBx takes nothing returns boolean set rs=Idx(is) return true endfunction function lcx takes nothing returns boolean set as=Idx(ns) return true endfunction function lCx takes nothing returns boolean set Vs=Idx(Es) return true endfunction function ldx takes nothing returns boolean set Xs=Idx(Os) return true endfunction function lDx takes nothing returns boolean set Rs=Idx(Is) return true endfunction function lfx takes nothing returns boolean set As=Idx(Ns) return true endfunction function lFx takes nothing returns boolean set bs=Idx(Bs) return true endfunction function lgx takes nothing returns boolean set cs=Idx(Cs) return true endfunction function lGx takes nothing returns boolean set ds=Idx(Ds) return true endfunction function lhx takes nothing returns boolean set fs=Idx(Fs) return true endfunction function lHx takes nothing returns boolean return true endfunction function ljx takes nothing returns boolean call lnx(function lHx,"Buff_Init") return true endfunction function lJx takes nothing returns boolean set gs=Idx(Gs) return true endfunction function lkx takes nothing returns boolean set hs=Idx(Hs) return true endfunction function lKx takes nothing returns boolean set js=Idx(Js) return true endfunction function llx takes nothing returns boolean set ks=Idx(Ks) return true endfunction function lLx takes nothing returns boolean set ls=Idx(Ls) return true endfunction function lmx takes nothing returns boolean set ms=Idx(Ms) return true endfunction function lMx takes nothing returns boolean set sh=Idx(mh) return true endfunction function lpx takes nothing returns boolean set ps=Idx(Ps) return true endfunction function lPx takes code c,string EFx returns nothing +set IE=IE+1 set AE[IE]=CreateTrigger() set NE[IE]=(GetHandleId(Condition((c)))) +set bE[IE]=EFx call TriggerAddCondition(AE[IE],Condition(c)) endfunction function lqx takes nothing returns integer return VCx(GetEnumPlayer()) endfunction function lQx takes nothing returns nothing local integer Eix=V4x(0) +set ax[(Eix)]=(lqx()) set uL[(Eix)]=(Qs[qs]) call NPx(ss[qs],Eix) +call ERx(((Eix))) endfunction function lsx takes integer VFx,code NKx,integer Clx returns nothing set qs=qs+1 set Qs[qs]=Clx set ss[qs]=Ntx(NKx) call ForForce(nH[VFx],function lQx) set qs=qs-1 endfunction function lSx takes nothing returns boolean local integer Eix=(bv) local integer Vxx=(ax[(Eix)]) local integer VFx=Vxx local integer Xrx=E5x() set jH[VFx]=Xrx set JH[VFx]=false set ge[(Xrx)]=(VFx) return true endfunction function ltx takes nothing returns nothing set qH=function fUx set LH=E5x() +call lsx(Ss,function lSx,w) endfunction function lTx takes integer VFx,string Vux,string Vgx,real Vhx returns nothing if((Vux==null)or(Vgx==null))then +call Vmx("FolderGameCache_StructReal_Set","call DebugEx(\"GameCache Set: \"+missionKey+\";\"+key)","GameCache Set: "+Vux+";"+Vgx) return endif call StoreReal(Kv[(VFx)],Vux,Vgx,Vhx) endfunction function lux takes integer VFx,string Vux,string Vgx,real Vhx returns nothing call lTx(VFx,Vux,Vgx,Vhx) call SyncStoredReal(Kv[((VFx))],(Vux),(Vgx)) +endfunction function lUx takes integer VFx,string Vux,string Vgx returns real if((Vux==null)or(Vgx==null))then +call Vmx("FolderGameCache_StructReal_Get","call DebugEx(\"GameCache Get: \"+missionKey+\";\"+key)","GameCache Get: "+Vux+";"+Vgx) return .0 endif return GetStoredReal(Kv[(VFx)],Vux,Vgx) endfunction function lwx takes integer VFx,integer Vxx returns boolean return IsPlayerInForce(vx[Vxx],nH[VFx]) endfunction function lWx takes real x,real y,real z returns real +return(SquareRoot(((x*x+y*y+z*z)*1.))) endfunction function lyx takes nothing returns nothing local real lYx=(GetCameraEyePositionX()) +local real lzx=(GetCameraEyePositionY()) +local real lZx=(GetCameraEyePositionZ()) +local real array l_x +local real array l0x +local real array l1x +local real Vkx local integer VFx local integer Vxx local string l2x +local string l3x +local string l4x +local integer i=AH local integer l5x local real l6x loop +exitwhen(i<0) set VFx=IH[i] set Vkx=uh[VFx]+Uh[VFx] set uh[VFx]=Vkx set i=i-1 endloop if Ts then return endif set i=us +loop +exitwhen(i<0) set Vxx=Us[i] if E6x(Vxx)then set l2x=ws[Vxx] set l3x=Ws[Vxx] set l4x=ys[Vxx] call lux(ts,l2x,l2x,(GetCameraEyePositionX())) call lux(ts,l3x,l3x,(GetCameraEyePositionY())) call lux(ts,l4x,l4x,(GetCameraEyePositionZ())) endif set i=i-1 endloop set Ts=true call TriggerSyncStart() call TriggerSyncReady() set Ts=false +set i=us +loop +exitwhen(i<0) set Vxx=Us[i] set l2x=ws[Vxx] set l3x=Ws[Vxx] set l4x=ys[Vxx] set l_x[Vxx]=lUx(ts,l2x,l2x) +set l0x[Vxx]=lUx(ts,l3x,l3x) +set l1x[Vxx]=lUx(ts,l4x,l4x) +set i=i-1 endloop set i=AH +loop +exitwhen(i<0) set VFx=IH[i] set Vkx=uh[VFx] set l5x=us loop +exitwhen(l5x<0) set Vxx=Us[i] if(lwx(Yh[VFx],Vxx)==false)then set lYx=l_x[Vxx] +set lzx=l0x[Vxx] +set lZx=l1x[Vxx] +set l6x=lWx(EH[VFx]-lYx,XH[VFx]-lzx,OH[VFx]-lZx)-Vkx*Vkx +if(l6xYH)then return false +endif return true endfunction function L5x takes nothing returns nothing set Dt=L2x(.0,.0,.0,.0) set St=Nyx(function L3x) +endfunction function L6x takes integer VFx,integer Vgx returns integer return(LoadInteger(o[((V[(E[((GG[(VFx)]))])]))],((((MG[((VFx))])))),(((Vgx))))) endfunction function L7x takes integer VFx returns nothing set wt[VFx]=false call EEx(Ot) +endfunction function L8x takes integer VFx returns nothing if(ut[VFx]>0)then return endif if(Ut[VFx]!=Z)then call Vmx("FolderDestructable_StructTimedLife_Allocation_deallocCustom_confirm","call DebugEx(FolderDestructable_StructTimedLife.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Rt+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Ut[VFx]=Ut[(w)] set Ut[(w)]=VFx call L7x(VFx) endfunction function L9x takes integer VFx returns nothing set ut[VFx]=ut[VFx]-1 call L8x(VFx) endfunction function mvx takes integer VFx,integer Vgx returns nothing call SaveInteger(o[(((V[(E[((GG[(VFx)]))])])))],(((((MG[((VFx))]))))),((((Vgx)))),(0)) endfunction function mex takes integer VFx,integer N8x returns nothing if not((LoadInteger(o[((D[((hG[VFx]))]))],((((MG[((VFx))])))),(VGx((((HB[(N8x)]))),(((N8x)))))))!=0)then +call Vmx("FolderDestructable_StructEvent_Remove","call DebugEx(\"subject \"+I2S(Destructable(this).Id.Get()) + \" has not \" + whichEvent.GetName())","subject "+I2S((MG[((VFx))]))+" has not "+(vc[(N8x)])) +return endif call VYx(hG[VFx],(MG[((VFx))]),(HB[(N8x)]),N8x) endfunction function mxx takes integer VFx,integer Xrx,integer ENx returns nothing call L9x((VFx)) call Xbx(Xrx) call mvx(ENx,Tt) +call mex(ENx,tt) +endfunction function mox takes nothing returns boolean local integer Eix=(bv) local integer ENx=(QG[(Eix)]) local integer VFx=L6x(ENx,Tt) call mxx(VFx,Wt[VFx],ENx) return true endfunction function mrx takes nothing returns nothing endfunction function mix takes nothing returns boolean set tG=(Nix()) set Ct=(Nix()) set dt=(Nix()) set qG=NSx(function Lwx) +call jex(Nlx("Destructable_Init: call Event.Create(EventType.START, EventPriority.HEADER, function Destructable.Event_Start).AddToStatics()",KR,Sb,function Lzx)) call L5x() set tt=Nlx("FolderDestructable_StructTimedLife_Init: set FolderDestructable_StructTimedLife.DEATH_EVENT = Event.Create(Destructable.DEATH_EVENT_TYPE, EventPriority.HEADER, function FolderDestructable_StructTimedLife.Event_Death)",Ct,Sb,function mox) call mrx() return true endfunction function mnx takes nothing returns boolean call LSx(function mix,"Destructable_Init") return true endfunction function mVx takes nothing returns boolean set yt=Idx(Yt) return true endfunction function mEx takes nothing returns boolean set zt=Idx(Zt) return true endfunction function mXx takes nothing returns boolean set vT=Idx(eT) return true endfunction function mOx takes nothing returns boolean set xT=Idx(oT) return true endfunction function mRx takes nothing returns boolean set rT=Idx(iT) return true endfunction function mIx takes nothing returns boolean set aT=Idx(nT) return true endfunction function mAx takes nothing returns boolean set VT=Idx(ET) return true endfunction function mNx takes nothing returns boolean set XT=Idx(OT) return true endfunction function mbx takes nothing returns boolean set RT=Idx(IT) return true endfunction function mBx takes nothing returns boolean set AT=Idx(NT) return true endfunction function mcx takes nothing returns boolean set bT=Idx(BT) return true endfunction function mCx takes nothing returns boolean set cT=Idx(CT) return true endfunction function mdx takes nothing returns boolean set dT=Idx(DT) return true endfunction function mDx takes nothing returns boolean set fT=Idx(FT) return true endfunction function mfx takes nothing returns boolean set gT=Idx(GT) return true endfunction function mFx takes nothing returns boolean set hT=Idx(HT) return true endfunction function mgx takes nothing returns boolean set jT=Idx(JT) return true endfunction function mGx takes nothing returns boolean set kT=Idx(KT) return true endfunction function mhx takes nothing returns boolean set lT=Idx(LT) return true endfunction function mHx takes dialog Vdx returns integer return(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId(((Vdx))))),((((PT)))))) endfunction function mjx takes integer VFx,integer Vgx,integer Vhx returns boolean return((LoadInteger(o[((D[((Ad[(VFx)]))]))],((((Nd[((VFx))])))),(VGx(((Vgx)),(((Vhx)))))))!=0) endfunction function mJx takes integer VFx,integer Vgx,integer Vhx returns boolean return VYx(QT[(VFx)],(sT[((VFx))]),Vgx,Vhx) endfunction function mkx takes integer VFx,integer Vgx,integer Vhx returns boolean return VYx(Ad[(VFx)],(Nd[((VFx))]),Vgx,Vhx) endfunction function mKx takes integer VFx,integer Vgx returns integer return(LoadInteger(o[((V[(E[((Ad[(VFx)]))])]))],((((Nd[((VFx))])))),(((Vgx))))) endfunction function mlx takes integer VFx,integer Vgx returns boolean return((LoadInteger(o[((V[(E[((Ad[(VFx)]))])]))],((((Nd[((VFx))])))),(((Vgx)))))==0) +endfunction function mLx takes integer VFx,integer Vgx returns nothing call SaveInteger(o[(((V[(E[((Ad[(VFx)]))])])))],(((((Nd[((VFx))]))))),((((Vgx)))),(0)) endfunction function mmx takes integer Vxx returns nothing local integer VFx if not E6x(Vxx)then return endif set VFx=Vxx if(uT[VFx]==w)then return endif call MultiboardDisplay(UT[uT[VFx]],true) +endfunction function mMx takes integer VFx,integer Vgx returns integer return(LoadInteger(o[((V[(E[(((Ad[(VFx)])))])]))],(((((Nd[((VFx))]))))),((((Vgx))+(q))))) endfunction function mpx takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(QT[(VFx)],(sT[((VFx))]),Vgx,Vhx) endfunction function mPx takes integer VFx,integer Vgx,integer Vhx returns nothing call SaveInteger(o[((V[(E[((Ad[(VFx)]))])]))],((((Nd[((VFx))])))),(((Vgx))),(((Vhx)))) endfunction function mqx takes integer VFx,integer Vxx returns nothing local boolean hasNext local integer VBx if(Vxx==Ge)then set VBx=us loop +call mqx(VFx,Us[VBx]) set VBx=VBx-1 exitwhen(VBx<0) endloop return endif if(mjx(Vxx,qT,VFx)==false)then return endif call mJx(VFx,qT,Vxx) +call mkx(Vxx,qT,VFx) +if((mKx((Vxx),ST))==VFx)then +call mJx(VFx,tT,Vxx) +if mlx(Vxx,qT)then call mLx(Vxx,ST) +call DialogDisplay(vx[Vxx],TT[VFx],false) call mmx(Vxx) else +set VFx=mMx(Vxx,qT) call mpx(VFx,tT,Vxx) +call mPx(Vxx,ST,VFx) +call DialogDisplay(vx[Vxx],TT[VFx],true) +endif endif endfunction function mQx takes integer VFx,integer V7x,integer V8x returns integer return(0+(LoadInteger(o[((V[(E[((yT[VFx]))])]))],((((sT[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))))))) endfunction function msx takes integer VFx,integer V7x,integer V8x,integer VAx returns integer return(LoadInteger(o[((V[(E[((yT[VFx]))])]))],((((sT[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))+(VAx))))) endfunction function mSx takes integer VFx,integer mtx returns nothing local integer VBx=Xv +local integer EBx local integer V8x local integer Eix=V4x((sT[(VFx)])) set wT[(Eix)]=(VFx) set WT[(Eix)]=(mtx) loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=mQx(VFx,mT,V8x) loop +exitwhen(EBx0)then return endif if(uu[VFx]!=Z)then call Vmx("DummyUnitEffect_Allocation_deallocCustom_confirm","call DebugEx(DummyUnitEffect.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",xu+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set uu[VFx]=uu[(w)] set uu[(w)]=VFx call MIx(VFx) endfunction function MNx takes integer VFx returns nothing set Tu[VFx]=Tu[VFx]-1 call MAx(VFx) endfunction function Mbx takes integer VFx,integer Vgx,integer Vhx returns boolean return VYx(qu[(VFx)],(Qu[((VFx))]),Vgx,Vhx) endfunction function MBx takes integer VFx,integer N8x returns nothing if not((LoadInteger(o[((D[((wu[VFx]))]))],((((Qu[((VFx))])))),(VGx((((HB[(N8x)]))),(((N8x)))))))!=0)then +call Vmx("FolderDummyUnit_StructEvent_Remove","call DebugEx(\"subject \"+I2S(DummyUnit(this).Id.Get()) + \" has not \" + whichEvent.GetName())","subject "+I2S((Qu[((VFx))]))+" has not "+(vc[(N8x)])) return endif call VYx(wu[VFx],(Qu[((VFx))]),(HB[(N8x)]),N8x) endfunction function Mcx takes integer VFx returns nothing local integer MCx=Su[VFx] local effect Vdx=tu[VFx] +call MNx((VFx)) call DestroyEffect(Vdx) set Vdx=null +if Mbx(MCx,su,VFx)then call MBx(MCx,Mu) +call MBx(MCx,Wu) +endif endfunction function Mdx takes nothing returns boolean local integer Eix=(bv) local integer MCx=(Pu[(Eix)]) local integer VBx=MOx(MCx,su) local integer VFx loop +set VFx=MRx(MCx,su,VBx) call Mcx(VFx) set VBx=VBx-1 exitwhen(VBx=Yf[VFx])then set ED[VFx]=AddSpecialEffectTarget(zf[VFx],C[Zf[VFx]],Wf[VFx]) if(ED[VFx]==null)then set ED[VFx]=AddSpecialEffect(null,.0,.0) +endif else +set VD[VFx]=AddSpecialEffect(null,.0,.0) +endif endfunction function Mlx takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) local integer VBx=Bex(b3x,vF) local integer VFx loop +set VFx=Bxx(b3x,vF,VBx) call MKx(VFx) set VBx=VBx-1 exitwhen(VBx0)then return false +endif set gw=gw+1 set Gw[gw]=VFx set Fw[VFx]=gw+1 +return(gw==0) endfunction function pOx takes string EFx,integer XMx,integer Xpx,integer XPx returns integer local integer VFx=pVx() set cw[VFx]=false set Cw[(VFx)]=(Xhx(EFx,pEx(XMx,Xpx,XPx,$FF))) set dw[(VFx)]=(XMx) set Dw[(VFx)]=(Xpx) set fw[(VFx)]=(XPx) call pXx(VFx) return VFx endfunction function pRx takes nothing returns nothing set Ew=pOx("Blue",0,0,$FF) set hw=pOx("Green",0,$FF,0) set Hw=pOx("Red",$FF,0,0) set jw=pOx("Magenta",$FF,0,$FF) set Jw=pOx("Teal",0,$FF,$FF) +set kw=pOx("Yellow",$FF,$FF,0) endfunction function pIx takes nothing returns boolean set rw=GetTimeOfDayScale() call pix() set nw=true call pax() call pRx() return true endfunction function pAx takes nothing returns boolean call lPx(function pIx,"Game_Init") return true endfunction function pNx takes nothing returns boolean set Bw=Idx(Ow) return true endfunction function pbx takes nothing returns boolean set Kw=Idx(lw) return true endfunction function pBx takes nothing returns boolean set Lw=Idx(mw) return true endfunction function pcx takes nothing returns boolean set Mw=Idx(pw) return true endfunction function pCx takes nothing returns boolean set Pw=Idx(qw) return true endfunction function pdx takes nothing returns boolean set Qw=Idx(sw) return true endfunction function pDx takes nothing returns boolean set Sw=Idx(tw) return true endfunction function pfx takes nothing returns boolean set Tw=Idx(uw) return true endfunction function pFx takes nothing returns boolean set Uw=Idx(ww) return true endfunction function pgx takes nothing returns boolean set Ww=Idx(yw) return true endfunction function pGx takes nothing returns boolean set Yw=Idx(zw) return true endfunction function phx takes nothing returns boolean set Zw=Idx(vW) return true endfunction function pHx takes nothing returns boolean set eW=Idx(xW) return true endfunction function pjx takes nothing returns boolean set oW=Idx(rW) return true endfunction function pJx takes nothing returns boolean set Hd=Idx(Dd) return true endfunction function pkx takes code c,string EFx returns nothing +set lV=lV+1 set LV[lV]=CreateTrigger() set mV[lV]=(GetHandleId(Condition((c)))) +set MV[lV]=EFx call TriggerAddCondition(LV[lV],Condition(c)) endfunction function pKx takes nothing returns integer local unit Vdx=GetFilterUnit() local integer Vtx if(GetUnitAbilityLevel(Vdx,'aLoc')>0)then set Vdx=null +return Z +endif set Vtx=OXx(Vdx) +set Vdx=null +return Vtx endfunction function plx takes real pLx,real pmx returns real local real Vtx if(pmx==0)then set Vtx=-1 else +set Vtx=pLx-(R2I(((pLx*1./ pmx)*1.)))*pmx if(Vtx<0)then set Vtx=Vtx+pmx endif endif return Vtx endfunction function pMx takes real a,real b returns real local real Vtx set a=plx(a,TH) set b=plx(b,TH) set Vtx=FMx(a-b) +if(Vtx>3.141592654)then return(TH-Vtx) endif return Vtx endfunction function ppx takes real x returns real return(Cos(((x)*1.))) endfunction function pPx takes real x returns real return(Sin(((x)*1.))) endfunction function pqx takes real kKx,real klx,real Vkx,real OMx,real pQx,real psx,real x,real y returns boolean local real dX=x-kKx local real dY=y-klx local real pSx=pMx(OMx,(Atan2(((dY)*1.),((dX)*1.)))) +local real d=JKx(dX,dY) local real ptx=ppx(pSx)*d local real pTx=pPx(pSx)*d local real pux=pQx+(psx-pQx)*(ptx*1./ Vkx) if((ptx>=.0)and(ptx<=Vkx)and(pTx<=pux))then return true endif return false +endfunction function pUx takes nothing returns boolean local integer pwx=pKx() if not pqx(VW,EW,XW,OW,RW,IW,dxx(pwx),dox(pwx))then return false +endif if(C[pwx]==nm[Vm])then return false +endif return true endfunction function pWx takes real VMx,real csx returns real local real Vtx=pMx(VMx,csx) set VMx=plx(VMx,TH) set csx=plx(csx,TH) set Vtx=csx-VMx if(Vtx>3.141592654)then return-(TH-Vtx) endif if(Vtx<-3.141592654)then +return(TH+Vtx) endif return Vtx endfunction function pyx takes real a returns integer if(a<0)then return-1 +endif if(a>0)then return 1 +endif return 0 +endfunction function pYx takes real kKx,real klx,real Vkx,real OMx,real pQx,real psx,real x,real y returns real local real dX=x-kKx local real dY=y-klx local real pzx=pWx(OMx,(Atan2(((dY)*1.),((dX)*1.)))) +local real d=JKx(dX,dY) local real pSx=FMx(pzx) local real dirFactor=pyx(pzx) local real ptx=ppx(pSx)*d local real pTx=pPx(pSx)*d local real pZx=(Atan2((((psx-pQx))*1.),((Vkx)*1.))) local real p_x=(Atan2((((pTx-pQx))*1.),((ptx)*1.))) local real p0x=p_x-pZx local real p1x=FMx(p0x) local real p2x=JKx(pTx-pQx,ptx) local real p3x local real p4x local real p5x if pqx(kKx,klx,Vkx,OMx,pQx,psx,x,y)then return .0 endif set p3x=ppx(p1x)*p2x +set p4x=pPx(p1x)*p2x +set p5x=JKx(psx-pQx,Vkx) +if(p3x<0)then if(pTxp5x)then if(pTxVkx)then if(pTx=OGx)and(y>=OHx))then return true endif if(Pxx(pwx,Xkx(E9x(OGx,x),Ohx),Xkx(E9x(OHx,y),Ojx),.0))then return true endif if(C[pwx]==nm[Vm])then return false +endif return false +endfunction function POx takes nothing returns nothing set KW=Nyx(function PXx) +set pW=L2x(.0,.0,.0,.0) endfunction function PRx takes nothing returns nothing set kW=Nyx(function PEx) +call POx() endfunction function PIx takes nothing returns nothing call Pvx() call PVx() call PRx() endfunction function PAx takes integer VFx returns integer set TW[VFx]=true +set uW[VFx]=false set MC[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(UW) +return VFx endfunction function PNx takes nothing returns integer local integer VFx if(QW==8190)then +call Vmx("UnitList_Allocation_allocCustom","call DebugEx(UnitList.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",sC+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(sW[(w)]==w)then set SW=SW+1 set VFx=SW else +set VFx=sW[(w)] set sW[(w)]=sW[sW[(w)]] endif set sW[VFx]=Z set tW[VFx]=1 call PAx(VFx) return VFx endfunction function Pbx takes integer VFx returns nothing set pC[(VFx)]=(wW+VFx) endfunction function PBx takes integer VFx returns nothing set WW[VFx]=0 set yW[VFx]=false endfunction function Pcx takes string EFx returns integer local integer VFx=PNx() set SC[(VFx)]=(EFx) call Pbx(VFx) call PBx(VFx) return VFx endfunction function PCx takes nothing returns nothing set tC=Pcx("world") endfunction function Pdx takes nothing returns boolean set iW=Bkx() +set aW=Bkx() +call PIx() set PW=Bkx() +set qW=Bkx() +call PCx() return true endfunction function PDx takes nothing returns boolean call pkx(function Pdx,"Group_Init") return true endfunction function Pfx takes nothing returns boolean set YW=Idx(zW) return true endfunction function PFx takes nothing returns boolean set ZW=Idx(vy) return true endfunction function Pgx takes nothing returns boolean set ey=Idx(xy) return true endfunction function PGx takes nothing returns boolean set oy=Idx(ry) return true endfunction function Phx takes nothing returns boolean set iy=Idx(ay) return true endfunction function PHx takes nothing returns boolean set UW=Idx(sC) return true endfunction function Pjx takes nothing returns boolean set ny=Idx(Vy) return true endfunction function PJx takes nothing returns boolean set Ey=Idx(Xy) return true endfunction function Pkx takes nothing returns boolean set Oy=Idx(Ry) return true endfunction function PKx takes nothing returns boolean set Iy=Idx(Ay) return true endfunction function Plx takes nothing returns boolean set Ny=Idx(by) return true endfunction function PLx takes nothing returns boolean set By=Idx(cy) return true endfunction function Pmx takes nothing returns boolean set Cy=Idx(Dy) return true endfunction function PMx takes nothing returns boolean set fy=Idx(Fy) return true endfunction function Ppx takes nothing returns boolean set gy=Idx(Gy) return true endfunction function PPx takes nothing returns boolean set hy=Idx(Hy) return true endfunction function Pqx takes nothing returns boolean set jy=Idx(Jy) return true endfunction function PQx takes nothing returns boolean set ky=Idx(Ky) return true endfunction function Psx takes nothing returns boolean set ly=Idx(Ly) return true endfunction function PSx takes nothing returns boolean set my=Idx(My) return true endfunction function Ptx takes nothing returns boolean set py=Idx(Py) return true endfunction function PTx takes nothing returns boolean set qy=Idx(Qy) return true endfunction function Pux takes nothing returns boolean set sy=Idx(Sy) return true endfunction function PUx takes nothing returns boolean set ih=Idx(YG) return true endfunction function Pwx takes integer VFx returns integer set wy[VFx]=true +set Wy[VFx]=false set yy[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(Ny) +return VFx endfunction function PWx takes nothing returns integer local integer VFx if(ty==8190)then +call Vmx("ItemClass_Allocation_allocCustom","call DebugEx(ItemClass.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",by+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(Ty[(w)]==w)then set uy=uy+1 set VFx=uy else +set VFx=Ty[(w)] set Ty[(w)]=Ty[Ty[(w)]] endif set Ty[VFx]=Z set Uy[VFx]=1 call Pwx(VFx) return VFx endfunction function Pyx takes integer VFx returns boolean set Yy=Yy+1 set zy[Yy]=VFx set Zy[VFx]=Yy+1 +return(Yy==0) endfunction function PYx takes integer VFx returns nothing set vY[(VFx)]=(eY+VFx) endfunction function Pzx takes nothing returns integer local integer VFx=PWx() call Pyx(VFx) call PYx(VFx) return VFx endfunction function PZx takes nothing returns nothing set ZK=Pzx() +set xY=Pzx() +endfunction function P_x takes nothing returns nothing call fnx(GetEnumItem()) endfunction function P0x takes nothing returns boolean local integer Eix=(bv) call EnumItemsInRect(SQ[tQ],null,function P_x) return true endfunction function P1x takes nothing returns boolean local integer Eix=(bv) local integer ENx=(dh[(Eix)]) local integer VBx=hAx(ENx,Nh) local integer EAx loop +exitwhen(VBx0)then return endif if(Ez[VFx]!=Z)then call Vmx("FolderLightning_StructFromDummyUnitToUnit_Allocation_deallocCustom_confirm","call DebugEx(FolderLightning_StructFromDummyUnitToUnit.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",zY+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Ez[VFx]=Ez[(w)] set Ez[(w)]=VFx call qMx(VFx) endfunction function qPx takes integer VFx returns nothing set Vz[VFx]=Vz[VFx]-1 call qpx(VFx) endfunction function qqx takes integer VFx,integer VMx returns nothing if Mbx(VMx,Rz,VFx)then call MBx(VMx,Iz) +endif endfunction function qQx takes integer VFx returns nothing local integer Vhx=(Eq[(VFx)])-1 set Eq[VFx]=Vhx if((Vhx==0)and Nz[VFx])then call Bcx((VFx)) endif endfunction function qsx takes integer VFx,integer csx returns nothing if V_x(csx,Rz,VFx)then call cEx(csx,Az) +call qQx(csx) endif endfunction function qSx takes integer VFx returns boolean local integer VAx=(bz[(VFx)]) set bz[Bz[cz]]=VAx set Bz[VAx-1]=Bz[cz] +set bz[VFx]=0 set cz=cz-1 return(cz==F) endfunction function qtx takes integer VFx,integer ENx,integer VMx,integer csx returns nothing call qPx((VFx)) call kqx(ENx,nz) +call kQx(ENx,iz) +if(VMx!=w)then call qqx(VFx,VMx) endif if(csx!=w)then call qsx(VFx,csx) endif if qSx(VFx)then call XNx(Cz) +endif endfunction function qTx takes nothing returns boolean local integer Eix=(bv) local integer ENx=(sP[(Eix)]) local integer VFx=kmx(ENx,nz) call qtx(VFx,ENx,dz[VFx],Dz[VFx]) return true endfunction function qux takes nothing returns boolean local integer Eix=(bv) local integer VMx=(Pu[(Eix)]) local integer VBx=MOx(VMx,Rz) local integer VFx loop +set VFx=MRx(VMx,Rz,VBx) if(Dz[VFx]==w)then call qtx(VFx,fz[VFx],VMx,w) call Kxx(fz[VFx]) else +call qqx(VFx,VMx) set dz[VFx]=w set Fz[VFx]=(Rm[(VMx)]) set gz[VFx]=(bm[(VMx)]) set Gz[VFx]=(hz[(VMx)])+Hz[VFx] endif set VBx=VBx-1 exitwhen(VBx0)then return endif if(Mz[VFx]!=Z)then call Vmx("FolderLightning_StructFromSpotToDummyUnit_Allocation_deallocCustom_confirm","call DebugEx(FolderLightning_StructFromSpotToDummyUnit.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",vz+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Mz[VFx]=Mz[(w)] set Mz[(w)]=VFx call qWx(VFx) endfunction function qYx takes integer VFx returns nothing set mz[VFx]=mz[VFx]-1 call qyx(VFx) endfunction function qzx takes integer VFx returns boolean local integer VAx=(sz[(VFx)]) set sz[Sz[tz]]=VAx set Sz[VAx-1]=Sz[tz] +set sz[VFx]=0 set tz=tz-1 return(tz==F) endfunction function qZx takes integer VFx,integer ENx,integer csx returns nothing call qYx((VFx)) call kqx(ENx,Lz) +call kQx(ENx,Kz) +if Mbx(csx,qz,VFx)then call MBx(csx,Qz) +endif if qzx(VFx)then call XNx(Tz) +endif endfunction function q_x takes nothing returns boolean local integer Eix=(bv) local integer ENx=(sP[(Eix)]) local integer VFx=kmx(ENx,Lz) call qZx(VFx,ENx,uz[VFx]) return true endfunction function q0x takes nothing returns boolean local integer Eix=(bv) local integer csx=(Pu[(Eix)]) local integer VBx=MOx(csx,qz) local integer VFx loop +set VFx=MRx(csx,qz,VBx) call qZx(VFx,Uz[VFx],csx) call Kxx(Uz[VFx]) set VBx=VBx-1 exitwhen(VBx0)then return endif if(zz[VFx]!=Z)then call Vmx("FolderLightning_StructFromSpotToSpot_Allocation_deallocCustom_confirm","call DebugEx(FolderLightning_StructFromSpotToSpot.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",xz+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set zz[VFx]=zz[(w)] set zz[(w)]=VFx call q2x(VFx) endfunction function q4x takes integer VFx returns nothing set Yz[VFx]=Yz[VFx]-1 call q3x(VFx) endfunction function q5x takes integer VFx,integer ENx returns nothing call q4x((VFx)) call kqx(ENx,yz) +call kQx(ENx,wz) +endfunction function q6x takes nothing returns boolean local integer Eix=(bv) local integer ENx=(sP[(Eix)]) local integer VFx=kmx(ENx,yz) call q5x(VFx,ENx) return true endfunction function q7x takes integer VFx returns nothing set WP[VFx]=false call EEx(YP) +endfunction function q8x takes integer VFx returns nothing if(wP[VFx]>0)then return endif if(uP[VFx]!=Z)then call Vmx("FolderLightning_StructFromSpotToUnit_Allocation_deallocCustom_confirm","call DebugEx(FolderLightning_StructFromSpotToUnit.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",TP+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set uP[VFx]=uP[(w)] set uP[(w)]=VFx call q7x(VFx) endfunction function q9x takes integer VFx returns nothing set wP[VFx]=wP[VFx]-1 call q8x(VFx) endfunction function Qvx takes integer VFx returns boolean local integer VAx=(Iq[(VFx)]) set Iq[Rq[Oq]]=VAx set Rq[VAx-1]=Rq[Oq] +set Iq[VFx]=0 set Oq=Oq-1 return(Oq==F) endfunction function Qex takes integer VFx,integer ENx,integer csx returns nothing call q9x((VFx)) call kqx(ENx,rq) +call kQx(ENx,iq) +if V_x(csx,nq,VFx)then call cEx(csx,Vq) +call qQx(csx) endif if Qvx(VFx)then call XNx(Aq) +endif endfunction function Qxx takes nothing returns boolean local integer Eix=(bv) local integer ENx=(sP[(Eix)]) local integer VFx=kmx(ENx,rq) call Qex(VFx,ENx,xq[VFx]) return true endfunction function Qox takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VBx=Bex(csx,nq) local integer VFx loop +set VFx=Bxx(csx,nq,VBx) call Qex(VFx,zP[VFx],csx) call Kxx(zP[VFx]) set VBx=VBx-1 exitwhen(VBx0)then return endif if(rZ[VFx]!=Z)then call Vmx("FolderLightning_StructFromUnitToUnit_Allocation_deallocCustom_confirm","call DebugEx(FolderLightning_StructFromUnitToUnit.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",rz+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set rZ[VFx]=rZ[(w)] set rZ[(w)]=VFx call Qix(VFx) endfunction function Qnx takes integer VFx returns nothing set oZ[VFx]=oZ[VFx]-1 call Qax(VFx) endfunction function QVx takes integer VFx,integer QEx returns nothing if V_x(QEx,nZ,VFx)then call cEx(QEx,VZ) +call qQx(QEx) endif endfunction function QXx takes integer VFx returns boolean local integer VAx=(EZ[(VFx)]) set EZ[XZ[OZ]]=VAx set XZ[VAx-1]=XZ[OZ] +set EZ[VFx]=0 set OZ=OZ-1 return(OZ==F) endfunction function QOx takes integer VFx,integer ENx,integer VMx,integer csx returns nothing call Qnx((VFx)) call kqx(ENx,xZ) +call kQx(ENx,vZ) +if(VMx!=w)then call QVx(VFx,VMx) endif if(csx!=w)then call QVx(VFx,csx) endif if QXx(VFx)then call XNx(RZ) +endif endfunction function QRx takes nothing returns boolean local integer Eix=(bv) local integer ENx=(sP[(Eix)]) local integer VFx=kmx(ENx,xZ) call QOx(VFx,ENx,IZ[VFx],AZ[VFx]) return true endfunction function QIx takes nothing returns boolean local integer Eix=(bv) local integer QEx=(Vv[(Eix)]) local integer VBx=Bex(QEx,nZ) local integer VFx loop +set VFx=Bxx(QEx,nZ,VBx) if(QEx==IZ[VFx])then +if(AZ[VFx]==w)then call QOx(VFx,NZ[VFx],QEx,w) call Kxx(NZ[VFx]) else +call QVx(VFx,QEx) set IZ[VFx]=w set bZ[VFx]=dxx(QEx) +set BZ[VFx]=dox(QEx) +set cZ[VFx]=drx(QEx)+bZx(QEx,true) endif else +if(IZ[VFx]==w)then call QOx(VFx,NZ[VFx],w,QEx) call Kxx(NZ[VFx]) else +call QVx(VFx,QEx) set AZ[VFx]=w set CZ[VFx]=dxx(QEx) +set DZ[VFx]=dox(QEx) +set fZ[VFx]=drx(QEx)+khx(QEx,true) endif endif set VBx=VBx-1 exitwhen(VBx0)then return endif if(p3[VFx]!=Z)then call Vmx("Queue_Allocation_deallocCustom_confirm","call DebugEx(Queue.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",yR+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set p3[VFx]=p3[(w)] set p3[(w)]=VFx call SFx(VFx) endfunction function SGx takes integer VFx returns nothing set M3[VFx]=M3[VFx]-1 call Sgx(VFx) endfunction function Shx takes integer VFx returns nothing call Sfx(VFx) call SGx((VFx)) endfunction function SHx takes nothing returns boolean local integer Eix=(bv) local integer ENx=(h3[(Eix)]) local integer VFx=ENx call Scx(ENx,G3) +call Sfx(m3[(VFx)]) call Shx(m3[VFx]) return true endfunction function Sjx takes nothing returns nothing set F3=(Nix()) set g3=(Nix()) set G3=Nlx("FolderMissile_StructCheckpoints_Init: set FolderMissile_StructCheckpoints.DESTROY_EVENT = Event.Create(Missile.DESTROY_EVENT_TYPE, EventPriority.HEADER, function FolderMissile_StructCheckpoints.Event_Destroy)",D3,Sb,function SHx) endfunction function SJx takes integer VFx,integer Vgx returns integer return(LoadInteger(o[((V[(E[((qu[(VFx)]))])]))],((((Qu[((VFx))])))),(((Vgx))))) endfunction function Skx takes integer VFx,integer N8x returns nothing if(H3[VFx]==w)then call Vmx("FolderMissile_StructEvent_Add","call DebugEx(\"no table \"+I2S(this)+\";\"+whichEvent.GetName())","no table "+I2S(VFx)+";"+(vc[(N8x)])) set H3[VFx]=X endif call Ehx(H3[VFx],(j3[((VFx))]),(HB[(N8x)]),N8x) endfunction function SKx takes integer VFx,integer Vgx,integer Vhx returns nothing call SaveInteger(o[((V[(E[((qu[(VFx)]))])]))],((((Qu[((VFx))])))),(((Vgx))),(((Vhx)))) endfunction function Slx takes integer VFx,integer N8x returns nothing if(wu[VFx]==w)then call Vmx("FolderDummyUnit_StructEvent_Add","call DebugEx(\"no table \"+I2S(this)+\";\"+whichEvent.GetName())","no table "+I2S(VFx)+";"+(vc[(N8x)])) set wu[VFx]=X endif call Ehx(wu[VFx],(Qu[((VFx))]),(HB[(N8x)]),N8x) endfunction function SLx takes integer VFx,integer Vhx returns nothing local integer OVx=(S3[(VFx)]) if(OVx!=w)then call shx(OVx,s3) +call MBx(OVx,q3) +call Scx((VFx),t3) endif set S3[VFx]=Vhx if(Vhx!=w)then call Skx((VFx),t3) call SKx(Vhx,s3,VFx) +call Slx(Vhx,q3) +endif endfunction function Smx takes nothing returns boolean local integer Eix=(bv) local integer Vhx=(Pu[(Eix)]) local integer VFx=SJx(Vhx,s3) call SLx(VFx,w) return true endfunction function SMx takes integer VFx,integer V7x,integer V8x returns integer return(0+(LoadInteger(o[((V[(E[((wu[VFx]))])]))],((((Qu[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))))))) endfunction function Spx takes integer VFx,integer V7x,integer V8x,integer VAx returns integer return(LoadInteger(o[((V[(E[((wu[VFx]))])]))],((((Qu[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))+(VAx))))) endfunction function SPx takes integer VFx returns integer set W3[VFx]=true +set Y3[VFx]=false call V1x(C0) +return VFx endfunction function Sqx takes nothing returns integer local integer VFx if(T3==8190)then +call Vmx("FolderDummyUnit_StructDestruction_Allocation_allocCustom","call DebugEx(FolderDummyUnit_StructDestruction.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",d0+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(u3[(w)]==w)then set U3=U3+1 set VFx=U3 else +set VFx=u3[(w)] set u3[(w)]=u3[u3[(w)]] endif set u3[VFx]=Z set w3[VFx]=1 call SPx(VFx) return VFx endfunction function SQx takes integer VFx returns nothing set W3[VFx]=false call EEx(C0) +endfunction function Ssx takes integer VFx returns nothing if(w3[VFx]>0)then return endif if(u3[VFx]!=Z)then call Vmx("FolderDummyUnit_StructDestruction_Allocation_deallocCustom_confirm","call DebugEx(FolderDummyUnit_StructDestruction.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",d0+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set u3[VFx]=u3[(w)] set u3[(w)]=VFx call SQx(VFx) endfunction function SSx takes integer VFx returns nothing set w3[VFx]=w3[VFx]-1 call Ssx(VFx) endfunction function Stx takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((qu[VFx]))])])],((((Qu[((VFx))]))))) endfunction function STx takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((wu[VFx]))])])],((((Qu[((VFx))]))))) endfunction function Sux takes integer VFx returns nothing set U1[VFx]=false call Stx((VFx)) call STx(((VFx))) call EEx(R1) +endfunction function SUx takes integer VFx returns nothing if(u1[VFx]>0)then return endif if(t1[VFx]!=Z)then call Vmx("DummyUnit_Allocation_deallocCustom_confirm","call DebugEx(DummyUnit.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",I1+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set t1[VFx]=t1[(w)] set t1[(w)]=VFx call Sux(VFx) endfunction function Swx takes integer VFx returns nothing set u1[VFx]=u1[VFx]-1 call SUx(VFx) endfunction function SWx takes integer VFx returns nothing local integer Eix=V4x((Qu[(VFx)])) local integer VBx local integer V8x local integer EBx local unit Vdx set Pu[(Eix)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=SMx(VFx,yu,V8x) loop +exitwhen(EBx0)then return false +endif set v4[e4[o4]]=v4[VFx] set e4[v4[VFx]-1]=e4[o4] +set v4[VFx]=0 set o4=o4-1 return(o4==F) endfunction function S1x takes integer VFx returns nothing call Scx((VFx),Z3) if S0x(VFx)then call XNx(r4) +endif endfunction function S2x takes nothing returns boolean local integer Eix=(bv) local integer VFx=(h3[(Eix)]) call S1x(VFx) return true endfunction function S3x takes nothing returns nothing set Z3=Nlx("FolderMissile_StructGoToSpot_Init: set FolderMissile_StructGoToSpot.STOP_EVENT = Event.Create(Missile.STOP_EVENT_TYPE, EventPriority.HEADER, function FolderMissile_StructGoToSpot.Event_Stop)",f3,Sb,function S2x) set r4=E5x() +endfunction function S4x takes nothing returns boolean local integer Eix=(bv) local integer ENx=(h3[(Eix)]) if(n4[(ENx)]!=w)then +return true endif set n4[(ENx)]=(V4[(Eix)]) return true endfunction function S5x takes integer VFx,integer csx returns nothing if V_x(csx,O4,VFx)then call cEx(csx,R4) +call cEx(csx,I4) +call qQx(csx) endif endfunction function S6x takes integer VFx returns boolean if not((A4[((VFx))])>0)then return false +endif set A4[N4[b4]]=A4[VFx] set N4[A4[VFx]-1]=N4[b4] +set A4[VFx]=0 set b4=b4-1 return(b4==F) endfunction function S7x takes integer VFx,integer csx returns nothing if(csx!=w)then call S5x(VFx,csx) endif call Scx((VFx),i4) call Scx((VFx),E4) if S6x(VFx)then call XNx(B4) +endif endfunction function S8x takes nothing returns boolean local integer Eix=(bv) local integer VFx=(h3[(Eix)]) call S7x(VFx,c4[VFx]) return true endfunction function S9x takes integer csx,integer tvx returns nothing local real h0x=dxx(csx) local real h1x=dox(csx) local real kJx=bzx(csx,h0x,h1x)+khx(csx,true) local integer VBx=Bex(csx,O4) local integer VFx loop +set VFx=Bxx(csx,O4,VBx) call S5x(VFx,csx) set c4[VFx]=w set C4[VFx]=h0x+d4[VFx] set D4[VFx]=h1x+f4[VFx] set F4[VFx]=kJx+g4[VFx] if(G4[VFx]!=w)then set h3[(tvx)]=(VFx) call NPx(G4[VFx],tvx) endif set VBx=VBx-1 exitwhen(VBx0)then return endif if(DB[VFx]!=Z)then call Vmx("Event_Allocation_deallocCustom_confirm","call DebugEx(Event.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Kb+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set DB[VFx]=DB[(w)] set DB[(w)]=VFx call tjx(VFx) endfunction function tkx takes integer VFx returns nothing set FB[VFx]=FB[VFx]-1 call tJx(VFx) endfunction function tKx takes integer VFx returns nothing call thx(VFx) call tkx((VFx)) endfunction function tlx takes integer VFx,string Vhx returns nothing set O5[VFx]=Vhx if(Vhx==null)then call MultiboardSetItemStyle(R5[VFx],true,false) else +call MultiboardSetItemIcon(R5[VFx],Vhx) call MultiboardSetItemStyle(R5[VFx],true,true) endif endfunction function tLx takes integer VFx,real Vhx returns nothing set I5[VFx]=Vhx call MultiboardSetItemWidth(R5[VFx],Vhx) +endfunction function tmx takes integer VFx returns nothing call tlx(VFx,null) call tLx(VFx,.0) +endfunction function tMx takes integer VFx,integer VUx returns nothing local integer tpx=(E5[(VFx)]) local integer tPx=(X5[(VFx)]) local multiboard Vdx=UT[VFx] +local integer tqx local integer tQx set E5[VFx]=VUx if(VUx>tpx)then set tqx=tpx+1 call MultiboardSetColumnCount(Vdx,VUx+1) +loop +exitwhen(tqx>VUx) set tQx=tPx loop +exitwhen(tQx<0) call tmx((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId(((UT[((VFx))]))))),((((N5+((tQx))*50+((tqx))))))))) set tQx=tQx-1 endloop set tqx=tqx+1 endloop elseif(VUxtQx)then set tQx=tQx+1 set i=tQx loop +exitwhen(i>VUx) call MultiboardSetRowCount(Vdx,i+1) set i=i+1 endloop loop +exitwhen(tQx>VUx) set tqx=tpx loop +exitwhen(tqx<0) call tmx((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId(((UT[((VFx))]))))),((((N5+((tQx))*50+((tqx))))))))) set tqx=tqx-1 endloop set tQx=tQx+1 endloop elseif(VUxE5[VFx])then call tMx(VFx,tqx) endif if(tQx>X5[VFx])then call tsx(VFx,tQx) endif endfunction function ttx takes integer VFx,string Vhx returns nothing set b5[VFx]=Vhx call MultiboardSetItemValue(R5[VFx],Vhx) +endfunction function tTx takes integer VFx,integer tQx,integer tqx,string Vhx returns nothing call tSx(VFx,tQx,tqx) call ttx((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId(((UT[(VFx)]))))),((((N5+(tQx)*50+(tqx))))))),Vhx) +endfunction function tux takes integer VFx returns nothing local integer VBx=XR[VFx] local boolean tUx if(VBx==F)then return endif set XR[VFx]=F set tUx=(VBx==RR) set RR=RR-1 loop +exitwhen(VBx>RR) +set IR[VBx]=IR[VBx+1] set XR[IR[VBx+1]]=VBx set VBx=VBx+1 endloop if tUx then if(RR>F)then +call StopMusic(false) call PlayMusic(AR[IR[RR]]) else +call StopMusic(true) +endif endif endfunction function twx takes integer VFx,integer VAx returns nothing local integer tQx if(VAx==F)then return endif set tQx=V5[VAx] if E6x(e5[VFx])then call tTx(B5,tQx,c5,C5[VAx]) call tTx(B5,tQx,d5,D5[VAx]) endif if(tQx==f5)then call tux(F5) +endif endfunction function tWx takes integer VFx returns nothing local integer Fvx=e5[VFx] if not x5[VFx]then return endif set x5[VFx]=false call tKx(r5[VFx]) call tKx(i5[VFx]) call tKx(a5[VFx]) call tKx(n5[VFx]) call twx(VFx,g5[VFx]) endfunction function tyx takes integer Fvx returns nothing local integer VFx=Fvx call tWx(VFx) endfunction function tYx takes integer VFx,integer VAx returns nothing local integer tQx if(VAx==F)then return endif set tQx=K5[VAx] if E6x(G5[VFx])then call tTx(l5,tQx,L5,m5[VAx]) call tTx(l5,tQx,M5,p5[VAx]) endif endfunction function tzx takes integer VFx returns nothing local integer Fvx=G5[VFx] if not h5[VFx]then return endif set h5[VFx]=false call tKx(H5[VFx]) call tKx(j5[VFx]) call tKx(J5[VFx]) call tKx(k5[VFx]) call tYx(VFx,P5[VFx]) endfunction function tZx takes integer Fvx returns nothing local integer VFx=Fvx call tzx(VFx) endfunction function t_x takes integer VFx,integer N8x returns nothing if not((LoadInteger(o[((D[((Q5[VFx]))]))],((((Nd[((VFx))])))),(VGx((((HB[(N8x)]))),(((N8x)))))))!=0)then +call Vmx("FolderUser_StructEvent_Remove","call DebugEx(\"subject \"+I2S(User(this).Id.Get()) + \" has not \" + whichEvent.GetName())","subject "+I2S((Nd[((VFx))]))+" has not "+(vc[(N8x)])) +return endif call VYx(Q5[VFx],(Nd[((VFx))]),(HB[(N8x)]),N8x) endfunction function t0x takes integer Vxx returns integer local integer VFx=Vxx return uT[VFx] endfunction function t1x takes integer VFx,integer el returns integer return SCx(X,el,L3+VFx) endfunction function t2x takes integer VFx,integer el returns integer return SCx(X,el,k3+VFx) endfunction function t3x takes integer VFx,integer el returns boolean return((J3[(VFx)])==el)or((t1x(VFx,el)!=w)or(t2x(VFx,el)!=w)) endfunction function t4x takes integer VFx,integer el returns integer local integer VBx if(t3x(VFx,el)==false)then return F +endif set VBx=0 loop +set el=t1x(VFx,el) exitwhen(el==w) set VBx=VBx+1 endloop return VBx endfunction function t5x takes integer VFx returns integer local integer VBx=F local integer el=(J3[(VFx)]) +loop +exitwhen(el==w) set el=t2x(VFx,el) set VBx=VBx+1 endloop return VBx endfunction function t6x takes nothing returns boolean local integer Vxx=Jix() local integer ENx=t0x(Vxx) local integer VFx=Vxx if(q5[((Vxx))])then call MultiboardSetTitleText(UT[ENx],Xhx("<<<","ffffcc00")+" "+(I2S((t4x(U4[VFx],ENx)+1)))+"/"+(I2S((t5x(U4[VFx])+1)))+" - "+Xhx((t5[(ENx)]),"ff00ff00")+" "+Xhx(">>>","ffffcc00")) return true endif return false +endfunction function t7x takes string Vdx,integer R9x returns string +local string Vtx="" loop +exitwhen(R9x<1) set Vtx=Vtx+Vdx set R9x=R9x-1 endloop return Vtx endfunction function t8x takes string Vdx,integer t9x returns string +local integer Tvx=((StringLength(((Vdx))))-1) return ESx(Vdx,Tvx-t9x+1,Tvx) endfunction function Tex takes real Vdx,integer Txx returns string local integer VBx local integer Tox local string Vtx +if(Vdx==.0)then return("0."+t7x("0",Txx)) endif set VBx=Txx set Tox=(R2I(((Vdx)*1.))) loop +exitwhen(VBx<1) set Vdx=Vdx*$A set VBx=VBx-1 endloop set Vtx=(I2S(((R2I(((Vdx)*1.)))))) set Vtx=((I2S((Tox)))+"."+t8x(Vtx,Txx)) return Vtx endfunction function Trx takes integer VFx returns nothing if t6x()then +return endif call MultiboardSetTitleText(UT[(VFx)],Xhx("["+Tex((TimerGetElapsed(l)),0)+"] +","ff00bfff")+"\t"+(t5[(VFx)])) +endfunction function Tix takes integer Vxx returns nothing local integer VFx=Vxx if not q5[VFx]then return endif set q5[VFx]=false call t_x(Vxx,s5) +call t_x(Vxx,S5) +call Trx(t0x(Jix())) +endfunction function Tax takes integer Vxx returns nothing local integer VFx=Vxx if not Z4[VFx]then return endif set Z4[VFx]=false call tDx(Vxx) call tyx(Vxx) call tZx(Vxx) call Tix(Vxx) endfunction function Tnx takes integer Vxx returns nothing local real x +local real y +if E6x(Vxx)then set v5=v5+1 if(v5==1)then set x=(GetCameraTargetPositionX()) set y=(GetCameraTargetPositionY()) call SetCameraBounds(x,y,x,y,x,y,x,y) endif endif endfunction function TVx takes integer VFx returns integer set Y5[VFx]=true +set z5[VFx]=false call V1x(Z5) +return VFx endfunction function TEx takes nothing returns integer local integer VFx if(u5==8190)then +call Vmx("FolderUser_FolderKeyEvent_StructDownArrow_Allocation_allocCustom","call DebugEx(FolderUser_FolderKeyEvent_StructDownArrow.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",U5+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(w5[(w)]==w)then set W5=W5+1 set VFx=W5 else +set VFx=w5[(w)] set w5[(w)]=w5[w5[(w)]] endif set w5[VFx]=Z set y5[VFx]=1 call TVx(VFx) return VFx endfunction function TXx takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(hB[(VFx)],(kB[((VFx))]),Vgx,Vhx) endfunction function TOx takes integer VFx,integer N8x returns nothing call TXx((VFx),(HB[(N8x)]),N8x) endfunction function TRx takes integer VFx,integer Vgx,integer Vhx returns nothing call SaveInteger(o[((V[(E[((hB[(VFx)]))])]))],((((kB[((VFx))])))),(((Vgx))),(((Vhx)))) endfunction function TIx takes integer VFx,integer N8x returns nothing if(Q5[VFx]==w)then call Vmx("FolderUser_StructEvent_Add","call DebugEx(\"no table \"+I2S(this)+\";\"+whichEvent.GetName())","no table "+I2S(VFx)+";"+(vc[(N8x)])) set Q5[VFx]=X endif call Ehx(Q5[VFx],(Nd[((VFx))]),(HB[(N8x)]),N8x) endfunction function TAx takes integer VFx,integer V8x,code XEx,real TNx,real Tbx returns integer local integer ENx=VFx local integer Vtx=Nlx("FolderUser_FolderKeyEvent_StructDownArrow_RegisterPress: local Event result = Event.Create(FolderUser_FolderKeyEvent_StructDownArrow.PRESS_EVENT_TYPE, priority, actionFunction)",T5,V8x,XEx) +local integer TBx if(TNx>.0)then set VFx=TEx() set TBx=E5x() set v6[VFx]=TNx set e6[VFx]=TBx set x6[VFx]=Tbx set o6[VFx]=Vtx set r6[VFx]=ENx set ge[(TBx)]=(VFx) call mTx(ENx,i6,VFx) +call TOx(Vtx,a6) +call TRx(Vtx,n6,VFx) +endif call TIx(ENx,Vtx) return Vtx endfunction function Tcx takes integer Vxx returns nothing local integer VFx=Vxx if q5[VFx]then return endif set q5[VFx]=true +call TIx(Vxx,s5) +call TIx(Vxx,S5) +call Trx(t0x(Jix())) +endfunction function TCx takes integer Vxx,real Vhx returns nothing if E6x(Vxx)then call CameraSetSmoothingFactor(Vhx) endif endfunction function Tdx takes integer VFx returns nothing local string s=Tex(O6[R6],1) +set D5[I6[X6]]=s +if(E6[(VFx)]==X6)then set s=XHx((R6>0),Xhx("<<< ","ffffcc00"))+Xhx(s,"ff00ff00")+XHx((R6>>","ffffcc00")) endif call tTx(B5,X6,d5,s) +call TCx((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetLocalPlayer())))))),((((R)))))),O6[R6]) +endfunction function TDx takes integer VFx returns nothing if E6x(e5[(VFx)])then call Tdx(VFx) endif endfunction function Tfx takes integer VFx returns nothing local string s=(I2S((b6[B6[VFx]]))) set D5[I6[N6]]=s +if(E6[(VFx)]==N6)then set s=XHx((B6[VFx]>0),Xhx("<<< ","ffffcc00"))+Xhx(s,"ff00ff00")+XHx((B6[VFx]>>","ffffcc00")) +endif call tTx(B5,N6,d5,s) +set C6=b6[B6[VFx]] endfunction function TFx takes integer VFx returns nothing if E6x(e5[(VFx)])then call Tfx(VFx) endif endfunction function Tgx takes integer VFx returns nothing local string s=(cV[(FV)]) set D5[I6[d6]]=s +if(E6[(VFx)]==d6)then set s=XHx(((DV[(FV)]-1)>0),Xhx("<<< ","ffffcc00"))+Xhx(s,"ff00ff00")+XHx(((DV[(FV)]-1)>>","ffffcc00")) endif call tTx(B5,d6,d5,s) +endfunction function TGx takes integer VFx returns nothing if E6x(e5[(VFx)])then call Tgx(VFx) endif endfunction function Thx takes integer Vdx returns boolean return(Vdx>0) endfunction function THx takes integer VFx returns nothing local string s=f6[F6] set D5[I6[D6]]=s +if(E6[(VFx)]==D6)then set s=XHx((F6>0),Xhx("<<< ","ffffcc00"))+Xhx(s,"ff00ff00")+XHx((F6>>","ffffcc00")) endif call tTx(B5,D6,d5,s) +set G6=Thx(F6) endfunction function Tjx takes integer VFx returns nothing if E6x(e5[(VFx)])then call THx(VFx) endif endfunction function TJx takes integer VFx,boolean Tkx returns nothing local string s=t7x("l",(R2I(((Xkx(h6*25*1./ 100.,25))*1.)))) +local string s2=" "+Xhx("("+(I2S((h6)))+"%"+")","ffffcc00") set D5[I6[f5]]=s+s2 call SetMusicVolume((R2I(((((h6*1./ 100.)*1.)*127.)*1.)))) if(E6[(VFx)]==f5)then set s=Xhx(s,"ff00ff00") endif set s=s+s2 if Tkx then call Rwx(F5) +endif call tTx(B5,f5,d5,s) +endfunction function TKx takes integer VFx,boolean Tkx returns nothing if E6x(e5[(VFx)])then call TJx(VFx,Tkx) endif endfunction function Tlx takes real Vhx returns nothing local integer VBx=J6 +set Xg=Vhx loop +exitwhen(VBx<0) call VolumeGroupSetVolume(k6[K6[VBx]],Vhx) set VBx=VBx-1 endloop endfunction function TLx takes integer VFx,boolean Tmx returns nothing local string s=t7x("l",(R2I(((Xkx(j6*25*1./ 100.,25))*1.)))) +local string s2=" "+Xhx("("+(I2S((j6)))+"%"+")","ffffcc00") set D5[I6[H6]]=s+s2 call Tlx(j6*1./ 100.) if(E6[(VFx)]==H6)then set s=Xhx(s,"ff00ff00") endif set s=s+s2 if Tmx then call dXx(l6) +endif call tTx(B5,H6,d5,s) +endfunction function TMx takes integer VFx,boolean Tmx returns nothing if E6x(e5[(VFx)])then call TLx(VFx,Tmx) endif endfunction function Tpx takes integer VFx,integer VAx returns nothing local integer TPx=g5[VFx] local integer Tqx if(VAx==TPx)then +return endif call twx(VFx,TPx) set g5[VFx]=VAx if(VAx==F)then set Tqx=w else +set Tqx=V5[VAx] endif set E6[VFx]=Tqx if(Tqx==w)then call Tcx(e5[VFx]) else +call Tix(e5[VFx]) endif if not E6x(e5[VFx])then return endif if(Tqx==X6)then call TDx(VFx) endif if(Tqx==N6)then call TFx(VFx) endif if(Tqx==d6)then call TGx(VFx) endif if(Tqx==D6)then call Tjx(VFx) endif if(Tqx==f5)then call TKx(VFx,false) endif if(Tqx==H6)then call TMx(VFx,false) endif endfunction function TQx takes nothing returns boolean local integer Eix=(bv) local integer Fvx=(ax[(Eix)]) local integer VFx=Fvx if(g5[VFx]==V6)then call Tpx(VFx,F) else +call Tpx(VFx,g5[VFx]+1) endif return true endfunction function Tsx takes integer VFx returns integer set Q6[VFx]=true +set s6[VFx]=false call V1x(S6) +return VFx endfunction function TSx takes nothing returns integer local integer VFx if(m6==8190)then +call Vmx("FolderUser_FolderKeyEvent_StructLeftArrow_Allocation_allocCustom","call DebugEx(FolderUser_FolderKeyEvent_StructLeftArrow.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",M6+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(p6[(w)]==w)then set P6=P6+1 set VFx=P6 else +set VFx=p6[(w)] set p6[(w)]=p6[p6[(w)]] endif set p6[VFx]=Z set q6[VFx]=1 call Tsx(VFx) return VFx endfunction function Ttx takes integer VFx,integer V8x,code XEx,real TNx,real Tbx returns integer local integer ENx=VFx local integer Vtx=Nlx("FolderUser_FolderKeyEvent_StructLeftArrow_RegisterPress: local Event result = Event.Create(FolderUser_FolderKeyEvent_StructLeftArrow.PRESS_EVENT_TYPE, priority, actionFunction)",L6,V8x,XEx) +local integer TBx if(TNx>.0)then set VFx=TSx() set TBx=E5x() set t6[VFx]=TNx set T6[VFx]=TBx set u6[VFx]=Tbx set U6[VFx]=Vtx set w6[VFx]=ENx set ge[(TBx)]=(VFx) call mTx(ENx,W6,VFx) +call TOx(Vtx,y6) +call TRx(Vtx,Y6,VFx) +endif call TIx(ENx,Vtx) return Vtx endfunction function TTx takes integer VFx,real Tbx returns nothing if(B6[VFx]>0)then set B6[VFx]=B6[VFx]-1 else +if(Tbx==1.)then call XDx(e5[(VFx)],Xhx("Penguin perspective is not supported","ffffcc00"),10.) endif endif call TFx(VFx) endfunction function Tux takes integer VFx returns nothing if(R6>0)then +set R6=R6-1 endif call TDx(VFx) endfunction function TUx takes integer VFx returns nothing set FV=(dV[(R2I(((E9x((0),((DV[(FV)]-1)-1)))*1.)))]) +call TGx(VFx) endfunction function Twx takes integer VFx returns nothing set F6=(R2I(((E9x((0),(F6-1)))*1.))) +call Tjx(VFx) endfunction function TWx takes integer VFx,real Tbx returns nothing set h6=(R2I(((E9x((0),((R2I(((h6-1.*Tbx)*1.))))))*1.))) call TKx(VFx,true) endfunction function Tyx takes integer VFx,real Tbx returns nothing set j6=(R2I(((E9x((0),((R2I(((j6-1.*Tbx)*1.))))))*1.))) call TMx(VFx,true) endfunction function TYx takes nothing returns boolean local integer Eix=(bv) local real Tbx=(z6[(Eix)]) local integer Fvx=(ax[(Eix)]) local integer VFx=Fvx local integer Tqx=E6[VFx] if(Tqx==N6)then call TTx(VFx,Tbx) endif if not E6x(Fvx)then return true endif if(Tqx==X6)then call Tux(VFx) endif if(Tqx==d6)then call TUx(VFx) endif if(Tqx==D6)then call Twx(VFx) endif if(Tqx==f5)then call TWx(VFx,Tbx) endif if(Tqx==H6)then call Tyx(VFx,Tbx) endif return true endfunction function Tzx takes integer VFx returns integer set i7[VFx]=true +set a7[VFx]=false call V1x(n7) +return VFx endfunction function TZx takes nothing returns integer local integer VFx if(v7==8190)then +call Vmx("FolderUser_FolderKeyEvent_StructRightArrow_Allocation_allocCustom","call DebugEx(FolderUser_FolderKeyEvent_StructRightArrow.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",e7+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(x7[(w)]==w)then set o7=o7+1 set VFx=o7 else +set VFx=x7[(w)] set x7[(w)]=x7[x7[(w)]] endif set x7[VFx]=Z set r7[VFx]=1 call Tzx(VFx) return VFx endfunction function T_x takes integer VFx,integer V8x,code XEx,real TNx,real Tbx returns integer local integer ENx=VFx local integer Vtx=Nlx("FolderUser_FolderKeyEvent_StructRightArrow_RegisterPress: local Event result = Event.Create(FolderUser_FolderKeyEvent_StructRightArrow.PRESS_EVENT_TYPE, priority, actionFunction)",Z6,V8x,XEx) local integer TBx if(TNx>.0)then set VFx=TZx() set TBx=E5x() set V7[VFx]=TNx set E7[VFx]=TBx set X7[VFx]=Tbx set O7[VFx]=Vtx set R7[VFx]=ENx set ge[(TBx)]=(VFx) call mTx(ENx,I7,VFx) +call TOx(Vtx,A7) +call TRx(Vtx,N7,VFx) +endif call TIx(ENx,Vtx) return Vtx endfunction function T0x takes integer VFx returns nothing if(B6[VFx].0)then set VFx=T8x() set TBx=E5x() set G7[VFx]=TNx set h7[VFx]=TBx set H7[VFx]=Tbx set j7[VFx]=Vtx set J7[VFx]=ENx set ge[(TBx)]=(VFx) call mTx(ENx,k7,VFx) +call TOx(Vtx,K7) +call TRx(Vtx,l7,VFx) +endif call TIx(ENx,Vtx) return Vtx endfunction function uvx takes nothing returns boolean local integer Eix=(bv) local integer Fvx=(ax[(Eix)]) local integer VFx=Fvx if(g5[VFx]==F)then call Tpx(VFx,V6) +else +call Tpx(VFx,g5[VFx]-1) endif return true endfunction function uex takes integer VFx returns nothing local integer Fvx=e5[VFx] if x5[VFx]then return endif set x5[VFx]=true +set r5[VFx]=TAx(Fvx,iB,function TQx,.5,1.) set i5[VFx]=Ttx(Fvx,iB,function TYx,.1,4.) set a5[VFx]=T_x(Fvx,iB,function T6x,.1,4.) set n5[VFx]=T9x(Fvx,iB,function uvx,.5,1.) set E6[VFx]=F set g5[VFx]=F endfunction function uxx takes integer Fvx returns nothing local integer VFx=Fvx if(t0x(Fvx)==B5)then +call uex(VFx) endif endfunction function uox takes integer VFx returns nothing local integer urx=p7[M7] +local integer VAx local string s call tTx(l5,M7,L5,m5[urx]) set VAx=P7[VFx] set s=(I2S((VAx+1)))+"/"+(I2S((q7+1))) set p5[urx]=s if(m7[VFx]==M7)then set s=XHx((VAx>0),Xhx("<<< ","ffffcc00"))+Xhx(s,"ff00ff00")+XHx((VAx>>","ffffcc00")) +endif call tTx(l5,M7,M5,s) +endfunction function uix takes integer VFx,integer VAx returns nothing local integer TPx=P5[VFx] local integer Tqx if(VAx==TPx)then +return endif call tYx(VFx,TPx) set P5[VFx]=VAx if(VAx==F)then set Tqx=F else +set Tqx=K5[VAx] endif set m7[VFx]=Tqx if(Tqx==F)then call Tcx(G5[VFx]) else +call Tix(G5[VFx]) endif if not E6x(G5[VFx])then return endif if(Tqx==M7)then call uox(VFx) endif endfunction function uax takes nothing returns boolean local integer Eix=(bv) local integer Fvx=(ax[(Eix)]) local integer VFx=Fvx if(P5[VFx]==L7)then call uix(VFx,F) else +call uix(VFx,P5[VFx]+1) endif return true endfunction function unx takes integer VFx returns nothing local integer tpx=(E5[(VFx)]) local integer tPx=(X5[(VFx)]) local integer uVx=tpx local integer tQx loop +exitwhen(uVx<0) set tQx=tPx loop +exitwhen(tQx<0) call ttx((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId(((UT[(VFx)]))))),((((N5+(tQx)*50+(uVx))))))),"") set tQx=tQx-1 endloop set uVx=uVx-1 endloop endfunction function uEx takes integer VFx,integer tQx,integer tqx,real Vhx returns nothing call tSx(VFx,tQx,tqx) call tLx((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId(((UT[(VFx)]))))),((((N5+(tQx)*50+(tqx))))))),Vhx) +endfunction function uXx takes integer VFx,integer tqx,real Vhx returns nothing local integer tQx=(X5[((VFx))]) loop +exitwhen(tQx<0) call uEx((VFx),tQx,tqx,Vhx) set tQx=tQx-1 endloop endfunction function uOx takes integer Iox returns integer set mR=Iox if not TriggerEvaluate(LR)then call Vmx("Basic_GetAllocModuleFromQueue","call DebugEx(\"GetAllocModuleFromQueue: \" + \"thread broken\")","GetAllocModuleFromQueue: thread broken") +endif return PR endfunction function uRx takes integer VFx,integer VAx returns nothing local integer i local integer Rix local integer c local integer uIx call unx(l5) +set P7[VFx]=VAx call uox(VFx) set i=0+VAx*30 set Rix=0+(VAx+1)*30-1 set c=0 call tsx(l5,Q7+(R2I(((Xkx((30),(wR-i+1)))*1.)))-1) call uXx(l5,L5,.2) call uXx(l5,M5,.05) loop +exitwhen(i>Rix) exitwhen(i>wR) set uIx=uOx(i) call tTx(l5,Q7+c,L5,(WR[(uIx)])) +call tTx(l5,Q7+c,M5,(I2S(((qR[(uIx)]))))) set i=i+1 set c=c+1 endloop endfunction function uAx takes nothing returns boolean local integer Eix=(bv) local real Tbx=(z6[(Eix)]) local integer Fvx=(ax[(Eix)]) local integer VFx=Fvx local integer Tqx=m7[VFx] if(Tqx==M7)then if(P7[VFx]>0)then call uRx(VFx,P7[VFx]-1) endif endif if not E6x(Fvx)then return true endif return true endfunction function uNx takes nothing returns boolean local integer Eix=(bv) local real Tbx=(z6[(Eix)]) local integer Fvx=(ax[(Eix)]) local integer VFx=Fvx local integer Tqx=m7[VFx] if(Tqx==M7)then if(P7[VFx]0)then +return false +endif set eAv=eAv+1 set eNv[eAv]=VFx +set eIv[VFx]=eAv+1 return(eAv==0) endfunction function UGx takes nothing returns nothing local integer VBx=eAv loop +exitwhen(VBx<0) set ebv[VBx]=eNv[VBx] set VBx=VBx-1 endloop set eBv=eAv endfunction function Uhx takes nothing returns integer local integer Vtx if(eBv<0)then return w +endif set Vtx=ebv[0] set ebv[0]=ebv[eBv] set eBv=eBv-1 return Vtx endfunction function UHx takes integer VFx,integer Vgx returns integer return(LoadInteger(o[((V[(E[((egv[(VFx)]))])]))],((((eGv[((VFx))])))),(((Vgx))))) endfunction function Ujx takes integer VFx returns real return(Kt[((ejv[(VFx)]))]) endfunction function UJx takes integer VFx returns real return(lt[((ejv[(VFx)]))]) endfunction function Ukx takes integer b3x returns nothing local integer VFx=b3x local integer ENx=edv[VFx] local integer cix local real x +local real y +if eDv then return endif if(ENx==w)then set cix=w else +set cix=(efv[(ENx)]) +endif if(cix==w)then if(eFv[((UHx(((bj[(b3x)])),ehv)))])then call UFx(b3x,B8,eHv) +else +call hxx(b3x,B8,(GetUnitX(C[((eHv))])),(GetUnitY(C[((eHv))]))) endif else +set x=Ujx(cix) set y=UJx(cix) if(eFv[((UHx(((bj[(b3x)])),ehv)))])then call hxx(b3x,tK,x,y) +else +call hxx(b3x,B8,x,y) +endif endif endfunction function UKx takes nothing returns nothing local integer VFx local integer VMx local integer csx call UGx() loop +set VFx=Uhx() exitwhen(VFx==w) +set VMx=VFx set csx=eXv[VFx] +if(JGx(dox(csx)-dox(VMx),dxx(csx)-dxx(VMx))>eCv)then +call dpx(VMx,vuv) call Ukx(VMx) endif endloop endfunction function Ulx takes nothing returns boolean local integer Eix=(bv) local integer VMx=(Vv[(Eix)]) local integer csx=env local integer VFx=VMx set eXv[VFx]=csx +if EHx(csx,eRv,VFx)then call UCx(csx,eov,1) endif call UFx(VMx,B8,csx) +if Ugx(VFx)then call Xax(eVv,3.,true,function UKx) endif return true endfunction function ULx takes integer VFx returns boolean if not((eIv[((VFx))])>0)then +return false +endif set eIv[eNv[eAv]]=eIv[VFx] set eNv[eIv[VFx]-1]=eNv[eAv] +set eIv[VFx]=0 set eAv=eAv-1 return(eAv==F) endfunction function Umx takes nothing returns boolean local integer Eix=(bv) local integer VMx=(Vv[(Eix)]) local integer VFx=VMx local integer csx=eXv[VFx] if V_x(csx,eRv,VFx)then call dpx(csx,eov) endif if ULx(VFx)then call XNx(eVv) endif return true endfunction function UMx takes nothing returns boolean local integer Eix=(bv) return true endfunction function Upx takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx loop +set VFx=Bxx(csx,eRv,q) exitwhen(VFx==w) +call dpx((VFx),vuv) endloop return true endfunction function UPx takes nothing returns boolean set eiv=Nlx("AILetOff_Init: set AILetOff.ACQUIRE_EVENT = Event.Create(UNIT.Attack.Events.ACQUIRE_EVENT_TYPE, EventPriority.AI, function AILetOff.Event_Acquire)",eav,vB,function Udx) set eVv=E5x() call jex(Nlx("AILetOff_Init: call Event.Create(Spawn.DUMMY_EVENT_TYPE, EventPriority.AI, function AILetOff.Event_Spawn).AddToStatics()",eEv,vB,function UDx)) call Ufx(vuv,Nlx("AILetOff_Init: call AILetOff.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.AI, function AILetOff.Event_BuffGain))",dg,vB,function Ulx)) +call Ufx(vuv,Nlx("AILetOff_Init: call AILetOff.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.AI, function AILetOff.Event_BuffLose))",Hf,vB,function Umx)) +call Ufx(eov,Nlx("AILetOff_Init: call AILetOff.TARGET_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.AI, function AILetOff.Event_TargetBuffGain))",dg,vB,function UMx)) call Ufx(eov,Nlx("AILetOff_Init: call AILetOff.TARGET_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.AI, function AILetOff.Event_TargetBuffLose))",Hf,vB,function Upx)) return true endfunction function Uqx takes nothing returns boolean call Ucx(function UPx,"AILetOff_Init") return true endfunction function UQx takes nothing returns boolean set eJv=Idx(ekv) +return true endfunction function Usx takes nothing returns boolean set eKv=Idx(elv) +return true endfunction function USx takes nothing returns nothing endfunction function Utx takes nothing returns nothing endfunction function UTx takes nothing returns nothing set eLv=InitHashtable() set emv=CreateForce() endfunction function Uux takes nothing returns nothing endfunction function UUx takes nothing returns nothing endfunction function Uwx takes nothing returns nothing endfunction function UWx takes nothing returns boolean call USx() call Utx() call UTx() call Uux() call UUx() call Uwx() return true endfunction function Uyx takes nothing returns boolean call ILx(function UWx,"Primitive_Init") return true endfunction function UYx takes nothing returns boolean set eMv=Idx(epv) +return true endfunction function Uzx takes nothing returns boolean set ePv=Idx(eqv) +return true endfunction function UZx takes nothing returns boolean set eQv=Idx(esv) +return true endfunction function U_x takes nothing returns boolean set eSv=Idx(etv) +return true endfunction function U0x takes nothing returns boolean set kt=Idx(Ft) return true endfunction function U1x takes nothing returns boolean set eTv=Idx(euv) +return true endfunction function U2x takes nothing returns boolean set eUv=Idx(ewv) +return true endfunction function U3x takes nothing returns boolean set eWv=Idx(eyv) +return true endfunction function U4x takes nothing returns boolean set eYv=Idx(ezv) +return true endfunction function U5x takes nothing returns boolean set eZv=Idx(e_v) +return true endfunction function U6x takes nothing returns boolean set e0v=Idx(e1v) +return true endfunction function U7x takes nothing returns boolean set e2v=Idx(e3v) +return true endfunction function U8x takes rect Vdx returns integer local integer VFx=L0x(GetRectMinX(Vdx),GetRectMinY(Vdx),GetRectMaxX(Vdx),GetRectMaxY(Vdx)) set SQ[VFx]=Vdx call L1x(VFx) return VFx endfunction function U9x takes nothing returns boolean set tQ=U8x(GetWorldBounds()) +set e4v=L2x(0,0,0,0) +set e5v=(Nix()) set e6v=(Nix()) set e7v=(Nix()) return true endfunction function wvx takes nothing returns boolean call lnx(function U9x,"Region_Init") +return true endfunction function wex takes nothing returns boolean set fR=Idx(bR) return true endfunction function wxx takes nothing returns boolean set e8v=Idx(e9v) +return true endfunction function wox takes nothing returns boolean set xvv=Idx(xev) +return true endfunction function wrx takes nothing returns boolean set xxv=Idx(xov) +return true endfunction function wix takes nothing returns boolean set JD=Idx(HD) return true endfunction function wax takes integer VFx returns integer set xEv[VFx]=true set xXv[VFx]=false call V1x(xvv) return VFx endfunction function wnx takes nothing returns integer local integer VFx if(xiv==8190)then call Vmx("SoundEax_Allocation_allocCustom","call DebugEx(SoundEax.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",xev+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(xav[(w)]==w)then set xnv=xnv+1 set VFx=xnv else +set VFx=xav[(w)] +set xav[(w)]=xav[xav[(w)]] endif set xav[VFx]=Z set xVv[VFx]=1 call wax(VFx) return VFx endfunction function wVx takes string Vdx returns integer local integer VFx=wnx() set Vg[(VFx)]=(Vdx) return VFx endfunction function wEx takes nothing returns nothing set xrv=wVx("CombatSoundsEAX") set xOv=wVx("DefaultEAXON") set xRv=wVx("DoodadsEAX") set xIv=wVx("HeroAcksEAX") set xAv=wVx("KotoDrumsEAX") set xNv=wVx("MissilesEAX") set xbv=wVx("SpellsEAX") +endfunction function wXx takes integer VFx,real Vhx returns nothing set Eg[VFx]=Vhx call VolumeGroupSetVolume(k6[VFx],Vhx) endfunction function wOx takes integer VFx returns boolean set J6=J6+1 set K6[J6]=VFx set xBv[VFx]=J6+1 return(J6==0) endfunction function wRx takes integer VFx,volumegroup wIx returns integer set k6[VFx]=wIx call wXx(VFx,1.) +call wOx(VFx) return VFx endfunction function wAx takes nothing returns nothing call wRx(xcv,SOUND_VOLUMEGROUP_AMBIENTSOUNDS) call wRx(xCv,null) call wRx(xdv,null) call wRx(5,SOUND_VOLUMEGROUP_COMBAT) +call wRx(xDv,null) call wRx(6,SOUND_VOLUMEGROUP_UI) +call wRx(xfv,SOUND_VOLUMEGROUP_FIRE) +call wRx(0,null) +call wRx(9,SOUND_VOLUMEGROUP_UNITMOVEMENT) call wRx(8,SOUND_VOLUMEGROUP_UI) +call wRx(2,SOUND_VOLUMEGROUP_UNITSOUNDS) +call wRx(3,SOUND_VOLUMEGROUP_UNITSOUNDS) +call wRx(4,SOUND_VOLUMEGROUP_UNITSOUNDS) +call wRx(1,SOUND_VOLUMEGROUP_UNITSOUNDS) +endfunction function wNx takes string wbx,boolean wBx,boolean wcx,boolean wCx,real wdx,real cjx,integer dvx returns integer local integer VFx=C7x() set fD[VFx]=w set CF[(VFx)]=(wbx) call C8x(VFx,0) set FF[(VFx)]=(dvx) set KF[(VFx)]=((1.)*1.) set LF[(VFx)]=((wdx)*1.) +set MF[(VFx)]=((cjx)*1.) +set kD[(VFx)]=(wBx) set qF[(VFx)]=(wCx) set sF[(VFx)]=(wcx) call C9x(VFx) return VFx endfunction function wDx takes nothing returns nothing endfunction function wfx takes nothing returns boolean call wEx() call wAx() set xFv=wNx("Sound\\Interface\\Error.wav",false,false,false,$A,$A,w) +call C8x(xFv,8) call wDx() return true endfunction function wFx takes nothing returns boolean call lnx(function wfx,"Sound_Init") return true endfunction function wgx takes nothing returns boolean set pD=Idx(mD) return true endfunction function wGx takes nothing returns boolean set xgv[0]='AHS0' call scx('AHS0',true) return true endfunction function whx takes nothing returns boolean set xgv[4]='AHS4' call scx('AHS4',true) return true endfunction function wHx takes nothing returns boolean set xgv[1]='AHS1' call scx('AHS1',true) return true endfunction function wjx takes nothing returns boolean set xgv[3]='AHS3' call scx('AHS3',true) return true endfunction function wJx takes nothing returns boolean set xgv[2]='AHS2' call scx('AHS2',true) return true endfunction function wkx takes nothing returns boolean call sOx(function wGx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Spell.page\\HeroSpell.struct\\obj_slots[0]_wc3spell.j") call sOx(function whx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Spell.page\\HeroSpell.struct\\obj_slots[4]_wc3spell.j") call sOx(function wHx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Spell.page\\HeroSpell.struct\\obj_slots[1]_wc3spell.j") call sOx(function wjx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Spell.page\\HeroSpell.struct\\obj_slots[3]_wc3spell.j") call sOx(function wJx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Spell.page\\HeroSpell.struct\\obj_slots[2]_wc3spell.j") return true endfunction function wKx takes nothing returns boolean set xGv=Idx(xhv) +return true endfunction function wlx takes nothing returns boolean set xHv=Idx(xjv) +return true endfunction function wLx takes nothing returns boolean set xJv=Idx(xkv) +return true endfunction function wmx takes nothing returns boolean set xKv=Idx(xlv) +return true endfunction function wMx takes nothing returns boolean set xLv=Idx(xmv) +return true endfunction function wpx takes nothing returns boolean set xMv=Idx(xpv) +return true endfunction function wPx takes nothing returns boolean set xPv=Idx(xqv) +return true endfunction function wqx takes nothing returns boolean set xQv=Idx(xsv) +return true endfunction function wQx takes nothing returns boolean set xSv=Idx(xtv) +return true endfunction function wsx takes nothing returns boolean set xTv=Idx(xuv) +return true endfunction function wSx takes nothing returns boolean return true endfunction function wtx takes nothing returns boolean set xUv=Idx(xwv) +return true endfunction function wTx takes integer VFx returns integer set x_v[VFx]=true set x0v[VFx]=false call V1x(xHv) return VFx endfunction function wux takes nothing returns integer local integer VFx if(xyv==8190)then call Vmx("SpellClass_Allocation_allocCustom","call DebugEx(SpellClass.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",xjv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(xYv[(w)]==w)then set xzv=xzv+1 set VFx=xzv else +set VFx=xYv[(w)] +set xYv[(w)]=xYv[xYv[(w)]] endif set xYv[VFx]=Z set xZv[VFx]=1 call wTx(VFx) return VFx endfunction function wUx takes boolean wwx,integer wWx,integer wyx returns integer local integer VFx=wux() if(wyx!=0)then set wyx=wyx-'F000' endif set x1v[(VFx)]=(wWx) +set x2v[(VFx)]=(wyx) +set x3v[(VFx)]=(wwx) +return VFx endfunction function wYx takes nothing returns nothing set xWv=wUx(true,0,'F000') set x4v=wUx(true,1,'G000') set x5v=wUx(false,0,0) set x6v=wUx(true,4,'K000') set x7v=wUx(true,2,'H000') set x8v=wUx(true,3,'J000') set x9v=wUx(false,0,0) set ovv=wUx(false,0,0) endfunction function wzx takes integer VFx,integer EGx returns integer return GetUnitAbilityLevel(C[(VFx)],EGx) +endfunction function wZx takes integer EAx returns integer return((oov[((EAx))])+(x1v[((orv[(EAx)]))])) +endfunction function w_x takes integer EAx,integer EKx returns integer return((x2v[((orv[(EAx)]))])+(oiv[((EAx))])+EKx) +endfunction function w0x takes integer EKx,integer EAx,integer b3x returns nothing local integer w1x=wzx(b3x,wZx(EAx))-1 local integer w2x=w_x(EAx,w1x) call G9x(b3x,wZx(EAx)) call ELx(b3x,w2x,0) call ELx(b3x,oav+(x1v[((orv[(EAx)]))]),EKx) if(EKx<(onv[(EAx)]))then +call ELx(b3x,wZx(EAx),EKx+1) +else +call G9x(b3x,wZx(EAx)) endif endfunction function w3x takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Mv[(Eix)]) local integer EAx=(nv[(Eix)]) local integer b3x=(Vv[(Eix)]) call w0x(EKx,EAx,b3x) return true endfunction function w4x takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Mv[(Eix)]) local integer EAx=(nv[(Eix)]) local integer b3x=(Vv[(Eix)]) call w0x(EKx,EAx,b3x) return true endfunction function w5x takes nothing returns boolean local integer Eix=(bv) local integer EAx=(nv[(Eix)]) local integer b3x=(Vv[(Eix)]) call w0x(0,EAx,b3x) return true endfunction function w6x takes integer VFx,integer w7x,boolean Xjx returns nothing local integer VBx if(VFx==Ge)then set VBx=YK loop +call w6x(zK[VBx],w7x,Xjx) set VBx=VBx-1 exitwhen(VBx<0) endloop else +call SetPlayerAbilityAvailable(vx[VFx],w7x,Xjx) endif endfunction function w8x takes nothing returns integer local unit Vdx=GetTriggerUnit() local integer Vtx if(GetUnitAbilityLevel(Vdx,'aLoc')>0)then set Vdx=null +return Z +endif set Vtx=OXx(Vdx) +set Vdx=null +return Vtx endfunction function w9x takes nothing returns boolean local integer Wvx=GetLearnedSkill() local integer EKx=GetLearnedSkillLevel() +local integer b3x=w8x() local integer EAx=(LoadInteger(o[((V[(E[((X))])]))],(((Wvx))),(((oRv))))) call EMx(b3x,EAx,EKx) return true endfunction function Wex takes integer VFx,integer Vxx,playerunitevent Wxx,code Wox returns nothing local integer VBx if(Vxx==Ge)then set VBx=YK loop +call Wex(VFx,zK[VBx],Wxx,Wox) set VBx=VBx-1 exitwhen(VBx<0) endloop endif call TriggerRegisterPlayerUnitEvent(UB[(VFx)],vx[Vxx],Wxx,Condition(Wox)) endfunction function Wrx takes nothing returns nothing local integer VBx=oev-1 set oxv=Nlx("HeroSpell_Init: set HeroSpell.LEARN_EVENT = Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.HEADER, function HeroSpell.Event_Learn)",pv,Sb,function w3x) set oVv=Nlx("HeroSpell_Init: set HeroSpell.LEVEL_CHANGE_EVENT = Event.Create(UNIT.Abilities.Events.Learn.CHANGE_LEVEL_EVENT_TYPE, EventPriority.HEADER, function HeroSpell.Event_LevelChange)",Pv,Sb,function w4x) set oEv=Nlx("HeroSpell_Init: set HeroSpell.SPELL_REMOVE_EVENT = Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.HEADER, function HeroSpell.Event_SpellRemove)",Av,Sb,function w5x) loop +exitwhen(VBx<0) call w6x(Ge,oav+VBx,false) set VBx=VBx-1 endloop set oXv=NSx(function w9x) call Wex(oXv,Ge,EVENT_PLAYER_HERO_SKILL,null) endfunction function Wix takes nothing returns boolean call wYx() call Wrx() return true endfunction function Wax takes nothing returns boolean call MXx(function Wix,"Spell_Init") return true endfunction function Wnx takes nothing returns boolean set oIv=Idx(oAv) +return true endfunction function WVx takes nothing returns boolean set Nl=Idx(El) return true endfunction function WEx takes nothing returns boolean set oNv=Idx(obv) +return true endfunction function WXx takes nothing returns boolean set oBv=Idx(ocv) +return true endfunction function WOx takes nothing returns boolean return true endfunction function WRx takes nothing returns boolean set oCv=Idx(odv) +return true endfunction function WIx takes nothing returns boolean set oDv=Idx(ofv) +return true endfunction function WAx takes nothing returns boolean set oFv=Idx(ogv) +return true endfunction function WNx takes integer VFx returns integer set oJv[VFx]=true set okv[VFx]=false call V1x(oFv) return VFx endfunction function Wbx takes nothing returns integer local integer VFx if(oGv==8190)then call Vmx("Spot_Allocation_allocCustom","call DebugEx(Spot.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",ogv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(ohv[(w)]==w)then set oHv=oHv+1 set VFx=oHv else +set VFx=ohv[(w)] +set ohv[(w)]=ohv[ohv[(w)]] endif set ohv[VFx]=Z set ojv[VFx]=1 call WNx(VFx) return VFx endfunction function WBx takes location Vdx returns integer local integer VFx=Wbx() set kc[VFx]=Vdx return VFx endfunction function Wcx takes nothing returns nothing if not IsItemVisible(GetFilterItem())then return endif set wM=wM+1 set WM[wM]=GetFilterItem() endfunction function WCx takes nothing returns nothing set UM=CreateItem('iSBC',0,0) set uM=Condition(function Wcx) set TM=Rect(0,0,64,64) call SetItemVisible(UM,false) endfunction function Wdx takes nothing returns boolean set Kc=(WBx(Location(((.0)*1.),((.0)*1.)))) call WCx() set oKv=E5x() return true endfunction function WDx takes nothing returns boolean call lnx(function Wdx,"Spot_Init") return true endfunction function Wfx takes nothing returns boolean set olv=Idx(oLv) +return true endfunction function WFx takes nothing returns boolean set omv=Idx(oMv) +return true endfunction function Wgx takes nothing returns boolean set opv=Idx(oPv) +return true endfunction function WGx takes nothing returns boolean set oqv=Idx(oQv) +return true endfunction function Whx takes nothing returns boolean set osv=Idx(oSv) +return true endfunction function WHx takes nothing returns boolean set otv=Idx(oTv) +return true endfunction function Wjx takes nothing returns boolean return true endfunction function WJx takes nothing returns boolean call ILx(function Wjx,"StringData_Init") +return true endfunction function Wkx takes code c,string EFx returns nothing +call IGx(QE,c,EFx) endfunction function WKx takes integer VFx returns integer set ozv[VFx]=true set oZv[VFx]=false call V1x(o_v) return VFx endfunction function Wlx takes nothing returns integer local integer VFx if(oUv==8190)then call Vmx("TileType_Allocation_allocCustom","call DebugEx(TileType.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",owv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(oWv[(w)]==w)then set oyv=oyv+1 set VFx=oyv else +set VFx=oWv[(w)] +set oWv[(w)]=oWv[oWv[(w)]] endif set oWv[VFx]=Z set oYv[VFx]=1 call WKx(VFx) return VFx endfunction function WLx takes integer Vdx returns integer local integer VFx=Wlx() set o0v[VFx]=Vdx +call SaveInteger(o[((V[(E[((X))])]))],(((Vdx))),(((o2v))),(((VFx)))) +return VFx endfunction function Wmx takes nothing returns boolean set ouv=WLx('Iice') return true endfunction function WMx takes nothing returns boolean set o3v=WLx('Ibsq') return true endfunction function Wpx takes nothing returns boolean set o4v=WLx('Idrt') return true endfunction function WPx takes nothing returns boolean set o5v=WLx('Ibkb') return true endfunction function Wqx takes nothing returns boolean set o6v=WLx('cIc1') return true endfunction function WQx takes nothing returns boolean set o7v=WLx('cIc2') return true endfunction function Wsx takes nothing returns boolean set o8v=WLx('Itbk') return true endfunction function WSx takes nothing returns boolean set o9v=WLx('Isnw') return true endfunction function Wtx takes nothing returns boolean set rvv=WLx('Idtr') return true endfunction function WTx takes nothing returns boolean set rev=WLx('Idki') return true endfunction function Wux takes nothing returns boolean set rxv=WLx('Ggrs') return true endfunction function WUx takes nothing returns boolean set rov=WLx('Irbk') return true endfunction function Wwx takes nothing returns boolean set rrv=WLx('Jgsb') return true endfunction function WWx takes nothing returns boolean call Wkx(function Wmx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_ice_wc3tile.j") call Wkx(function WMx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_blackSquares_wc3tile.j") call Wkx(function Wpx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_dirt_wc3tile.j") call Wkx(function WPx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_blackBricks_wc3tile.j") call Wkx(function Wqx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_snowCliff_wc3tile.j") +call Wkx(function WQx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_runedBricksCliff_wc3tile.j") call Wkx(function Wsx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_tiledBricks_wc3tile.j") call Wkx(function WSx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_snow_wc3tile.j") call Wkx(function Wtx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_dirtRough_wc3tile.j") +call Wkx(function WTx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_darkIce_wc3tile.j") call Wkx(function Wux,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_greyStones_wc3tile.j") call Wkx(function WUx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_runeBricks_wc3tile.j") call Wkx(function Wwx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\TileType.struct\\obj_grass_wc3tile.j") +return true endfunction function Wyx takes nothing returns boolean set o_v=Idx(owv) +return true endfunction function WYx takes nothing returns boolean return true endfunction function Wzx takes nothing returns boolean call LSx(function WYx,"TileType_Init") return true endfunction function WZx takes nothing returns boolean set riv=Idx(rav) +return true endfunction function W_x takes nothing returns boolean set rnv=Idx(rVv) +return true endfunction function W0x takes nothing returns boolean set rEv=Aix() return true endfunction function W1x takes nothing returns boolean call LSx(function W0x,"Tile_Init") return true endfunction function W2x takes nothing returns boolean set rXv=Idx(rOv) +return true endfunction function W3x takes nothing returns boolean set rRv=Idx(rIv) +return true endfunction function W4x takes nothing returns boolean return true endfunction function W5x takes nothing returns boolean call LSx(function W4x,"TileTypeMod_Init") return true endfunction function W6x takes code c,string EFx returns nothing +call IGx(PE,c,EFx) endfunction function W7x takes integer VFx returns integer set rdv[VFx]=true set rDv[VFx]=false call V1x(rfv) return VFx endfunction function W8x takes nothing returns integer local integer VFx if(rNv==8190)then call Vmx("UbersplatType_Allocation_allocCustom","call DebugEx(UbersplatType.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",rbv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(rBv[(w)]==w)then set rcv=rcv+1 set VFx=rcv else +set VFx=rBv[(w)] +set rBv[(w)]=rBv[rBv[(w)]] endif set rBv[VFx]=Z set rCv[VFx]=1 call W7x(VFx) return VFx endfunction function W9x takes string Vdx returns integer local integer VFx=W8x() set rFv[VFx]=Vdx +return VFx endfunction function yvx takes nothing returns boolean set rAv=W9x("pSnw") return true endfunction function yex takes nothing returns boolean call W6x(function yvx,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Terrain.page\\UbersplatType.struct\\obj_snow_wc3ubersplat.j") return true endfunction function yxx takes nothing returns boolean set rfv=Idx(rbv) +return true endfunction function yox takes nothing returns boolean set rgv=Idx(rGv) +return true endfunction function yrx takes nothing returns boolean set rhv=Idx(rHv) +return true endfunction function yix takes nothing returns boolean set rjv=Idx(rJv) +return true endfunction function yax takes nothing returns boolean set rkv=Idx(rKv) +return true endfunction function ynx takes nothing returns boolean set rlv=Idx(rLv) +return true endfunction function yVx takes nothing returns boolean set rmv=Idx(rMv) +return true endfunction function yEx takes nothing returns boolean set rpv=Idx(rPv) +return true endfunction function yXx takes nothing returns boolean set rqv=Idx(rQv) +return true endfunction function yOx takes nothing returns boolean set rsv=Idx(rSv) +return true endfunction function yRx takes nothing returns boolean set rtv=Idx(rTv) +return true endfunction function yIx takes nothing returns boolean set ruv=Idx(rUv) +return true endfunction function yAx takes nothing returns boolean set rwv=Idx(rWv) +return true endfunction function yNx takes nothing returns boolean set ryv=Idx(rYv) +return true endfunction function ybx takes nothing returns boolean set rzv=Idx(rZv) +return true endfunction function yBx takes nothing returns boolean set r_v=Idx(r0v) +return true endfunction function ycx takes nothing returns boolean set r1v=Idx(r2v) +return true endfunction function yCx takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((r6v[(VFx)]))])]))],((((r7v[((VFx))])))),(((Vgx)))))) endfunction function ydx takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((r6v[(VFx)]))])]))],((((r7v[((VFx))])))),(((Vgx)+(VAx))))) endfunction function yDx takes integer VFx returns nothing set ixv[VFx]=false call EEx(ruv) endfunction function yfx takes integer VFx returns nothing if(ivv[VFx]>0)then return endif if(iev[VFx]!=Z)then call Vmx("FolderUbersplat_FolderColor_StructTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderUbersplat_FolderColor_StructTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",rUv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set iev[VFx]=iev[(w)] set iev[(w)]=VFx +call yDx(VFx) endfunction function yFx takes integer VFx returns nothing set ivv[VFx]=ivv[VFx]-1 call yfx(VFx) endfunction function ygx takes integer VFx,integer Vgx,integer Vhx returns boolean return VYx(r6v[(VFx)],(r7v[((VFx))]),Vgx,Vhx) endfunction function yGx takes integer VFx,integer N8x returns nothing if not((LoadInteger(o[((D[((iov[VFx]))]))],((((r7v[((VFx))])))),(VGx((((HB[(N8x)]))),(((N8x)))))))!=0)then call Vmx("FolderUbersplat_StructEvent_Remove","call DebugEx(\"subject \"+I2S(Ubersplat(this).Id.Get()) + \" has not \" + whichEvent.GetName())","subject "+I2S((r7v[((VFx))]))+" has not "+(vc[(N8x)])) return endif call VYx(iov[VFx],(r7v[((VFx))]),(HB[(N8x)]),N8x) endfunction function yhx takes integer VFx returns boolean local integer VAx=(irv[(VFx)]) set irv[iiv[iav]]=VAx set iiv[VAx-1]=iiv[iav] set irv[VFx]=0 set iav=iav-1 return(iav==F) endfunction function yHx takes integer VFx,integer Xrx,integer ENx returns nothing call yFx((VFx)) call Xbx(Xrx) call ygx(ENx,r9v,VFx) call yGx(ENx,r4v) if yhx(VFx)then call XNx(inv) endif endfunction function yjx takes nothing returns boolean local integer Eix=(bv) local integer ENx=(r5v[(Eix)]) local integer VBx=yCx(ENx,r9v) local integer VFx if(VBx>0)then loop +set VFx=ydx(ENx,r9v,VBx) +call yHx(VFx,iVv[VFx],ENx) set VBx=VBx-1 exitwhen(VBx0)then return endif if(nwv[VFx]!=Z)then call Vmx("FolderUnit_FolderAnimation_StructLoop_Allocation_deallocCustom_confirm","call DebugEx(FolderUnit_FolderAnimation_StructLoop.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",nWv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set nwv[VFx]=nwv[(w)] set nwv[(w)]=VFx +call vNo(VFx) endfunction function vBo takes integer VFx returns nothing set nUv[VFx]=nUv[VFx]-1 call vbo(VFx) endfunction function vco takes integer VFx returns boolean local integer VAx=(nZv[(VFx)]) set nZv[n_v[n0v]]=VAx set n_v[VAx-1]=n_v[n0v] set nZv[VFx]=0 set n0v=n0v-1 return(n0v==F) endfunction function vCo takes integer VFx returns nothing set kf=VFx call TriggerEvaluate(n2v) endfunction function vdo takes integer VFx returns nothing call vCo(VFx) call SetUnitAnimation(C[((VFx))],("stand")) call QueueUnitAnimation(C[((VFx))],("stand")) endfunction function vDo takes integer VFx,integer ENx returns nothing call vBo((VFx)) call V0x(ENx,nuv) call cEx(ENx,nzv) if vco(VFx)then call XNx(n1v) endif call vdo(n3v[VFx]) endfunction function vfo takes integer VFx returns nothing local integer ENx=VFx set VFx=Vfx(ENx,nuv) +if(VFx!=w)then call vDo(VFx,ENx) endif endfunction function vFo takes integer VFx returns integer set nyv[VFx]=true set n6v[VFx]=false call V1x(nYv) return VFx endfunction function vgo takes nothing returns integer local integer VFx if(n4v==8190)then call Vmx("FolderUnit_FolderAnimation_StructLoop_Allocation_allocCustom","call DebugEx(FolderUnit_FolderAnimation_StructLoop.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",nWv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(nwv[(w)]==w)then set n5v=n5v+1 set VFx=n5v else +set VFx=nwv[(w)] +set nwv[(w)]=nwv[nwv[(w)]] endif set nwv[VFx]=Z set nUv[VFx]=1 call vFo(VFx) return VFx endfunction function vGo takes integer VFx returns boolean set n0v=n0v+1 set n_v[n0v]=VFx +set nZv[VFx]=n0v+1 return(n0v==0) endfunction function vho takes integer VFx,string vHo returns nothing call QueueUnitAnimation(C[(VFx)],vHo) endfunction function vjo takes nothing returns nothing local integer VBx=n0v local integer VFx loop +set VFx=n_v[VBx] +call vho(n3v[VFx],n7v[VFx]) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function vJo takes integer VFx,string vHo returns nothing call SetUnitAnimation(C[(VFx)],vHo) endfunction function vko takes integer VFx,string vHo returns nothing local integer ENx=VFx call vfo((ENx)) set VFx=vgo() set n3v[VFx]=ENx +set n7v[VFx]=vHo +call Ejx(ENx,nuv,VFx) call CMx(ENx,nzv) if vGo(VFx)then call Xax(n1v,n8v,true,function vjo) endif call vJo(ENx,vHo) endfunction function vKo takes integer VFx returns nothing call jGx(((VFx)),(Vvv),(1),w) endfunction function vlo takes integer VFx returns nothing call jGx(((VFx)),(RP),(1),w) +endfunction function vLo takes integer VFx returns nothing set gl[VFx]=(gl[(VFx)])+1 endfunction function vmo takes integer VFx returns boolean if((Vev[((VFx))])>0)then +return false +endif set Vxv=Vxv+1 set Vov[Vxv]=VFx +set Vev[VFx]=Vxv+1 return(Vxv==0) endfunction function vMo takes nothing returns nothing local integer VBx=Vxv loop +exitwhen(VBx<0) set Viv[VBx]=Vov[VBx] set VBx=VBx-1 endloop set Vav=Vxv endfunction function vpo takes nothing returns integer local integer Vtx if(Vav<0)then return w +endif set Vtx=Viv[0] set Viv[0]=Viv[Vav] set Vav=Vav-1 return Vtx endfunction function vPo takes integer VFx,real dX,real dY returns real if(JGx(dX,dY)<1.)then return(GetUnitFacing(C[((VFx))])*sK) +endif return(Atan2(((dY)*1.),((dX)*1.))) endfunction function vqo takes integer VFx returns real local integer hZx=(rl[(VFx)]) local integer h_x if(hZx!=w)then return(GetItemX(ah[((hZx))])) endif set h_x=(il[(VFx)]) if(h_x!=w)then return dxx(h_x) endif return(al[(VFx)]) endfunction function vQo takes integer VFx returns real local integer hZx=(rl[(VFx)]) local integer h_x if(hZx!=w)then return(GetItemY(ah[((hZx))])) endif set h_x=(il[(VFx)]) if(h_x!=w)then return dox(h_x) endif return(nl[(VFx)]) endfunction function vso takes integer VFx returns real return(GetUnitFacing(C[(VFx)])*sK) endfunction function vSo takes integer VFx,real Vhx returns nothing call SetUnitFacing(C[(VFx)],Vhx*JG) endfunction function vto takes integer VFx returns nothing local integer hdx=VFx local integer hgx=nmv[VFx] local real OMx if((Vnv[((fl[(hgx)]))])!=0)then set OMx=vPo(hdx,vqo(hgx)-dxx(hdx),vQo(hgx)-dox(hdx)) +if(vso(hdx)!=OMx)then call vSo(hdx,OMx) endif endif endfunction function vTo takes nothing returns nothing local integer VFx call vMo() loop +set VFx=vpo() exitwhen(VFx==w) +call vto(VFx) endloop endfunction function vuo takes integer VFx,real Xdx returns nothing call Xax(VVv[VFx],Xdx,false,null) endfunction function vUo takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local real Xdx=kl local integer hgx=Kl +local integer csx=(il[(hgx)]) local integer VFx=hdx local integer Xrx=E5x() set nlv[VFx]=Xrx +set nLv[VFx]=true set nmv[VFx]=hgx +call CMx(hdx,nMv) call CMx(hdx,npv) call CMx(hdx,nPv) call CMx(hdx,nqv) call CMx(hdx,nQv) call CMx(hdx,nsv) if(csx!=w)then if EHx(csx,nSv,hdx)then call CMx(csx,ntv) call CMx(csx,nTv) endif endif call Xax(Xrx,Xdx+.01,false,null) +call vko((VFx),(n9v[((fl[(hgx)]))])) +call vKo((VFx)) call vlo((VFx)) call vLo(hgx) if vmo(VFx)then call Xax(Vrv,.25,true,function vTo) endif call vto(VFx) call vuo(hdx,Xdx) return true endfunction function vwo takes integer VFx returns boolean if not((Vev[((VFx))])>0)then +return false +endif set Vev[Vov[Vxv]]=Vev[VFx] set Vov[Vev[VFx]-1]=Vov[Vxv] +set Vev[VFx]=0 set Vxv=Vxv-1 return(Vxv==F) endfunction function vWo takes integer VFx returns nothing call JYx((VFx),Vvv) endfunction function vyo takes integer VFx returns nothing call XNx(VFx) set ce[(VFx)]=((.0)*1.) endfunction function vYo takes integer VFx returns nothing call MoveLightningEx(VEv[VFx],false,.0,.0,.0,.0,.0,.0) call MoveLightningEx(VXv[VFx],false,.0,.0,.0,.0,.0,.0) call vyo(VVv[VFx]) endfunction function vzo takes integer hgx,boolean vZo returns nothing local integer hdx=(Bl[(hgx)]) local integer EKx=(Dl[(hgx)]) local integer hZx=(rl[(hgx)]) local integer h_x=(il[(hgx)]) local real h0x=(al[(hgx)]) local real h1x=(nl[(hgx)]) local integer EAx=(fl[(hgx)]) local integer h2x=V4x((A[(hdx)])) local integer Ebx local integer VBx local integer V8x local integer EBx set VOv[(h2x)]=(vZo) +set Mv[(h2x)]=(EKx) set nv[(h2x)]=(EAx) set oL[(h2x)]=(hgx) set Vv[(h2x)]=(hdx) set Ebx=V4x((Ev[(EAx)])) +set VOv[(Ebx)]=(vZo) +set Mv[(Ebx)]=(EKx) set nv[(Ebx)]=(EAx) set oL[(Ebx)]=(hgx) set Vv[(Ebx)]=(hdx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=Enx(EAx,VRv,V8x) +loop +exitwhen(EBx.0)then call GBx(ENx) endif return true endfunction function Ixo takes nothing returns boolean call Ufx(Dk,Nlx("FolderUnit_FolderLifeRegeneration_StructDisablement_Buff_Init: call FolderUnit_FolderLifeRegeneration_StructDisablement.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_FolderLifeRegeneration_StructDisablement.Event_BuffGain))",dg,VB,function Ivo)) call Ufx(Dk,Nlx("FolderUnit_FolderLifeRegeneration_StructDisablement_Buff_Init: call FolderUnit_FolderLifeRegeneration_StructDisablement.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_FolderLifeRegeneration_StructDisablement.Event_BuffLose))",Hf,VB,function Ieo)) return true endfunction function Ioo takes nothing returns boolean call vAo(function Ixo,"FolderUnit_FolderLifeRegeneration_StructDisablement_Buff_Init") return true endfunction function Iro takes nothing returns boolean set Ibv=Idx(IBv) +return true endfunction function Iio takes nothing returns boolean set Icv=Idx(ICv) +return true endfunction function Iao takes nothing returns boolean set Idv=Idx(IDv) +return true endfunction function Ino takes nothing returns boolean set Ifv=Idx(IFv) +return true endfunction function IVo takes nothing returns boolean set Igv=Idx(IGv) +return true endfunction function IEo takes nothing returns boolean set BJ[1]='SM00' +set BJ[2]='SM01' +set BJ[3]='SM02' +set BJ[4]='SM03' +set BJ[5]='SM04' +set BJ[6]='SM05' +set BJ[7]='SM06' +set BJ[8]='SM07' +set BJ[9]='SM08' +set BJ[$A]='SM09' set BJ[$B]='SM0A' set BJ[$C]='SM0B' set BJ[$D]='SM0C' set BJ[$E]='SM0D' set BJ[$F]='SM0E' set BJ[16]='SM0F' set BJ[17]='SM0G' set BJ[18]='SM0H' set BJ[19]='SM0I' set BJ[20]='SM0J' set BJ[21]='SM0K' set BJ[22]='SM0L' set BJ[23]='SM0M' set BJ[24]='SM0N' set BJ[25]='SM0O' set BJ[26]='SM0P' set BJ[27]='SM0Q' set BJ[28]='SM0R' set BJ[29]='SM0S' set BJ[30]='SM0T' set BJ[31]='SM0U' set BJ[32]='SM0V' set BJ[33]='SM0W' set BJ[34]='SM0X' set BJ[35]='SM0Y' set BJ[36]='SM0Z' set BJ[37]='SM10' set BJ[38]='SM11' set BJ[39]='SM12' set BJ[40]='SM13' set BJ[41]='SM14' set BJ[42]='SM15' set BJ[43]='SM16' set BJ[44]='SM17' set BJ[45]='SM18' set BJ[46]='SM19' set BJ[47]='SM1A' set BJ[48]='SM1B' set BJ[49]='SM1C' set BJ[50]='SM1D' set BJ[51]='SM1E' set BJ[52]='SM1F' set BJ[53]='SM1G' set BJ[54]='SM1H' set BJ[55]='SM1I' set BJ[56]='SM1J' set BJ[57]='SM1K' set BJ[58]='SM1L' set BJ[59]='SM1M' set BJ[60]='SM1N' set BJ[61]='SM1O' set BJ[62]='SM1P' set BJ[63]='SM1Q' set BJ[64]='SM1R' set BJ[65]='SM1S' set BJ[66]='SM1T' set BJ[67]='SM1U' set BJ[68]='SM1V' set BJ[69]='SM1W' set BJ[70]='SM1X' set BJ[71]='SM1Y' set BJ[72]='SM1Z' set BJ[73]='SM20' set BJ[74]='SM21' set BJ[75]='SM22' set BJ[76]='SM23' set BJ[77]='SM24' set BJ[78]='SM25' set BJ[79]='SM26' set BJ[80]='SM27' set BJ[81]='SM28' set BJ[82]='SM29' set BJ[83]='SM2A' set BJ[84]='SM2B' set BJ[85]='SM2C' set BJ[86]='SM2D' set BJ[87]='SM2E' set BJ[88]='SM2F' set BJ[89]='SM2G' set BJ[90]='SM2H' set BJ[91]='SM2I' set BJ[92]='SM2J' set BJ[93]='SM2K' set BJ[94]='SM2L' set BJ[95]='SM2M' set BJ[96]='SM2N' set BJ[97]='SM2O' set BJ[98]='SM2P' set BJ[99]='SM2Q' set BJ['d']='SM2R' set BJ['e']='SM2S' set BJ['f']='SM2T' set BJ['g']='SM2U' set BJ['h']='SM2V' set BJ['i']='SM2W' set BJ['j']='SM2X' set BJ['k']='SM2Y' set BJ['l']='SM2Z' set BJ['m']='SM30' set BJ['n']='SM31' set BJ['o']='SM32' set BJ['p']='SM33' set BJ['q']='SM34' set BJ['r']='SM35' set BJ['s']='SM36' set BJ['t']='SM37' set BJ['u']='SM38' set BJ['v']='SM39' set BJ['w']='SM3A' set BJ['x']='SM3B' set BJ['y']='SM3C' set BJ['z']='SM3D' set BJ['{']='SM3E' set BJ['|']='SM3F' set BJ['}']='SM3G' set BJ[$7E]='SM3H' set BJ[$7F]='SM3I' set BJ[$80]='SM3J' set BJ[$81]='SM3K' set BJ[$82]='SM3L' set BJ[$83]='SM3M' set BJ[$84]='SM3N' set BJ[$85]='SM3O' set BJ[$86]='SM3P' set BJ[$87]='SM3Q' set BJ[$88]='SM3R' set BJ[$89]='SM3S' set BJ[$8A]='SM3T' set BJ[$8B]='SM3U' set BJ[$8C]='SM3V' set BJ[$8D]='SM3W' set BJ[$8E]='SM3X' set BJ[$8F]='SM3Y' set BJ[$90]='SM3Z' set BJ[$91]='SM40' set BJ[$92]='SM41' set BJ[$93]='SM42' set BJ[$94]='SM43' set BJ[$95]='SM44' set BJ[$96]='SM45' set BJ[$97]='SM46' set BJ[$98]='SM47' set BJ[$99]='SM48' set BJ[$9A]='SM49' set BJ[$9B]='SM4A' set BJ[$9C]='SM4B' set BJ[$9D]='SM4C' set BJ[$9E]='SM4D' set BJ[$9F]='SM4E' set BJ[$A0]='SM4F' set BJ[$A1]='SM4G' set BJ[$A2]='SM4H' set BJ[$A3]='SM4I' set BJ[$A4]='SM4J' set BJ[$A5]='SM4K' set BJ[$A6]='SM4L' set BJ[$A7]='SM4M' set BJ[$A8]='SM4N' set BJ[$A9]='SM4O' set BJ[$AA]='SM4P' set BJ[$AB]='SM4Q' set BJ[$AC]='SM4R' set BJ[$AD]='SM4S' set BJ[$AE]='SM4T' set BJ[$AF]='SM4U' set BJ[$B0]='SM4V' set BJ[$B1]='SM4W' set BJ[$B2]='SM4X' set BJ[$B3]='SM4Y' set BJ[$B4]='SM4Z' set BJ[$B5]='SM50' set BJ[$B6]='SM51' set BJ[$B7]='SM52' set BJ[$B8]='SM53' set BJ[$B9]='SM54' set BJ[$BA]='SM55' set BJ[$BB]='SM56' set BJ[$BC]='SM57' set BJ[$BD]='SM58' set BJ[$BE]='SM59' set BJ[$BF]='SM5A' set BJ[$C0]='SM5B' set BJ[$C1]='SM5C' set BJ[$C2]='SM5D' set BJ[$C3]='SM5E' set BJ[$C4]='SM5F' set BJ[$C5]='SM5G' set BJ[$C6]='SM5H' set BJ[$C7]='SM5I' set BJ[$C8]='SM5J' set BJ[$C9]='SM5K' set BJ[$CA]='SM5L' set BJ[$CB]='SM5M' set BJ[$CC]='SM5N' set BJ[$CD]='SM5O' set BJ[$CE]='SM5P' set BJ[$CF]='SM5Q' set BJ[$D0]='SM5R' set BJ[$D1]='SM5S' set BJ[$D2]='SM5T' set BJ[$D3]='SM5U' set BJ[$D4]='SM5V' set BJ[$D5]='SM5W' set BJ[$D6]='SM5X' set BJ[$D7]='SM5Y' set BJ[$D8]='SM5Z' set BJ[$D9]='SM60' set BJ[$DA]='SM61' set BJ[$DB]='SM62' set BJ[$DC]='SM63' set BJ[$DD]='SM64' set BJ[$DE]='SM65' set BJ[$DF]='SM66' set BJ[$E0]='SM67' set BJ[$E1]='SM68' set BJ[$E2]='SM69' set BJ[$E3]='SM6A' set BJ[$E4]='SM6B' set BJ[$E5]='SM6C' set BJ[$E6]='SM6D' set BJ[$E7]='SM6E' set BJ[$E8]='SM6F' set BJ[$E9]='SM6G' set BJ[$EA]='SM6H' set BJ[$EB]='SM6I' set BJ[$EC]='SM6J' set BJ[$ED]='SM6K' set BJ[$EE]='SM6L' set BJ[$EF]='SM6M' set BJ[$F0]='SM6N' set BJ[$F1]='SM6O' set BJ[$F2]='SM6P' set BJ[$F3]='SM6Q' set BJ[$F4]='SM6R' set BJ[$F5]='SM6S' set BJ[$F6]='SM6T' set BJ[$F7]='SM6U' set BJ[$F8]='SM6V' set BJ[$F9]='SM6W' set BJ[$FA]='SM6X' set BJ[$FB]='SM6Y' set BJ[$FC]='SM6Z' set BJ[$FD]='SM70' set BJ[$FE]='SM71' set BJ[$FF]='SM72' set BJ[256]='SM73' set AJ[1]='TM00' +set AJ[2]='TM01' +set AJ[3]='TM02' +set AJ[4]='TM03' +set AJ[5]='TM04' +set AJ[6]='TM05' +set AJ[7]='TM06' +set AJ[8]='TM07' +set AJ[9]='TM08' +set AJ[$A]='TM09' set AJ[$B]='TM0A' set AJ[$C]='TM0B' set AJ[$D]='TM0C' set AJ[$E]='TM0D' set AJ[$F]='TM0E' set AJ[16]='TM0F' set AJ[17]='TM0G' set AJ[18]='TM0H' set AJ[19]='TM0I' set AJ[20]='TM0J' set AJ[21]='TM0K' set AJ[22]='TM0L' set AJ[23]='TM0M' set AJ[24]='TM0N' set AJ[25]='TM0O' set AJ[26]='TM0P' set AJ[27]='TM0Q' set AJ[28]='TM0R' set AJ[29]='TM0S' set AJ[30]='TM0T' set AJ[31]='TM0U' set AJ[32]='TM0V' set AJ[33]='TM0W' set AJ[34]='TM0X' set AJ[35]='TM0Y' set AJ[36]='TM0Z' set AJ[37]='TM10' set AJ[38]='TM11' set AJ[39]='TM12' set AJ[40]='TM13' set AJ[41]='TM14' set AJ[42]='TM15' set AJ[43]='TM16' set AJ[44]='TM17' set AJ[45]='TM18' set AJ[46]='TM19' set AJ[47]='TM1A' set AJ[48]='TM1B' set AJ[49]='TM1C' set AJ[50]='TM1D' set AJ[51]='TM1E' set AJ[52]='TM1F' set AJ[53]='TM1G' set AJ[54]='TM1H' set AJ[55]='TM1I' set AJ[56]='TM1J' set AJ[57]='TM1K' set AJ[58]='TM1L' set AJ[59]='TM1M' set AJ[60]='TM1N' set AJ[61]='TM1O' set AJ[62]='TM1P' set AJ[63]='TM1Q' set AJ[64]='TM1R' set AJ[65]='TM1S' set AJ[66]='TM1T' set AJ[67]='TM1U' set AJ[68]='TM1V' set AJ[69]='TM1W' set AJ[70]='TM1X' set AJ[71]='TM1Y' set AJ[72]='TM1Z' set AJ[73]='TM20' set AJ[74]='TM21' set AJ[75]='TM22' set AJ[76]='TM23' set AJ[77]='TM24' set AJ[78]='TM25' set AJ[79]='TM26' set AJ[80]='TM27' set AJ[81]='TM28' set AJ[82]='TM29' set AJ[83]='TM2A' set AJ[84]='TM2B' set AJ[85]='TM2C' set AJ[86]='TM2D' set AJ[87]='TM2E' set AJ[88]='TM2F' set AJ[89]='TM2G' set AJ[90]='TM2H' set AJ[91]='TM2I' set AJ[92]='TM2J' set AJ[93]='TM2K' set AJ[94]='TM2L' set AJ[95]='TM2M' set AJ[96]='TM2N' set AJ[97]='TM2O' set AJ[98]='TM2P' set AJ[99]='TM2Q' set AJ['d']='TM2R' set AJ['e']='TM2S' set AJ['f']='TM2T' set AJ['g']='TM2U' set AJ['h']='TM2V' set AJ['i']='TM2W' set AJ['j']='TM2X' set AJ['k']='TM2Y' set AJ['l']='TM2Z' set AJ['m']='TM30' set AJ['n']='TM31' set AJ['o']='TM32' set AJ['p']='TM33' set AJ['q']='TM34' set AJ['r']='TM35' set AJ['s']='TM36' set AJ['t']='TM37' set AJ['u']='TM38' set AJ['v']='TM39' set AJ['w']='TM3A' set AJ['x']='TM3B' set AJ['y']='TM3C' set AJ['z']='TM3D' set AJ['{']='TM3E' set AJ['|']='TM3F' set AJ['}']='TM3G' set AJ[$7E]='TM3H' set AJ[$7F]='TM3I' set AJ[$80]='TM3J' set AJ[$81]='TM3K' set AJ[$82]='TM3L' set AJ[$83]='TM3M' set AJ[$84]='TM3N' set AJ[$85]='TM3O' set AJ[$86]='TM3P' set AJ[$87]='TM3Q' set AJ[$88]='TM3R' set AJ[$89]='TM3S' set AJ[$8A]='TM3T' set AJ[$8B]='TM3U' set AJ[$8C]='TM3V' set AJ[$8D]='TM3W' set AJ[$8E]='TM3X' set AJ[$8F]='TM3Y' set AJ[$90]='TM3Z' set AJ[$91]='TM40' set AJ[$92]='TM41' set AJ[$93]='TM42' set AJ[$94]='TM43' set AJ[$95]='TM44' set AJ[$96]='TM45' set AJ[$97]='TM46' set AJ[$98]='TM47' set AJ[$99]='TM48' set AJ[$9A]='TM49' set AJ[$9B]='TM4A' set AJ[$9C]='TM4B' set AJ[$9D]='TM4C' set AJ[$9E]='TM4D' set AJ[$9F]='TM4E' set AJ[$A0]='TM4F' set AJ[$A1]='TM4G' set AJ[$A2]='TM4H' set AJ[$A3]='TM4I' set AJ[$A4]='TM4J' set AJ[$A5]='TM4K' set AJ[$A6]='TM4L' set AJ[$A7]='TM4M' set AJ[$A8]='TM4N' set AJ[$A9]='TM4O' set AJ[$AA]='TM4P' set AJ[$AB]='TM4Q' set AJ[$AC]='TM4R' set AJ[$AD]='TM4S' set AJ[$AE]='TM4T' set AJ[$AF]='TM4U' set AJ[$B0]='TM4V' set AJ[$B1]='TM4W' set AJ[$B2]='TM4X' set AJ[$B3]='TM4Y' set AJ[$B4]='TM4Z' set AJ[$B5]='TM50' set AJ[$B6]='TM51' set AJ[$B7]='TM52' set AJ[$B8]='TM53' set AJ[$B9]='TM54' set AJ[$BA]='TM55' set AJ[$BB]='TM56' set AJ[$BC]='TM57' set AJ[$BD]='TM58' set AJ[$BE]='TM59' set AJ[$BF]='TM5A' set AJ[$C0]='TM5B' set AJ[$C1]='TM5C' set AJ[$C2]='TM5D' set AJ[$C3]='TM5E' set AJ[$C4]='TM5F' set AJ[$C5]='TM5G' set AJ[$C6]='TM5H' set AJ[$C7]='TM5I' set AJ[$C8]='TM5J' set AJ[$C9]='TM5K' set AJ[$CA]='TM5L' set AJ[$CB]='TM5M' set AJ[$CC]='TM5N' set AJ[$CD]='TM5O' set AJ[$CE]='TM5P' set AJ[$CF]='TM5Q' set AJ[$D0]='TM5R' set AJ[$D1]='TM5S' set AJ[$D2]='TM5T' set AJ[$D3]='TM5U' set AJ[$D4]='TM5V' set AJ[$D5]='TM5W' set AJ[$D6]='TM5X' set AJ[$D7]='TM5Y' set AJ[$D8]='TM5Z' set AJ[$D9]='TM60' set AJ[$DA]='TM61' set AJ[$DB]='TM62' set AJ[$DC]='TM63' set AJ[$DD]='TM64' set AJ[$DE]='TM65' set AJ[$DF]='TM66' set AJ[$E0]='TM67' set AJ[$E1]='TM68' set AJ[$E2]='TM69' set AJ[$E3]='TM6A' set AJ[$E4]='TM6B' set AJ[$E5]='TM6C' set AJ[$E6]='TM6D' set AJ[$E7]='TM6E' set AJ[$E8]='TM6F' set AJ[$E9]='TM6G' set AJ[$EA]='TM6H' set AJ[$EB]='TM6I' set AJ[$EC]='TM6J' set AJ[$ED]='TM6K' set AJ[$EE]='TM6L' set AJ[$EF]='TM6M' set AJ[$F0]='TM6N' set AJ[$F1]='TM6O' set AJ[$F2]='TM6P' set AJ[$F3]='TM6Q' set AJ[$F4]='TM6R' set AJ[$F5]='TM6S' set AJ[$F6]='TM6T' set AJ[$F7]='TM6U' set AJ[$F8]='TM6V' set AJ[$F9]='TM6W' set AJ[$FA]='TM6X' set AJ[$FB]='TM6Y' set AJ[$FC]='TM6Z' set AJ[$FD]='TM70' set AJ[$FE]='TM71' set AJ[$FF]='TM72' set AJ[256]='TM73' return true endfunction function IXo takes nothing returns boolean set Ihv[1]='SM00' call scx('SM00',false) set Ihv[2]='SM01' call scx('SM01',false) set Ihv[3]='SM02' call scx('SM02',false) set Ihv[4]='SM03' call scx('SM03',false) set Ihv[5]='SM04' call scx('SM04',false) set Ihv[6]='SM05' call scx('SM05',false) set Ihv[7]='SM06' call scx('SM06',false) set Ihv[8]='SM07' call scx('SM07',false) set Ihv[9]='SM08' call scx('SM08',false) set Ihv[$A]='SM09' call scx('SM09',false) set Ihv[$B]='SM0A' call scx('SM0A',false) set Ihv[$C]='SM0B' call scx('SM0B',false) set Ihv[$D]='SM0C' call scx('SM0C',false) set Ihv[$E]='SM0D' call scx('SM0D',false) set Ihv[$F]='SM0E' call scx('SM0E',false) set Ihv[16]='SM0F' call scx('SM0F',false) set Ihv[17]='SM0G' call scx('SM0G',false) set Ihv[18]='SM0H' call scx('SM0H',false) set Ihv[19]='SM0I' call scx('SM0I',false) set Ihv[20]='SM0J' call scx('SM0J',false) set Ihv[21]='SM0K' call scx('SM0K',false) set Ihv[22]='SM0L' call scx('SM0L',false) set Ihv[23]='SM0M' call scx('SM0M',false) set Ihv[24]='SM0N' call scx('SM0N',false) set Ihv[25]='SM0O' call scx('SM0O',false) set Ihv[26]='SM0P' call scx('SM0P',false) set Ihv[27]='SM0Q' call scx('SM0Q',false) set Ihv[28]='SM0R' call scx('SM0R',false) set Ihv[29]='SM0S' call scx('SM0S',false) set Ihv[30]='SM0T' call scx('SM0T',false) set Ihv[31]='SM0U' call scx('SM0U',false) set Ihv[32]='SM0V' call scx('SM0V',false) set Ihv[33]='SM0W' call scx('SM0W',false) set Ihv[34]='SM0X' call scx('SM0X',false) set Ihv[35]='SM0Y' call scx('SM0Y',false) set Ihv[36]='SM0Z' call scx('SM0Z',false) set Ihv[37]='SM10' call scx('SM10',false) set Ihv[38]='SM11' call scx('SM11',false) set Ihv[39]='SM12' call scx('SM12',false) set Ihv[40]='SM13' call scx('SM13',false) set Ihv[41]='SM14' call scx('SM14',false) set Ihv[42]='SM15' call scx('SM15',false) set Ihv[43]='SM16' call scx('SM16',false) set Ihv[44]='SM17' call scx('SM17',false) set Ihv[45]='SM18' call scx('SM18',false) set Ihv[46]='SM19' call scx('SM19',false) set Ihv[47]='SM1A' call scx('SM1A',false) set Ihv[48]='SM1B' call scx('SM1B',false) set Ihv[49]='SM1C' call scx('SM1C',false) set Ihv[50]='SM1D' call scx('SM1D',false) set Ihv[51]='SM1E' call scx('SM1E',false) set Ihv[52]='SM1F' call scx('SM1F',false) set Ihv[53]='SM1G' call scx('SM1G',false) set Ihv[54]='SM1H' call scx('SM1H',false) set Ihv[55]='SM1I' call scx('SM1I',false) set Ihv[56]='SM1J' call scx('SM1J',false) set Ihv[57]='SM1K' call scx('SM1K',false) set Ihv[58]='SM1L' call scx('SM1L',false) set Ihv[59]='SM1M' call scx('SM1M',false) set Ihv[60]='SM1N' call scx('SM1N',false) set Ihv[61]='SM1O' call scx('SM1O',false) set Ihv[62]='SM1P' call scx('SM1P',false) set Ihv[63]='SM1Q' call scx('SM1Q',false) set Ihv[64]='SM1R' call scx('SM1R',false) set Ihv[65]='SM1S' call scx('SM1S',false) set Ihv[66]='SM1T' call scx('SM1T',false) set Ihv[67]='SM1U' call scx('SM1U',false) set Ihv[68]='SM1V' call scx('SM1V',false) set Ihv[69]='SM1W' call scx('SM1W',false) set Ihv[70]='SM1X' call scx('SM1X',false) set Ihv[71]='SM1Y' call scx('SM1Y',false) set Ihv[72]='SM1Z' call scx('SM1Z',false) set Ihv[73]='SM20' call scx('SM20',false) set Ihv[74]='SM21' call scx('SM21',false) set Ihv[75]='SM22' call scx('SM22',false) set Ihv[76]='SM23' call scx('SM23',false) set Ihv[77]='SM24' call scx('SM24',false) set Ihv[78]='SM25' call scx('SM25',false) set Ihv[79]='SM26' call scx('SM26',false) set Ihv[80]='SM27' call scx('SM27',false) set Ihv[81]='SM28' call scx('SM28',false) set Ihv[82]='SM29' call scx('SM29',false) set Ihv[83]='SM2A' call scx('SM2A',false) set Ihv[84]='SM2B' call scx('SM2B',false) set Ihv[85]='SM2C' call scx('SM2C',false) set Ihv[86]='SM2D' call scx('SM2D',false) set Ihv[87]='SM2E' call scx('SM2E',false) set Ihv[88]='SM2F' call scx('SM2F',false) set Ihv[89]='SM2G' call scx('SM2G',false) set Ihv[90]='SM2H' call scx('SM2H',false) set Ihv[91]='SM2I' call scx('SM2I',false) set Ihv[92]='SM2J' call scx('SM2J',false) set Ihv[93]='SM2K' call scx('SM2K',false) set Ihv[94]='SM2L' call scx('SM2L',false) set Ihv[95]='SM2M' call scx('SM2M',false) set Ihv[96]='SM2N' call scx('SM2N',false) set Ihv[97]='SM2O' call scx('SM2O',false) set Ihv[98]='SM2P' call scx('SM2P',false) set Ihv[99]='SM2Q' call scx('SM2Q',false) set Ihv['d']='SM2R' call scx('SM2R',false) set Ihv['e']='SM2S' call scx('SM2S',false) set Ihv['f']='SM2T' call scx('SM2T',false) set Ihv['g']='SM2U' call scx('SM2U',false) set Ihv['h']='SM2V' call scx('SM2V',false) set Ihv['i']='SM2W' call scx('SM2W',false) set Ihv['j']='SM2X' call scx('SM2X',false) set Ihv['k']='SM2Y' call scx('SM2Y',false) set Ihv['l']='SM2Z' call scx('SM2Z',false) set Ihv['m']='SM30' call scx('SM30',false) set Ihv['n']='SM31' call scx('SM31',false) set Ihv['o']='SM32' call scx('SM32',false) set Ihv['p']='SM33' call scx('SM33',false) set Ihv['q']='SM34' call scx('SM34',false) set Ihv['r']='SM35' call scx('SM35',false) set Ihv['s']='SM36' call scx('SM36',false) set Ihv['t']='SM37' call scx('SM37',false) set Ihv['u']='SM38' call scx('SM38',false) set Ihv['v']='SM39' call scx('SM39',false) set Ihv['w']='SM3A' call scx('SM3A',false) set Ihv['x']='SM3B' call scx('SM3B',false) set Ihv['y']='SM3C' call scx('SM3C',false) set Ihv['z']='SM3D' call scx('SM3D',false) set Ihv['{']='SM3E' call scx('SM3E',false) set Ihv['|']='SM3F' call scx('SM3F',false) set Ihv['}']='SM3G' call scx('SM3G',false) set Ihv[$7E]='SM3H' call scx('SM3H',false) set Ihv[$7F]='SM3I' call scx('SM3I',false) set Ihv[$80]='SM3J' call scx('SM3J',false) set Ihv[$81]='SM3K' call scx('SM3K',false) set Ihv[$82]='SM3L' call scx('SM3L',false) set Ihv[$83]='SM3M' call scx('SM3M',false) set Ihv[$84]='SM3N' call scx('SM3N',false) set Ihv[$85]='SM3O' call scx('SM3O',false) set Ihv[$86]='SM3P' call scx('SM3P',false) set Ihv[$87]='SM3Q' call scx('SM3Q',false) set Ihv[$88]='SM3R' call scx('SM3R',false) set Ihv[$89]='SM3S' call scx('SM3S',false) set Ihv[$8A]='SM3T' call scx('SM3T',false) set Ihv[$8B]='SM3U' call scx('SM3U',false) set Ihv[$8C]='SM3V' call scx('SM3V',false) set Ihv[$8D]='SM3W' call scx('SM3W',false) set Ihv[$8E]='SM3X' call scx('SM3X',false) set Ihv[$8F]='SM3Y' call scx('SM3Y',false) set Ihv[$90]='SM3Z' call scx('SM3Z',false) set Ihv[$91]='SM40' call scx('SM40',false) set Ihv[$92]='SM41' call scx('SM41',false) set Ihv[$93]='SM42' call scx('SM42',false) set Ihv[$94]='SM43' call scx('SM43',false) set Ihv[$95]='SM44' call scx('SM44',false) set Ihv[$96]='SM45' call scx('SM45',false) set Ihv[$97]='SM46' call scx('SM46',false) set Ihv[$98]='SM47' call scx('SM47',false) set Ihv[$99]='SM48' call scx('SM48',false) set Ihv[$9A]='SM49' call scx('SM49',false) set Ihv[$9B]='SM4A' call scx('SM4A',false) set Ihv[$9C]='SM4B' call scx('SM4B',false) set Ihv[$9D]='SM4C' call scx('SM4C',false) set Ihv[$9E]='SM4D' call scx('SM4D',false) set Ihv[$9F]='SM4E' call scx('SM4E',false) set Ihv[$A0]='SM4F' call scx('SM4F',false) set Ihv[$A1]='SM4G' call scx('SM4G',false) set Ihv[$A2]='SM4H' call scx('SM4H',false) set Ihv[$A3]='SM4I' call scx('SM4I',false) set Ihv[$A4]='SM4J' call scx('SM4J',false) set Ihv[$A5]='SM4K' call scx('SM4K',false) set Ihv[$A6]='SM4L' call scx('SM4L',false) set Ihv[$A7]='SM4M' call scx('SM4M',false) set Ihv[$A8]='SM4N' call scx('SM4N',false) set Ihv[$A9]='SM4O' call scx('SM4O',false) set Ihv[$AA]='SM4P' call scx('SM4P',false) set Ihv[$AB]='SM4Q' call scx('SM4Q',false) set Ihv[$AC]='SM4R' call scx('SM4R',false) set Ihv[$AD]='SM4S' call scx('SM4S',false) set Ihv[$AE]='SM4T' call scx('SM4T',false) set Ihv[$AF]='SM4U' call scx('SM4U',false) set Ihv[$B0]='SM4V' call scx('SM4V',false) set Ihv[$B1]='SM4W' call scx('SM4W',false) set Ihv[$B2]='SM4X' call scx('SM4X',false) set Ihv[$B3]='SM4Y' call scx('SM4Y',false) set Ihv[$B4]='SM4Z' call scx('SM4Z',false) set Ihv[$B5]='SM50' call scx('SM50',false) set Ihv[$B6]='SM51' call scx('SM51',false) set Ihv[$B7]='SM52' call scx('SM52',false) set Ihv[$B8]='SM53' call scx('SM53',false) set Ihv[$B9]='SM54' call scx('SM54',false) set Ihv[$BA]='SM55' call scx('SM55',false) set Ihv[$BB]='SM56' call scx('SM56',false) set Ihv[$BC]='SM57' call scx('SM57',false) set Ihv[$BD]='SM58' call scx('SM58',false) set Ihv[$BE]='SM59' call scx('SM59',false) set Ihv[$BF]='SM5A' call scx('SM5A',false) set Ihv[$C0]='SM5B' call scx('SM5B',false) set Ihv[$C1]='SM5C' call scx('SM5C',false) set Ihv[$C2]='SM5D' call scx('SM5D',false) set Ihv[$C3]='SM5E' call scx('SM5E',false) set Ihv[$C4]='SM5F' call scx('SM5F',false) set Ihv[$C5]='SM5G' call scx('SM5G',false) set Ihv[$C6]='SM5H' call scx('SM5H',false) set Ihv[$C7]='SM5I' call scx('SM5I',false) set Ihv[$C8]='SM5J' call scx('SM5J',false) set Ihv[$C9]='SM5K' call scx('SM5K',false) set Ihv[$CA]='SM5L' call scx('SM5L',false) set Ihv[$CB]='SM5M' call scx('SM5M',false) set Ihv[$CC]='SM5N' call scx('SM5N',false) set Ihv[$CD]='SM5O' call scx('SM5O',false) set Ihv[$CE]='SM5P' call scx('SM5P',false) set Ihv[$CF]='SM5Q' call scx('SM5Q',false) set Ihv[$D0]='SM5R' call scx('SM5R',false) set Ihv[$D1]='SM5S' call scx('SM5S',false) set Ihv[$D2]='SM5T' call scx('SM5T',false) set Ihv[$D3]='SM5U' call scx('SM5U',false) set Ihv[$D4]='SM5V' call scx('SM5V',false) set Ihv[$D5]='SM5W' call scx('SM5W',false) set Ihv[$D6]='SM5X' call scx('SM5X',false) set Ihv[$D7]='SM5Y' call scx('SM5Y',false) set Ihv[$D8]='SM5Z' call scx('SM5Z',false) set Ihv[$D9]='SM60' call scx('SM60',false) set Ihv[$DA]='SM61' call scx('SM61',false) set Ihv[$DB]='SM62' call scx('SM62',false) set Ihv[$DC]='SM63' call scx('SM63',false) set Ihv[$DD]='SM64' call scx('SM64',false) set Ihv[$DE]='SM65' call scx('SM65',false) set Ihv[$DF]='SM66' call scx('SM66',false) set Ihv[$E0]='SM67' call scx('SM67',false) set Ihv[$E1]='SM68' call scx('SM68',false) set Ihv[$E2]='SM69' call scx('SM69',false) set Ihv[$E3]='SM6A' call scx('SM6A',false) set Ihv[$E4]='SM6B' call scx('SM6B',false) set Ihv[$E5]='SM6C' call scx('SM6C',false) set Ihv[$E6]='SM6D' call scx('SM6D',false) set Ihv[$E7]='SM6E' call scx('SM6E',false) set Ihv[$E8]='SM6F' call scx('SM6F',false) set Ihv[$E9]='SM6G' call scx('SM6G',false) set Ihv[$EA]='SM6H' call scx('SM6H',false) set Ihv[$EB]='SM6I' call scx('SM6I',false) set Ihv[$EC]='SM6J' call scx('SM6J',false) set Ihv[$ED]='SM6K' call scx('SM6K',false) set Ihv[$EE]='SM6L' call scx('SM6L',false) set Ihv[$EF]='SM6M' call scx('SM6M',false) set Ihv[$F0]='SM6N' call scx('SM6N',false) set Ihv[$F1]='SM6O' call scx('SM6O',false) set Ihv[$F2]='SM6P' call scx('SM6P',false) set Ihv[$F3]='SM6Q' call scx('SM6Q',false) set Ihv[$F4]='SM6R' call scx('SM6R',false) set Ihv[$F5]='SM6S' call scx('SM6S',false) set Ihv[$F6]='SM6T' call scx('SM6T',false) set Ihv[$F7]='SM6U' call scx('SM6U',false) set Ihv[$F8]='SM6V' call scx('SM6V',false) set Ihv[$F9]='SM6W' call scx('SM6W',false) set Ihv[$FA]='SM6X' call scx('SM6X',false) set Ihv[$FB]='SM6Y' call scx('SM6Y',false) set Ihv[$FC]='SM6Z' call scx('SM6Z',false) set Ihv[$FD]='SM70' call scx('SM70',false) set Ihv[$FE]='SM71' call scx('SM71',false) set Ihv[$FF]='SM72' call scx('SM72',false) set Ihv[256]='SM73' call scx('SM73',false) set IHv[1]='TM00' call scx('TM00',false) set IHv[2]='TM01' call scx('TM01',false) set IHv[3]='TM02' call scx('TM02',false) set IHv[4]='TM03' call scx('TM03',false) set IHv[5]='TM04' call scx('TM04',false) set IHv[6]='TM05' call scx('TM05',false) set IHv[7]='TM06' call scx('TM06',false) set IHv[8]='TM07' call scx('TM07',false) set IHv[9]='TM08' call scx('TM08',false) set IHv[$A]='TM09' call scx('TM09',false) set IHv[$B]='TM0A' call scx('TM0A',false) set IHv[$C]='TM0B' call scx('TM0B',false) set IHv[$D]='TM0C' call scx('TM0C',false) set IHv[$E]='TM0D' call scx('TM0D',false) set IHv[$F]='TM0E' call scx('TM0E',false) set IHv[16]='TM0F' call scx('TM0F',false) set IHv[17]='TM0G' call scx('TM0G',false) set IHv[18]='TM0H' call scx('TM0H',false) set IHv[19]='TM0I' call scx('TM0I',false) set IHv[20]='TM0J' call scx('TM0J',false) set IHv[21]='TM0K' call scx('TM0K',false) set IHv[22]='TM0L' call scx('TM0L',false) set IHv[23]='TM0M' call scx('TM0M',false) set IHv[24]='TM0N' call scx('TM0N',false) set IHv[25]='TM0O' call scx('TM0O',false) set IHv[26]='TM0P' call scx('TM0P',false) set IHv[27]='TM0Q' call scx('TM0Q',false) set IHv[28]='TM0R' call scx('TM0R',false) set IHv[29]='TM0S' call scx('TM0S',false) set IHv[30]='TM0T' call scx('TM0T',false) set IHv[31]='TM0U' call scx('TM0U',false) set IHv[32]='TM0V' call scx('TM0V',false) set IHv[33]='TM0W' call scx('TM0W',false) set IHv[34]='TM0X' call scx('TM0X',false) set IHv[35]='TM0Y' call scx('TM0Y',false) set IHv[36]='TM0Z' call scx('TM0Z',false) set IHv[37]='TM10' call scx('TM10',false) set IHv[38]='TM11' call scx('TM11',false) set IHv[39]='TM12' call scx('TM12',false) set IHv[40]='TM13' call scx('TM13',false) set IHv[41]='TM14' call scx('TM14',false) set IHv[42]='TM15' call scx('TM15',false) set IHv[43]='TM16' call scx('TM16',false) set IHv[44]='TM17' call scx('TM17',false) set IHv[45]='TM18' call scx('TM18',false) set IHv[46]='TM19' call scx('TM19',false) set IHv[47]='TM1A' call scx('TM1A',false) set IHv[48]='TM1B' call scx('TM1B',false) set IHv[49]='TM1C' call scx('TM1C',false) set IHv[50]='TM1D' call scx('TM1D',false) set IHv[51]='TM1E' call scx('TM1E',false) set IHv[52]='TM1F' call scx('TM1F',false) set IHv[53]='TM1G' call scx('TM1G',false) set IHv[54]='TM1H' call scx('TM1H',false) set IHv[55]='TM1I' call scx('TM1I',false) set IHv[56]='TM1J' call scx('TM1J',false) set IHv[57]='TM1K' call scx('TM1K',false) set IHv[58]='TM1L' call scx('TM1L',false) set IHv[59]='TM1M' call scx('TM1M',false) set IHv[60]='TM1N' call scx('TM1N',false) set IHv[61]='TM1O' call scx('TM1O',false) set IHv[62]='TM1P' call scx('TM1P',false) set IHv[63]='TM1Q' call scx('TM1Q',false) set IHv[64]='TM1R' call scx('TM1R',false) set IHv[65]='TM1S' call scx('TM1S',false) set IHv[66]='TM1T' call scx('TM1T',false) set IHv[67]='TM1U' call scx('TM1U',false) set IHv[68]='TM1V' call scx('TM1V',false) set IHv[69]='TM1W' call scx('TM1W',false) set IHv[70]='TM1X' call scx('TM1X',false) set IHv[71]='TM1Y' call scx('TM1Y',false) set IHv[72]='TM1Z' call scx('TM1Z',false) set IHv[73]='TM20' call scx('TM20',false) set IHv[74]='TM21' call scx('TM21',false) set IHv[75]='TM22' call scx('TM22',false) set IHv[76]='TM23' call scx('TM23',false) set IHv[77]='TM24' call scx('TM24',false) set IHv[78]='TM25' call scx('TM25',false) set IHv[79]='TM26' call scx('TM26',false) set IHv[80]='TM27' call scx('TM27',false) set IHv[81]='TM28' call scx('TM28',false) set IHv[82]='TM29' call scx('TM29',false) set IHv[83]='TM2A' call scx('TM2A',false) set IHv[84]='TM2B' call scx('TM2B',false) set IHv[85]='TM2C' call scx('TM2C',false) set IHv[86]='TM2D' call scx('TM2D',false) set IHv[87]='TM2E' call scx('TM2E',false) set IHv[88]='TM2F' call scx('TM2F',false) set IHv[89]='TM2G' call scx('TM2G',false) set IHv[90]='TM2H' call scx('TM2H',false) set IHv[91]='TM2I' call scx('TM2I',false) set IHv[92]='TM2J' call scx('TM2J',false) set IHv[93]='TM2K' call scx('TM2K',false) set IHv[94]='TM2L' call scx('TM2L',false) set IHv[95]='TM2M' call scx('TM2M',false) set IHv[96]='TM2N' call scx('TM2N',false) set IHv[97]='TM2O' call scx('TM2O',false) set IHv[98]='TM2P' call scx('TM2P',false) set IHv[99]='TM2Q' call scx('TM2Q',false) set IHv['d']='TM2R' call scx('TM2R',false) set IHv['e']='TM2S' call scx('TM2S',false) set IHv['f']='TM2T' call scx('TM2T',false) set IHv['g']='TM2U' call scx('TM2U',false) set IHv['h']='TM2V' call scx('TM2V',false) set IHv['i']='TM2W' call scx('TM2W',false) set IHv['j']='TM2X' call scx('TM2X',false) set IHv['k']='TM2Y' call scx('TM2Y',false) set IHv['l']='TM2Z' call scx('TM2Z',false) set IHv['m']='TM30' call scx('TM30',false) set IHv['n']='TM31' call scx('TM31',false) set IHv['o']='TM32' call scx('TM32',false) set IHv['p']='TM33' call scx('TM33',false) set IHv['q']='TM34' call scx('TM34',false) set IHv['r']='TM35' call scx('TM35',false) set IHv['s']='TM36' call scx('TM36',false) set IHv['t']='TM37' call scx('TM37',false) set IHv['u']='TM38' call scx('TM38',false) set IHv['v']='TM39' call scx('TM39',false) set IHv['w']='TM3A' call scx('TM3A',false) set IHv['x']='TM3B' call scx('TM3B',false) set IHv['y']='TM3C' call scx('TM3C',false) set IHv['z']='TM3D' call scx('TM3D',false) set IHv['{']='TM3E' call scx('TM3E',false) set IHv['|']='TM3F' call scx('TM3F',false) set IHv['}']='TM3G' call scx('TM3G',false) set IHv[$7E]='TM3H' call scx('TM3H',false) set IHv[$7F]='TM3I' call scx('TM3I',false) set IHv[$80]='TM3J' call scx('TM3J',false) set IHv[$81]='TM3K' call scx('TM3K',false) set IHv[$82]='TM3L' call scx('TM3L',false) set IHv[$83]='TM3M' call scx('TM3M',false) set IHv[$84]='TM3N' call scx('TM3N',false) set IHv[$85]='TM3O' call scx('TM3O',false) set IHv[$86]='TM3P' call scx('TM3P',false) set IHv[$87]='TM3Q' call scx('TM3Q',false) set IHv[$88]='TM3R' call scx('TM3R',false) set IHv[$89]='TM3S' call scx('TM3S',false) set IHv[$8A]='TM3T' call scx('TM3T',false) set IHv[$8B]='TM3U' call scx('TM3U',false) set IHv[$8C]='TM3V' call scx('TM3V',false) set IHv[$8D]='TM3W' call scx('TM3W',false) set IHv[$8E]='TM3X' call scx('TM3X',false) set IHv[$8F]='TM3Y' call scx('TM3Y',false) set IHv[$90]='TM3Z' call scx('TM3Z',false) set IHv[$91]='TM40' call scx('TM40',false) set IHv[$92]='TM41' call scx('TM41',false) set IHv[$93]='TM42' call scx('TM42',false) set IHv[$94]='TM43' call scx('TM43',false) set IHv[$95]='TM44' call scx('TM44',false) set IHv[$96]='TM45' call scx('TM45',false) set IHv[$97]='TM46' call scx('TM46',false) set IHv[$98]='TM47' call scx('TM47',false) set IHv[$99]='TM48' call scx('TM48',false) set IHv[$9A]='TM49' call scx('TM49',false) set IHv[$9B]='TM4A' call scx('TM4A',false) set IHv[$9C]='TM4B' call scx('TM4B',false) set IHv[$9D]='TM4C' call scx('TM4C',false) set IHv[$9E]='TM4D' call scx('TM4D',false) set IHv[$9F]='TM4E' call scx('TM4E',false) set IHv[$A0]='TM4F' call scx('TM4F',false) set IHv[$A1]='TM4G' call scx('TM4G',false) set IHv[$A2]='TM4H' call scx('TM4H',false) set IHv[$A3]='TM4I' call scx('TM4I',false) set IHv[$A4]='TM4J' call scx('TM4J',false) set IHv[$A5]='TM4K' call scx('TM4K',false) set IHv[$A6]='TM4L' call scx('TM4L',false) set IHv[$A7]='TM4M' call scx('TM4M',false) set IHv[$A8]='TM4N' call scx('TM4N',false) set IHv[$A9]='TM4O' call scx('TM4O',false) set IHv[$AA]='TM4P' call scx('TM4P',false) set IHv[$AB]='TM4Q' call scx('TM4Q',false) set IHv[$AC]='TM4R' call scx('TM4R',false) set IHv[$AD]='TM4S' call scx('TM4S',false) set IHv[$AE]='TM4T' call scx('TM4T',false) set IHv[$AF]='TM4U' call scx('TM4U',false) set IHv[$B0]='TM4V' call scx('TM4V',false) set IHv[$B1]='TM4W' call scx('TM4W',false) set IHv[$B2]='TM4X' call scx('TM4X',false) set IHv[$B3]='TM4Y' call scx('TM4Y',false) set IHv[$B4]='TM4Z' call scx('TM4Z',false) set IHv[$B5]='TM50' call scx('TM50',false) set IHv[$B6]='TM51' call scx('TM51',false) set IHv[$B7]='TM52' call scx('TM52',false) set IHv[$B8]='TM53' call scx('TM53',false) set IHv[$B9]='TM54' call scx('TM54',false) set IHv[$BA]='TM55' call scx('TM55',false) set IHv[$BB]='TM56' call scx('TM56',false) set IHv[$BC]='TM57' call scx('TM57',false) set IHv[$BD]='TM58' call scx('TM58',false) set IHv[$BE]='TM59' call scx('TM59',false) set IHv[$BF]='TM5A' call scx('TM5A',false) set IHv[$C0]='TM5B' call scx('TM5B',false) set IHv[$C1]='TM5C' call scx('TM5C',false) set IHv[$C2]='TM5D' call scx('TM5D',false) set IHv[$C3]='TM5E' call scx('TM5E',false) set IHv[$C4]='TM5F' call scx('TM5F',false) set IHv[$C5]='TM5G' call scx('TM5G',false) set IHv[$C6]='TM5H' call scx('TM5H',false) set IHv[$C7]='TM5I' call scx('TM5I',false) set IHv[$C8]='TM5J' call scx('TM5J',false) set IHv[$C9]='TM5K' call scx('TM5K',false) set IHv[$CA]='TM5L' call scx('TM5L',false) set IHv[$CB]='TM5M' call scx('TM5M',false) set IHv[$CC]='TM5N' call scx('TM5N',false) set IHv[$CD]='TM5O' call scx('TM5O',false) set IHv[$CE]='TM5P' call scx('TM5P',false) set IHv[$CF]='TM5Q' call scx('TM5Q',false) set IHv[$D0]='TM5R' call scx('TM5R',false) set IHv[$D1]='TM5S' call scx('TM5S',false) set IHv[$D2]='TM5T' call scx('TM5T',false) set IHv[$D3]='TM5U' call scx('TM5U',false) set IHv[$D4]='TM5V' call scx('TM5V',false) set IHv[$D5]='TM5W' call scx('TM5W',false) set IHv[$D6]='TM5X' call scx('TM5X',false) set IHv[$D7]='TM5Y' call scx('TM5Y',false) set IHv[$D8]='TM5Z' call scx('TM5Z',false) set IHv[$D9]='TM60' call scx('TM60',false) set IHv[$DA]='TM61' call scx('TM61',false) set IHv[$DB]='TM62' call scx('TM62',false) set IHv[$DC]='TM63' call scx('TM63',false) set IHv[$DD]='TM64' call scx('TM64',false) set IHv[$DE]='TM65' call scx('TM65',false) set IHv[$DF]='TM66' call scx('TM66',false) set IHv[$E0]='TM67' call scx('TM67',false) set IHv[$E1]='TM68' call scx('TM68',false) set IHv[$E2]='TM69' call scx('TM69',false) set IHv[$E3]='TM6A' call scx('TM6A',false) set IHv[$E4]='TM6B' call scx('TM6B',false) set IHv[$E5]='TM6C' call scx('TM6C',false) set IHv[$E6]='TM6D' call scx('TM6D',false) set IHv[$E7]='TM6E' call scx('TM6E',false) set IHv[$E8]='TM6F' call scx('TM6F',false) set IHv[$E9]='TM6G' call scx('TM6G',false) set IHv[$EA]='TM6H' call scx('TM6H',false) set IHv[$EB]='TM6I' call scx('TM6I',false) set IHv[$EC]='TM6J' call scx('TM6J',false) set IHv[$ED]='TM6K' call scx('TM6K',false) set IHv[$EE]='TM6L' call scx('TM6L',false) set IHv[$EF]='TM6M' call scx('TM6M',false) set IHv[$F0]='TM6N' call scx('TM6N',false) set IHv[$F1]='TM6O' call scx('TM6O',false) set IHv[$F2]='TM6P' call scx('TM6P',false) set IHv[$F3]='TM6Q' call scx('TM6Q',false) set IHv[$F4]='TM6R' call scx('TM6R',false) set IHv[$F5]='TM6S' call scx('TM6S',false) set IHv[$F6]='TM6T' call scx('TM6T',false) set IHv[$F7]='TM6U' call scx('TM6U',false) set IHv[$F8]='TM6V' call scx('TM6V',false) set IHv[$F9]='TM6W' call scx('TM6W',false) set IHv[$FA]='TM6X' call scx('TM6X',false) set IHv[$FB]='TM6Y' call scx('TM6Y',false) set IHv[$FC]='TM6Z' call scx('TM6Z',false) set IHv[$FD]='TM70' call scx('TM70',false) set IHv[$FE]='TM71' call scx('TM71',false) set IHv[$FF]='TM72' call scx('TM72',false) set IHv[256]='TM73' call scx('TM73',false) return true endfunction function IOo takes nothing returns boolean call IGx(VE,(function IEo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\MaxMana\\obj_spells_wc3objLuainits.j")) call IGx(UE,(function IXo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\MaxMana\\obj_spells_wc3objLuaspells.j")) return true endfunction function IRo takes nothing returns boolean set Ijv=Idx(IJv) +return true endfunction function IIo takes nothing returns boolean set Ikv=Idx(IKv) +return true endfunction function IAo takes nothing returns boolean set Ilv=Idx(ILv) +return true endfunction function INo takes nothing returns boolean set Imv=Idx(IMv) +return true endfunction function Ibo takes nothing returns boolean set zj=u9x(Ipv+" (dummyBuff)") return true endfunction function IBo takes nothing returns boolean call IGx(tE,(function Ibo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\ManaRegeneration\\Disablement\\obj_dummyBuff_wc3buff.j")) return true endfunction function Ico takes nothing returns boolean set IPv=Idx(Ipv) +return true endfunction function ICo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Iqv[((ENx))]=(true) call gax(ENx) return true endfunction function Ido takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Iqv[((ENx))]=(false) +if((Yj[(ENx)])>.0)then call grx(ENx) endif return true endfunction function IDo takes nothing returns boolean call Ufx(zj,Nlx("FolderUnit_FolderManaRegeneration_StructDisablement_Buff_Init: call FolderUnit_FolderManaRegeneration_StructDisablement.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_FolderManaRegeneration_StructDisablement.Event_BuffGain))",dg,VB,function ICo)) call Ufx(zj,Nlx("FolderUnit_FolderManaRegeneration_StructDisablement_Buff_Init: call FolderUnit_FolderManaRegeneration_StructDisablement.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_FolderManaRegeneration_StructDisablement.Event_BuffLose))",Hf,VB,function Ido)) return true endfunction function Ifo takes nothing returns boolean call vAo(function IDo,"FolderUnit_FolderManaRegeneration_StructDisablement_Buff_Init") return true endfunction function IFo takes nothing returns boolean set IQv=Idx(Isv) +return true endfunction function Igo takes nothing returns boolean set ISv=Idx(Itv) +return true endfunction function IGo takes nothing returns boolean set ITv=Idx(Iuv) +return true endfunction function Iho takes nothing returns boolean set IUv=Idx(Iwv) +return true endfunction function IHo takes nothing returns boolean set IWv=Idx(Iyv) +return true endfunction function Ijo takes nothing returns boolean set IYv=Idx(Izv) +return true endfunction function IJo takes nothing returns boolean set IZv=Idx(I_v) +return true endfunction function Iko takes nothing returns boolean set I0v=Idx(I1v) +return true endfunction function IKo takes nothing returns boolean call scx('AmSp',false) return true endfunction function Ilo takes nothing returns boolean call scx('AmSx',false) return true endfunction function ILo takes nothing returns boolean call IGx(UE,(function IKo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Movement\\Speed\\BonusA\\obj_dummySpell_wc3spell.j")) call IGx(UE,(function Ilo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Movement\\Speed\\BonusA\\obj_storageSpell_wc3spell.j")) return true endfunction function Imo takes nothing returns boolean set I2v=Idx(I3v) +return true endfunction function IMo takes nothing returns boolean set I4v=Idx(I5v) +return true endfunction function Ipo takes nothing returns boolean set I6v=Idx(I7v) +return true endfunction function IPo takes nothing returns boolean set RP=u9x(I8v+" (disableBuff)") +return true endfunction function Iqo takes nothing returns boolean call IGx(tE,(function IPo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Movement\\obj_disableBuff_wc3buff.j")) +return true endfunction function IQo takes nothing returns boolean set I9v=Idx(I8v) +return true endfunction function Iso takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Avv[((ENx))]=(false) +call SetUnitPropWindow(C[ENx],.0) return true endfunction function ISo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Avv[((ENx))]=(true) call SetUnitPropWindow(C[ENx],60.) return true endfunction function Ito takes nothing returns boolean call Ufx(RP,Nlx("FolderUnit_StructMovement_Buff_Init: call FolderUnit_StructMovement.DISABLE_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_StructMovement.Event_BuffGain))",dg,VB,function Iso)) call Ufx(RP,Nlx("FolderUnit_StructMovement_Buff_Init: call FolderUnit_StructMovement.DISABLE_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_StructMovement.Event_BuffLose))",Hf,VB,function ISo)) return true endfunction function ITo takes nothing returns boolean call vAo(function Ito,"FolderUnit_StructMovement_Buff_Init") +return true endfunction function Iuo takes nothing returns boolean set Aev=Idx(Axv) +return true endfunction function IUo takes nothing returns boolean set Aov=Idx(Arv) +return true endfunction function Iwo takes nothing returns boolean set Aiv=Idx(Aav) +return true endfunction function IWo takes nothing returns boolean set Anv=Idx(AVv) +return true endfunction function Iyo takes nothing returns boolean set AEv=Idx(AXv) +return true endfunction function IYo takes nothing returns boolean set AOv=Idx(ARv) +return true endfunction function Izo takes nothing returns boolean set AIv=Idx(AAv) +return true endfunction function IZo takes nothing returns boolean set ANv=Idx(Abv) +return true endfunction function I_o takes nothing returns boolean set ABv=u9x(Acv+" (noneBuff)") return true endfunction function I0o takes nothing returns boolean call scx('aBan',false) return true endfunction function I1o takes nothing returns boolean set ACv=u9x(Acv+" (normalBuff)") +return true endfunction function I2o takes nothing returns boolean set Adv=u9x(Acv+" (dummyBuff)") return true endfunction function I3o takes nothing returns boolean call IGx(tE,(function I_o),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Banish\\obj_noneBuff_wc3buff.j")) call IGx(UE,(function I0o),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Banish\\obj_banSpell_wc3spell.j")) +call IGx(tE,(function I1o),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Banish\\obj_normalBuff_wc3buff.j")) call IGx(tE,(function I2o),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Banish\\obj_dummyBuff_wc3buff.j")) +return true endfunction function I4o takes nothing returns boolean set ADv=Idx(Acv) +return true endfunction function I5o takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Afv[((ENx))]=(true) call CMx(ENx,AFv) call jgx(Vm,C8,ENx) return true endfunction function I6o takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Afv[((ENx))]=(false) +call cEx(ENx,AFv) call UnitRemoveAbility(C[((((ENx))))],(('bBan'))) return true endfunction function I7o takes nothing returns boolean call Ufx(Adv,Nlx("FolderUnit_StructBanish_Buff_Init: call FolderUnit_StructBanish.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructBanish.Event_BuffGain))",dg,Sb,function I5o)) call Ufx(Adv,Nlx("FolderUnit_StructBanish_Buff_Init: call FolderUnit_StructBanish.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructBanish.Event_BuffLose))",Hf,Sb,function I6o)) call oio(Adv,ACv) return true endfunction function I8o takes nothing returns boolean call vAo(function I7o,"FolderUnit_StructBanish_Buff_Init") return true endfunction function I9o takes nothing returns boolean set Agv=u9x(AGv+" (dummyBuff)") return true endfunction function Avo takes nothing returns boolean set Ahv=x6o('BCof',"Confused",'bCof') set ORv[(Ahv)]=("ReplaceableTextures\\CommandButtons\\BTNBerserkForTrolls.blp") call Urx(Ahv,"Abilities\\Spells\\NightElf\\shadowstrike\\shadowstrike.mdl","overhead",EV) set v2v=UEx() call O2o(v2v,Rvo(cd,0,-$AF,-$AF,0)) call UIx(((Ahv)),YD+(1),(v2v)) return true endfunction function Aeo takes nothing returns boolean call IGx(tE,(function I9o),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Madness\\obj_dummyBuff_wc3buff.j")) call IGx(tE,(function Avo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Madness\\obj_normalBuff_wc3buff.j")) return true endfunction function Axo takes nothing returns boolean set AHv=Idx(AGv) +return true endfunction function Aoo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Ze[((ENx))]=(true) call Orx(ENx,ex,false) call hrx(ENx) return true endfunction function Aro takes integer VFx returns nothing call OEx(VFx,(ze[(VFx)])) endfunction function Aio takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Ze[((ENx))]=(false) call Aro(ENx) return true endfunction function Aao takes nothing returns boolean call Ufx(Agv,Nlx("FolderUnit_StructMadness_Buff_Init: call FolderUnit_StructMadness.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructMadness.Event_BuffGain))",dg,Sb,function Aoo)) call Ufx(Agv,Nlx("FolderUnit_StructMadness_Buff_Init: call FolderUnit_StructMadness.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructMadness.Event_BuffLose))",Hf,Sb,function Aio)) call oio(Agv,Ahv) return true endfunction function Ano takes nothing returns boolean call vAo(function Aao,"FolderUnit_StructMadness_Buff_Init") return true endfunction function AVo takes nothing returns boolean set Ajv=x6o('BEcl',"Eclipse",'bEcl') +set ORv[(Ajv)]=("ReplaceableTextures\\CommandButtons\\BTNSoulGem.blp") call Urx(Ajv,"Unit_page\\Unit_struct\\Eclipse\\TargetEffect.mdx","origin",fV) set v2v=UEx() call O2o(v2v,Rvo(cd,-50,-$96,-50,0)) +call UIx(((Ajv)),YD+(1),(v2v)) return true endfunction function AEo takes nothing returns boolean set AJv=u9x(Akv+" (dummyBuff)") set v2v=UEx() call URx(v2v,AKv,-.3) call URx(v2v,Alv,-.5) call URx(v2v,exv,-.3) call URx(v2v,ALv,-.5) call UIx(((AJv)),YD+(1),(v2v)) return true endfunction function AXo takes nothing returns boolean call IGx(tE,(function AVo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Eclipse\\obj_normalBuff_wc3buff.j")) call IGx(tE,(function AEo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Eclipse\\obj_dummyBuff_wc3buff.j")) return true endfunction function AOo takes nothing returns boolean set Amv=Idx(Akv) +return true endfunction function ARo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set AMv[((ENx))]=(true) return true endfunction function AIo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set AMv[((ENx))]=(false) +return true endfunction function AAo takes nothing returns boolean call Ufx(AJv,Nlx("FolderUnit_StructEclipse_Buff_Init: call FolderUnit_StructEclipse.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_StructEclipse.Event_BuffGain))",dg,VB,function ARo)) call Ufx(AJv,Nlx("FolderUnit_StructEclipse_Buff_Init: call FolderUnit_StructEclipse.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_StructEclipse.Event_BuffLose))",Hf,VB,function AIo)) return true endfunction function ANo takes nothing returns boolean call vAo(function AAo,"FolderUnit_StructEclipse_Buff_Init") return true endfunction function Abo takes nothing returns boolean set Apv=u9x(APv+" (normalBuff)") +return true endfunction function ABo takes nothing returns boolean call scx('aWhI',false) return true endfunction function Aco takes nothing returns boolean set Aqv=u9x(APv+" (noneBuff)") return true endfunction function ACo takes nothing returns boolean call scx('aWhC',false) return true endfunction function Ado takes nothing returns boolean set AQv=u9x(APv+" (dummyBuff)") return true endfunction function ADo takes nothing returns boolean call IGx(tE,(function Abo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Whirl\\obj_normalBuff_wc3buff.j")) +call IGx(UE,(function ABo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Whirl\\obj_impaleSpell_wc3spell.j")) call IGx(tE,(function Aco),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Whirl\\obj_noneBuff_wc3buff.j")) call IGx(UE,(function ACo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Whirl\\obj_cycloneSpell_wc3spell.j")) call IGx(tE,(function Ado),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Whirl\\obj_dummyBuff_wc3buff.j")) return true endfunction function Afo takes nothing returns boolean set Asv=Idx(APv) +return true endfunction function AFo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) local real x +local real y +set ASv[((ENx))]=(true) call CMx(ENx,Atv) set x=dxx(ENx) set y=dox(ENx) call UnitAddType(C[ENx],UNIT_TYPE_SAPPER) call jgx(Vm,z8,ENx) call UnitRemoveType(C[ENx],UNIT_TYPE_SAPPER) +return true endfunction function Ago takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set ASv[((ENx))]=(false) +call cEx(ENx,Atv) call UnitRemoveAbility(C[((((ENx))))],(('bWhX'))) return true endfunction function AGo takes nothing returns boolean call Ufx(AQv,Nlx("FolderUnit_StructWhirl_Buff_Init: call FolderUnit_StructWhirl.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructWhirl.Event_BuffGain))",dg,Sb,function AFo)) call Ufx(AQv,Nlx("FolderUnit_StructWhirl_Buff_Init: call FolderUnit_StructWhirl.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructWhirl.Event_BuffLose))",Hf,Sb,function Ago)) call oio(AQv,Apv) return true endfunction function Aho takes nothing returns boolean call vAo(function AGo,"FolderUnit_StructWhirl_Buff_Init") return true endfunction function AHo takes nothing returns boolean set ATv=Idx(Auv) +return true endfunction function Ajo takes nothing returns boolean set AUv=u9x(Awv+" (dummyBuff)") return true endfunction function AJo takes nothing returns boolean set AWv=u9x(Awv+" (normalBuff)") +call Urx(AWv,"Unit_page\\Unit_struct\\Bleeding\\buff2.mdx","chest",EV) return true endfunction function Ako takes nothing returns boolean call IGx(tE,(function Ajo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Bleeding\\obj_dummyBuff_wc3buff.j")) call IGx(tE,(function AJo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Bleeding\\obj_normalBuff_wc3buff.j")) return true endfunction function AKo takes nothing returns boolean set Ayv=Idx(Awv) +return true endfunction function Alo takes integer VFx returns boolean if not(Oyv[(VFx)])then return false +endif call Gax((VFx),Xhx("Blocked!!","d4e019aa"),.02,OYv+VFx) call cdx((C1x(((VFx)),("Abilities\\Spells\\Other\\HealingSpray\\HealBottleMissile.mdl"),("chest"),(EV)))) call dpx((VFx),Bxx((VFx),OYv,q)) +return true endfunction function ALo takes integer VFx returns boolean if not(O1v[(VFx)])then return Alo(VFx) endif call Gax((VFx),Xhx("Magic immune!!","d4e019aa"),.02,A0v+VFx) +return true endfunction function Amo takes real Vhx returns real +if(Vhx<.0)then return(2.-(Pow((((1.-.06))*1.),((-Vhx*A1v)*1.)))) endif return(1.*1./(1.+.06*Vhx*A1v)) endfunction function AMo takes real Vhx returns real +if(Vhx<.0)then return(2.-(Pow((((1.-.06))*1.),((-Vhx)*1.)))) endif return(1.*1./(1.+.06*Vhx)) endfunction function Apo takes integer VFx,integer csx returns boolean if((OM[((VFx))])and not(RSv[((VFx))]))then return true endif if(A4v[(csx)])then return true endif return((GetRandomReal(((.0)*1.),((1.)*1.)))<=(FCx(((Gj[((VFx))])-(A5v[((csx))]))*1./ 'd',.0,1.))) endfunction function APo takes integer VFx returns boolean if not(OBv[(VFx)])then return false +endif call Gax((VFx),Xhx("Invulnerable!!","ffff0000"),.02,A6v+VFx) +return true endfunction function Aqo takes integer VFx,real R9x,integer csx,boolean AQo returns real +local integer ENx=VFx local integer Eix=V4x((A[(ENx)])) local integer Aso local integer VBx local integer V8x local integer EBx set A8v[(Eix)]=((R9x)*1.) set A9v[(Eix)]=(ENx) +set aL[(Eix)]=(csx) set Vv[(Eix)]=(csx) set Aso=V4x((A[(csx)])) set A8v[(Aso)]=((R9x)*1.) set A9v[(Aso)]=(ENx) +set Vv[(Aso)]=(csx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(csx,Nvv,V8x) +loop +exitwhen(EBx.0)then if ATo then set R9x=Aqo(VFx,R9x,csx,false) endif set R9x=Xkx(R9x,(jk[(csx)])) +call UnitDamageTarget(C[(VFx)],C[csx],.0,false,false,null,null,null) +set wk=VFx call ASo(csx,R9x) return R9x endif return .0 endfunction function Auo takes integer VFx,string Xox,real bIx,real byx,real bYx,real Xdx,integer id,real Vhx returns integer local integer AUo=(LoadInteger(o[((V[(E[((X))])]))],(((Lc))),((((id)))))) if((AUo==w)or((uc[(AUo)]).0)then if Azo then if ALo(csx)then return .0 endif set R9x=R9x*Amo((FJ[(csx)])-(FJ[((VFx))]))*(1.-(A2v[(csx)]))*(GetRandomReal(((.9)*1.),((1.1)*1.))) else +set R9x=R9x*AMo((A3v[(csx)])) endif if(not Azo and Apo((VFx),csx))then set R9x=R9x*2. set Ayo=true +endif endif set R9x=Ato(VFx,csx,R9x,ATo) +call AWo((VFx),R9x,Ayo) return R9x endfunction function AZo takes integer VFx,integer csx,real R9x,boolean Azo,boolean ATo returns real +return AYo(VFx,csx,R9x,Azo,ATo) endfunction function A_o takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx call cdx((C1x((csx),((A_v[(csx)])),("chest"),(fV)))) +if Cmx(csx,rG)then call AZo(Azv[VFx],csx,Niv*(Jk[(csx)]),false,false) else +call AZo(Azv[VFx],csx,Nnv*(Jk[(csx)]),false,false) endif endfunction function A0o takes nothing returns boolean local integer Eix=(bv) local integer hdx=(pf[(Eix)]) local integer ENx=(Vv[(Eix)]) local integer VFx=ENx local integer TBx set AYv[(VFx)]=(true) set TBx=E5x() set Azv[VFx]=hdx +set AZv[VFx]=TBx +set ge[(TBx)]=(VFx) call jGx((((ENx))),(Rqv),(1),w) call Xax(TBx,1.,true,function A_o) return true endfunction function A1o takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) local integer VFx=ENx set AYv[(VFx)]=(false) call Xbx(AZv[VFx]) call JYx(((ENx)),Rqv) return true endfunction function A2o takes nothing returns boolean call Ufx(AUv,Nlx("FolderUnit_StructBleeding_Buff_Init: call FolderUnit_StructBleeding.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_StructBleeding.Event_BuffGain))",dg,VB,function A0o)) +call Ufx(AUv,Nlx("FolderUnit_StructBleeding_Buff_Init: call FolderUnit_StructBleeding.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_StructBleeding.Event_BuffLose))",Hf,VB,function A1o)) +call oio(AUv,AWv) return true endfunction function A3o takes nothing returns boolean call vAo(function A2o,"FolderUnit_StructBleeding_Buff_Init") +return true endfunction function A4o takes nothing returns boolean set NVv=x6o('BIgn',"Ignited",'bIgn') +set ORv[(NVv)]=("ReplaceableTextures\\CommandButtons\\BTNSelfDestruct.blp") call Urx(NVv,"Abilities\\Spells\\Other\\BreathOfFire\\BreathOfFireDamage.mdx","overhead",EV) +call Urx(NVv,"Unit_page\\Unit_struct\\Ignited\\Target.mdx","foot left",fV) call Urx(NVv,"Unit_page\\Unit_struct\\Ignited\\Target.mdx","foot right",fV) call Urx(NVv,"Unit_page\\Unit_struct\\Ignited\\Target.mdx","hand left",fV) call Urx(NVv,"Unit_page\\Unit_struct\\Ignited\\Target.mdx","chest",fV) call Urx(NVv,"Unit_page\\Unit_struct\\Ignited\\Target.mdx","head",fV) return true endfunction function A5o takes nothing returns boolean set NEv=u9x(NXv+" (dummyBuff)") return true endfunction function A6o takes nothing returns boolean call IGx(tE,(function A4o),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Ignited\\obj_normalBuff_wc3buff.j")) call IGx(tE,(function A5o),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Ignited\\obj_dummyBuff_wc3buff.j")) return true endfunction function A7o takes nothing returns boolean set NOv=Idx(NXv) +return true endfunction function A8o takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx if Cmx(csx,rG)then call AZo(NIv[VFx],csx,Nbv*(Jk[(csx)]),true,false) else +call AZo(NIv[VFx],csx,Ncv*(Jk[(csx)]),true,false) endif endfunction function A9o takes nothing returns boolean local integer Eix=(bv) local integer hdx=(pf[(Eix)]) local integer ENx=(Vv[(Eix)]) local integer VFx=ENx local integer TBx set NRv[(VFx)]=(true) set TBx=E5x() set NIv[VFx]=hdx +set NAv[VFx]=TBx +set ge[(TBx)]=(VFx) call jGx((((ENx))),(Rqv),(1),w) call Xax(TBx,1.,true,function A8o) return true endfunction function Nvo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) local integer VFx=ENx set NRv[(VFx)]=(false) call Xbx(NAv[VFx]) call JYx(((ENx)),Rqv) return true endfunction function Neo takes nothing returns boolean call Ufx(NEv,Nlx("FolderUnit_StructIgnited_Buff_Init: call FolderUnit_StructIgnited.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_StructIgnited.Event_BuffGain))",dg,VB,function A9o)) call Ufx(NEv,Nlx("FolderUnit_StructIgnited_Buff_Init: call FolderUnit_StructIgnited.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_StructIgnited.Event_BuffLose))",Hf,VB,function Nvo)) call oio(NEv,NVv) return true endfunction function Nxo takes nothing returns boolean call vAo(function Neo,"FolderUnit_StructIgnited_Buff_Init") return true endfunction function Noo takes nothing returns boolean set NCv=Idx(Ndv) +return true endfunction function Nro takes nothing returns boolean return true endfunction function Nio takes nothing returns boolean call vAo(function Nro,"FolderUnit_StructKnockup_Buff_Init") return true endfunction function Nao takes nothing returns boolean set NDv=u9x(Nfv+" (dummyBuff)") return true endfunction function Nno takes nothing returns boolean call IGx(tE,(function Nao),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Pathing\\obj_dummyBuff_wc3buff.j")) return true endfunction function NVo takes nothing returns boolean set NFv=Idx(Nfv) +return true endfunction function NEo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Ngv[((ENx))]=(false) +call SetUnitPathing(C[ENx],false) return true endfunction function NXo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Ngv[((ENx))]=(true) call SetUnitPathing(C[ENx],true) +return true endfunction function NOo takes nothing returns boolean call Ufx(NDv,Nlx("FolderUnit_StructPathing_Buff_Init: call FolderUnit_StructPathing.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_StructPathing.Event_BuffGain))",dg,VB,function NEo)) call Ufx(NDv,Nlx("FolderUnit_StructPathing_Buff_Init: call FolderUnit_StructPathing.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_StructPathing.Event_BuffLose))",Hf,VB,function NXo)) return true endfunction function NRo takes nothing returns boolean call vAo(function NOo,"FolderUnit_StructPathing_Buff_Init") return true endfunction function NIo takes nothing returns boolean set NGv=u9x(Nhv+" (dummyBuff)") set v2v=UEx() call URx(v2v,RRv,-.25) call URx(v2v,AKv,-.5) call URx(v2v,NHv,-.5) call URx(v2v,exv,-.1) call UIx(((NGv)),YD+(1),(v2v)) return true endfunction function NAo takes nothing returns boolean set Njv=x6o('BPoi',"Poisoned",'bPoi') set ORv[(Njv)]=("ReplaceableTextures\\CommandButtons\\BTNCorrosiveBreath.blp") call Urx(Njv,"Abilities\\Spells\\Undead\\Curse\\CurseTarget.mdl","overhead",fV) set v2v=UEx() call O2o(v2v,Rvo(cd,-'d',0,-'d',0)) call UIx(((Njv)),YD+(1),(v2v)) return true endfunction function NNo takes nothing returns boolean call IGx(tE,(function NIo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Poisoned\\obj_dummyBuff_wc3buff.j")) call IGx(tE,(function NAo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Poisoned\\obj_normalBuff_wc3buff.j")) return true endfunction function Nbo takes nothing returns boolean set NJv=Idx(Nhv) +return true endfunction function NBo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Nkv[((ENx))]=(true) return true endfunction function Nco takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Nkv[((ENx))]=(false) +return true endfunction function NCo takes nothing returns boolean call Ufx(NGv,Nlx("FolderUnit_StructPoisoned_Buff_Init: call FolderUnit_StructPoisoned.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_StructPoisoned.Event_BuffGain))",dg,VB,function NBo)) +call Ufx(NGv,Nlx("FolderUnit_StructPoisoned_Buff_Init: call FolderUnit_StructPoisoned.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderUnit_StructPoisoned.Event_BuffLose))",Hf,VB,function Nco)) +call oio(NGv,Njv) return true endfunction function Ndo takes nothing returns boolean call vAo(function NCo,"FolderUnit_StructPoisoned_Buff_Init") +return true endfunction function NDo takes nothing returns boolean set NKv=Idx(Nlv) +return true endfunction function Nfo takes nothing returns boolean set NLv=Idx(Nmv) +return true endfunction function NFo takes nothing returns boolean call scx('ARev',false) return true endfunction function Ngo takes nothing returns boolean call IGx(UE,(function NFo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Revival\\obj_dummySpell_wc3spell.j")) return true endfunction function NGo takes nothing returns boolean set NMv=Idx(Npv) +return true endfunction function Nho takes nothing returns boolean set NPv=u9x(Nqv+" (dummyBuff)") return true endfunction function NHo takes nothing returns boolean set NQv=u9x(Nqv+" (normalBuff)") +call Urx(NQv,"Abilities\\Spells\\Other\\Silence\\SilenceTarget.mdl","overhead",EV) return true endfunction function Njo takes nothing returns boolean set Nsv=u9x(Nqv+" (noneBuff)") return true endfunction function NJo takes nothing returns boolean call scx('aSil',false) return true endfunction function Nko takes nothing returns boolean call IGx(tE,(function Nho),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Silence\\obj_dummyBuff_wc3buff.j")) call IGx(tE,(function NHo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Silence\\obj_normalBuff_wc3buff.j")) call IGx(tE,(function Njo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Silence\\obj_noneBuff_wc3buff.j")) +call IGx(UE,(function NJo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Silence\\obj_silSpell_wc3spell.j")) return true endfunction function NKo takes nothing returns boolean set NSv=Idx(Nqv) +return true endfunction function Nlo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Ntv[((ENx))]=(true) call CMx(ENx,NTv) call jgx(Vm,vgv,ENx) +return true endfunction function NLo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) set Ntv[((ENx))]=(false) +call cEx(ENx,NTv) call UnitRemoveAbility(C[((((ENx))))],(('bSil'))) return true endfunction function Nmo takes nothing returns boolean call Ufx(NPv,Nlx("FolderUnit_StructSilence_Buff_Init: call FolderUnit_StructSilence.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructSilence.Event_BuffGain))",dg,Sb,function Nlo)) call Ufx(NPv,Nlx("FolderUnit_StructSilence_Buff_Init: call FolderUnit_StructSilence.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructSilence.Event_BuffLose))",Hf,Sb,function NLo)) call oio(NPv,NQv) return true endfunction function NMo takes nothing returns boolean call vAo(function Nmo,"FolderUnit_StructSilence_Buff_Init") return true endfunction function Npo takes nothing returns boolean call scx('ACsl',false) return true endfunction function NPo takes nothing returns boolean set Nuv=u9x(NUv+" (normalBuff)") +call Urx(Nuv,"Abilities\\Spells\\Undead\\Sleep\\SleepTarget.mdl","overhead",EV) return true endfunction function Nqo takes nothing returns boolean set Nwv=u9x(NUv+" (dummyBuff)") return true endfunction function NQo takes nothing returns boolean call IGx(UE,(function Npo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Sleep\\obj_sleepSpell_wc3spell.j")) call IGx(tE,(function NPo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Sleep\\obj_normalBuff_wc3buff.j")) +call IGx(tE,(function Nqo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\Unit.page\\Unit.struct\\Sleep\\obj_dummyBuff_wc3buff.j")) return true endfunction function Nso takes nothing returns boolean set NWv=Idx(NUv) +return true endfunction function NSo takes integer VFx returns nothing call jGx(((VFx)),(RPv),(1),w) endfunction function Nto takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) local integer VFx=ENx set A4v[((ENx))]=(true) call CMx(ENx,Nyv) call NSo(ENx) call jgx(Vm,vfv,ENx) +call UnitRemoveAbility(C[((((ENx))))],(('BSlp'))) return true endfunction function NTo takes integer VFx returns nothing call JYx((VFx),RPv) endfunction function Nuo takes integer VFx returns nothing local integer ENx=VFx local integer Eix=V4x((A[(ENx)])) local integer VBx local integer V8x local integer EBx set Vv[(Eix)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(ENx,NYv,V8x) +loop +exitwhen(EBx0)then return((dPv[(VFx)])*1./ R7x) +endif return 1. endfunction function dno takes integer VFx,real Vhx returns real +if((dpv[((VFx))])>0)then +set Vhx=100.+(Vhx-100.)*((1.2-.6)*dao((VFx))+.6) +endif set Vhx=E9x(100.,Vhx) set Vhx=Xkx(Vhx,522.) return Vhx endfunction function dVo takes integer VFx,real Vsx returns nothing local real g0x=dKv[VFx]-(dlv[(VFx)]) +local real dEo=(Cp[((bj[((VFx))]))]) +set dMv[VFx]=g0x +set dKv[VFx]=Vsx +set Vsx=dno(VFx,Vsx) +call SetUnitMoveSpeed(C[(VFx)],Vsx-pyx(g0x)) +if(dEo>0)then call SetUnitTimeScale(C[(VFx)],Vsx*1./ dEo) endif endfunction function dXo takes integer VFx returns nothing call dVo(VFx,(dlv[(VFx)])*(dmv[(VFx)])+(dLv[(VFx)])) +endfunction function dOo takes integer VFx returns nothing set dKv[VFx]=.0 call dro(VFx) call dio(VFx) set dmv[(VFx)]=1. call dXo(VFx) endfunction function dRo takes integer VFx returns nothing if((Cp[((bj[((VFx))]))])>.0)then +set Avv[(VFx)]=(true) else +call doo(VFx) endif call dOo(VFx) endfunction function dIo takes integer VFx returns nothing set jC[VFx]=(dsv[((bj[((VFx))]))]) endfunction function dAo takes integer VFx returns nothing set dqv[(VFx)]=.0 set dQv[(VFx)]=60. call dIo(VFx) endfunction function dNo takes integer VFx returns nothing set JC[VFx]=(vm[((bj[((VFx))]))]) set ZL[(VFx)]=.0 +endfunction function dbo takes integer VFx returns nothing local integer DCx=(bj[((VFx))]) set nM[VFx]=(dSv[(DCx)]) +set VM[VFx]=(dtv[(DCx)]) +set EM[VFx]=(dTv[(DCx)]) +set XM[VFx]=(duv[(DCx)]) +endfunction function dBo takes integer VFx,real Vhx returns nothing set A2v[(VFx)]=(((A2v[(VFx)])+Vhx)*1.) endfunction function dco takes integer VFx returns nothing call SetUnitMoveSpeed(C[(VFx)],dno(VFx,(dKv[(VFx)]))-pyx((dMv[(VFx)]))) endfunction function dCo takes integer VFx returns nothing call Gax((VFx),Xhx("exhausted","ffffffff"),.021,dYv+VFx) +call jGx(((VFx)),(bsv),(1),w) endfunction function ddo takes integer VFx,real Vhx returns nothing local real R7x=(dpv[((VFx))]) local real OVx=(dPv[(VFx)]) set Vhx=FCx(Vhx,.0,(dpv[((VFx))])) set dPv[VFx]=Vhx +call dco((VFx)) if(R7x<=0)then return endif if(((Vhx*1./ R7x)>dyv)==((OVx*1./ R7x)>dyv))then +return endif if((Vhx*1./ R7x)>dyv)then call JYx(((VFx)),bsv) else +call dCo(VFx) endif endfunction function dDo takes integer VFx,real Vhx returns nothing local real OVx=(dpv[(VFx)]) set dpv[VFx]=Vhx +if(OVx==.0)then return endif call ddo((VFx),(dPv[((VFx))])*1./ OVx*Vhx) endfunction function dfo takes integer VFx returns nothing call dDo(VFx,(dUv[(VFx)])*(dWv[(VFx)])+(dwv[(VFx)])) +endfunction function dFo takes integer VFx returns nothing set dpv[VFx]=.0 set dUv[(VFx)]=200. set dwv[(VFx)]=.0 set dWv[(VFx)]=1. call dfo(VFx) endfunction function dgo takes integer VFx,real dGo returns nothing local integer ENx=VFx local integer Eix=V4x((A[(ENx)])) local integer VBx local integer V8x local integer EBx set d8v[(Eix)]=((dGo)*1.) set Vv[(Eix)]=(ENx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(ENx,d9v,V8x) +loop +exitwhen(EBxd7v)then set d3v[VFx]=x set d4v[VFx]=y call HDx(d6v,ENx) call dho(VFx,dGo) endif endif endloop call Hkx(d0v,d5v) endfunction function djo takes integer VFx,integer N8x returns nothing local integer ENx=VFx if not Cpx(ENx,dZv+N8x,1)then return endif call CMx(ENx,N8x) if not Cpx(ENx,d_v,1)then return endif if(Hbx((d0v),qC))then call Xax(d1v,d2v,true,function dHo) endif set d3v[VFx]=dxx(ENx) set d4v[VFx]=dox(ENx) call HDx(d0v,ENx) endfunction function dJo takes integer VFx returns boolean if((Dov[((VFx))])>0)then +return false +endif set Drv=Drv+1 set Div[Drv]=VFx +set Dov[VFx]=Drv+1 return(Drv==0) endfunction function dko takes nothing returns nothing local integer VBx=Drv loop +exitwhen(VBx<0) set Dnv[VBx]=Div[VBx] set VBx=VBx-1 endloop set DVv=Drv endfunction function dKo takes nothing returns integer local integer Vtx if(DVv<0)then return w +endif set Vtx=Dnv[0] set Dnv[0]=Dnv[DVv] set DVv=DVv-1 return Vtx endfunction function dlo takes integer VFx,real Vhx returns nothing call ddo(VFx,(dPv[(VFx)])+Vhx) endfunction function dLo takes nothing returns nothing local integer VFx call dko() loop +set VFx=dKo() exitwhen(VFx==w) +call dlo((VFx),DEv[VFx]) +endloop endfunction function dmo takes integer VFx,real Vhx returns nothing set DIv[VFx]=Vhx +set DEv[VFx]=Vhx*.25 +endfunction function dMo takes integer VFx returns nothing call dmo(VFx,(DXv[(VFx)])*(DRv[(VFx)])+(DOv[(VFx)])) +endfunction function dpo takes integer VFx returns nothing call CMx((VFx),dzv) call djo((VFx),Dev) call djo((VFx),Dxv) if dJo(VFx)then call Xax(Dav,.25,true,function dLo) endif set DXv[(VFx)]=25. set DOv[(VFx)]=.0 set DRv[(VFx)]=1. call dMo(VFx) endfunction function dPo takes integer VFx returns nothing local real Vhx=(DAv[((bj[((VFx))]))]) local integer Fzx=(R2I(((Vhx)*1.))) set Aj[VFx]=Vhx call SetHeroAgi(C[(VFx)],Fzx,true) call Flx(VFx,Fzx) endfunction function dqo takes integer VFx returns nothing set mj[VFx]=.0 set Mj[VFx]=.0 set pj[VFx]=false endfunction function dQo takes integer VFx returns nothing set wj[VFx]=.0 call dqo(VFx) endfunction function dso takes integer VFx returns nothing call F1x(VFx,(Aj[(VFx)])) endfunction function dSo takes integer VFx returns nothing set Lj[VFx]=.0 call dPo(VFx) call dQo(VFx) set Uj[(VFx)]=1. +call dso(VFx) call FZx(VFx) call F0x(VFx) endfunction function dto takes integer VFx returns nothing local real Vhx=(DNv[((bj[((VFx))]))]) local integer Fzx=(R2I(((Vhx)*1.))) set Wj[VFx]=Vhx call SetHeroInt(C[(VFx)],Fzx,true) call gFx(VFx,Fzx) endfunction function dTo takes integer VFx returns nothing set jJ[VFx]=.0 set JJ[VFx]=.0 set kJ[VFx]=false endfunction function duo takes integer VFx returns nothing set QJ[VFx]=.0 call dTo(VFx) endfunction function dUo takes integer VFx returns nothing call gqx(VFx,(Wj[(VFx)])) endfunction function dwo takes integer VFx returns nothing set HJ[VFx]=.0 call dto(VFx) call duo(VFx) set qJ[(VFx)]=1. +call dUo(VFx) call gMx(VFx) call gPx(VFx) endfunction function dWo takes integer VFx returns nothing local real Vhx=(Dbv[((bj[((VFx))]))]) local integer Fzx=(R2I(((Vhx)*1.))) set sJ[VFx]=Vhx call SetHeroStr(C[(VFx)],Fzx,true) call GKx(VFx,Fzx) endfunction function dyo takes integer VFx returns nothing set IK[VFx]=.0 set AK[VFx]=.0 set NK[VFx]=false endfunction function dYo takes integer VFx returns nothing set gK[VFx]=.0 call dyo(VFx) endfunction function dzo takes integer VFx returns nothing call Gwx(VFx,(sJ[(VFx)])) endfunction function dZo takes integer VFx returns nothing set RK[VFx]=.0 call dWo(VFx) call dYo(VFx) set FK[(VFx)]=1. +call dzo(VFx) call GTx(VFx) call GUx(VFx) endfunction function d_o takes integer VFx,integer Vhx returns nothing if(Vhx==0)then return endif call UnitModifySkillPoints(C[(VFx)],Vhx) +endfunction function d0o takes integer VFx returns nothing set DBv[VFx]=0 call d_o(VFx,-GetHeroSkillPoints(C[(VFx)])) endfunction function d1o takes integer VFx,integer Vhx returns nothing local integer OVx=(DBv[(VFx)]) set DBv[VFx]=Vhx +call UnitModifySkillPoints(C[(VFx)],Vhx-OVx) +endfunction function d2o takes integer VFx,real Vhx returns nothing set c4v[VFx]=Vhx +call cwo((VFx)) endfunction function d3o takes integer VFx,real Vhx returns nothing call d2o(VFx,(c4v[(VFx)])+Vhx) endfunction function d4o takes integer VFx,integer Vhx returns nothing call d1o(VFx,(DBv[(VFx)])+Vhx) endfunction function d5o takes integer VFx,integer OVx,integer Vhx returns nothing local integer DCx=(bj[((VFx))]) call FEx((VFx),DCv[0+Vhx]) set Vhx=Vhx-OVx call jkx((VFx),Vhx*Ddv) call F2x((VFx),Vhx*(DDv[(DCx)])) +call d3o((VFx),Vhx*(Dfv[(DCx)])) +call gQx((VFx),Vhx*(DFv[(DCx)])) +call d4o((VFx),Vhx) call GWx((VFx),Vhx*(Dgv[(DCx)])) +endfunction function d6o takes integer VFx returns nothing local integer Vhx=(GetHeroLevel(C[((VFx))])) +call d1o((VFx),1) set Dcv[VFx]=Vhx +call d5o(VFx,1,Vhx) call HDx(xd,(VFx)) endfunction function d7o takes integer VFx returns integer set DKv[VFx]=true set Dlv[VFx]=false call V1x(ITv) return VFx endfunction function d8o takes nothing returns integer local integer VFx if(DHv==8190)then call Vmx("FolderUnit_FolderMovement_FolderEvents_StructInterval_Allocation_allocCustom","call DebugEx(FolderUnit_FolderMovement_FolderEvents_StructInterval.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Iuv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Djv[(w)]==w)then set DJv=DJv+1 set VFx=DJv else +set VFx=Djv[(w)] +set Djv[(w)]=Djv[Djv[(w)]] endif set Djv[VFx]=Z set Dkv[VFx]=1 call d7o(VFx) return VFx endfunction function d9o takes integer VFx,integer N8x,real TNx returns nothing local integer ENx=VFx local integer TBx set VFx=QHx(N8x,Dhv+ENx) +if(VFx!=w)then call Vmx("FolderUnit_FolderMovement_FolderEvents_StructInterval_Add","call DebugEx(\"already listed \" + whichEvent.GetName() + \";\" + parent.GetName())","already listed "+(vc[(N8x)])+";"+(GetUnitName(C[(ENx)]))) return endif set VFx=d8o() set TBx=E5x() set DLv[VFx]=TNx +set Dmv[VFx]=TBx +set DMv[VFx]=ENx +set Dpv[VFx]=N8x +set ge[(TBx)]=(VFx) if EHx(ENx,DPv,VFx)then call djo(ENx,Dqv) call djo(ENx,DQv) endif call TRx(N8x,Dhv+ENx,VFx) endfunction function Dvo takes integer VFx returns nothing set dPv[VFx]=(dpv[((VFx))]) call CMx((VFx),DGv) call d9o((VFx),Dsv,.125) +endfunction function Deo takes integer VFx returns boolean set D0v=D0v+1 set D1v[D0v]=VFx +set D2v[VFx]=D0v+1 return(D0v==0) endfunction function Dxo takes nothing returns nothing local real OMx=GetCameraField(CAMERA_FIELD_ROTATION)-D6v +local real Doo=(Cos(((((OMx)*1.))*1.))) local real Dro=(Sin(((((OMx)*1.))*1.))) local integer VBx=D0v local integer VFx local real Dio local real x +local real Dao local real y +local real Dno local real DVo local real DEo local real Vsx local real DXo loop +set VFx=D1v[VBx] +if Cmx((VFx),tf)then +set Dtv[VFx]=.0 set Dyv[VFx]=.0 call MoveLightningEx(DSv[VFx],false,.0,.0,.0,.0,.0,.0) call MoveLightningEx(DTv[VFx],false,.0,.0,.0,.0,.0,.0) call MoveLightningEx(DWv[VFx],false,.0,.0,.0,.0,.0,.0) call MoveLightningEx(DYv[VFx],false,.0,.0,.0,.0,.0,.0) else +set Dio=drx((VFx))+175.*(JC[((VFx))]) set x=dxx((VFx)) +set Dao=60.*Doo set y=dox((VFx)) +set Dno=60.*Dro set DEo=(ce[(VVv[VFx])]) +if(DEo>.0)then set DEo=(TimerGetRemaining(Oe[(VVv[VFx])]))*1./ DEo call MoveLightningEx(VEv[VFx],false,x-Dao*1.5,y-Dno*1.5,Dio+75,x+Dao*1.5,y+Dno*1.5,Dio+75) call SetLightningColor(VEv[VFx],1.,1.,1.,1.) +call MoveLightningEx(VXv[VFx],false,x-Dao*1.5,y-Dno*1.5,Dio+75,x+(DEo*2-1)*Dao*1.5,y+(DEo*2-1)*Dno*1.5,Dio+75) call SetLightningColor(VXv[VFx],.0,.75,1.,1.) endif set DVo=Dtv[VFx] +set DXo=(aJ[((VFx))]) set Vsx=(iJ[((VFx))]) if(DXo>.0)then set DEo=Vsx*1./ DXo else +set DEo=.0 endif if(DEo>DVo)then set DEo=Xkx(DVo+D7v,DEo) +else +set DEo=E9x(DVo-D7v,DEo) +endif set Dtv[VFx]=DEo +if(DEo>.9)then call MoveLightningEx(DSv[VFx],false,.0,.0,.0,.0,.0,.0) call MoveLightningEx(DTv[VFx],false,.0,.0,.0,.0,.0,.0) else +call MoveLightningEx(DSv[VFx],false,x-Dao,y-Dno,Dio+50,x+Dao,y+Dno,Dio+50) call SetLightningColor(DSv[VFx],1.,1.,1.,FCx(D8v*DEo+D9v,Xkx(1.,.15),E9x(1.,.15))) call MoveLightningEx(DTv[VFx],false,x-Dao,y-Dno,Dio+50,x+(DEo*2-1)*Dao,y+(DEo*2-1)*Dno,Dio+50) call SetLightningColor(DTv[VFx],1.,.0,1.,FCx(D8v*DEo+D9v,Xkx(1.,.15),E9x(1.,.15))) endif set DVo=Dyv[VFx] +set DXo=(dpv[((VFx))]) set Vsx=(dPv[((VFx))]) if(DXo>.0)then set DEo=Vsx*1./ DXo else +set DEo=.0 endif if(DEo>DVo)then set DEo=Xkx(DVo+D7v,DEo) +else +set DEo=E9x(DVo-D7v,DEo) +endif set Dyv[VFx]=DEo +if(DEo>.9)then call MoveLightningEx(DWv[VFx],false,.0,.0,.0,.0,.0,.0) call MoveLightningEx(DYv[VFx],false,.0,.0,.0,.0,.0,.0) else +call MoveLightningEx(DWv[VFx],false,x-Dao,y-Dno,Dio,x+Dao,y+Dno,Dio) +call SetLightningColor(DWv[VFx],1.,1.,1.,FCx(D8v*DEo+D9v,Xkx(1.,.15),E9x(1.,.15))) call MoveLightningEx(DYv[VFx],false,x-Dao,y-Dno,Dio,x+(DEo*2-1)*Dao,y+(DEo*2-1)*Dno,Dio) +call SetLightningColor(DYv[VFx],1.,1.,.0,FCx(D8v*DEo+D9v,Xkx(1.,.15),E9x(1.,.15))) endif endif set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function DOo takes integer VFx returns nothing set VEv[VFx]=AddLightningEx("oBaB",false,.0,.0,.0,.0,.0,.0) set VXv[VFx]=AddLightningEx("oBaJ",false,.0,.0,.0,.0,.0,.0) set VVv[VFx]=E5x() set DSv[VFx]=AddLightningEx("oBaB",false,.0,.0,.0,.0,.0,.0) set Dtv[VFx]=.0 set DTv[VFx]=AddLightningEx("oBaJ",false,.0,.0,.0,.0,.0,.0) set Duv[VFx]=AddLightningEx("oBaB",false,.0,.0,.0,.0,.0,.0) set DUv[VFx]=.0 set Dwv[VFx]=AddLightningEx("oBaJ",false,.0,.0,.0,.0,.0,.0) set DWv[VFx]=AddLightningEx("oBaB",false,.0,.0,.0,.0,.0,.0) set Dyv[VFx]=.0 set DYv[VFx]=AddLightningEx("oBaJ",false,.0,.0,.0,.0,.0,.0) call CMx((VFx),Dzv) call CMx((VFx),DZv) call CMx((VFx),D_v) if Deo(VFx)then call Xax(D3v,D4v,true,function Dxo) endif endfunction function DRo takes integer VFx returns nothing local real Vhx=(Jk[((VFx))]) +set jk[VFx]=Vhx call SetWidgetLife(C[(VFx)],Vhx) +endfunction function DIo takes integer VFx returns nothing local real Vhx=(aJ[((VFx))]) +set iJ[VFx]=Vhx call SetUnitState(C[(VFx)],UNIT_STATE_MANA,Vhx) endfunction function DAo takes integer VFx returns nothing call HDx(zC,(VFx)) call HDx(ZC,(VFx)) call HDx(vd,(VFx)) call HDx(ed,(VFx)) endfunction function DNo takes integer VFx returns nothing set MK[VFx]=w set lK[VFx]=false call TriggerRegisterUnitEvent(UB[((Ld))],C[(VFx)],(EVENT_UNIT_ISSUED_ORDER)) +endfunction function Dbo takes integer VFx returns nothing set jL[VFx]=w set LK[VFx]=false call TriggerRegisterUnitEvent(UB[((SK))],C[(VFx)],(EVENT_UNIT_ISSUED_POINT_ORDER)) endfunction function DBo takes integer VFx returns nothing set lL[VFx]=w set mK[VFx]=false call TriggerRegisterUnitEvent(UB[((fev))],C[(VFx)],(EVENT_UNIT_ISSUED_TARGET_ORDER)) +endfunction function Dco takes integer VFx returns nothing call DNo(VFx) call Dbo(VFx) call DBo(VFx) endfunction function DCo takes integer VFx returns nothing call HDx(VL,VFx) +call CMx((VFx),fxv) if(HCx((VFx))==w)then return endif call Hlx(VFx) endfunction function Ddo takes integer VFx returns nothing call Dco(VFx) call DCo(VFx) endfunction function DDo takes integer VFx returns nothing set XL[VFx]=w call CMx((VFx),fvv) call Ddo(VFx) endfunction function Dfo takes integer VFx,integer V7x,integer V8x returns integer return(0+(LoadInteger(o[((V[(E[((fiv[VFx]))])]))],((((eGv[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))))))) endfunction function DFo takes integer VFx,integer V7x,integer V8x,integer VAx returns integer return(LoadInteger(o[((V[(E[((fiv[VFx]))])]))],((((eGv[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))+(VAx))))) endfunction function Dgo takes integer VFx returns nothing local integer DCx=(bj[(VFx)]) local integer Eix=V4x(0) +local integer BVx local integer VBx local integer V8x local integer EBx set Vv[(Eix)]=(VFx) set frv[(Eix)]=(DCx) +set BVx=V4x((A[(VFx)])) set Vv[(BVx)]=(VFx) set frv[(BVx)]=(DCx) +set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((Se))),((((1+8192*((((cLv))-1)*Iv+(((V8x))-1))))))))) +loop +exitwhen(EBx0)then set Nz[VFx]=true +return false +endif return true endfunction function Dko takes nothing returns boolean local integer VFx=ej +local unit Vdx if Qf[VFx]then return true endif set Vdx=C[VFx] set Qf[VFx]=true +call Bvx(tC,VFx) +call Box(VFx) call Bnx(VFx) if not DJo(VFx)then call ShowUnit(C[VFx],false) return true endif call BNx((VFx)) call SaveInteger(o[(((V[((E[((X))]))])))],(((GetHandleId(((Vdx)))))),(((((Vx))))),(0)) call BXx(Vdx) set Vdx=null +return true endfunction function DKo takes nothing returns boolean return( not((bj[(pKx())])!=ZH)) endfunction function Dlo takes integer VFx,integer DLo,integer Dmo returns nothing local integer ENx=VFx local integer Eix=V4x(0) +local integer Btx local integer VBx local integer V8x local integer EBx set Vv[(Eix)]=(ENx) set fXv[(Eix)]=(DLo) +set fOv[(Eix)]=(Dmo) +set frv[(Eix)]=(Dmo) +set Btx=V4x((A[(ENx)])) set Vv[(Btx)]=(ENx) set fXv[(Btx)]=(DLo) +set fOv[(Btx)]=(Dmo) +set frv[(Btx)]=(Dmo) +set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((Se))),((((1+8192*((((vU))-1)*Iv+(((V8x))-1))))))))) loop +exitwhen(EBxD7o) if(D8o[VBx]==0)then if(D2o((D6o[VBx]),sL))then call Erx(D6o[VBx],Eix) if not Cmx((VFx),tf)then +return endif endif elseif(D8o[VBx]==1)then if D3o(GEx,D6o[VBx])then +call Erx(D6o[VBx],D5o) if not Cmx((VFx),tf)then +return endif endif else +if D3o(ENx,D6o[VBx])then +call Erx(D6o[VBx],BVx) if not Cmx(ENx,tf)then return endif endif endif set VBx=VBx+1 endloop call ERx(((D5o))) call ERx(((Eix))) call ERx(((BVx))) endfunction function D9o takes integer VFx returns nothing set fKv[VFx]=false call EEx(ZT) +endfunction function fvo takes integer VFx returns nothing if(fJv[VFx]>0)then return endif if(fkv[VFx]!=Z)then call Vmx("SpotEffectWithSize_Allocation_deallocCustom_confirm","call DebugEx(SpotEffectWithSize.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",vu+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set fkv[VFx]=fkv[(w)] set fkv[(w)]=VFx +call D9o(VFx) endfunction function feo takes integer VFx returns nothing set fJv[VFx]=fJv[VFx]-1 call fvo(VFx) endfunction function fxo takes integer VFx returns nothing local integer MCx=fHv[VFx] local effect Vdx=fjv[VFx] call feo((VFx)) call Szx(MCx) call DestroyEffect(Vdx) set Vdx=null +endfunction function foo takes integer VFx returns integer set fKv[VFx]=true set fmv[VFx]=false call V1x(ZT) +return VFx endfunction function fro takes nothing returns integer local integer VFx if(flv==8190)then call Vmx("SpotEffectWithSize_Allocation_allocCustom","call DebugEx(SpotEffectWithSize.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",vu+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(fkv[(w)]==w)then set fLv=fLv+1 set VFx=fLv else +set VFx=fkv[(w)] +set fkv[(w)]=fkv[fkv[(w)]] endif set fkv[VFx]=Z set fJv[VFx]=1 call foo(VFx) return VFx endfunction function fio takes real x,real y,string Czx,integer EKx,real fao returns integer +local integer VFx=fro() local integer MCx=syx('qEWS',x,y,bex(x,y),fMv) set fHv[VFx]=MCx +set fjv[VFx]=AddSpecialEffectTarget(XHx(FV>=EKx,Czx),nm[MCx],"origin") call swx(MCx,fao) return VFx endfunction function fno takes integer VFx,real x,real y returns nothing +local string Czx=(Rmv[((VFx))]) if(Czx!=null)then call fxo(fio(x,y,fpv,EV,(JC[((VFx))]))) endif endfunction function fVo takes integer a,integer b returns integer local integer VFx=(LoadInteger(o[((Oc))],(a),(b))) if(VFx==0)then set VFx=NWx() set Bv[VFx]=And(Bv[a],Bv[b]) +call SaveInteger(o[((Oc))],(a),(b),(VFx)) endif return VFx endfunction function fEo takes integer VFx,real x,real y,real Pox,integer Wox returns nothing call GroupEnumUnitsInRange(jd[(VFx)],x,y,Pox,Bv[Wox]) endfunction function fXo takes integer VFx,real x,real y,real Pox,integer Wox returns nothing if(Wox==w)then set Wox=TQ endif set Wox=fVo(gW,Wox) set HW=Pox set GW=x +set hW=y +call fEo((VFx),x,y,Pox+fQv,Wox) endfunction function fOo takes integer VFx returns integer local integer Vtx=(OXx(FirstOfGroup(jd[(VFx)]))) +if(Vtx==w)then return w +endif call GroupRemoveUnit(jd[(VFx)],C[(Vtx)]) +return Vtx endfunction function fRo takes integer VFx,integer fIo returns nothing local integer fAo loop +set fAo=fOo(fIo) +exitwhen(fAo==w) +call GroupAddUnit(jd[(VFx)],C[(fAo)]) endloop endfunction function fNo takes integer VFx returns integer local integer Vtx=0 local integer fbo loop +set fbo=fOo((VFx)) exitwhen(fbo==w) +call GroupAddUnit(jd[(aW)],C[(fbo)]) +set Vtx=Vtx+1 endloop call fRo((VFx),aW) return Vtx endfunction function fBo takes integer VFx,integer csx,real R9x,boolean ATo returns real +return Ato(VFx,csx,R9x,ATo) endfunction function fco takes integer VFx,integer GEx returns nothing local real fCo=(Jk[((VFx))])*fhv +local integer fdo=(ze[(GEx)]) local real x=dxx((VFx)) local real y=dox((VFx)) local integer fDo local integer VUx local integer csx call fno(VFx,x,y) if((fPv[(fdo)])!=fqv)then return endif set fDo=Bkx() set zH=(ze[(GEx)]) call fXo(fDo,x,y,hyx((VFx),true)*5,fsv) set VUx=(fNo((fDo))) +if(VUx>0)then set fCo=fCo*1./ VUx loop +set csx=fOo(fDo) +exitwhen(csx==w) +call fBo(GEx,csx,fCo,false) endloop endif endfunction function ffo takes integer VFx returns integer set fUv[VFx]=true set fwv[VFx]=false call V1x(YT) +return VFx endfunction function fFo takes nothing returns integer local integer VFx if(fSv==8190)then call Vmx("FolderSpotEffectWithSize_StructDestroyTimed_Allocation_allocCustom","call DebugEx(FolderSpotEffectWithSize_StructDestroyTimed.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",zT+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(ftv[(w)]==w)then set fTv=fTv+1 set VFx=fTv else +set VFx=ftv[(w)] +set ftv[(w)]=ftv[ftv[(w)]] endif set ftv[VFx]=Z set fuv[VFx]=1 call ffo(VFx) return VFx endfunction function fgo takes integer VFx returns nothing set fUv[VFx]=false call EEx(YT) +endfunction function fGo takes integer VFx returns nothing if(fuv[VFx]>0)then return endif if(ftv[VFx]!=Z)then call Vmx("FolderSpotEffectWithSize_StructDestroyTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderSpotEffectWithSize_StructDestroyTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",zT+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set ftv[VFx]=ftv[(w)] set ftv[(w)]=VFx +call fgo(VFx) endfunction function fho takes integer VFx returns nothing set fuv[VFx]=fuv[VFx]-1 call fGo(VFx) endfunction function fHo takes nothing returns nothing local integer Xrx=XXx() local integer VFx=(ge[(Xrx)]) local integer ENx=fWv[VFx] call fho((VFx)) call Xbx(Xrx) call fxo(ENx) endfunction function fjo takes integer VFx,real Xdx returns nothing local integer ENx=VFx local integer Xrx set VFx=fFo() set Xrx=E5x() set fWv[VFx]=ENx +set ge[(Xrx)]=(VFx) call Xax(Xrx,Xdx,false,function fHo) +endfunction function fJo takes integer VFx,real x,real y returns nothing +local string Czx=(Cpv[((VFx))]) if(Czx!=null)then call fjo(fio(x,y,Czx,EV,(JC[((VFx))])),5.) endif endfunction function fko takes integer VFx,integer GEx returns nothing if(XIv[(VFx)])then call fco(VFx,GEx) elseif Cmx((VFx),cJv)then call fJo(VFx,dxx((VFx)),dox((VFx))) endif endfunction function fKo takes integer VFx returns nothing call Bcx((VFx)) endfunction function flo takes integer VFx returns integer set f_v[VFx]=true set f0v[VFx]=false call V1x(XGv) return VFx endfunction function fLo takes nothing returns integer local integer VFx if(fyv==8190)then call Vmx("FolderUnit_FolderDecay_StructTimed_Allocation_allocCustom","call DebugEx(FolderUnit_FolderDecay_StructTimed.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Xhv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(fYv[(w)]==w)then set fzv=fzv+1 set VFx=fzv else +set VFx=fYv[(w)] +set fYv[(w)]=fYv[fYv[(w)]] endif set fYv[VFx]=Z set fZv[VFx]=1 call flo(VFx) return VFx endfunction function fmo takes integer VFx returns nothing set f_v[VFx]=false call EEx(XGv) endfunction function fMo takes integer VFx returns nothing if(fZv[VFx]>0)then return endif if(fYv[VFx]!=Z)then call Vmx("FolderUnit_FolderDecay_StructTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderUnit_FolderDecay_StructTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Xhv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set fYv[VFx]=fYv[(w)] set fYv[(w)]=VFx +call fmo(VFx) endfunction function fpo takes integer VFx returns nothing set fZv[VFx]=fZv[VFx]-1 call fMo(VFx) endfunction function fPo takes integer VFx,integer Xrx,integer ENx returns nothing call fpo((VFx)) call Xbx(Xrx) call V0x(ENx,f3v) call cEx(ENx,f4v) call cEx(ENx,f5v) endfunction function fqo takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer ENx=f2v[VFx] call fPo(VFx,Xrx,ENx) call fKo(ENx) endfunction function fQo takes integer VFx,real Xdx returns nothing local integer ENx=VFx local integer Xrx set VFx=fLo() set Xrx=E5x() set f1v[VFx]=Xrx +set f2v[VFx]=ENx +set ge[(Xrx)]=(VFx) call Ejx(ENx,f3v,VFx) call CMx(ENx,f4v) call CMx(ENx,f5v) call Xax(Xrx,Xdx,false,function fqo) +endfunction function fso takes integer VFx,integer csx returns nothing local real Vsx return if(VFx==w)then return endif if(csx==w)then return endif if((fPv[((ze[(csx)]))])!=fqv)then return endif if(IsUnitAlly(C[(csx)],vx[((ze[((VFx))]))]))then +return endif if Cmx(csx,tf)then return endif if Cmx(csx,chv)then return endif if Cmx(csx,cjv)then return endif if Cmx(csx,clv)then return endif set Vsx=(C8v[(VFx)]) +if(Vsx<=0)then return endif call GNx(csx,Vsx) call gxx(csx,Vsx) call dlo(csx,Vsx) endfunction function fSo takes integer VFx,integer GEx returns nothing local boolean fto=fgv local real fTo call kgx((VFx)) if fto then set fgv=false endif call Cco((VFx),tf) if((Cmx((VFx),rG)and not Cmx((VFx),cGv))or Cmx((VFx),ckv))then call D4o(VFx,GEx) else +set fTo=(C_v[((VFx))]) set fto=(fto or(XIv[((VFx))])or(fTo==.0)) if fto then call fko((VFx),GEx) call D4o(VFx,GEx) if not(Qf[((VFx))])then call fKo((VFx)) endif else +call fQo((VFx),fTo) call D4o(VFx,GEx) endif endif call fso((VFx),GEx) call qQx((VFx)) endfunction function fuo takes nothing returns boolean local integer ENx=w8x() local integer GEx if not D1o(ENx)then return true endif set GEx=Yk set Yk=w +call fSo((ENx),GEx) return true endfunction function fUo takes nothing returns nothing set yk=(Nix()) set zu=(Nix()) set fFv=NSx(function fuo) set fGv=(Nix()) set yC=Pcx("FolderUnit_FolderDeath_StructEvents_Init: set FolderUnit_FolderDeath_StructEvents.REG_GROUP = UnitList.Create()") call Wex(fFv,Ge,EVENT_PLAYER_UNIT_DEATH,null) endfunction function fwo takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function fWo takes nothing returns nothing call fUo() set fsv=Nyx(function fwo) endfunction function fyo takes nothing returns nothing endfunction function fYo takes integer VFx,integer Vgx returns nothing call Hjx((I[(VFx)]),((A[((VFx))])),(Vgx)) endfunction function fzo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) local integer VBx=Bex(ENx,C2v) local integer Vhx call cEx(ENx,C3v) loop +set Vhx=Bxx(ENx,C2v,VBx) +call cEx(ENx,(C4v[(Vhx)])) set VBx=VBx-1 exitwhen(VBx0)then set Vdx=null +return Z +endif set Vtx=OXx(Vdx) +set Vdx=null +return Vtx endfunction function gMo takes nothing returns boolean local integer hZx=(gLo(GetOrderTargetItem())) local integer h_x=gmo() local integer VFx=w8x() local integer Bqx=(gFo(GetIssuedOrderId())) local integer Clx=gjo() set pK[(Clx)]=(Bqx) set LL[(Clx)]=(hZx) set mL[(Clx)]=(h_x) set Fgv[(Clx)]=(4) if mK[VFx]then if(lL[VFx]!=w)then call HRx(lL[VFx]) endif set lL[VFx]=Clx return true endif call H_x(VFx,Clx) return true endfunction function gpo takes nothing returns nothing set ML=(Nix()) set fev=NSx(function gMo) set pL=(Nix()) endfunction function gPo takes nothing returns nothing call gko() call glo() call gpo() endfunction function gqo takes integer VFx returns boolean if not((FHv[((VFx))])>0)then +return false +endif set FHv[Fjv[FJv]]=FHv[VFx] set Fjv[FHv[VFx]-1]=Fjv[FJv] +set FHv[VFx]=0 set FJv=FJv-1 return(FJv==F) endfunction function gQo takes integer VFx returns boolean if not((Fkv[((VFx))])>0)then +return false +endif set Fkv[FKv[Flv]]=Fkv[VFx] set FKv[Fkv[VFx]-1]=FKv[Flv] +set Fkv[VFx]=0 set Flv=Flv-1 return(Flv==F) endfunction function gso takes integer VFx,integer N8x returns nothing if V_x((VFx),Fhv,N8x)then call gqo(VFx) call cEx((VFx),FGv) if gQo(VFx)then call XNx(FLv) endif endif call cEx((VFx),N8x) endfunction function gSo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) local integer VBx=Bex(ENx,Fhv) loop +call gso((ENx),Bxx(ENx,Fhv,VBx)) +set VBx=VBx-1 exitwhen(VBx0)then +return false +endif set FPv[Fqv[FQv]]=FPv[VFx] set Fqv[FPv[VFx]-1]=Fqv[FQv] +set FPv[VFx]=0 set FQv=FQv-1 return(FQv==F) endfunction function gTo takes integer VFx returns nothing local integer ENx=VFx local integer Eix=V4x((A[(ENx)])) local integer VBx local integer V8x local integer EBx set Vv[(Eix)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(ENx,Fmv,V8x) +loop +exitwhen(EBx0)then +return true endif call gQo(VFx) if((FPv[((VFx))])>0)then +call gto(VFx) call gTo(VFx) endif return true endfunction function gUo takes integer VFx returns boolean if((Fkv[((VFx))])>0)then +return false +endif set Flv=Flv+1 set FKv[Flv]=VFx +set Fkv[VFx]=Flv+1 return(Flv==0) endfunction function gwo takes integer VFx returns boolean if((FPv[((VFx))])>0)then +return false +endif set FQv=FQv+1 set Fqv[FQv]=VFx +set FPv[VFx]=FQv+1 return(FQv==0) endfunction function gWo takes integer VFx returns nothing local integer ENx=VFx local integer Eix=V4x((A[(ENx)])) local integer VBx local integer V8x local integer EBx set Vv[(Eix)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(ENx,Fpv,V8x) +loop +exitwhen(EBx0)then +return true endif call gUo(VFx) call gwo(VFx) call gWo(VFx) return true endfunction function gYo takes nothing returns nothing set FGv=Nlx("FolderUnit_FolderOrder_FolderEvents_StructIdle_Init: set FolderUnit_FolderOrder_FolderEvents_StructIdle.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderOrder_FolderEvents_StructIdle.Event_Destroy)",TC,Sb,function gSo) +set Fmv=(Nix()) set FMv=(Nix()) set Fpv=(Nix()) set FLv=E5x() call jex(Nlx("FolderUnit_FolderOrder_FolderEvents_StructIdle_Init: call Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderOrder_FolderEvents_StructIdle.Event_Death).AddToStatics()",zu,Sb,function guo)) +call jex(Nlx("FolderUnit_FolderOrder_FolderEvents_StructIdle_Init: call Event.Create(UNIT.Revival.Events.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderOrder_FolderEvents_StructIdle.Event_Revive).AddToStatics()",Zu,Sb,function gyo)) endfunction function gzo takes integer VFx returns nothing call Bvx(VL,VFx) +call cEx((VFx),fxv) if not(b8x((cL),qC,(VFx)))then return endif call Bvx(cL,VFx) +if(Hbx((cL),qC))then +call XNx(CL) +endif endfunction function gZo takes nothing returns boolean local integer Eix=(bv) call gzo(((Vv[(Eix)]))) return true endfunction function g_o takes nothing returns nothing set fxv=Nlx("FolderUnit_FolderOrder_FolderEvents_StructLose_Init: set FolderUnit_FolderOrder_FolderEvents_StructLose.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderOrder_FolderEvents_StructLose.Event_Destroy)",TC,Sb,function gZo) +set gL=Pcx("FolderUnit_FolderOrder_FolderEvents_StructLose_Init: set FolderUnit_FolderOrder_FolderEvents_StructLose.ENUM_GROUP = UnitList.Create()") +set VL=Pcx("FolderUnit_FolderOrder_FolderEvents_StructLose_Init: set FolderUnit_FolderOrder_FolderEvents_StructLose.REG_GROUP = UnitList.Create()") set cL=Pcx("FolderUnit_FolderOrder_FolderEvents_StructLose_Init: set FolderUnit_FolderOrder_FolderEvents_StructLose.UPDATE_GROUP = UnitList.Create()") set CL=E5x() +endfunction function g0o takes nothing returns nothing call gPo() call gYo() call g_o() endfunction function g1o takes nothing returns nothing set fvv=Nlx("FolderUnit_StructOrder_Init: set FolderUnit_StructOrder.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructOrder.Event_Destroy)",TC,Sb,function gfo) +call g0o() endfunction function g2o takes nothing returns nothing endfunction function g3o takes nothing returns nothing endfunction function g4o takes integer csx returns nothing local integer VBx=Bex(csx,Rp) local integer VFx loop +set VFx=Bxx(csx,Rp,VBx) call KRx(VFx) set VBx=VBx-1 exitwhen(VBx0)then return endif if(FWv[VFx]!=Z)then call Vmx("FolderUnit_FolderSelection_StructCircle_Allocation_deallocCustom_confirm","call DebugEx(FolderUnit_FolderSelection_StructCircle.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Bdv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set FWv[VFx]=FWv[(w)] set FWv[(w)]=VFx +call Gao(VFx) endfunction function GVo takes integer VFx returns nothing set Fwv[VFx]=Fwv[VFx]-1 call Gno(VFx) endfunction function GEo takes integer VFx returns nothing call Gio(Ftv[VFx],FTv) call mLx(Fuv[VFx],FSv+FUv[VFx]) call GVo((VFx)) endfunction function GXo takes integer VFx,integer Vxx returns nothing local integer ENx=VFx local integer GOo set VFx=mKx(Vxx,FSv+VFx) +set GOo=Ftv[VFx] +call GEo(VFx) call cdx(GOo) endfunction function GRo takes integer VFx,integer Vxx returns nothing local integer ENx=VFx local integer Eix=V4x(0) +local integer BVx local integer VBx local integer V8x local integer EBx set Vv[(Eix)]=(VFx) set ax[(Eix)]=(Vxx) set BVx=V4x((A[(ENx)])) set Vv[(BVx)]=(VFx) set ax[(BVx)]=(Vxx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((Se))),((((1+8192*((((FZv))-1)*Iv+(((V8x))-1))))))))) +loop +exitwhen(EBx0)then set Vdx=null +return Z +endif set Vtx=OXx(Vdx) +set Vdx=null +return Vtx endfunction function G1o takes integer Vdx returns integer return(LoadInteger(o[((V[(E[((X))])]))],(((Vdx))),(((mv))))) +endfunction function G2o takes integer hdx,integer EKx,integer h_x,real h0x,real h1x,integer EAx returns nothing +local integer h2x=V4x((A[(hdx)])) local integer Ebx local integer VBx local integer V8x local integer EBx set Mv[(h2x)]=(EKx) set nv[(h2x)]=(EAx) set rL[(h2x)]=((h0x)*1.) +set iL[(h2x)]=((h1x)*1.) +set aL[(h2x)]=(h_x) set Vv[(h2x)]=(hdx) set Ebx=V4x((Ev[(EAx)])) +set Mv[(Ebx)]=(EKx) set nv[(Ebx)]=(EAx) set rL[(Ebx)]=((h0x)*1.) +set iL[(Ebx)]=((h1x)*1.) +set aL[(Ebx)]=(h_x) set Vv[(Ebx)]=(hdx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=Enx(EAx,gvv,V8x) +loop +exitwhen(EBx0)then call hOo(hdx,'BPar') +endif if not(b8x((UC),qC,(hdx)))then return false +endif if((G1o(GetSpellAbilityId()))==w)then return false +endif return true return true endfunction function hAo takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),Jl) +return true endfunction function hNo takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer Bqx=(QK[(Eix)]) local integer hbo if(Bqx==y8)then call dpx(hdx,Jl) +elseif(Bqx==vFv)then +set hbo=(ze[(hdx)]) if((Bhx(hdx,hbo)==q)and(Blx(hdx,hbo,q)==hdx))then call dpx(hdx,Jl) +endif endif return true endfunction function hBo takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) if((QK[(Eix)])==vjv)then +call dpx(hdx,Jl) +endif return true endfunction function hco takes integer csx returns nothing local integer VBx=Bex(csx,nSv) local integer hdx loop +set hdx=Bxx(csx,nSv,VBx) +call dpx(hdx,Jl) +set VBx=VBx-1 exitwhen(VBx0)then set Vdx=null +return Z +endif set Vtx=OXx(Vdx) +set Vdx=null +return Vtx endfunction function hzo takes integer VFx,integer csx returns real return FCx(((jj[((csx))])-(csv[((VFx))]))*1./ 'd',.05,.5) endfunction function hZo takes integer VFx,integer csx returns boolean if not(dxv[((csx))]>0)then return false +endif if(A4v[(csx)])then return false +endif if(OM[((VFx))])then return false +endif if((GetRandomReal(((.0)*1.),((1.)*1.)))>hzo((VFx),csx))then return false +endif call b0x((VFx),Xhx("patzer","dfffdfdf"),.02,140.,.0,1.5,(0)) +call cdx((C1x((csx),("Abilities\\Spells\\Orc\\MirrorImage\\MirrorImageDeathCaster.mdl"),("chest"),(fV)))) return true endfunction function h_o takes integer VFx,integer csx,real R9x returns nothing local integer ENx=VFx local integer Eix=V4x(0) +local integer Btx local integer VBx local integer V8x local integer EBx set Vv[(Eix)]=(ENx) set aL[(Eix)]=(csx) set Btx=V4x((A[(ENx)])) set Vv[(Btx)]=(ENx) set aL[(Btx)]=(csx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((Se))),((((1+8192*((((fRv))-1)*Iv+(((V8x))-1))))))))) +loop +exitwhen(EBxHeo) endloop call HJx((gdv),qC) endfunction function Hro takes integer VFx,integer csx,boolean ATo,real R9x returns nothing local real armorAmount=(A3v[(csx)]) local boolean Ayo=false local integer h9o=(Czv[((VFx))]) +local real Hio local integer oldTextTag +local integer ENx=VFx local real h0x=dxx(csx) local real h1x=dox(csx) local integer VBx=(Cuv[(ENx)]) local integer Hao=(CWv[(ENx)]) if hZo(ENx,csx)then return endif if APo(csx)then return endif loop +exitwhen(VBx<1) set R9x=R9x+(GetRandomInt((1),(Hao))) set VBx=VBx-1 endloop set R9x=R9x*(1.-(Cvv[(csx)])) set R9x=R9x*AMo((A3v[(csx)])) set R9x=R9x*(ZA[((Czv[(ENx)]))*7+((Cov[(csx)]))]) set Ayo=Apo(ENx,csx) +set R9x=Aqo(VFx,R9x,csx,false) set Hio=fBo(ENx,csx,R9x,false) if Ayo then set Hio=h0o(ENx,csx,Hio) +if(Hio>.0)then call Auo(csx,Xhx((I2S(((R2I(((((Hio)*1.))*1.))))))+"!",(kC[((ze[(ENx)]))])),Awo(Hio,(Jk[(csx)])*1./ 2.,.024,.028),160.,.0,1.,gAv+csx,Hio*1./ 2) endif else +if(Hio>.0)then call Auo(csx,Xhx((I2S(((R2I(((((Hio)*1.))*1.)))))),(kC[((ze[(ENx)]))])),Awo(Hio,(Jk[(csx)])*1./ 2.,.016,.022),160.,.0,1.,gAv+csx,Hio*1./ 2) endif endif call h1o(ENx,csx) call h2o(ENx,csx) call h7o(VFx,R9x,h9o,h0x,h1x,csx) endfunction function Hno takes nothing returns boolean local integer ENx=hYo() local boolean AQo=gIv local integer csx=w8x() if((ENx==Z)or((GetEventDamage())==.0)or((Cbv[((bj[(((ENx)))]))])==CBv))then set nL=true endif set gIv=false if nL then set nL=false +else +if AQo then call Aqo((ENx),.0,csx,true) else +call Hro((ENx),csx,true,(ak[(ENx)])) +endif endif return true endfunction function HVo takes nothing returns boolean local integer csx=pKx() if(b8x((gdv),qC,(csx)))then return false +endif if(not gDv and(IsUnitAlly(C[(csx)],vx[(zH)])))then return false +endif if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif return true return true endfunction function HEo takes nothing returns nothing set gRv=(Nix()) set Nev=(Nix()) set Cwv=NSx(function Hno) set gFv=Nyx(function HVo) set gfv=Bkx() set gdv=Pcx("FolderUnit_FolderDamage_StructEvents_Init: set FolderUnit_FolderDamage_StructEvents.SPLASH_GROUP2 = UnitList.Create()") +set ggv=(Nix()) set Nvv=(Nix()) endfunction function HXo takes integer VFx returns nothing call GMx(VFx,(xk[(VFx)])) endfunction function HOo takes integer VFx,real Vhx returns nothing set ok[VFx]=Vhx call HXo((VFx)) endfunction function HRo takes integer VFx,real Vhx returns nothing call HOo(VFx,(ok[(VFx)])+Vhx) endfunction function HIo takes nothing returns boolean local integer Eix=(bv) call HRo(((Vv[(Eix)])),(Vf[(Eix)])) return true endfunction function HAo takes nothing returns boolean local integer Eix=(bv) local integer Dmo=(frv[(Eix)]) local integer VFx=(Vv[(Eix)]) set CWv[(VFx)]=((Cyv[(Dmo)])) return true endfunction function HNo takes nothing returns boolean local integer Eix=(bv) local integer Dmo=(frv[(Eix)]) local integer VFx=(Vv[(Eix)]) set Czv[(VFx)]=((CZv[(Dmo)])) return true endfunction function Hbo takes nothing returns nothing call huo() call hWo() call jex(Nlx("FolderUnit_FolderDamage_StructDices_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderDamage_StructDices.Event_TypeChange).AddToStatics()",vU,Sb,function hyo)) call HEo() set gGv=DZo(OMv,function HIo) call jex(Nlx("FolderUnit_FolderDamage_StructSides_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderDamage_StructSides.Event_TypeChange).AddToStatics()",vU,Sb,function HAo)) call jex(Nlx("FolderUnit_FolderDamage_StructTypeA_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderDamage_StructTypeA.Event_TypeChange).AddToStatics()",vU,Sb,function HNo)) endfunction function HBo takes nothing returns nothing endfunction function Hco takes nothing returns nothing endfunction function HCo takes integer VFx,boolean Vsx returns nothing if Vsx then call JYx(((VFx)),RP) +else +call jGx((((VFx))),(RP),(1),w) endif endfunction function Hdo takes nothing returns boolean local integer Eix=(bv) call HCo(((Vv[(Eix)])),not(of[(Eix)])) return true endfunction function HDo takes nothing returns boolean local integer Eix=(bv) local integer DLo=(fXv[(Eix)]) local integer Dmo=(frv[(Eix)]) local integer VFx=(Vv[(Eix)]) local boolean Hfo=((Cp[(Dmo)])>.0) if(((Cp[(DLo)])>.0)==Hfo)then if not Hfo then call doo(VFx) endif return true endif if Hfo then call JYx(((VFx)),RP) +else +call doo(VFx) endif return true endfunction function HFo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) local integer VBx=Bex(ENx,DPv) local integer VFx loop +set VFx=Bxx(ENx,DPv,VBx) +call XNx(Dmv[VFx]) set VBx=VBx-1 exitwhen(VBx0)then set yW[VFx]=true +return false +endif return true endfunction function HWo takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((MC[VFx]))])])],((((pC[((VFx))]))))) endfunction function Hyo takes integer VFx returns nothing set TW[VFx]=false call HWo((VFx)) call EEx(UW) +endfunction function HYo takes integer VFx returns nothing if(tW[VFx]>0)then return endif if(sW[VFx]!=Z)then call Vmx("UnitList_Allocation_deallocCustom_confirm","call DebugEx(UnitList.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",sC+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set sW[VFx]=sW[(w)] set sW[(w)]=VFx call Hyo(VFx) endfunction function Hzo takes integer VFx returns nothing set tW[VFx]=tW[VFx]-1 call HYo(VFx) endfunction function HZo takes integer VFx returns nothing call HJx((VFx),qC) if not Hwo(VFx)then return endif call Hzo((VFx)) endfunction function H_o takes nothing returns boolean local integer Eix=(bv) local integer HMo=(gMv[(Eix)]) local integer VFx=HMo call Huo((HMo),tQ) call HUo(HMo,gUv) call HUo(HMo,gmv) call HUo(HMo,guv) call HZo(gPv[VFx]) call HZo(gSv[VFx]) return true endfunction function H0o takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) local integer VBx=Bex(ENx,gQv) local integer VFx loop +set VFx=Bxx(ENx,gQv,VBx) +call Hso((ENx),VFx) set VBx=VBx-1 exitwhen(VBx.0)then set H9o=3 else +set H9o=1+H6o(Vhx<.0) endif call dXo((VFx)) call ELx((VFx),'AmSp',H9o) call H7o((VFx)) endfunction function jvo takes integer VFx,real Vhx returns nothing call H8o(VFx,(dLv[(VFx)])+Vhx) endfunction function jeo takes nothing returns boolean local integer Eix=(bv) call jvo(((Vv[(Eix)])),(Vf[(Eix)])) return true endfunction function jxo takes nothing returns nothing call w6x(Ge,'AmSx',false) set gwv=DZo(I3v,function jeo) endfunction function joo takes integer VFx returns nothing call H8o(VFx,(dLv[(VFx)])) endfunction function jro takes integer VFx,real Vhx returns nothing set dmv[VFx]=Vhx +call joo((VFx)) endfunction function jio takes integer VFx,real Vhx returns nothing call jro(VFx,(dmv[(VFx)])+Vhx) endfunction function jao takes nothing returns boolean local integer Eix=(bv) call jio(((Vv[(Eix)])),(Vf[(Eix)])) return true endfunction function jno takes nothing returns nothing call jex(Nlx("FolderUnit_FolderMovement_FolderSpeed_StructBaseA_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderMovement_FolderSpeed_StructBaseA.Event_TypeChange).AddToStatics()",vU,Sb,function H5o)) call jxo() set exv=DZo(I5v,function jao) endfunction function jVo takes nothing returns nothing set ghv=DZo(I8v,function Hdo) call jex(Nlx("FolderUnit_StructMovement_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructMovement.Event_TypeChange).AddToStatics()",vU,Sb,function HDo)) call H2o() call jno() endfunction function jEo takes nothing returns boolean local integer Eix=(bv) local integer DLo=(fXv[(Eix)]) local integer Dmo=(frv[(Eix)]) local integer VFx=(Vv[(Eix)]) call jkx(VFx,(vm[(Dmo)])-(vm[(DLo)])) return true endfunction function jXo takes nothing returns boolean local integer Eix=(bv) call jdx(((Vv[(Eix)]))) return true endfunction function jOo takes nothing returns boolean local integer Eix=(bv) call jHx(((Vv[(Eix)]))) return true endfunction function jRo takes integer VFx,real Vhx returns nothing set ZL[VFx]=Vhx call jHx((VFx)) endfunction function jIo takes integer VFx,real Vhx returns nothing call jRo(VFx,(ZL[(VFx)])+Vhx) endfunction function jAo takes nothing returns boolean local integer Eix=(bv) call jIo(((Vv[(Eix)])),(Vf[(Eix)])) return true endfunction function jNo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) local integer VBx=Bex(ENx,Km) local integer VFx loop +set VFx=Bxx(ENx,Km,VBx) call jSx(VFx,jm[VFx],ENx) set VBx=VBx-1 exitwhen(VBx0)then return endif if(Djv[VFx]!=Z)then call Vmx("FolderUnit_FolderMovement_FolderEvents_StructInterval_Allocation_deallocCustom_confirm","call DebugEx(FolderUnit_FolderMovement_FolderEvents_StructInterval.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Iuv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Djv[VFx]=Djv[(w)] set Djv[(w)]=VFx +call jdo(VFx) endfunction function jfo takes integer VFx returns nothing set Dkv[VFx]=Dkv[VFx]-1 call jDo(VFx) endfunction function jFo takes integer VFx,integer Vgx returns nothing call SaveInteger(o[(((V[(E[((hB[(VFx)]))])])))],(((((kB[((VFx))]))))),((((Vgx)))),(0)) endfunction function jgo takes integer VFx,integer Vgx,integer Vhx returns boolean local integer OVx=Vfx(VFx,Vgx) set Vhx=(OVx-Vhx) call Ejx(VFx,Vgx,Vhx) if(OVx==0)then return false +endif return(Vhx==0) endfunction function jGo takes integer VFx,integer N8x returns nothing local integer ENx=VFx if not jgo(ENx,dZv+N8x,1)then return endif call cEx(ENx,N8x) if not jgo(ENx,d_v,1)then return endif call Bvx(d0v,ENx) if(Hbx((d0v),qC))then call XNx(d1v) endif endfunction function jho takes integer VFx,integer N8x returns nothing local integer ENx=VFx local integer TBx set VFx=QHx(N8x,Dhv+ENx) +if(VFx==w)then call Vmx("FolderUnit_FolderMovement_FolderEvents_StructInterval_Remove","call DebugEx(\"not listed \" + whichEvent.GetName() + \";\" + parent.GetName() + \";\" + I2S(parent))","not listed "+(vc[(N8x)])+";"+(GetUnitName(C[(ENx)]))+";"+I2S(ENx)) return endif set TBx=Dmv[VFx] +call jfo((VFx)) call Xbx(TBx) call jFo(N8x,Dhv+ENx) if V_x(ENx,DPv,VFx)then call jGo(ENx,Dqv) call jGo(ENx,DQv) endif endfunction function jHo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) call cEx(ENx,DGv) call jho(ENx,Dsv) return true endfunction function jjo takes nothing returns boolean local integer Eix=(bv) local integer VFx=(Vv[(Eix)]) local real Vhx=E9x(.0,(dPv[(VFx)])-gZv) call ddo(VFx,Vhx) return true endfunction function jJo takes nothing returns nothing endfunction function jko takes nothing returns nothing set DGv=Nlx("FolderUnit_StructStamina_Init: set FolderUnit_StructStamina.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructStamina.Event_Destroy)",TC,Sb,function jHo) set Dsv=Nlx("FolderUnit_StructStamina_Init: set FolderUnit_StructStamina.MOVE_EVENT = Event.Create(NULL, NULL, function FolderUnit_StructStamina.Event_Move)",w,w,function jjo) call jJo() endfunction function jKo takes nothing returns nothing endfunction function jlo takes integer VFx,boolean Vsx returns nothing if Vsx then call JYx(((VFx)),Vvv) else +call jGx((((VFx))),(Vvv),(1),w) endif endfunction function jLo takes nothing returns boolean local integer Eix=(bv) call jlo(((Vv[(Eix)])),not(of[(Eix)])) return true endfunction function jmo takes nothing returns integer local unit Vdx=GetEventTargetUnit() local integer Vtx if(GetUnitAbilityLevel(Vdx,'aLoc')>0)then set Vdx=null +return Z +endif set Vtx=OXx(Vdx) +set Vdx=null +return Vtx endfunction function jMo takes integer VFx,integer csx returns nothing local integer ENx=VFx local integer c2o=(bj[(ENx)]) local integer Eix=V4x((A[(ENx)])) local integer VBx local integer V8x local integer EBx set aL[(Eix)]=(csx) set Vv[(Eix)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(ENx,eav,V8x) +loop +exitwhen(EBx0)then set Vdx=null +return Z +endif set Vtx=OXx(Vdx) +set Vdx=null +return Vtx endfunction function jyo takes nothing returns boolean local integer ENx=w8x() if not jTo(ENx)then return true endif call juo((ENx),jWo()) return true endfunction function jYo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) local integer VFx=ENx call cEx(ENx,CNv) if CAv[VFx]then call jpo(VFx,g1v[VFx],ENx) endif return true endfunction function jzo takes nothing returns nothing set CNv=Nlx("FolderUnit_FolderAttack_FolderEvents_StructAcquire2_Init: set FolderUnit_FolderAttack_FolderEvents_StructAcquire2.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderAttack_FolderEvents_StructAcquire2.Event_Destroy)",TC,Sb,function jYo) set g2v=(Nix()) endfunction function jZo takes unit Vdx returns integer return(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId(((Vdx))))),((((Z1)))))) endfunction function j_o takes integer VFx returns nothing set Gxv[VFx]=false call EEx(EJv) endfunction function j0o takes integer VFx returns nothing if(Gvv[VFx]>0)then return endif if(Gev[VFx]!=Z)then call Vmx("FolderUnit_FolderAttack_FolderEvents_StructGround_Allocation_deallocCustom_confirm","call DebugEx(FolderUnit_FolderAttack_FolderEvents_StructGround.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Ekv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Gev[VFx]=Gev[(w)] set Gev[(w)]=VFx +call j_o(VFx) endfunction function j1o takes integer VFx returns nothing set Gvv[VFx]=Gvv[VFx]-1 call j0o(VFx) endfunction function j2o takes integer VFx,integer MCx,integer ENx returns nothing call j1o((VFx)) call shx(MCx,g8v) call MBx(MCx,Gov) call V_x(ENx,Grv,VFx) call qQx(ENx) endfunction function j3o takes integer VFx,integer h5o returns boolean return h4o((bj[((VFx))]),h5o) endfunction function j4o takes integer VFx returns integer return Bex((VFx),CLv) endfunction function j5o takes integer VFx,integer VAx returns integer return Bxx((VFx),CLv,VAx) endfunction function j6o takes integer VFx returns nothing call jGx(((VFx)),(XXv),(1),w) endfunction function j7o takes integer VFx returns nothing call JYx((VFx),XXv) endfunction function j8o takes integer VFx,integer csx,real R9x,integer V7x returns nothing set R9x=R9x*(1.-(Cvv[(csx)])) set R9x=R9x*AMo((A3v[(csx)])) set R9x=R9x*(ZA[(V7x)*7+((Cov[(csx)]))]) +call j6o(csx) call fBo((VFx),csx,R9x,false) call j7o(csx) endfunction function j9o takes integer VFx,real x,real y returns nothing +local boolean Hxo=j3o((VFx),0) local real h8o=(ak[((VFx))])+(xk[((VFx))]) local integer Jvo=(CWv[((VFx))]) +local integer h9o=(Czv[((VFx))]) +local integer VBx=(Cuv[((VFx))]) +local integer Heo=j4o((VFx)) +local integer HTx=(ze[((VFx))]) local real Hoo local integer CEo local integer csx local real array Jeo +loop +exitwhen(VBx<1) set h8o=h8o+(GetRandomInt((1),(Jvo))) set VBx=VBx-1 endloop set h8o=h8o*(ok[((VFx))])*(Bk[((VFx))]) set VBx=q loop +exitwhen(VBx>Heo) set CEo=j5o((VFx),VBx) set gDv=Hxo set zH=HTx call fXo(Gav,x,y,(CKv[(CEo)]),Gnv) loop +set csx=fOo(Gav) +exitwhen(csx==w) +if not(b8x((GVv),qC,(csx)))then set Jeo[csx]=.0 call HDx(GVv,csx) endif set Jeo[csx]=Jeo[csx]+(Clv[(CEo)]) endloop set VBx=VBx+1 endloop loop +set csx=(Hcx((GVv),qC)) exitwhen(csx==w) +call j8o(VFx,csx,h8o*Jeo[csx],h9o) endloop endfunction function Jxo takes integer VFx,real x,real y returns nothing +local integer ENx=VFx local integer Eix=V4x((A[(ENx)])) local integer VBx local integer V8x local integer EBx set rL[(Eix)]=((x)*1.) set iL[(Eix)]=((y)*1.) set Vv[(Eix)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(ENx,Giv,V8x) +loop +exitwhen(EBx0)then return endif if(GIv[VFx]!=Z)then call Vmx("FolderDummyUnit_StructDestroyTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderDummyUnit_StructDestroyTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",c0+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set GIv[VFx]=GIv[(w)] set GIv[(w)]=VFx +call JVo(VFx) endfunction function JXo takes integer VFx returns nothing set GNv[VFx]=GNv[VFx]-1 call JEo(VFx) endfunction function JOo takes nothing returns nothing local integer Xrx=XXx() local integer VFx=(ge[(Xrx)]) local integer ENx=Gcv[VFx] call JXo((VFx)) call Xbx(Xrx) call SWx(ENx) endfunction function JRo takes integer VFx,real Xdx returns nothing local integer ENx=VFx local integer Xrx set VFx=Jno() set Xrx=E5x() set Gcv[VFx]=ENx +set ge[(Xrx)]=(VFx) call Xax(Xrx,Xdx,false,function JOo) +endfunction function JIo takes integer VFx returns real return(GCv[((bj[((VFx))]))]) +endfunction function JAo takes nothing returns boolean local integer Eix=(bv) local integer csx=(aL[(Eix)]) local integer ENx=(Vv[(Eix)]) local real h0x=dxx(csx) local real h1x=dox(csx) local integer VFx=Jio() local integer MCx=syx('qGrA',h0x,h1x,.0,.0) set g9v[VFx]=ENx +call TriggerRegisterUnitEvent(UB[((g7v))],nm[(MCx)],(EVENT_UNIT_DAMAGED)) call SKx(MCx,g8v,VFx) call Slx(MCx,Gov) call EHx(ENx,Grv,VFx) call kgx(ENx) call JRo(MCx,JKx(h0x-dxx(ENx),h1x-dox(ENx))*1./ JIo(ENx)+2.) +return true endfunction function JNo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) call cEx(ENx,Ccv) call cEx(ENx,CCv) return true endfunction function Jbo takes nothing returns boolean local integer Eix=(bv) local integer MCx=(Pu[(Eix)]) local integer VFx=SJx(MCx,g8v) call j2o(VFx,MCx,g9v[VFx]) return true endfunction function JBo takes nothing returns boolean local integer csx=pKx() if(not gDv and(IsUnitAlly(C[(csx)],vx[(zH)])))then return false +endif if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif return true return true endfunction function Jco takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) local integer DLo=(fXv[(Eix)]) local integer Dmo=(frv[(Eix)]) local boolean JCo=((Cbv[(Dmo)])==CBv) if(((Cbv[(DLo)])==CBv)==JCo)then +return true endif if JCo then call CMx(ENx,Ccv) call CMx(ENx,CCv) else +call cEx(ENx,Ccv) call cEx(ENx,CCv) endif return true endfunction function Jdo takes nothing returns nothing set g7v=NSx(function Joo) set Ccv=Nlx("FolderUnit_FolderAttack_FolderEvents_StructGround_Init: set FolderUnit_FolderAttack_FolderEvents_StructGround.ATTACK_EVENT = Event.Create(UNIT.Attack.Events.DUMMY_EVENT_TYPE, EventPriority.EVENTS, function FolderUnit_FolderAttack_FolderEvents_StructGround.Event_Attack)",g3v,eB,function JAo) +set CCv=Nlx("FolderUnit_FolderAttack_FolderEvents_StructGround_Init: set FolderUnit_FolderAttack_FolderEvents_StructGround.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.EVENTS, function FolderUnit_FolderAttack_FolderEvents_StructGround.Event_Destroy)",TC,eB,function JNo) set Giv=(Nix()) set Gov=Nlx("FolderUnit_FolderAttack_FolderEvents_StructGround_Init: set FolderUnit_FolderAttack_FolderEvents_StructGround.DUMMY_UNIT_DESTROY_EVENT = Event.Create(DummyUnit.DESTROY_EVENT_TYPE, EventPriority.EVENTS, function FolderUnit_FolderAttack_FolderEvents_StructGround.Event_DummyUnitDestroy)",yu,eB,function Jbo) set Gav=Bkx() set GVv=Pcx("FolderUnit_FolderAttack_FolderEvents_StructGround_Init: set FolderUnit_FolderAttack_FolderEvents_StructGround.ENUM_GROUP2 = UnitList.Create()") +set Gnv=Nyx(function JBo) call jex(Nlx("FolderUnit_FolderAttack_FolderEvents_StructGround_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderAttack_FolderEvents_StructGround.Event_TypeChange).AddToStatics()",vU,Sb,function Jco)) endfunction function JDo takes nothing returns nothing set eav=(Nix()) set CRv=NSx(function jso) set g3v=(Nix()) set CIv=NSx(function jto) set g4v=(Nix()) set WC=Pcx("FolderUnit_FolderAttack_StructEvents_Init: set FolderUnit_FolderAttack_StructEvents.OFFENDED_REG_GROUP = UnitList.Create()") +set g5v=(Nix()) set g6v=NSx(function jyo) call Wex(g6v,Ge,EVENT_PLAYER_UNIT_ATTACKED,null) +call jzo() call Jdo() endfunction function Jfo takes nothing returns boolean local integer Eix=(bv) local integer DLo=(fXv[(Eix)]) local integer Dmo=(frv[(Eix)]) local integer VFx=(Vv[(Eix)]) call Fcx(VFx,(Cfv[(Dmo)])-(Cfv[(DLo)])) return true endfunction function JFo takes integer VFx,unit Vdx,real R9x,real FPx returns nothing local integer Fqx local integer FQx set R9x=R9x*'d' set FPx=FPx*'d' if(R9x*FPx<=.0)then if(FPx<.0)then set FQx=Gdv loop +call UnitRemoveAbility(Vdx,aav[FQx]) +set FQx=FQx-1 exitwhen(FQx<0) endloop else +set FQx=GDv loop +call UnitRemoveAbility(Vdx,aiv[FQx]) +set FQx=FQx-1 exitwhen(FQx<0) endloop endif if(R9x<.0)then set R9x=-R9x +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(Gdv)))*1.))) +loop +exitwhen(R9x<1.) +set Fqx=anv[FQx] +if(Fqx<=R9x)then +set R9x=R9x-Fqx call UnitAddAbility(Vdx,aav[FQx]) endif set FQx=FQx-1 endloop else +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(GDv)))*1.))) +loop +exitwhen(R9x<1.) +set Fqx=anv[FQx] +if(Fqx<=R9x)then +set R9x=R9x-Fqx call UnitAddAbility(Vdx,aiv[FQx]) endif set FQx=FQx-1 endloop endif else +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(Gdv)))*1.))) +if(R9x<.0)then set R9x=-R9x +loop +exitwhen(FQx<0) set Fqx=anv[FQx] +if(Fqx<=R9x)then +set R9x=R9x-Fqx call UnitAddAbility(Vdx,aav[FQx]) else +call UnitRemoveAbility(Vdx,aav[FQx]) +endif set FQx=FQx-1 endloop else +set FQx=(R2I(((Xkx((Fmx((R2I(((E9x(FMx(FPx),FMx(R9x)))*1.))))),(GDv)))*1.))) +loop +exitwhen(FQx<0) set Fqx=anv[FQx] +if(Fqx<=R9x)then +set R9x=R9x-Fqx else +call UnitRemoveAbility(Vdx,aiv[FQx]) +endif set FQx=FQx-1 endloop endif endif endfunction function Jgo takes integer VFx,real Vhx returns nothing local real OVx=(uj[(VFx)]) set uj[VFx]=Vhx call JFo(Gfv,C[(VFx)],Vhx,OVx) endfunction function JGo takes integer VFx returns nothing call Jgo((VFx),(((Cj[((VFx))]))*1.)) +endfunction function Jho takes integer VFx,real Vhx returns nothing set Cj[VFx]=Vhx call JGo(VFx) call Fbx((VFx)) endfunction function JHo takes integer VFx,real Vhx returns nothing call Jho(VFx,(Cj[(VFx)])+Vhx) endfunction function Jjo takes nothing returns boolean local integer Eix=(bv) call JHo(((Vv[(Eix)])),(Vf[(Eix)])) return true endfunction function JJo takes nothing returns nothing endfunction function Jko takes nothing returns nothing set RRv=DZo(Euv,function Jjo) call JJo() endfunction function JKo takes nothing returns nothing call jex(Nlx("FolderUnit_FolderAttack_FolderSpeed_StructBaseA_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderAttack_FolderSpeed_StructBaseA.Event_TypeChange).AddToStatics()",vU,Sb,function Jfo)) call Jko() endfunction function Jlo takes integer VFx returns nothing set CJv[VFx]=false call EEx(aqv) endfunction function JLo takes integer VFx returns nothing if(Cjv[VFx]>0)then return endif if(Chv[VFx]!=Z)then call Vmx("UnitAttackSplash_Allocation_deallocCustom_confirm","call DebugEx(UnitAttackSplash.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",aQv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Chv[VFx]=Chv[(w)] set Chv[(w)]=VFx +call Jlo(VFx) endfunction function Jmo takes integer VFx returns nothing set Cjv[VFx]=Cjv[VFx]-1 call JLo(VFx) endfunction function JMo takes nothing returns boolean local integer Eix=(bv) local integer Dmo=(frv[(Eix)]) local integer VFx=(Vv[(Eix)]) local integer VBx=Bex((VFx),Cgv) +local integer CEo loop +exitwhen(VBx0))then call Hix(VFx,hEx) endif if J7o then call d9x(((VFx)),(GHv),(1),w,((.01)*1.)) +call J4o(hEx) elseif(hIx(((hEx)),Gh,(xY)))then +call D7x(hEx) else +if((Ch[(hEx)])>0)then call J5o(hEx,1) endif endif endfunction function J8o takes integer VFx,integer hEx returns nothing call J6o(VFx,hEx) endfunction function J9o takes integer VFx returns integer local integer kvo=(UnitInventorySize(C[((VFx))]))-1 local integer VBx=0 loop +exitwhen(VBx>kvo) if((Vfx(((VFx)),wK+(VBx)))==w)then return VBx endif set VBx=VBx+1 endloop return-1 +endfunction function keo takes integer VFx,integer hEx returns integer local integer kxo if(hIx(((hEx)),Gh,(xY)))then +return-1 +endif set kxo=J9o(VFx) +call Ejx((VFx),wK+kxo,hEx) call Ejx((VFx),Gjv+hEx,0+1+kxo) set Vh[(hEx)]=(kxo) return kxo endfunction function koo takes integer VFx,integer hEx returns integer local integer Vtx=Vfx((VFx),Gjv+hEx) +if(Vtx==0)then return-1 +endif return(Vtx-0-1) endfunction function kro takes integer VFx,integer hEx returns boolean return(koo(VFx,hEx)!=-1) +endfunction function kio takes integer VFx,integer hEx,integer kxo returns nothing local integer ENx=VFx local integer Hax=(Oh[(hEx)]) local integer Hnx=V4x((Ih[(Hax)])) local integer Eix local integer VBx local integer V8x local integer EBx set dh[(Hnx)]=(hEx) set GJv[(Hnx)]=(kxo) +set Hh[(Hnx)]=(Hax) set Vv[(Hnx)]=(ENx) set Eix=V4x((A[(ENx)])) set dh[(Eix)]=(hEx) set GJv[(Eix)]=(kxo) +set Hh[(Eix)]=(Hax) set Vv[(Eix)]=(ENx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=frx(Hax,GGv,V8x) +loop +exitwhen(EBx0)then set Vdx=null +return Z +endif set Vtx=OXx(Vdx) +set Vdx=null +return Vtx endfunction function kho takes integer VFx,integer kHo,integer hEx returns nothing local integer Hax=(Oh[(hEx)]) local integer Hnx=V4x((Ih[(Hax)])) local integer VBx local integer V8x local integer EBx set dh[(Hnx)]=(hEx) set Hh[(Hnx)]=(Hax) set aL[(Hnx)]=(kHo) set Vv[(Hnx)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=frx(Hax,Gpv,V8x) +loop +exitwhen(EBx0)then +return false +endif set Dov[Div[Drv]]=Dov[VFx] set Div[Dov[VFx]-1]=Div[Drv] +set Dov[VFx]=0 set Drv=Drv-1 return(Drv==F) endfunction function KRo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) if KOo(ENx)then call XNx(Dav) endif call cEx(ENx,dzv) call jGo(ENx,Dev) call jGo(ENx,Dxv) return true endfunction function KIo takes nothing returns boolean local integer Eix=(bv) call dJo((Vv[(Eix)])) return true endfunction function KAo takes nothing returns boolean local integer Eix=(bv) call KOo((Vv[(Eix)])) return true endfunction function KNo takes integer VFx,real Vhx returns nothing set DOv[VFx]=Vhx +call dMo((VFx)) endfunction function Kbo takes integer VFx,real Vhx returns nothing call KNo(VFx,(DOv[(VFx)])+Vhx) endfunction function KBo takes nothing returns boolean local integer Eix=(bv) call Kbo(((Vv[(Eix)])),(Vf[(Eix)])) return true endfunction function Kco takes nothing returns nothing set dzv=Nlx("FolderUnit_StructStaminaRegeneration_Init: set FolderUnit_StructStaminaRegeneration.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructStaminaRegeneration.Event_Destroy)",TC,Sb,function KRo) set Dev=Nlx("FolderUnit_StructStaminaRegeneration_Init: set FolderUnit_StructStaminaRegeneration.MOVE_ENDING_EVENT = Event.Create(UNIT.Movement.Events.ENDING_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructStaminaRegeneration.Event_MoveEnding)",d9v,Sb,function KIo) set Dxv=Nlx("FolderUnit_StructStaminaRegeneration_Init: set FolderUnit_StructStaminaRegeneration.MOVE_START_EVENT = Event.Create(UNIT.Movement.Events.START_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructStaminaRegeneration.Event_MoveStart)",Dvv,Sb,function KAo) set Dav=E5x() set Guv=DZo(byv,function KBo) endfunction function KCo takes integer VFx,boolean Vsx returns nothing if Vsx then call jGx((((VFx))),(RPv),(1),w) else +call JYx(((VFx)),RPv) endif endfunction function Kdo takes nothing returns boolean local integer Eix=(bv) call KCo(((Vv[(Eix)])),(of[(Eix)])) return true endfunction function KDo takes integer VFx returns integer set G_v[VFx]=true set G0v[VFx]=false call V1x(Nzv) return VFx endfunction function Kfo takes nothing returns integer local integer VFx if(Gyv==8190)then call Vmx("FolderUnit_FolderStun_StructCancel_Allocation_allocCustom","call DebugEx(FolderUnit_FolderStun_StructCancel.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",NZv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(GYv[(w)]==w)then set Gzv=Gzv+1 set VFx=Gzv else +set VFx=GYv[(w)] +set GYv[(w)]=GYv[GYv[(w)]] endif set GYv[VFx]=Z set GZv[VFx]=1 call KDo(VFx) return VFx endfunction function KFo takes integer VFx returns nothing set G_v[VFx]=false call EEx(Nzv) endfunction function Kgo takes integer VFx returns nothing if(GZv[VFx]>0)then return endif if(GYv[VFx]!=Z)then call Vmx("FolderUnit_FolderStun_StructCancel_Allocation_deallocCustom_confirm","call DebugEx(FolderUnit_FolderStun_StructCancel.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",NZv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set GYv[VFx]=GYv[(w)] set GYv[(w)]=VFx +call KFo(VFx) endfunction function KGo takes integer VFx returns nothing set GZv[VFx]=GZv[VFx]-1 call Kgo(VFx) endfunction function Kho takes integer VFx,integer bUx,integer ENx returns nothing call KGo((VFx)) call Xbx(bUx) call V0x(ENx,GWv) call cEx(ENx,Gwv) call UnitRemoveAbility(C[((((ENx))))],(('bStu'))) endfunction function KHo takes nothing returns nothing local integer bUx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(bUx)]) call Kho(VFx,bUx,G2v[VFx]) endfunction function Kjo takes nothing returns boolean local integer Eix=(bv) local integer ENx=(Vv[(Eix)]) local integer VFx=Vfx(ENx,GWv) local integer bUx if not(vl[(ENx)])then if(Vfx(ENx,GWv)==w)then set VFx=Kfo() set bUx=E5x() set G1v[VFx]=bUx +set G2v[VFx]=ENx +set ge[(bUx)]=(VFx) call Ejx(ENx,GWv,VFx) call CMx(ENx,Gwv) call Xax(bUx,.0,false,function KHo) endif endif return true endfunction function KJo takes nothing returns nothing set Gwv=Nlx("FolderUnit_FolderStun_StructCancel_Init: set DEATH_EVENT = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderStun_StructCancel.Event_Order)",zu,Sb,function Kjo) +call kDo(vjv,Nlx("FolderUnit_FolderStun_StructCancel_Init: call Order.STUNNED.Event.Add(Event.Create(UNIT.Order.Events.Gain.Target.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderStun_StructCancel.Event_Order))",ML,Sb,function Kjo)) endfunction function Kko takes nothing returns nothing call UnitAddAbility(nm[((Vm))],('AStn')) +set GUv=DZo(N_v,function Kdo) call KJo() endfunction function KKo takes nothing returns nothing set Biv=(Nix()) set Brv=(Nix()) endfunction function Klo takes nothing returns boolean local integer Eix=(bv) call jgx(Vm,k8,(Vv[(Eix)])) return true endfunction function KLo takes nothing returns nothing set Atv=Nlx("FolderUnit_StructWhirl_Init: set FolderUnit_StructWhirl.REVIVE_EVENT = Event.Create(UNIT.Revival.Events.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructWhirl.Event_Revive)",Zu,Sb,function Klo) call UnitAddAbility(nm[((Vm))],('aWhC')) +call UnitAddAbility(nm[((Vm))],('aWhI')) +endfunction function Kmo takes nothing returns boolean return true endfunction function KMo takes nothing returns nothing call Odx(function Kmo) endfunction function Kpo takes nothing returns nothing endfunction function KPo takes nothing returns nothing call hGo() call hQo() call hso() call Hbo() call HBo() call Hco() call jVo() call jCo() call jko() call jKo() call Jpo() call Jqo() call JTo() call Juo() call JUo() call Jwo() set GFv=DZo(R2v,function Jyo) call J0o() set Ggv=DZo(OAv,function J2o) call kmo() call kyo() call k_o() call Koo() call jex(Nlx("FolderUnit_StructPathing_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructPathing.Event_TypeChange).AddToStatics()",vU,Sb,function Kio)) call Kao() call KVo() call KXo() call Kco() call Kko() call KKo() call KLo() call KMo() call Kpo() endfunction function Kqo takes nothing returns boolean call B6o() call cxo() call coo() set cLv=(Nix()) set vj=NSx(function DHo) +set fav=NSx(function Djo) set TC=(Nix()) set fnv=NSx(function Dko) set fVv=Nyx(function DKo) set fEv=(Nix()) call DPo() call jex(Nlx("FolderUnit_StructAttachments_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructAttachments.Event_TypeChange).AddToStatics()",vU,Sb,function Dqo)) call jex(Nlx("FolderUnit_StructBlood_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructBlood.Event_TypeChange).AddToStatics()",vU,Sb,function DQo)) call jex(Nlx("FolderUnit_StructBloodExplosion_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructBloodExplosion.Event_TypeChange).AddToStatics()",vU,Sb,function Dso)) call Dwo() call jex(Nlx("FolderUnit_StructCollisionSize_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructCollisionSize.Event_TypeChange).AddToStatics()",vU,Sb,function Dyo)) call D0o() call fWo() call fyo() call f4o() set f6v=DZo(Xyv,function f5o) set f7v=DZo(Xtv,function f8o) set f8v=Nlx("FolderUnit_FolderEvent_StructCounted_Init: set FolderUnit_FolderEvent_StructCounted.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_FolderEvent_StructCounted.Event_Destroy)",TC,Sb,function Fxo) set AKv=DZo(R6v,function Fio) call jex(Nlx("FolderUnit_StructImpact_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructImpact.Event_TypeChange).AddToStatics()",vU,Sb,function FVo)) call FIo() set zk=(Nix()) set Fov=DZo(Onv,function FNo) call Fbo() set nJ=(Nix()) set Frv=DZo(OEv,function Fco) call FFo() call Fjo() call jex(Nlx("FolderUnit_StructOutpact_Init: call Event.Create(UNIT.Type.DUMMY_EVENT_TYPE, EventPriority.HEADER, function FolderUnit_StructOutpact.Event_TypeChange).AddToStatics()",vU,Sb,function FKo)) set nx=(Nix()) call Fmo() call FQo() call FUo() call F2o() call F9o() call geo() call gEo() call gDo() call g1o() call Gro() call GKo() call GPo() call GTo() call GYo() call Odx(function KPo) return true endfunction function KQo takes nothing returns boolean call Bzo(function Kqo,"Unit_Init") return true endfunction function Kso takes nothing returns boolean set fDv=Idx(fNv) +return true endfunction function KSo takes nothing returns boolean set RDv=Idx(RNv) +return true endfunction function Kto takes nothing returns boolean set G3v=Idx(G4v) +return true endfunction function KTo takes nothing returns boolean set G5v=Idx(G6v) +return true endfunction function Kuo takes nothing returns boolean set G7v=Idx(G8v) +return true endfunction function KUo takes nothing returns boolean set G9v=Idx(hvv) +return true endfunction function Kwo takes nothing returns boolean set hev=Idx(hxv) +return true endfunction function KWo takes nothing returns boolean set hov=Idx(hrv) +return true endfunction function Kyo takes nothing returns boolean set hiv=Idx(hav) +return true endfunction function KYo takes nothing returns boolean set hnv=Idx(hVv) +return true endfunction function Kzo takes nothing returns boolean set hEv=Idx(hXv) +return true endfunction function KZo takes nothing returns boolean set hOv=Idx(hRv) +return true endfunction function K_o takes nothing returns boolean set hIv=Idx(hAv) +return true endfunction function K0o takes nothing returns boolean set hNv=Idx(hbv) +return true endfunction function K1o takes nothing returns boolean set hBv=Idx(hcv) +return true endfunction function K2o takes nothing returns boolean set evv=Idx(v4v) +return true endfunction function K3o takes nothing returns boolean set wD=Idx(uD) return true endfunction function K4o takes nothing returns boolean set hCv=Idx(hdv) +return true endfunction function K5o takes nothing returns boolean set hDv=Idx(hfv) +return true endfunction function K6o takes nothing returns boolean set hFv=Idx(hgv) +return true endfunction function K7o takes nothing returns boolean set hGv=Idx(hhv) +return true endfunction function K8o takes nothing returns boolean set hHv=Idx(hjv) +return true endfunction function K9o takes nothing returns boolean set hJv=Idx(hkv) +return true endfunction function lvo takes nothing returns boolean set hKv=Idx(hlv) +return true endfunction function leo takes nothing returns boolean set hLv=Idx(hmv) +return true endfunction function lxo takes nothing returns boolean set hMv=Idx(hpv) +return true endfunction function loo takes nothing returns boolean set hPv=Idx(hqv) +return true endfunction function lro takes nothing returns boolean set hQv=Idx(hsv) +return true endfunction function lio takes nothing returns boolean set hSv=Idx(htv) +return true endfunction function lao takes nothing returns boolean set hTv=Idx(huv) +return true endfunction function lno takes nothing returns boolean set hUv=Idx(hwv) +return true endfunction function lVo takes nothing returns boolean set hWv=Idx(hyv) +return true endfunction function lEo takes nothing returns boolean set hYv=Idx(hzv) +return true endfunction function lXo takes nothing returns boolean set hZv=Idx(h_v) +return true endfunction function lOo takes nothing returns boolean set h0v=Idx(h1v) +return true endfunction function lRo takes nothing returns boolean set h2v=Idx(h3v) +return true endfunction function lIo takes nothing returns boolean set h4v=Idx(h5v) +return true endfunction function lAo takes nothing returns boolean set h6v=Idx(h7v) +return true endfunction function lNo takes nothing returns boolean set h8v=Idx(h9v) +return true endfunction function lbo takes nothing returns boolean set Hvv=Idx(Hev) +return true endfunction function lBo takes nothing returns boolean set Hxv=Idx(Hov) +return true endfunction function lco takes nothing returns boolean set Hrv=Idx(Hiv) +return true endfunction function lCo takes nothing returns boolean set Hav=Idx(Hnv) +return true endfunction function ldo takes nothing returns boolean set HVv=Idx(HEv) +return true endfunction function lDo takes nothing returns boolean set HXv=Idx(HOv) +return true endfunction function lfo takes nothing returns boolean set HRv=Idx(HIv) +return true endfunction function lFo takes nothing returns boolean set HAv=Idx(HNv) +return true endfunction function lgo takes nothing returns boolean set Hbv=Idx(HBv) +return true endfunction function lGo takes nothing returns boolean set Hcv=Idx(HCv) +return true endfunction function lho takes nothing returns boolean set Hdv=Idx(HDv) +return true endfunction function lHo takes nothing returns boolean set Hfv=Idx(HFv) +return true endfunction function ljo takes nothing returns boolean set Hgv=Idx(HGv) +return true endfunction function lJo takes nothing returns boolean set Hhv=Idx(HHv) +return true endfunction function lko takes nothing returns boolean set Hjv=Idx(HJv) +return true endfunction function lKo takes nothing returns boolean set Hkv=Idx(HKv) +return true endfunction function llo takes nothing returns boolean set Hlv=Idx(HLv) +return true endfunction function lLo takes nothing returns boolean set Hmv=Idx(HMv) +return true endfunction function lmo takes nothing returns boolean set Hpv=Idx(HPv) +return true endfunction function lMo takes nothing returns boolean set Hqv=Idx(HQv) +return true endfunction function lpo takes nothing returns boolean set Hsv=Idx(HSv) +return true endfunction function lPo takes nothing returns boolean set Htv=Idx(HTv) +return true endfunction function lqo takes nothing returns boolean set Huv=Idx(HUv) +return true endfunction function lQo takes nothing returns boolean set Hwv=Idx(HWv) +return true endfunction function lso takes nothing returns boolean set Hyv=Idx(HYv) +return true endfunction function lSo takes nothing returns boolean set Hzv=Idx(HZv) +return true endfunction function lto takes nothing returns boolean set H_v=Idx(H0v) +return true endfunction function lTo takes nothing returns boolean set H1v=Idx(H2v) +return true endfunction function luo takes nothing returns boolean set H3v=Idx(H4v) +return true endfunction function lUo takes nothing returns boolean set H5v=Idx(H6v) +return true endfunction function lwo takes nothing returns boolean set H7v=Idx(H8v) +return true endfunction function lWo takes nothing returns boolean set H9v=Idx(jvv) +return true endfunction function lyo takes nothing returns boolean set jev=Idx(jxv) +return true endfunction function lYo takes nothing returns boolean set jov=Idx(jrv) +return true endfunction function lzo takes nothing returns boolean set jiv=Idx(jav) +return true endfunction function lZo takes nothing returns boolean set jnv=Idx(jVv) +return true endfunction function l_o takes nothing returns boolean set jEv=Idx(jXv) +return true endfunction function l0o takes nothing returns boolean set jOv=Idx(jRv) +return true endfunction function l1o takes nothing returns boolean set jIv=Idx(jAv) +return true endfunction function l2o takes nothing returns boolean set jNv=Idx(jbv) +return true endfunction function l3o takes nothing returns boolean set jBv=Idx(jcv) +return true endfunction function l4o takes nothing returns boolean set jCv=Idx(jdv) +return true endfunction function l5o takes nothing returns boolean set jDv=Idx(jfv) +return true endfunction function l6o takes nothing returns boolean set jFv=Idx(jgv) +return true endfunction function l7o takes nothing returns boolean set jGv=Idx(jhv) +return true endfunction function l8o takes code c,string EFx returns nothing +call IGx(yE,c,EFx) endfunction function l9o takes integer VFx returns integer set jLv[VFx]=true set jmv[VFx]=false set egv[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set fiv[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) call V1x(jMv) return VFx endfunction function Lvo takes nothing returns integer local integer VFx if(jjv==8190)then call Vmx("UnitType_Allocation_allocCustom","call DebugEx(UnitType.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",jJv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(jkv[(w)]==w)then set jKv=jKv+1 set VFx=jKv else +set VFx=jkv[(w)] +set jkv[(w)]=jkv[jkv[(w)]] endif set jkv[VFx]=Z set jlv[VFx]=1 call l9o(VFx) return VFx endfunction function Leo takes integer VFx returns nothing set eGv[(VFx)]=(jPv+VFx) +endfunction function Lxo takes integer VFx returns nothing endfunction function Loo takes integer VFx returns nothing call Lxo(VFx) set cyv[(VFx)]=F +endfunction function Lro takes integer VFx returns nothing set c5v[(VFx)]=((.0)*1.) +set Crv[((VFx))]=(0) +endfunction function Lio takes integer VFx returns nothing set Cbv[VFx]=w set GCv[(((VFx)))]=((.0)*1.) +set CDv[((VFx))]=((.0)*1.) set Cfv[((VFx))]=((.0)*1.) endfunction function Lao takes integer VFx returns nothing set Csv[(VFx)]=((.0)*1.) +set CTv[((VFx))]=((.0)*1.) set CUv[((VFx))]=(0) +set Cyv[((VFx))]=(0) +set CZv[((VFx))]=(-1) endfunction function Lno takes integer VFx returns nothing set jqv[(VFx)]=(true) set C0v[((VFx))]=((10.)*1.) endfunction function LVo takes integer VFx returns nothing set C9v[((VFx))]=(0) +set dev[((VFx))]=(0) +endfunction function LEo takes integer VFx returns nothing set DAv[(VFx)]=((.0)*1.) +set DDv[((VFx))]=((.0)*1.) endfunction function LXo takes integer VFx returns nothing set DNv[(VFx)]=((.0)*1.) +set DFv[((VFx))]=((.0)*1.) endfunction function LOo takes integer VFx returns nothing set Dbv[(VFx)]=((.0)*1.) +set Dgv[((VFx))]=((.0)*1.) endfunction function LRo takes integer VFx returns nothing call LEo(VFx) set Dfv[((VFx))]=((.0)*1.) call LXo(VFx) set Nj[((VFx))]=(0) call LOo(VFx) endfunction function LIo takes integer VFx returns nothing local unit MCx=sBx(vx[W1],cmv[(VFx)],.0,.0,.0) call KillUnit(MCx) call BXx(MCx) set MCx=null +endfunction function LAo takes integer VFx returns nothing set dSv[((VFx))]=((255.)*1.) +set dtv[((VFx))]=((255.)*1.) +set dTv[((VFx))]=((255.)*1.) +set duv[((VFx))]=((255.)*1.) +endfunction function LNo takes integer VFx returns boolean set jQv=jQv+1 set jsv[jQv]=VFx +set jSv[VFx]=jQv+1 return(jQv==0) endfunction function Lbo takes integer Vdx returns integer local integer VFx=Lvo() set jpv[VFx]=null set cmv[VFx]=Vdx +call Leo(VFx) call Loo(VFx) call Lro(VFx) call Lio(VFx) set CMv[((VFx))]=(null) set Rpv[((VFx))]=(null) set CQv[((VFx))]=((.0)*1.) call Lao(VFx) call Lno(VFx) call LVo(VFx) call LRo(VFx) set div[(((VFx)))]=((60.)*1.) set djv[((VFx))]=((.0)*1.) set dGv[((VFx))]=((.0)*1.) set dkv[((VFx))]=((.0)*1.) set dhv[((VFx))]=((.0)*1.) call LIo(VFx) set dsv[(((VFx)))]=((60.)*1.) set dVv[((VFx))]=(true) set vm[((VFx))]=((1.)*1.) set Cp[((VFx))]=((.0)*1.) set dCv[((VFx))]=((.0)*1.) set dfv[((VFx))]=((.0)*1.) call LAo(VFx) set Rpv[(VFx)]=("Objects\\Spawnmodels\\Human\\HumanSmallDeathExplode\\HumanSmallDeathExplode.mdl") call LNo(VFx) call Nux(lv[(E[((X))])],((((GetObjectName(cmv[(VFx)]))))),(((I2S(((wH)))))),(((VFx)))) return VFx endfunction function LBo takes integer Vdx returns integer local integer VFx=Lbo(Vdx) set cmv[VFx]=Vdx +call SaveInteger(o[((V[(E[((X))])]))],(((Vdx))),(((wH))),(((VFx)))) return VFx endfunction function Lco takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(egv[(VFx)],(eGv[((VFx))]),Vgx,Vhx) endfunction function LCo takes integer VFx,real XMx,real Xpx,real XPx,real Xqx returns nothing set dSv[(VFx)]=((XMx)*1.) set dtv[(VFx)]=((Xpx)*1.) set dTv[(VFx)]=((XPx)*1.) set duv[(VFx)]=((Xqx)*1.) endfunction function Ldo takes nothing returns boolean set jHv=LBo('uKoM') call Lco(((jHv)),CPv,(cgv)) set vm[(jHv)]=((.85)*1.) +call LCo(jHv,$FF,$FF,$A5,$FF) set div[(jHv)]=((83.044982698962)*1.) set dsv[(jHv)]=((83.044982698962)*1.) set Cp[(jHv)]=((270)*1.) +set c5v[(jHv)]=((1)*1.) set Crv[(jHv)]=(2) set djv[(jHv)]=(($AF)*1.) set dHv[(jHv)]=(($AF)*1.) set dGv[(jHv)]=((.2)*1.) +set dRv[(jHv)]=(($578)*1.) set dXv[(jHv)]=(($578)*1.) set dCv[(jHv)]=(($A)*1.) +set Cbv[(jHv)]=(jtv) +set CDv[(jHv)]=(('x')*1.) set Cfv[((jHv))]=((1.*1./((1.35)*1.))*1.) set CTv[(jHv)]=((.38)*1.) set Csv[(jHv)]=((4)*1.) set CSv[(jHv)]=((4)*1.) set CUv[(jHv)]=(1) set Cyv[(jHv)]=(3) set CZv[(jHv)]=(0) set CQv[(jHv)]=((42.906574394464)*1.) set dev[(jHv)]=(20) set C9v[(jHv)]=($A) return true endfunction function LDo takes integer VFx,integer Vgx,integer Vhx returns boolean return((LoadInteger(o[((D[((egv[(VFx)]))]))],((((eGv[((VFx))])))),(VGx(((Vgx)),(((Vhx)))))))!=0) +endfunction function Lfo takes integer VFx,integer Vgx,integer Vhx returns nothing call SaveInteger(o[((V[(E[((egv[(VFx)]))])]))],((((eGv[((VFx))])))),(((Vgx))),(((Vhx)))) +endfunction function LFo takes integer VFx,integer EAx,integer EKx returns nothing if LDo((VFx),cwv,EAx)then call Vmx("FolderUnitType_FolderAbilities_StructArrayBuild_Add","call DebugEx(\"unitType \"+UnitType(this).GetName()+\" already has spell \"+whichSpell.GetName())","unitType "+(GetObjectName(cmv[((VFx))]))+" already has spell "+(Zl[(EAx)])) return endif call Lco((VFx),cwv,EAx) call Lfo((VFx),cWv+EAx,EKx) endfunction function Lgo takes nothing returns boolean set jTv=LBo('uSpe') call Lco(((jTv)),CPv,(cgv)) set vm[(jTv)]=((1.35)*1.) set div[(jTv)]=((60)*1.) +set dsv[(jTv)]=(('q')*1.) set Cp[(jTv)]=(('}')*1.) +set c5v[(jTv)]=((0)*1.) set Crv[(jTv)]=(1) set djv[(jTv)]=(($E1)*1.) set dHv[(jTv)]=(($E1)*1.) set dGv[(jTv)]=((.15)*1.) set dkv[(jTv)]=((75)*1.) +set dJv[(jTv)]=((75)*1.) +set dhv[(jTv)]=((.2)*1.) +set dRv[(jTv)]=(($578)*1.) set dXv[(jTv)]=(($578)*1.) set dCv[(jTv)]=((35)*1.) +set Cbv[(jTv)]=(juv) +set CDv[(jTv)]=(($A2)*1.) set Cfv[((jTv))]=((1.*1./((2.31)*1.))*1.) set CTv[(jTv)]=((.31)*1.) set GCv[(jTv)]=(($4B0)*1.) set Csv[(jTv)]=(($E)*1.) +set CSv[(jTv)]=(($E)*1.) +set CUv[(jTv)]=(1) set Cyv[(jTv)]=(5) set CZv[(jTv)]=(1) set CQv[(jTv)]=((32)*1.) +set dev[(jTv)]=(20) set C9v[(jTv)]=(25) call LFo((jTv),(jUv),1) return true endfunction function LGo takes nothing returns boolean set jwv=LBo('uPeC') call Lco(((jwv)),CPv,(cgv)) set vm[(jwv)]=((3)*1.) call LCo(jwv,$FF,$BF,0,$FF) set div[(jwv)]=((60)*1.) +set dsv[(jwv)]=((60)*1.) +set Cp[(jwv)]=(($C8)*1.) +set c5v[(jwv)]=((0)*1.) set Crv[(jwv)]=(3) set djv[(jwv)]=(('i')*1.) set dHv[(jwv)]=(('i')*1.) set dGv[(jwv)]=((.6)*1.) +set dRv[(jwv)]=((350)*1.) set dXv[(jwv)]=((350)*1.) set dCv[(jwv)]=(($F)*1.) +set Cbv[(jwv)]=(jtv) +set CDv[(jwv)]=(('x')*1.) set Cfv[((jwv))]=((1.*1./((1.5)*1.))*1.) +set CTv[(jwv)]=((1)*1.) set Csv[(jwv)]=((5)*1.) set CSv[(jwv)]=((5)*1.) set CUv[(jwv)]=(1) set Cyv[(jwv)]=($A) set CZv[(jwv)]=(0) set CQv[(jwv)]=((16)*1.) +return true endfunction function Lho takes nothing returns boolean set jWv=LBo('uGnM') call Lco(((jWv)),CPv,(cgv)) set vm[(jWv)]=((1.25)*1.) set div[(jWv)]=((26.666666666667)*1.) set dsv[(jWv)]=((26.666666666667)*1.) set Cp[(jWv)]=(($87)*1.) +set c5v[(jWv)]=((0)*1.) set Crv[(jWv)]=(0) set djv[(jWv)]=((85)*1.) +set dHv[(jWv)]=((85)*1.) +set dGv[(jWv)]=((.3)*1.) +set dkv[(jWv)]=((90)*1.) +set dJv[(jWv)]=((90)*1.) +set dhv[(jWv)]=((.2)*1.) +set dRv[(jWv)]=(($578)*1.) set dXv[(jWv)]=(($578)*1.) set dCv[(jWv)]=((40)*1.) +set Cbv[(jWv)]=(juv) +set CDv[(jWv)]=((600)*1.) set Cfv[((jWv))]=((1.*1./((1.6)*1.))*1.) +set CTv[(jWv)]=((.3)*1.) +set GCv[(jWv)]=(($4B0)*1.) set Csv[(jWv)]=((7)*1.) set CSv[(jWv)]=((7)*1.) set CUv[(jWv)]=(1) set Cyv[(jWv)]=(5) set CZv[(jWv)]=(3) set CQv[(jWv)]=((14.222222222222)*1.) set dev[(jWv)]=(7) set C9v[(jWv)]=(35) call LFo((jWv),(jyv),1) return true endfunction function LHo takes integer VFx,integer EAx returns nothing local integer Ljo=cyv[VFx]+1 +set cyv[VFx]=Ljo +call Lfo((VFx),c1v+Ljo,EAx) endfunction function LJo takes nothing returns boolean set jYv=LBo('UKer') call LFo((jYv),('AInv'),1) call Lco(((jYv)),CPv,(rG)) call Lco(((jYv)),CPv,(cgv)) set vm[(jYv)]=((1.3)*1.) +set div[(jYv)]=((80)*1.) +set dsv[(jYv)]=((80)*1.) +set Cp[(jYv)]=((320)*1.) +set c5v[(jYv)]=((3)*1.) set Crv[(jYv)]=(4) set djv[(jYv)]=(('d')*1.) set dHv[(jYv)]=(('d')*1.) set dGv[(jYv)]=((0)*1.) set dkv[(jYv)]=(('d')*1.) set dJv[(jYv)]=(('d')*1.) set dhv[(jYv)]=((0)*1.) set dRv[(jYv)]=(($708)*1.) set dXv[(jYv)]=(($708)*1.) set Cbv[(jYv)]=(jtv) +set CDv[(jYv)]=(('x')*1.) set Cfv[((jYv))]=((1.*1./((1.3)*1.))*1.) +set CTv[(jYv)]=((.3)*1.) +set Csv[(jYv)]=(($A)*1.) +set CSv[(jYv)]=(($A)*1.) +set CUv[(jYv)]=(4) set Cyv[(jYv)]=(4) set CZv[(jYv)]=(0) set CQv[(jYv)]=((32)*1.) +call LHo(jYv,jzv) call LHo(jYv,jZv) call LHo(jYv,j_v) call LHo(jYv,j0v) set DAv[(jYv)]=(($C)*1.) +set DDv[(jYv)]=((3.75)*1.) set Dfv[(jYv)]=((1)*1.) set DNv[(jYv)]=(($A)*1.) +set DFv[(jYv)]=((3.5)*1.) set Dbv[(jYv)]=((9.5)*1.) set Dgv[(jYv)]=((4)*1.) return true endfunction function Lko takes nothing returns boolean set j1v=LBo('uBTw') call Lco(((j1v)),CPv,(cjv)) set vm[(j1v)]=((1.55)*1.) call LCo(j1v,$C8,$C8,$C8,$FF) set c5v[(j1v)]=((0)*1.) set Crv[(j1v)]=(3) set djv[(j1v)]=((150000.)*1.) set dHv[(j1v)]=((150000.)*1.) set dGv[(j1v)]=((0)*1.) set dRv[(j1v)]=(($578)*1.) set dXv[(j1v)]=(($578)*1.) set Csv[(j1v)]=((0)*1.) set CSv[(j1v)]=((0)*1.) set CUv[(j1v)]=(0) set Cyv[(j1v)]=(0) call LFo((j1v),(j2v),1) return true endfunction function LKo takes nothing returns boolean set j3v=LBo('uITP') call Lco(((j3v)),CPv,(cgv)) set vm[(j3v)]=((1.75)*1.) call LCo(j3v,$AA,$82,$FF,$FF) set div[(j3v)]=((38.4)*1.) set dsv[(j3v)]=((38.4)*1.) set Cp[(j3v)]=(($91)*1.) +set c5v[(j3v)]=((0)*1.) set Crv[(j3v)]=(1) set djv[(j3v)]=(('s')*1.) set dHv[(j3v)]=(('s')*1.) set dGv[(j3v)]=((.4)*1.) +set dkv[(j3v)]=((80)*1.) +set dJv[(j3v)]=((80)*1.) +set dhv[(j3v)]=((.4)*1.) +set dRv[(j3v)]=(($578)*1.) set dXv[(j3v)]=(($578)*1.) set dCv[(j3v)]=((35)*1.) +set Cbv[(j3v)]=(j4v) +set CDv[(j3v)]=((720)*1.) set Cfv[((j3v))]=((1.*1./((1.8)*1.))*1.) +set CTv[(j3v)]=((.3)*1.) +set GCv[(j3v)]=((900)*1.) set Csv[(j3v)]=((8)*1.) set CSv[(j3v)]=((8)*1.) set CUv[(j3v)]=(1) set Cyv[(j3v)]=(8) set CZv[(j3v)]=(3) set CQv[(j3v)]=((25.6)*1.) set dev[(j3v)]=(9) set C9v[(j3v)]=(25) call LFo((j3v),(j5v),1) call LFo((j3v),(j6v),1) return true endfunction function Llo takes nothing returns boolean set j7v=LBo('uDT2') call Lco(((j7v)),CPv,(cjv)) set vm[(j7v)]=((2.25)*1.) call LCo(j7v,$90,0,$90,$FF) set div[(j7v)]=(('x')*1.) set dsv[(j7v)]=(($B4)*1.) set c5v[(j7v)]=((0)*1.) set Crv[(j7v)]=(3) set djv[(j7v)]=((150000.)*1.) set dHv[(j7v)]=((150000.)*1.) set dGv[(j7v)]=((0)*1.) set dRv[(j7v)]=(($578)*1.) set dXv[(j7v)]=(($578)*1.) set Cbv[(j7v)]=(j4v) +set CDv[(j7v)]=(($4B0)*1.) set Cfv[((j7v))]=((1.*1./((1.6)*1.))*1.) +set CTv[(j7v)]=((.5)*1.) +set GCv[(j7v)]=(($3E8)*1.) set Csv[(j7v)]=((32)*1.) +set CSv[(j7v)]=((32)*1.) +set CUv[(j7v)]=(3) set Cyv[(j7v)]=(5) set CZv[(j7v)]=(4) call LFo((j7v),(j2v),1) call LFo((j7v),(j8v),(2)) return true endfunction function LLo takes nothing returns boolean set j9v=LBo('UThr') call LFo((j9v),('AInv'),1) call Lco(((j9v)),CPv,(rG)) call Lco(((j9v)),CPv,(cgv)) set vm[(j9v)]=((1.35)*1.) set div[(j9v)]=((60)*1.) +set dsv[(j9v)]=((60)*1.) +set Cp[(j9v)]=((330)*1.) +set c5v[(j9v)]=((.5)*1.) +set Crv[(j9v)]=(4) set djv[(j9v)]=(('d')*1.) set dHv[(j9v)]=(('d')*1.) set dGv[(j9v)]=((0)*1.) set dkv[(j9v)]=(('d')*1.) set dJv[(j9v)]=(('d')*1.) set dhv[(j9v)]=((0)*1.) set dRv[(j9v)]=(($708)*1.) set dXv[(j9v)]=(($708)*1.) set Cbv[(j9v)]=(j4v) +set CDv[(j9v)]=((720)*1.) set Cfv[((j9v))]=((1.*1./((1.7)*1.))*1.) +set CTv[(j9v)]=((.3)*1.) +set GCv[(j9v)]=(($4B0)*1.) set Csv[(j9v)]=((7)*1.) set CSv[(j9v)]=((7)*1.) set CUv[(j9v)]=(1) set Cyv[(j9v)]=($A) set CZv[(j9v)]=(3) set CQv[(j9v)]=((32)*1.) +call LHo(j9v,Jvv) call LHo(j9v,Jev) call LHo(j9v,Jxv) call LHo(j9v,Jov) set DAv[(j9v)]=((9)*1.) set DDv[(j9v)]=((3.5)*1.) set Dfv[(j9v)]=((.5)*1.) +set DNv[(j9v)]=((14.5)*1.) set DFv[(j9v)]=((4)*1.) set Dbv[(j9v)]=((7.5)*1.) set Dgv[(j9v)]=((3)*1.) return true endfunction function Lmo takes nothing returns boolean set Jrv=LBo('uIcT') call Lco(((Jrv)),CPv,(cgv)) set vm[(Jrv)]=((1.25)*1.) call LCo(Jrv,$BE,$FF,$FF,$FF) set div[(Jrv)]=((60)*1.) +set dsv[(Jrv)]=((60)*1.) +set Cp[(Jrv)]=(($91)*1.) +set c5v[(Jrv)]=((1)*1.) set Crv[(Jrv)]=(1) set djv[(Jrv)]=((70)*1.) +set dHv[(Jrv)]=((70)*1.) +set dGv[(Jrv)]=((.15)*1.) set dRv[(Jrv)]=(($578)*1.) set dXv[(Jrv)]=(($578)*1.) set dCv[(Jrv)]=((20)*1.) +set Cbv[(Jrv)]=(jtv) +set CDv[(Jrv)]=(('x')*1.) set Cfv[((Jrv))]=((1.*1./((1.6)*1.))*1.) +set CTv[(Jrv)]=((.3)*1.) +set Csv[(Jrv)]=((8)*1.) set CSv[(Jrv)]=((8)*1.) set CUv[(Jrv)]=(2) set Cyv[(Jrv)]=(2) set CZv[(Jrv)]=(0) set CQv[(Jrv)]=((32)*1.) +set dev[(Jrv)]=(6) set C9v[(Jrv)]=(30) return true endfunction function LMo takes integer VFx,integer Vux,integer Vgx,real Vhx returns boolean local integer VUx=(0+(LoadInteger(o[((V[(E[((VFx))])]))],(((Vux))),(((Vgx))))))+1 call SaveInteger(o[((V[(E[((VFx))])]))],(((Vux))),(((Vgx))),(((VUx)-0))) +call SaveReal(o[((V[(E[(VFx)])]))],((Vux)),((Vgx+VUx)),((((Vhx)*1.))*1.)) return(VUx==q) endfunction function Lpo takes integer VFx,integer Vgx,real Vhx returns boolean return LMo(egv[(VFx)],(eGv[((VFx))]),Vgx,Vhx) endfunction function LPo takes integer VFx,real Cao,real Cno returns nothing +call Lpo((VFx),CFv,Cao) call Lpo((VFx),Cmv,Cno) endfunction function Lqo takes nothing returns boolean set Jiv=LBo('uFTw') call Lco(((Jiv)),CPv,(cjv)) set vm[(Jiv)]=((1.4)*1.) +set div[(Jiv)]=(('x')*1.) set dsv[(Jiv)]=(($91)*1.) set c5v[(Jiv)]=((0)*1.) set Crv[(Jiv)]=(3) set djv[(Jiv)]=((150000.)*1.) set dHv[(Jiv)]=((150000.)*1.) set dGv[(Jiv)]=((0)*1.) set dRv[(Jiv)]=(($578)*1.) set dXv[(Jiv)]=(($578)*1.) set Cbv[(Jiv)]=(j4v) +set CDv[(Jiv)]=(($4B0)*1.) set Cfv[((Jiv))]=((1.*1./((2.5)*1.))*1.) +set CTv[(Jiv)]=((.5)*1.) +set GCv[(Jiv)]=((700)*1.) call LPo(Jiv,80,1) call LPo(Jiv,$96,.4) +call LPo(Jiv,$DC,.2) +set Csv[(Jiv)]=((19)*1.) +set CSv[(Jiv)]=((19)*1.) +set CUv[(Jiv)]=(2) set Cyv[(Jiv)]=(3) set CZv[(Jiv)]=(3) call LFo((Jiv),(j2v),1) call LFo((Jiv),(Jav),1) return true endfunction function LQo takes nothing returns boolean set Jnv=LBo('UMan') call LFo((Jnv),('AInv'),1) call Lco(((Jnv)),CPv,(rG)) call Lco(((Jnv)),CPv,(cgv)) set vm[(Jnv)]=((1.25)*1.) set div[(Jnv)]=((83.044982698962)*1.) set dsv[(Jnv)]=((91.349480968858)*1.) set Cp[(Jnv)]=((305)*1.) +set c5v[(Jnv)]=((0)*1.) set Crv[(Jnv)]=(4) set djv[(Jnv)]=(('d')*1.) set dHv[(Jnv)]=(('d')*1.) set dGv[(Jnv)]=((0)*1.) set dkv[(Jnv)]=(('d')*1.) set dJv[(Jnv)]=(('d')*1.) set dhv[(Jnv)]=((0)*1.) set dRv[(Jnv)]=(($708)*1.) set dXv[(Jnv)]=(($708)*1.) set Cbv[(Jnv)]=(j4v) +set CDv[(Jnv)]=((720)*1.) set Cfv[((Jnv))]=((1.*1./((1.7)*1.))*1.) +set CTv[(Jnv)]=((.55)*1.) set GCv[(Jnv)]=((900)*1.) set Csv[(Jnv)]=(($E)*1.) +set CSv[(Jnv)]=(($E)*1.) +set CUv[(Jnv)]=(1) set Cyv[(Jnv)]=($E) set CZv[(Jnv)]=(3) set CQv[(Jnv)]=((37.647058823529)*1.) call LHo(Jnv,JVv) call LHo(Jnv,JEv) call LHo(Jnv,JXv) call LHo(Jnv,JOv) set DAv[(Jnv)]=((7.5)*1.) set DDv[(Jnv)]=((3)*1.) set Dfv[(Jnv)]=((.4)*1.) +set DNv[(Jnv)]=((17.5)*1.) set DFv[(Jnv)]=((4.5)*1.) set Dbv[(Jnv)]=((5)*1.) set Dgv[(Jnv)]=((2.5)*1.) return true endfunction function Lso takes nothing returns boolean set JRv=LBo('uFlP') call Lco(((JRv)),CPv,(cEv)) set vm[(JRv)]=((1.3)*1.) +call LCo(JRv,$FF,0,$FF,$FF) set div[(JRv)]=((60)*1.) +set dsv[(JRv)]=((60)*1.) +set Cp[(JRv)]=((340)*1.) +set c5v[(JRv)]=((0)*1.) set Crv[(JRv)]=(0) set djv[(JRv)]=((40)*1.) +set dHv[(JRv)]=((40)*1.) +set dGv[(JRv)]=((.2)*1.) +set dRv[(JRv)]=((350)*1.) set dXv[(JRv)]=((350)*1.) set dCv[(JRv)]=(($A)*1.) +set Cbv[(JRv)]=(juv) +set CDv[(JRv)]=(('x')*1.) set Cfv[((JRv))]=((1.*1./((1.5)*1.))*1.) +set CTv[(JRv)]=((1)*1.) set GCv[(JRv)]=((600)*1.) set Csv[(JRv)]=((5)*1.) set CSv[(JRv)]=((5)*1.) set CUv[(JRv)]=(1) set Cyv[(JRv)]=(1) set CZv[(JRv)]=(2) set CQv[(JRv)]=((20.8)*1.) return true endfunction function LSo takes nothing returns boolean set JIv=LBo('uLT2') call Lco(((JIv)),CPv,(cjv)) set vm[(JIv)]=((1.6)*1.) +call LCo(JIv,$C8,$C8,$C0,$FF) set div[(JIv)]=(('x')*1.) set dsv[(JIv)]=(($FF)*1.) set c5v[(JIv)]=((0)*1.) set Crv[(JIv)]=(3) set djv[(JIv)]=((150000.)*1.) set dHv[(JIv)]=((150000.)*1.) set dGv[(JIv)]=((0)*1.) set dRv[(JIv)]=(($578)*1.) set dXv[(JIv)]=(($578)*1.) set Cbv[(JIv)]=(j4v) +set CDv[(JIv)]=(($4B0)*1.) set Cfv[((JIv))]=((1.*1./((5)*1.))*1.) set CTv[(JIv)]=((.5)*1.) +set GCv[(JIv)]=(($5DC)*1.) set Csv[(JIv)]=((1)*1.) set CSv[(JIv)]=((1)*1.) set CUv[(JIv)]=(1) set Cyv[(JIv)]=(1) set CZv[(JIv)]=(3) call LFo((JIv),(j2v),1) call LFo((JIv),(JAv),(2)) return true endfunction function Lto takes nothing returns boolean set JNv=LBo('uFT2') call Lco(((JNv)),CPv,(cjv)) set vm[(JNv)]=((1.6)*1.) +call LCo(JNv,92,92,$FF,$FF) set div[(JNv)]=(('x')*1.) set dsv[(JNv)]=(($91)*1.) set c5v[(JNv)]=((0)*1.) set Crv[(JNv)]=(3) set djv[(JNv)]=((150000.)*1.) set dHv[(JNv)]=((150000.)*1.) set dGv[(JNv)]=((0)*1.) set dRv[(JNv)]=(($578)*1.) set dXv[(JNv)]=(($578)*1.) set Cbv[(JNv)]=(j4v) +set CDv[(JNv)]=(($4B0)*1.) set Cfv[((JNv))]=((1.*1./((2.5)*1.))*1.) +set CTv[(JNv)]=((.5)*1.) +set GCv[(JNv)]=((700)*1.) call LPo(JNv,80,1) call LPo(JNv,$96,.4) +call LPo(JNv,$DC,.2) +set Csv[(JNv)]=((27)*1.) +set CSv[(JNv)]=((27)*1.) +set CUv[(JNv)]=(4) set Cyv[(JNv)]=(3) set CZv[(JNv)]=(3) call LFo((JNv),(j2v),1) call LFo((JNv),(Jav),(2)) return true endfunction function LTo takes nothing returns boolean set Jbv=LBo('uWoM') call Lco(((Jbv)),CPv,(cgv)) set vm[(Jbv)]=((1.45)*1.) call LCo(Jbv,$96,'x',$FF,$FF) set div[(Jbv)]=((28.537455410226)*1.) set dsv[(Jbv)]=((28.537455410226)*1.) set Cp[(Jbv)]=((320)*1.) +set c5v[(Jbv)]=((2)*1.) set Crv[(Jbv)]=(2) set djv[(Jbv)]=((350)*1.) set dHv[(Jbv)]=((350)*1.) set dGv[(Jbv)]=((.4)*1.) +set dRv[(Jbv)]=(($578)*1.) set dXv[(Jbv)]=(($578)*1.) set dCv[(Jbv)]=((20)*1.) +set Cbv[(Jbv)]=(jtv) +set CDv[(Jbv)]=(('l')*1.) set Cfv[((Jbv))]=((1.*1./((1.4)*1.))*1.) +set CTv[(Jbv)]=((.33)*1.) set Csv[(Jbv)]=((18)*1.) +set CSv[(Jbv)]=((18)*1.) +set CUv[(Jbv)]=(3) set Cyv[(Jbv)]=(4) set CZv[(Jbv)]=(0) set CQv[(Jbv)]=((22.829964328181)*1.) set dev[(Jbv)]=(50) set C9v[(Jbv)]=(60) return true endfunction function Luo takes nothing returns boolean set JBv=LBo('UDra') call LFo((JBv),('AInv'),1) call Lco(((JBv)),CPv,(rG)) call Lco(((JBv)),CPv,(cgv)) set vm[(JBv)]=((1.3)*1.) +set div[(JBv)]=(('d')*1.) set dsv[(JBv)]=((60)*1.) +set Cp[(JBv)]=((330)*1.) +set c5v[(JBv)]=((1)*1.) set Crv[(JBv)]=(4) set djv[(JBv)]=(('d')*1.) set dHv[(JBv)]=(('d')*1.) set dGv[(JBv)]=((0)*1.) set dkv[(JBv)]=(('d')*1.) set dJv[(JBv)]=(('d')*1.) set dhv[(JBv)]=((0)*1.) set dRv[(JBv)]=(($708)*1.) set dXv[(JBv)]=(($708)*1.) set Cbv[(JBv)]=(jtv) +set CDv[(JBv)]=(('x')*1.) set Cfv[((JBv))]=((1.*1./((1.6)*1.))*1.) +set CTv[(JBv)]=((.55)*1.) set Csv[(JBv)]=(($E)*1.) +set CSv[(JBv)]=(($E)*1.) +set CUv[(JBv)]=(2) set Cyv[(JBv)]=(7) set CZv[(JBv)]=(0) set CQv[(JBv)]=((32)*1.) +call LHo(JBv,Jcv) call LHo(JBv,JCv) call LHo(JBv,Jdv) call LHo(JBv,JDv) set DAv[(JBv)]=((9)*1.) set DDv[(JBv)]=((3.7)*1.) set Dfv[(JBv)]=((.65)*1.) set DNv[(JBv)]=((9)*1.) set DFv[(JBv)]=((3.7)*1.) set Dbv[(JBv)]=(($B)*1.) +set Dgv[(JBv)]=((4)*1.) return true endfunction function LUo takes nothing returns boolean set Jfv=LBo('uFou') call Lco(((Jfv)),CPv,(cjv)) set vm[(Jfv)]=((1.5)*1.) +set div[(Jfv)]=(('x')*1.) set dsv[(Jfv)]=((60)*1.) +set c5v[(Jfv)]=((0)*1.) set Crv[(Jfv)]=(3) set djv[(Jfv)]=((150000.)*1.) set dHv[(Jfv)]=((150000.)*1.) set dGv[(Jfv)]=((0)*1.) set dRv[(Jfv)]=((900)*1.) set dXv[(Jfv)]=((900)*1.) set Csv[(Jfv)]=((0)*1.) set CSv[(Jfv)]=((0)*1.) set CUv[(Jfv)]=(0) set Cyv[(Jfv)]=(0) call LFo((Jfv),(j2v),1) call LFo((Jfv),(JFv),1) return true endfunction function Lwo takes nothing returns boolean set Jgv=LBo('uVia') call Lco(((Jgv)),CPv,(cgv)) set vm[(Jgv)]=((1.15)*1.) call LCo(Jgv,$FF,$FF,$FF,$FF) set div[(Jgv)]=((60)*1.) +set dsv[(Jgv)]=((60)*1.) +set Cp[(Jgv)]=((270)*1.) +set c5v[(Jgv)]=((0)*1.) set Crv[(Jgv)]=(5) set djv[(Jgv)]=(($C8)*1.) set dHv[(Jgv)]=(($C8)*1.) set dGv[(Jgv)]=((.2)*1.) +set dkv[(Jgv)]=(($96)*1.) set dJv[(Jgv)]=(($96)*1.) set dhv[(Jgv)]=((.2)*1.) +set dRv[(Jgv)]=(($578)*1.) set dXv[(Jgv)]=(($578)*1.) set dCv[(Jgv)]=(($F)*1.) +set Cbv[(Jgv)]=(j4v) +set CDv[(Jgv)]=((720)*1.) set Cfv[((Jgv))]=((1.*1./((2)*1.))*1.) set CTv[(Jgv)]=((.3)*1.) +set GCv[(Jgv)]=(($4B0)*1.) set Csv[(Jgv)]=((1)*1.) set CSv[(Jgv)]=((1)*1.) set CUv[(Jgv)]=(1) set Cyv[(Jgv)]=(2) set CZv[(Jgv)]=(3) set CQv[(Jgv)]=((16)*1.) +set dev[(Jgv)]=(20) set C9v[(Jgv)]=($A) return true endfunction function LWo takes nothing returns boolean set JGv=LBo('uAss') call Lco(((JGv)),CPv,(cgv)) set vm[(JGv)]=((1.1)*1.) +set div[(JGv)]=((38.4)*1.) set dsv[(JGv)]=((38.4)*1.) set Cp[(JGv)]=(($87)*1.) +set c5v[(JGv)]=((1)*1.) set Crv[(JGv)]=(5) set djv[(JGv)]=(($F0)*1.) set dHv[(JGv)]=(($F0)*1.) set dGv[(JGv)]=((.2)*1.) +set dkv[(JGv)]=(($C8)*1.) set dJv[(JGv)]=(($C8)*1.) set dhv[(JGv)]=((.6)*1.) +set dRv[(JGv)]=(($708)*1.) set dXv[(JGv)]=(($708)*1.) set dCv[(JGv)]=((60)*1.) +set Cbv[(JGv)]=(jtv) +set CDv[(JGv)]=(('x')*1.) set Cfv[((JGv))]=((1.*1./((1.4)*1.))*1.) +set CTv[(JGv)]=((.35)*1.) set Csv[(JGv)]=(($A)*1.) +set CSv[(JGv)]=(($A)*1.) +set CUv[(JGv)]=(2) set Cyv[(JGv)]=(6) set CZv[(JGv)]=(0) set CQv[(JGv)]=((20.48)*1.) set dev[(JGv)]=(30) set C9v[(JGv)]=('d') +call LFo((JGv),(Jhv),1) return true endfunction function Lyo takes nothing returns boolean set JHv=LBo('uTus') call Lco(((JHv)),CPv,(cgv)) set vm[(JHv)]=((.75)*1.) +call LCo(JHv,$FF,$FF,$FF,$FF) set div[(JHv)]=((106.66666666667)*1.) set dsv[(JHv)]=((126.22222222222)*1.) set Cp[(JHv)]=((270)*1.) +set c5v[(JHv)]=((0)*1.) set Crv[(JHv)]=(1) set djv[(JHv)]=(('n')*1.) set dHv[(JHv)]=(('n')*1.) set dGv[(JHv)]=((.25)*1.) set dRv[(JHv)]=(($578)*1.) set dXv[(JHv)]=(($578)*1.) set dCv[(JHv)]=(($D)*1.) +set Cbv[(JHv)]=(juv) +set CDv[(JHv)]=((600)*1.) set Cfv[((JHv))]=((1.*1./((1.8)*1.))*1.) +set CTv[(JHv)]=((.3)*1.) +set GCv[(JHv)]=(($4B0)*1.) set Csv[(JHv)]=((7)*1.) set CSv[(JHv)]=((7)*1.) set CUv[(JHv)]=(3) set Cyv[(JHv)]=(2) set CZv[(JHv)]=(1) set CQv[(JHv)]=((55.111111111111)*1.) set dev[(JHv)]=($F) set C9v[(JHv)]=($F) return true endfunction function LYo takes integer VFx,integer Vgx,boolean Vhx returns nothing call SaveBoolean(o[((V[(E[((egv[(VFx)]))])]))],((((eGv[((VFx))])))),(((Vgx))),(((Vhx)))) +endfunction function Lzo takes integer VFx,integer Vgx returns boolean local boolean OVx=h3o(VFx,Vgx) call LYo(VFx,Vgx,not false) return(OVx==false) endfunction function LZo takes nothing returns boolean set Jjv=LBo('uCat') call Lco(((Jjv)),CPv,(cgv)) set vm[(Jjv)]=((1)*1.) set div[(Jjv)]=((60)*1.) +set dsv[(Jjv)]=((60)*1.) +set Cp[(Jjv)]=(('n')*1.) +set c5v[(Jjv)]=((2)*1.) set Crv[(Jjv)]=(2) set djv[(Jjv)]=((300)*1.) set dHv[(Jjv)]=((300)*1.) set dGv[(Jjv)]=((0)*1.) set dRv[(Jjv)]=(($578)*1.) set dXv[(Jjv)]=(($578)*1.) set dCv[(Jjv)]=((50)*1.) +set Cbv[(Jjv)]=(CBv) +set CDv[(Jjv)]=(($564)*1.) set Cfv[((Jjv))]=((1.*1./((4.5)*1.))*1.) +set CTv[(Jjv)]=((.1)*1.) +set GCv[(Jjv)]=((900)*1.) call LPo(Jjv,40,1) call LPo(Jjv,75,.4) call LPo(Jjv,'n',.2) +call Lzo(((Jjv)),gCv+(0)) set Csv[(Jjv)]=((20)*1.) +set CSv[(Jjv)]=((20)*1.) +set CUv[(Jjv)]=(1) set Cyv[(Jjv)]=($F) set CZv[(Jjv)]=(2) set CQv[(Jjv)]=((48)*1.) +set dev[(Jjv)]=(25) set C9v[(Jjv)]=(50) return true endfunction function L_o takes nothing returns boolean set JJv=LBo('uDee') call Lco(((JJv)),CPv,(cgv)) set vm[(JJv)]=((1.7)*1.) +set div[(JJv)]=((15.555555555556)*1.) set dsv[(JJv)]=((15.555555555556)*1.) set Cp[(JJv)]=(($96)*1.) +set c5v[(JJv)]=((0)*1.) set Crv[(JJv)]=(1) set djv[(JJv)]=((60)*1.) +set dHv[(JJv)]=((60)*1.) +set dGv[(JJv)]=((.1)*1.) +set dkv[(JJv)]=((25)*1.) +set dJv[(JJv)]=((25)*1.) +set dhv[(JJv)]=((.3)*1.) +set dRv[(JJv)]=(($578)*1.) set dXv[(JJv)]=(($578)*1.) set dCv[(JJv)]=(($A)*1.) +set Cbv[(JJv)]=(jtv) +set CDv[(JJv)]=(('l')*1.) set Cfv[((JJv))]=((1.*1./((1.4)*1.))*1.) +set CTv[(JJv)]=((.5)*1.) +set Csv[(JJv)]=((5)*1.) set CSv[(JJv)]=((5)*1.) set CUv[(JJv)]=(1) set Cyv[(JJv)]=(2) set CZv[(JJv)]=(0) set CQv[(JJv)]=((10.666666666667)*1.) set dev[(JJv)]=(5) set C9v[(JJv)]=(20) return true endfunction function L0o takes nothing returns boolean set Jkv=LBo('uDem') call Lco(((Jkv)),CPv,(cgv)) set vm[(Jkv)]=((1)*1.) set div[(Jkv)]=((26.666666666667)*1.) set dsv[(Jkv)]=((26.666666666667)*1.) set Cp[(Jkv)]=(($87)*1.) +set c5v[(Jkv)]=(($A)*1.) +set Crv[(Jkv)]=(3) set djv[(Jkv)]=((300)*1.) set dHv[(Jkv)]=((300)*1.) set dGv[(Jkv)]=((0)*1.) set dRv[(Jkv)]=(($578)*1.) set dXv[(Jkv)]=(($578)*1.) set dCv[(Jkv)]=((75)*1.) +set Cbv[(Jkv)]=(CBv) +set CDv[(Jkv)]=(($6CC)*1.) set Cfv[((Jkv))]=((1.*1./((4.5)*1.))*1.) +set CTv[(Jkv)]=((.1)*1.) +set GCv[(Jkv)]=((900)*1.) call LPo(Jkv,80,1) call LPo(Jkv,$96,.4) +call LPo(Jkv,$DC,.2) +call Lzo(((Jkv)),gCv+(0)) set Csv[(Jkv)]=((70)*1.) +set CSv[(Jkv)]=((70)*1.) +set CUv[(Jkv)]=(1) set Cyv[(Jkv)]=(30) set CZv[(Jkv)]=(2) set CQv[(Jkv)]=((32)*1.) +set dev[(Jkv)]=(50) set C9v[(Jkv)]=($96) +call LFo((Jkv),(j2v),1) return true endfunction function L1o takes nothing returns boolean set JKv=LBo('USmo') call LFo((JKv),('AInv'),1) call Lco(((JKv)),CPv,(rG)) call Lco(((JKv)),CPv,(cgv)) set vm[(JKv)]=((1.3)*1.) +set div[(JKv)]=(('d')*1.) set dsv[(JKv)]=((76)*1.) +set Cp[(JKv)]=((360)*1.) +set c5v[(JKv)]=((3)*1.) set Crv[(JKv)]=(4) set djv[(JKv)]=(('d')*1.) set dHv[(JKv)]=(('d')*1.) set dGv[(JKv)]=((0)*1.) set dkv[(JKv)]=(('d')*1.) set dJv[(JKv)]=(('d')*1.) set dhv[(JKv)]=((0)*1.) set dRv[(JKv)]=(($708)*1.) set dXv[(JKv)]=(($708)*1.) set Cbv[(JKv)]=(jtv) +set CDv[(JKv)]=(('x')*1.) set Cfv[((JKv))]=((1.*1./((1.4)*1.))*1.) +set CTv[(JKv)]=((.56)*1.) set Csv[(JKv)]=(($D)*1.) +set CSv[(JKv)]=(($D)*1.) +set CUv[(JKv)]=(4) set Cyv[(JKv)]=(4) set CZv[(JKv)]=(0) set CQv[(JKv)]=((32)*1.) +call LHo(JKv,Jlv) call LHo(JKv,JLv) call LHo(JKv,Jmv) call LHo(JKv,JMv) set DAv[(JKv)]=((13.5)*1.) set DDv[(JKv)]=((4.65)*1.) set Dfv[(JKv)]=((1)*1.) set DNv[(JKv)]=((7.5)*1.) set DFv[(JKv)]=((3.5)*1.) set Dbv[(JKv)]=(($A)*1.) +set Dgv[(JKv)]=((3.85)*1.) return true endfunction function L2o takes nothing returns boolean set Jpv=LBo('uKoR') call Lco(((Jpv)),CPv,(cgv)) set vm[(Jpv)]=((1.25)*1.) call LCo(Jpv,$FF,$96,$B4,$FF) set div[(Jpv)]=((38.4)*1.) set dsv[(Jpv)]=((38.4)*1.) set Cp[(Jpv)]=((270)*1.) +set c5v[(Jpv)]=((1)*1.) set Crv[(Jpv)]=(2) set djv[(Jpv)]=(($8C)*1.) set dHv[(Jpv)]=(($8C)*1.) set dGv[(Jpv)]=((.2)*1.) +set dRv[(Jpv)]=(($578)*1.) set dXv[(Jpv)]=(($578)*1.) set dCv[(Jpv)]=(($C)*1.) +set Cbv[(Jpv)]=(jtv) +set CDv[(Jpv)]=(('x')*1.) set Cfv[((Jpv))]=((1.*1./((1.4)*1.))*1.) +set CTv[(Jpv)]=((.38)*1.) set Csv[(Jpv)]=((7)*1.) set CSv[(Jpv)]=((7)*1.) set CUv[(Jpv)]=(1) set Cyv[(Jpv)]=(3) set CZv[(Jpv)]=(0) set CQv[(Jpv)]=((19.84)*1.) set dev[(Jpv)]=(20) set C9v[(Jpv)]=($F) return true endfunction function L3o takes nothing returns boolean set JPv=LBo('uTow') call Lco(((JPv)),CPv,(cjv)) set vm[(JPv)]=((2.25)*1.) set div[(JPv)]=((60)*1.) +set dsv[(JPv)]=((60)*1.) +set c5v[(JPv)]=((0)*1.) set Crv[(JPv)]=(3) set djv[(JPv)]=((150000.)*1.) set dHv[(JPv)]=((150000.)*1.) set dGv[(JPv)]=((0)*1.) set dRv[(JPv)]=(($578)*1.) set dXv[(JPv)]=(($578)*1.) set Cbv[(JPv)]=(CBv) +set CDv[(JPv)]=(($960)*1.) set Cfv[((JPv))]=((1.*1./((2.5)*1.))*1.) +set CTv[(JPv)]=((.3)*1.) +set GCv[(JPv)]=((900)*1.) call LPo(JPv,80,1) call LPo(JPv,$96,.4) +call LPo(JPv,$DC,.2) +set Csv[(JPv)]=(($A)*1.) +set CSv[(JPv)]=(($A)*1.) +set CUv[(JPv)]=(5) set Cyv[(JPv)]=(3) set CZv[(JPv)]=(2) call LFo((JPv),(j2v),1) return true endfunction function L4o takes nothing returns boolean set Jqv=LBo('uPan') call Lco(((Jqv)),CPv,(cgv)) set vm[(Jqv)]=((1)*1.) call LCo(Jqv,$FF,$FF,$FF,$FF) set div[(Jqv)]=(('d')*1.) set dsv[(Jqv)]=((60)*1.) +set Cp[(Jqv)]=((300)*1.) +set c5v[(Jqv)]=((2)*1.) set Crv[(Jqv)]=(2) set djv[(Jqv)]=(($C8)*1.) set dHv[(Jqv)]=(($C8)*1.) set dGv[(Jqv)]=((.4)*1.) +set dRv[(Jqv)]=(($578)*1.) set dXv[(Jqv)]=(($578)*1.) set dCv[(Jqv)]=(($E)*1.) +set Cbv[(Jqv)]=(jtv) +set CDv[(Jqv)]=(('x')*1.) set Cfv[((Jqv))]=((1.*1./((1.6)*1.))*1.) +set CTv[(Jqv)]=((.3)*1.) +set Csv[(Jqv)]=(($C)*1.) +set CSv[(Jqv)]=(($C)*1.) +set CUv[(Jqv)]=(2) set Cyv[(Jqv)]=(3) set CZv[(Jqv)]=(0) set CQv[(Jqv)]=((48)*1.) +set dev[(Jqv)]=(25) set C9v[(Jqv)]=(30) return true endfunction function L5o takes nothing returns boolean set JQv=LBo('UJot') call LFo((JQv),('AInv'),1) call Lco(((JQv)),CPv,(rG)) call Lco(((JQv)),CPv,(cgv)) set vm[(JQv)]=((1.3)*1.) +set div[(JQv)]=((60)*1.) +set dsv[(JQv)]=((66)*1.) +set Cp[(JQv)]=((280)*1.) +set c5v[(JQv)]=((0)*1.) set Crv[(JQv)]=(4) set djv[(JQv)]=(('d')*1.) set dHv[(JQv)]=(('d')*1.) set dGv[(JQv)]=((0)*1.) set dkv[(JQv)]=(('d')*1.) set dJv[(JQv)]=(('d')*1.) set dhv[(JQv)]=((0)*1.) set dRv[(JQv)]=(($708)*1.) set dXv[(JQv)]=(($708)*1.) set Cbv[(JQv)]=(j4v) +set CDv[(JQv)]=((720)*1.) set Cfv[((JQv))]=((1.*1./((2)*1.))*1.) set CTv[(JQv)]=((.55)*1.) set GCv[(JQv)]=((900)*1.) set Csv[(JQv)]=(($D)*1.) +set CSv[(JQv)]=(($D)*1.) +set CUv[(JQv)]=(2) set Cyv[(JQv)]=(4) set CZv[(JQv)]=(3) set CQv[(JQv)]=((32)*1.) +call LHo(JQv,Jsv) call LHo(JQv,JSv) call LHo(JQv,Jtv) call LHo(JQv,JTv) set DAv[(JQv)]=((6)*1.) set DDv[(JQv)]=((2.5)*1.) set Dfv[(JQv)]=((.8)*1.) +set DNv[(JQv)]=((16)*1.) +set DFv[(JQv)]=((4.5)*1.) set Dbv[(JQv)]=((9)*1.) set Dgv[(JQv)]=((3.5)*1.) return true endfunction function L6o takes nothing returns boolean set Juv=LBo('uTar') call Lco(((Juv)),CPv,(cgv)) set vm[(Juv)]=((1.35)*1.) call LCo(Juv,$FF,$FF,$FF,$BE) set div[(Juv)]=((60)*1.) +set dsv[(Juv)]=((60)*1.) +set Cp[(Juv)]=(($87)*1.) +set c5v[(Juv)]=((0)*1.) set Crv[(Juv)]=(1) set djv[(Juv)]=((825)*1.) set dHv[(Juv)]=((825)*1.) set dGv[(Juv)]=((.55)*1.) set dRv[(Juv)]=(($578)*1.) set dXv[(Juv)]=(($578)*1.) set dCv[(Juv)]=((85)*1.) +set Cbv[(Juv)]=(j4v) +set CDv[(Juv)]=((720)*1.) set Cfv[((Juv))]=((1.*1./((1.75)*1.))*1.) set CTv[(Juv)]=((.43)*1.) set GCv[(Juv)]=(($4B0)*1.) set Csv[(Juv)]=(($A)*1.) +set CSv[(Juv)]=(($A)*1.) +set CUv[(Juv)]=(2) set Cyv[(Juv)]=(3) set CZv[(Juv)]=(4) set CQv[(Juv)]=((31)*1.) +set dev[(Juv)]=(60) set C9v[(Juv)]=('x') +call LFo((Juv),(JUv),1) call LFo((Juv),(Jwv),1) return true endfunction function L7o takes nothing returns boolean set JWv=LBo('uPen') call Lco(((JWv)),CPv,(cgv)) set vm[(JWv)]=((1.5)*1.) +set div[(JWv)]=((60)*1.) +set dsv[(JWv)]=((60)*1.) +set c5v[(JWv)]=((0)*1.) set Crv[(JWv)]=(5) set djv[(JWv)]=(('d')*1.) set dHv[(JWv)]=(('d')*1.) set dGv[(JWv)]=((0)*1.) set dRv[(JWv)]=((350)*1.) set dXv[(JWv)]=((350)*1.) set Csv[(JWv)]=((0)*1.) set CSv[(JWv)]=((0)*1.) set CUv[(JWv)]=(0) set Cyv[(JWv)]=(0) set CQv[(JWv)]=((8)*1.) return true endfunction function L8o takes nothing returns boolean set Jyv=LBo('uLTw') call Lco(((Jyv)),CPv,(cjv)) set vm[(Jyv)]=((1.5)*1.) +call LCo(Jyv,$C8,$C8,$C0,$FF) set div[(Jyv)]=(('x')*1.) set dsv[(Jyv)]=(($FF)*1.) set c5v[(Jyv)]=((0)*1.) set Crv[(Jyv)]=(3) set djv[(Jyv)]=((150000.)*1.) set dHv[(Jyv)]=((150000.)*1.) set dGv[(Jyv)]=((0)*1.) set dRv[(Jyv)]=(($578)*1.) set dXv[(Jyv)]=(($578)*1.) set Cbv[(Jyv)]=(j4v) +set CDv[(Jyv)]=(($4B0)*1.) set Cfv[((Jyv))]=((1.*1./((6)*1.))*1.) set CTv[(Jyv)]=((.5)*1.) +set GCv[(Jyv)]=(($5DC)*1.) set Csv[(Jyv)]=((1)*1.) set CSv[(Jyv)]=((1)*1.) set CUv[(Jyv)]=(1) set Cyv[(Jyv)]=(1) set CZv[(Jyv)]=(3) call LFo((Jyv),(j2v),1) call LFo((Jyv),(JAv),1) return true endfunction function L9o takes nothing returns boolean set JYv=LBo('uNag') call Lco(((JYv)),CPv,(cgv)) set vm[(JYv)]=((1)*1.) call LCo(JYv,$FF,$FF,$FF,$BE) set div[(JYv)]=((60)*1.) +set dsv[(JYv)]=((60)*1.) +set Cp[(JYv)]=(($96)*1.) +set c5v[(JYv)]=((0)*1.) set Crv[(JYv)]=(0) set djv[(JYv)]=((825)*1.) set dHv[(JYv)]=((825)*1.) set dGv[(JYv)]=((.55)*1.) set dkv[(JYv)]=((400)*1.) set dJv[(JYv)]=((400)*1.) set dhv[(JYv)]=((.5)*1.) +set dRv[(JYv)]=(($578)*1.) set dXv[(JYv)]=(($578)*1.) set dCv[(JYv)]=((70)*1.) +set Cbv[(JYv)]=(jtv) +set CDv[(JYv)]=(('x')*1.) set Cfv[((JYv))]=((1.*1./((2.28)*1.))*1.) set CTv[(JYv)]=((.5)*1.) +set Csv[(JYv)]=(($A)*1.) +set CSv[(JYv)]=(($A)*1.) +set CUv[(JYv)]=(2) set Cyv[(JYv)]=(3) set CZv[(JYv)]=(3) set CQv[(JYv)]=((32)*1.) +set dev[(JYv)]=(50) set C9v[(JYv)]=('d') +call LFo((JYv),(Jzv),1) call LFo((JYv),(JZv),1) return true endfunction function mvo takes nothing returns boolean set J_v=LBo('uBal') call Lco(((J_v)),CPv,(cgv)) set vm[(J_v)]=((1.75)*1.) set div[(J_v)]=((29.387755102041)*1.) set dsv[(J_v)]=((19.591836734694)*1.) set Cp[(J_v)]=(($87)*1.) +set c5v[(J_v)]=(($C)*1.) +set Crv[(J_v)]=(4) set djv[(J_v)]=(($514)*1.) set dHv[(J_v)]=(($514)*1.) set dGv[(J_v)]=((1)*1.) set dRv[(J_v)]=(($708)*1.) set dXv[(J_v)]=(($708)*1.) set dCv[(J_v)]=((70)*1.) +set Cbv[(J_v)]=(jtv) +set CDv[(J_v)]=(($CC)*1.) set Cfv[((J_v))]=((1.*1./((2.2)*1.))*1.) +set CTv[(J_v)]=((.33)*1.) set Csv[(J_v)]=((40)*1.) +set CSv[(J_v)]=((40)*1.) +set CUv[(J_v)]=(2) set Cyv[(J_v)]=(6) set CZv[(J_v)]=(0) set CQv[(J_v)]=((27.428571428571)*1.) set dev[(J_v)]=('x') +set C9v[(J_v)]=($FA) +call LFo((J_v),(J0v),1) call LFo((J_v),(J1v),1) return true endfunction function meo takes nothing returns boolean set J2v=LBo('uRai') call Lco(((J2v)),CPv,(cgv)) set vm[(J2v)]=((1)*1.) set div[(J2v)]=((60)*1.) +set dsv[(J2v)]=((60)*1.) +set Cp[(J2v)]=(($96)*1.) +set c5v[(J2v)]=((0)*1.) set Crv[(J2v)]=(1) set djv[(J2v)]=(($C8)*1.) set dHv[(J2v)]=(($C8)*1.) set dGv[(J2v)]=((.1)*1.) +set dRv[(J2v)]=(($578)*1.) set dXv[(J2v)]=(($578)*1.) set dCv[(J2v)]=((30)*1.) +set Cbv[(J2v)]=(jtv) +set CDv[(J2v)]=(($A2)*1.) set Cfv[((J2v))]=((1.*1./((1.85)*1.))*1.) set CTv[(J2v)]=((.5)*1.) +set Csv[(J2v)]=(($A)*1.) +set CSv[(J2v)]=(($A)*1.) +set CUv[(J2v)]=(1) set Cyv[(J2v)]=(5) set CZv[(J2v)]=(2) set CQv[(J2v)]=((32)*1.) +set dev[(J2v)]=(35) set C9v[(J2v)]=(40) return true endfunction function mxo takes nothing returns boolean set J3v=LBo('UAru') call LFo((J3v),('AInv'),1) call Lco(((J3v)),CPv,(rG)) call Lco(((J3v)),CPv,(cgv)) set vm[(J3v)]=((1.3)*1.) +set div[(J3v)]=((60)*1.) +set dsv[(J3v)]=(('d')*1.) set Cp[(J3v)]=((320)*1.) +set c5v[(J3v)]=((2)*1.) set Crv[(J3v)]=(4) set djv[(J3v)]=(('d')*1.) set dHv[(J3v)]=(('d')*1.) set dGv[(J3v)]=((0)*1.) set dkv[(J3v)]=(('d')*1.) set dJv[(J3v)]=(('d')*1.) set dhv[(J3v)]=((0)*1.) set dRv[(J3v)]=(($708)*1.) set dXv[(J3v)]=(($708)*1.) set Cbv[(J3v)]=(juv) +set CDv[(J3v)]=((720)*1.) set Cfv[((J3v))]=((1.*1./((1.55)*1.))*1.) set CTv[(J3v)]=((.3)*1.) +set GCv[(J3v)]=((900)*1.) set Csv[(J3v)]=(($C)*1.) +set CSv[(J3v)]=(($C)*1.) +set CUv[(J3v)]=(3) set Cyv[(J3v)]=(3) set CZv[(J3v)]=(1) set CQv[(J3v)]=((32)*1.) +call LHo(J3v,J4v) call LHo(J3v,J5v) call LHo(J3v,J6v) call LHo(J3v,J7v) set DAv[(J3v)]=(($C)*1.) +set DDv[(J3v)]=((3.75)*1.) set Dfv[(J3v)]=((.75)*1.) set DNv[(J3v)]=(($B)*1.) +set DFv[(J3v)]=((4)*1.) set Dbv[(J3v)]=((8.5)*1.) set Dgv[(J3v)]=((3.5)*1.) return true endfunction function moo takes nothing returns boolean set J8v=LBo('UFuO') call LFo((J8v),('AInv'),1) call Lco(((J8v)),CPv,(rG)) call Lco(((J8v)),CPv,(cgv)) set vm[(J8v)]=((3.6)*1.) +set div[(J8v)]=((60)*1.) +set dsv[(J8v)]=((60)*1.) +set Cp[(J8v)]=(($B4)*1.) +set c5v[(J8v)]=((4)*1.) set Crv[(J8v)]=(4) set djv[(J8v)]=((6500)*1.) set dHv[(J8v)]=((6500)*1.) set dGv[(J8v)]=((3)*1.) set dkv[(J8v)]=(($5DC)*1.) set dJv[(J8v)]=(($5DC)*1.) set dhv[(J8v)]=((5)*1.) set dRv[(J8v)]=(($708)*1.) set dXv[(J8v)]=(($708)*1.) set dCv[(J8v)]=(('d')*1.) set Cbv[(J8v)]=(jtv) +set CDv[(J8v)]=(('x')*1.) set Cfv[((J8v))]=((1.*1./((3)*1.))*1.) set CTv[(J8v)]=((.35)*1.) set Csv[(J8v)]=((44)*1.) +set CSv[(J8v)]=((44)*1.) +set CUv[(J8v)]=(1) set Cyv[(J8v)]=(20) set CZv[(J8v)]=(5) set CQv[(J8v)]=((32)*1.) +set dev[(J8v)]=(50) set C9v[(J8v)]=(50) call LFo((J8v),(J9v),1) call LFo((J8v),(kvv),1) call LFo((J8v),(kev),1) return true endfunction function mro takes nothing returns boolean set kxv=LBo('uDTw') call Lco(((kxv)),CPv,(cjv)) set vm[(kxv)]=((2)*1.) set div[(kxv)]=(('x')*1.) set dsv[(kxv)]=(($B4)*1.) set c5v[(kxv)]=((0)*1.) set Crv[(kxv)]=(3) set djv[(kxv)]=((150000.)*1.) set dHv[(kxv)]=((150000.)*1.) set dGv[(kxv)]=((0)*1.) set dRv[(kxv)]=(($578)*1.) set dXv[(kxv)]=(($578)*1.) set Cbv[(kxv)]=(j4v) +set CDv[(kxv)]=(($4B0)*1.) set Cfv[((kxv))]=((1.*1./((1.75)*1.))*1.) set CTv[(kxv)]=((.5)*1.) +set GCv[(kxv)]=(($3E8)*1.) set Csv[(kxv)]=((23)*1.) +set CSv[(kxv)]=((23)*1.) +set CUv[(kxv)]=(3) set Cyv[(kxv)]=(3) set CZv[(kxv)]=(4) call LFo((kxv),(j2v),1) call LFo((kxv),(j8v),1) return true endfunction function mio takes nothing returns boolean set kov=LBo('uAxe') call Lco(((kov)),CPv,(cgv)) set vm[(kov)]=((1.2)*1.) +set div[(kov)]=((41.666666666667)*1.) set dsv[(kov)]=((41.666666666667)*1.) set Cp[(kov)]=(('}')*1.) +set c5v[(kov)]=((2)*1.) set Crv[(kov)]=(2) set djv[(kov)]=((400)*1.) set dHv[(kov)]=((400)*1.) set dGv[(kov)]=((.4)*1.) +set dRv[(kov)]=(($578)*1.) set dXv[(kov)]=(($578)*1.) set dCv[(kov)]=((40)*1.) +set Cbv[(kov)]=(jtv) +set CDv[(kov)]=(('x')*1.) set Cfv[((kov))]=((1.*1./((1.6)*1.))*1.) +set CTv[(kov)]=((.35)*1.) set Csv[(kov)]=((16)*1.) +set CSv[(kov)]=((16)*1.) +set CUv[(kov)]=(3) set Cyv[(kov)]=(3) set CZv[(kov)]=(0) set CQv[(kov)]=((22.222222222222)*1.) set dev[(kov)]=(20) set C9v[(kov)]=(90) return true endfunction function mao takes nothing returns boolean set krv=LBo('USto') call LFo((krv),('AInv'),1) call Lco(((krv)),CPv,(rG)) call Lco(((krv)),CPv,(cgv)) set vm[(krv)]=((1.3)*1.) +set div[(krv)]=((60)*1.) +set dsv[(krv)]=((60)*1.) +set Cp[(krv)]=((290)*1.) +set c5v[(krv)]=((1.5)*1.) set Crv[(krv)]=(4) set djv[(krv)]=(('d')*1.) set dHv[(krv)]=(('d')*1.) set dGv[(krv)]=((0)*1.) set dkv[(krv)]=(('d')*1.) set dJv[(krv)]=(('d')*1.) set dhv[(krv)]=((0)*1.) set dRv[(krv)]=(($708)*1.) set dXv[(krv)]=(($708)*1.) set Cbv[(krv)]=(jtv) +set CDv[(krv)]=(('x')*1.) set Cfv[((krv))]=((1.*1./((1.7)*1.))*1.) +set CTv[(krv)]=((.35)*1.) set Csv[(krv)]=(($C)*1.) +set CSv[(krv)]=(($C)*1.) +set CUv[(krv)]=(1) set Cyv[(krv)]=($A) set CZv[(krv)]=(0) set CQv[(krv)]=((32)*1.) +call LHo(krv,kiv) call LHo(krv,kav) call LHo(krv,knv) call LHo(krv,kVv) set DAv[(krv)]=(($A)*1.) +set DDv[(krv)]=((3.75)*1.) set Dfv[(krv)]=((.7)*1.) +set DNv[(krv)]=(($A)*1.) +set DFv[(krv)]=((3.75)*1.) set Dbv[(krv)]=((10.5)*1.) set Dgv[(krv)]=((3.75)*1.) return true endfunction function mno takes nothing returns boolean set kEv=LBo('uBDS') call Lco(((kEv)),CPv,(cEv)) set vm[(kEv)]=((.7)*1.) call LCo(kEv,$96,$96,$FF,$FF) set div[(kEv)]=((0)*1.) set dsv[(kEv)]=((-20.408163265306)*1.) set Cp[(kEv)]=((300)*1.) +set c5v[(kEv)]=((0)*1.) set Crv[(kEv)]=(2) set djv[(kEv)]=((300)*1.) set dHv[(kEv)]=((300)*1.) set dGv[(kEv)]=((.2)*1.) +set dRv[(kEv)]=(($578)*1.) set dXv[(kEv)]=(($578)*1.) set dCv[(kEv)]=((25)*1.) +set Cbv[(kEv)]=(j4v) +set CDv[(kEv)]=((720)*1.) set Cfv[((kEv))]=((1.*1./((1.8)*1.))*1.) +set CTv[(kEv)]=((.94)*1.) set GCv[(kEv)]=((800)*1.) set Csv[(kEv)]=(($C)*1.) +set CSv[(kEv)]=(($C)*1.) +set CUv[(kEv)]=(1) set Cyv[(kEv)]=(2) set CZv[(kEv)]=(1) set CQv[(kEv)]=((97.959183673469)*1.) set dev[(kEv)]=($E) set C9v[(kEv)]=(35) return true endfunction function mVo takes nothing returns boolean set kXv=LBo('uKoB') call Lco(((kXv)),CPv,(cgv)) set vm[(kXv)]=((1.4)*1.) +call LCo(kXv,$FF,$FF,$FF,$FF) set div[(kXv)]=((30.612244897959)*1.) set dsv[(kXv)]=((30.612244897959)*1.) set Cp[(kXv)]=((270)*1.) +set c5v[(kXv)]=((0)*1.) set Crv[(kXv)]=(5) set djv[(kXv)]=((90)*1.) +set dHv[(kXv)]=((90)*1.) +set dGv[(kXv)]=((.2)*1.) +set dkv[(kXv)]=((50)*1.) +set dJv[(kXv)]=((50)*1.) +set dhv[(kXv)]=((.4)*1.) +set dRv[(kXv)]=(($578)*1.) set dXv[(kXv)]=(($578)*1.) set dCv[(kXv)]=((25)*1.) +set Cbv[(kXv)]=(j4v) +set CDv[(kXv)]=((720)*1.) set Cfv[((kXv))]=((1.*1./((1.8)*1.))*1.) +set CTv[(kXv)]=((.38)*1.) set GCv[(kXv)]=((900)*1.) set Csv[(kXv)]=((4)*1.) set CSv[(kXv)]=((4)*1.) set CUv[(kXv)]=(2) set Cyv[(kXv)]=(2) set CZv[(kXv)]=(3) set CQv[(kXv)]=((15.816326530612)*1.) set dev[(kXv)]=($F) set C9v[(kXv)]=($A) return true endfunction function mEo takes nothing returns boolean set kOv=LBo('uPeB') call Lco(((kOv)),CPv,(cgv)) set vm[(kOv)]=((1.725)*1.) set div[(kOv)]=((60)*1.) +set dsv[(kOv)]=((60)*1.) +set Cp[(kOv)]=((340)*1.) +set c5v[(kOv)]=((0)*1.) set Crv[(kOv)]=(2) set djv[(kOv)]=((55)*1.) +set dHv[(kOv)]=((55)*1.) +set dGv[(kOv)]=((.2)*1.) +set dRv[(kOv)]=((350)*1.) set dXv[(kOv)]=((350)*1.) set dCv[(kOv)]=(($A)*1.) +set Cbv[(kOv)]=(jtv) +set CDv[(kOv)]=(('x')*1.) set Cfv[((kOv))]=((1.*1./((1.5)*1.))*1.) +set CTv[(kOv)]=((1)*1.) set Csv[(kOv)]=((5)*1.) set CSv[(kOv)]=((5)*1.) set CUv[(kOv)]=(1) set Cyv[(kOv)]=(1) set CZv[(kOv)]=(4) set CQv[(kOv)]=((16)*1.) +return true endfunction function mXo takes nothing returns boolean set kRv=LBo('uRes') call Lco(((kRv)),CPv,(cjv)) set vm[(kRv)]=((1.1)*1.) +call LCo(kRv,$96,$C8,$FF,$FF) set div[(kRv)]=(('x')*1.) set dsv[(kRv)]=((60)*1.) +set c5v[(kRv)]=((0)*1.) set Crv[(kRv)]=(3) set djv[(kRv)]=((150000.)*1.) set dHv[(kRv)]=((150000.)*1.) set dGv[(kRv)]=((0)*1.) set dkv[(kRv)]=(($C8)*1.) set dJv[(kRv)]=(($C8)*1.) set dhv[(kRv)]=((.4)*1.) +set dRv[(kRv)]=((300)*1.) set dXv[(kRv)]=((300)*1.) set Csv[(kRv)]=((0)*1.) set CSv[(kRv)]=((0)*1.) set CUv[(kRv)]=(0) set Cyv[(kRv)]=(0) call LFo((kRv),(j2v),1) call LFo((kRv),(kIv),1) return true endfunction function mOo takes nothing returns boolean set kAv=LBo('uFuM') call Lco(((kAv)),CPv,(cgv)) set vm[(kAv)]=((1.75)*1.) call LCo(kAv,$FF,'x',$96,$FF) set div[(kAv)]=((35.502958579882)*1.) set dsv[(kAv)]=((35.502958579882)*1.) set Cp[(kAv)]=(($BE)*1.) +set c5v[(kAv)]=((4)*1.) set Crv[(kAv)]=(2) set djv[(kAv)]=((600)*1.) set dHv[(kAv)]=((600)*1.) set dGv[(kAv)]=((1)*1.) set dkv[(kAv)]=(('d')*1.) set dJv[(kAv)]=(('d')*1.) set dhv[(kAv)]=((.4)*1.) +set dRv[(kAv)]=(($578)*1.) set dXv[(kAv)]=(($578)*1.) set dCv[(kAv)]=((40)*1.) +set Cbv[(kAv)]=(jtv) +set CDv[(kAv)]=(($A8)*1.) set Cfv[((kAv))]=((1.*1./((2)*1.))*1.) set CTv[(kAv)]=((.3)*1.) +set Csv[(kAv)]=((24)*1.) +set CSv[(kAv)]=((24)*1.) +set CUv[(kAv)]=(3) set Cyv[(kAv)]=(4) set CZv[(kAv)]=(4) set CQv[(kAv)]=((28.402366863905)*1.) set dev[(kAv)]=($96) +set C9v[(kAv)]=(80) call LFo((kAv),(kNv),1) return true endfunction function mRo takes nothing returns boolean set kbv=LBo('uTrP') call Lco(((kbv)),CPv,(cgv)) set vm[(kbv)]=((1)*1.) call LCo(kbv,$FF,$8C,$FF,$FF) set div[(kbv)]=((123.45679012346)*1.) set dsv[(kbv)]=((74.074074074074)*1.) set Cp[(kbv)]=((280)*1.) +set c5v[(kbv)]=((0)*1.) set Crv[(kbv)]=(2) set djv[(kbv)]=((400)*1.) set dHv[(kbv)]=((400)*1.) set dGv[(kbv)]=((.3)*1.) +set dRv[(kbv)]=(($578)*1.) set dXv[(kbv)]=(($578)*1.) set dCv[(kbv)]=((30)*1.) +set Cbv[(kbv)]=(jtv) +set CDv[(kbv)]=(('x')*1.) set Cfv[((kbv))]=((1.*1./((1.35)*1.))*1.) set CTv[(kbv)]=((.467)*1.) set Csv[(kbv)]=(($F)*1.) +set CSv[(kbv)]=(($F)*1.) +set CUv[(kbv)]=(1) set Cyv[(kbv)]=(2) set CZv[(kbv)]=(0) set CQv[(kbv)]=((39.506172839506)*1.) set dev[(kbv)]=(21) set C9v[(kbv)]=(55) return true endfunction function mIo takes nothing returns boolean set kBv=LBo('uSnF') call Lco(((kBv)),CPv,(cEv)) set vm[(kBv)]=((.9)*1.) set div[(kBv)]=((60)*1.) +set dsv[(kBv)]=((60)*1.) +set Cp[(kBv)]=(($87)*1.) +set c5v[(kBv)]=((0)*1.) set Crv[(kBv)]=(0) set djv[(kBv)]=(('n')*1.) set dHv[(kBv)]=(('n')*1.) set dGv[(kBv)]=((.3)*1.) +set dkv[(kBv)]=((30)*1.) +set dJv[(kBv)]=((30)*1.) +set dhv[(kBv)]=((.1)*1.) +set dRv[(kBv)]=(($640)*1.) set dXv[(kBv)]=(($640)*1.) set dCv[(kBv)]=((20)*1.) +set Cbv[(kBv)]=(juv) +set CDv[(kBv)]=((600)*1.) set Cfv[((kBv))]=((1.*1./((1.5)*1.))*1.) +set CTv[(kBv)]=((.5)*1.) +set GCv[(kBv)]=(($5DC)*1.) set Csv[(kBv)]=((7)*1.) set CSv[(kBv)]=((7)*1.) set CUv[(kBv)]=(1) set Cyv[(kBv)]=(4) set CZv[(kBv)]=(3) set CQv[(kBv)]=((8)*1.) set dev[(kBv)]=(25) set C9v[(kBv)]=(50) call LFo((kBv),(kcv),1) return true endfunction function mAo takes nothing returns boolean set kCv=LBo('uTrG') call Lco(((kCv)),CPv,(cgv)) set vm[(kCv)]=((1)*1.) call LCo(kCv,$AA,$FF,60,$FF) +set div[(kCv)]=((38.4)*1.) set dsv[(kCv)]=((38.4)*1.) set Cp[(kCv)]=((280)*1.) +set c5v[(kCv)]=((0)*1.) set Crv[(kCv)]=(2) set djv[(kCv)]=((600)*1.) set dHv[(kCv)]=((600)*1.) set dGv[(kCv)]=((.3)*1.) +set dRv[(kCv)]=(($578)*1.) set dXv[(kCv)]=(($578)*1.) set dCv[(kCv)]=((20)*1.) +set Cbv[(kCv)]=(jtv) +set CDv[(kCv)]=(('x')*1.) set Cfv[((kCv))]=((1.*1./((1.35)*1.))*1.) set CTv[(kCv)]=((.467)*1.) set Csv[(kCv)]=((22)*1.) +set CSv[(kCv)]=((22)*1.) +set CUv[(kCv)]=(1) set Cyv[(kCv)]=(4) set CZv[(kCv)]=(4) set CQv[(kCv)]=((20.48)*1.) set dev[(kCv)]=(20) set C9v[(kCv)]=(70) return true endfunction function mNo takes nothing returns boolean set kdv=LBo('uWol') call Lco(((kdv)),CPv,(cgv)) set vm[(kdv)]=((1)*1.) set div[(kdv)]=((60)*1.) +set dsv[(kdv)]=((60)*1.) +set Cp[(kdv)]=(('}')*1.) +set c5v[(kdv)]=((2)*1.) set Crv[(kdv)]=(2) set djv[(kdv)]=(('x')*1.) set dHv[(kdv)]=(('x')*1.) set dGv[(kdv)]=((.4)*1.) +set dkv[(kdv)]=(('d')*1.) set dJv[(kdv)]=(('d')*1.) set dhv[(kdv)]=((1)*1.) set dRv[(kdv)]=(($578)*1.) set dXv[(kdv)]=(($578)*1.) set dCv[(kdv)]=((22.5)*1.) set Cbv[(kdv)]=(jtv) +set CDv[(kdv)]=(($84)*1.) set Cfv[((kdv))]=((1.*1./((1.35)*1.))*1.) set CTv[(kdv)]=((.33)*1.) set Csv[(kdv)]=((8)*1.) set CSv[(kdv)]=((8)*1.) set CUv[(kdv)]=(2) set Cyv[(kdv)]=(3) set CZv[(kdv)]=(0) set CQv[(kdv)]=((32)*1.) +set dev[(kdv)]=(8) set C9v[(kdv)]=(40) call LFo((kdv),(kDv),1) return true endfunction function mbo takes nothing returns boolean set kfv=LBo('uDru') call Lco(((kfv)),CPv,(cgv)) set vm[(kfv)]=((1)*1.) set div[(kfv)]=((26.666666666667)*1.) set dsv[(kfv)]=((26.666666666667)*1.) set Cp[(kfv)]=(('n')*1.) +set c5v[(kfv)]=((1)*1.) set Crv[(kfv)]=(3) set djv[(kfv)]=((300)*1.) set dHv[(kfv)]=((300)*1.) set dGv[(kfv)]=((2)*1.) set dRv[(kfv)]=(($578)*1.) set dXv[(kfv)]=(($578)*1.) set dCv[(kfv)]=((50)*1.) +set Cbv[(kfv)]=(juv) +set CDv[(kfv)]=((600)*1.) set Cfv[((kfv))]=((1.*1./((1.44)*1.))*1.) set CTv[(kfv)]=((.85)*1.) set GCv[(kfv)]=(($4B0)*1.) set Csv[(kfv)]=((4)*1.) set CSv[(kfv)]=((4)*1.) set CUv[(kfv)]=(1) set Cyv[(kfv)]=(3) set CZv[(kfv)]=(1) set CQv[(kfv)]=((21.333333333333)*1.) set dev[(kfv)]=(35) set C9v[(kfv)]=(80) call LFo((kfv),(kFv),1) return true endfunction function mBo takes nothing returns boolean set kgv=LBo('ULea') call LFo((kgv),('AInv'),1) call Lco(((kgv)),CPv,(rG)) call Lco(((kgv)),CPv,(cgv)) set vm[(kgv)]=((1.25)*1.) set div[(kgv)]=((60)*1.) +set dsv[(kgv)]=((60)*1.) +set Cp[(kgv)]=(($96)*1.) +set c5v[(kgv)]=((5)*1.) set Crv[(kgv)]=(4) set djv[(kgv)]=(($FA0)*1.) set dHv[(kgv)]=(($FA0)*1.) set dGv[(kgv)]=((1)*1.) set dkv[(kgv)]=(($C8)*1.) set dJv[(kgv)]=(($C8)*1.) set dhv[(kgv)]=((.5)*1.) +set dRv[(kgv)]=(($578)*1.) set dXv[(kgv)]=(($578)*1.) set dCv[(kgv)]=((90)*1.) +set Cbv[(kgv)]=(jtv) +set CDv[(kgv)]=(('x')*1.) set Cfv[((kgv))]=((1.*1./((1.5)*1.))*1.) +set CTv[(kgv)]=((.5)*1.) +set Csv[(kgv)]=((20)*1.) +set CSv[(kgv)]=((20)*1.) +set CUv[(kgv)]=(2) set Cyv[(kgv)]=(8) set CZv[(kgv)]=(5) set CQv[(kgv)]=((32)*1.) +set dev[(kgv)]=('d') +set C9v[(kgv)]=($C8) +call LFo((kgv),(kGv),1) return true endfunction function mco takes nothing returns boolean set khv=LBo('URoc') call LFo((khv),('AInv'),1) call Lco(((khv)),CPv,(rG)) call Lco(((khv)),CPv,(cgv)) set vm[(khv)]=((1.4)*1.) +set div[(khv)]=((60)*1.) +set dsv[(khv)]=((60)*1.) +set Cp[(khv)]=((280)*1.) +set c5v[(khv)]=((3)*1.) set Crv[(khv)]=(4) set djv[(khv)]=(('d')*1.) set dHv[(khv)]=(('d')*1.) set dGv[(khv)]=((0)*1.) set dkv[(khv)]=(('d')*1.) set dJv[(khv)]=(('d')*1.) set dhv[(khv)]=((0)*1.) set dRv[(khv)]=(($708)*1.) set dXv[(khv)]=(($708)*1.) set Cbv[(khv)]=(jtv) +set CDv[(khv)]=(('x')*1.) set Cfv[((khv))]=((1.*1./((1.55)*1.))*1.) set CTv[(khv)]=((.35)*1.) set Csv[(khv)]=(($C)*1.) +set CSv[(khv)]=(($C)*1.) +set CUv[(khv)]=(2) set Cyv[(khv)]=($C) set CZv[(khv)]=(0) set CQv[(khv)]=((32)*1.) +call LHo(khv,kHv) call LHo(khv,kjv) call LHo(khv,kJv) call LHo(khv,kkv) set DAv[(khv)]=((7.5)*1.) set DDv[(khv)]=((3.5)*1.) set Dfv[(khv)]=((.85)*1.) set DNv[(khv)]=((6)*1.) set DFv[(khv)]=((3.25)*1.) set Dbv[(khv)]=((16)*1.) +set Dgv[(khv)]=((5)*1.) return true endfunction function mCo takes nothing returns boolean set kKv=LBo('uSat') call Lco(((kKv)),CPv,(cgv)) set vm[(kKv)]=((1.4)*1.) +set div[(kKv)]=((45.368620037807)*1.) set dsv[(kKv)]=((45.368620037807)*1.) set Cp[(kKv)]=(($E6)*1.) +set c5v[(kKv)]=((1)*1.) set Crv[(kKv)]=(2) set djv[(kKv)]=((80)*1.) +set dHv[(kKv)]=((80)*1.) +set dGv[(kKv)]=((.4)*1.) +set dkv[(kKv)]=(('x')*1.) set dJv[(kKv)]=(('x')*1.) set dhv[(kKv)]=((.7)*1.) +set dRv[(kKv)]=(($578)*1.) set dXv[(kKv)]=(($578)*1.) set dCv[(kKv)]=((35)*1.) +set Cbv[(kKv)]=(jtv) +set CDv[(kKv)]=(('x')*1.) set Cfv[((kKv))]=((1.*1./((1.35)*1.))*1.) set CTv[(kKv)]=((.3)*1.) +set Csv[(kKv)]=(($E)*1.) +set CSv[(kKv)]=(($E)*1.) +set CUv[(kKv)]=(1) set Cyv[(kKv)]=(4) set CZv[(kKv)]=(0) set CQv[(kKv)]=((24.196597353497)*1.) set dev[(kKv)]=($F) set C9v[(kKv)]=(35) return true endfunction function mdo takes nothing returns boolean set klv=LBo('UTrL') call LFo((klv),('AInv'),1) call Lco(((klv)),CPv,(rG)) call Lco(((klv)),CPv,(cgv)) set vm[(klv)]=((1.25)*1.) set div[(klv)]=((38.4)*1.) set dsv[(klv)]=((38.4)*1.) set Cp[(klv)]=(($B4)*1.) +set c5v[(klv)]=((7)*1.) set Crv[(klv)]=(4) set djv[(klv)]=(($9C4)*1.) set dHv[(klv)]=(($9C4)*1.) set dGv[(klv)]=((1)*1.) set dkv[(klv)]=(($C8)*1.) set dJv[(klv)]=(($C8)*1.) set dhv[(klv)]=((.5)*1.) +set dRv[(klv)]=(($708)*1.) set dXv[(klv)]=(($708)*1.) set dCv[(klv)]=(('x')*1.) set Cbv[(klv)]=(jtv) +set CDv[(klv)]=(('x')*1.) set Cfv[((klv))]=((1.*1./((2.2)*1.))*1.) +set CTv[(klv)]=((.433)*1.) set Csv[(klv)]=((30)*1.) +set CSv[(klv)]=((30)*1.) +set CUv[(klv)]=(2) set Cyv[(klv)]=(6) set CZv[(klv)]=(5) set CQv[(klv)]=((20.48)*1.) set dev[(klv)]=('d') +set C9v[(klv)]=($C8) +call LFo((klv),(kLv),1) call LFo((klv),(kmv),1) return true endfunction function mDo takes nothing returns boolean set kMv=LBo('uPeo') call Lco(((kMv)),CPv,(cgv)) set vm[(kMv)]=((.85)*1.) +set div[(kMv)]=((45)*1.) +set dsv[(kMv)]=((60)*1.) +set Cp[(kMv)]=(($AA)*1.) +set c5v[(kMv)]=((0)*1.) set Crv[(kMv)]=(1) set djv[(kMv)]=(('x')*1.) set dHv[(kMv)]=(('x')*1.) set dGv[(kMv)]=((.1)*1.) +set dRv[(kMv)]=((800)*1.) set dXv[(kMv)]=((800)*1.) set dCv[(kMv)]=((35)*1.) +set Cbv[(kMv)]=(jtv) +set CDv[(kMv)]=(('l')*1.) set Cfv[((kMv))]=((1.*1./((3)*1.))*1.) set CTv[(kMv)]=((.5)*1.) +set Csv[(kMv)]=((5)*1.) set CSv[(kMv)]=((5)*1.) set CUv[(kMv)]=(1) set Cyv[(kMv)]=(2) set CZv[(kMv)]=(0) set CQv[(kMv)]=((16)*1.) +set dev[(kMv)]=($F) set C9v[(kMv)]=(20) return true endfunction function mfo takes nothing returns boolean set kpv=LBo('uPeL') call Lco(((kpv)),CPv,(cgv)) set vm[(kpv)]=((1.5)*1.) +set div[(kpv)]=((60)*1.) +set dsv[(kpv)]=((60)*1.) +set c5v[(kpv)]=((0)*1.) set Crv[(kpv)]=(5) set djv[(kpv)]=(('d')*1.) set dHv[(kpv)]=(('d')*1.) set dGv[(kpv)]=((0)*1.) set dRv[(kpv)]=((350)*1.) set dXv[(kpv)]=((350)*1.) set Csv[(kpv)]=((0)*1.) set CSv[(kpv)]=((0)*1.) set CUv[(kpv)]=(0) set Cyv[(kpv)]=(0) set CQv[(kpv)]=((8)*1.) return true endfunction function mFo takes nothing returns boolean set kPv=LBo('uMoo') call Lco(((kPv)),CPv,(cgv)) set vm[(kPv)]=((1.25)*1.) set div[(kPv)]=((41.666666666667)*1.) set dsv[(kPv)]=((41.666666666667)*1.) set CMv[(kPv)]=("Objects\\Spawnmodels\\NightElf\\NightElfBlood\\NightElfBloodDruidoftheClaw.mdx") set Cp[(kPv)]=(($87)*1.) +set c5v[(kPv)]=((3)*1.) set Crv[(kPv)]=(2) set djv[(kPv)]=(($8C)*1.) set dHv[(kPv)]=(($8C)*1.) set dGv[(kPv)]=((.8)*1.) +set dRv[(kPv)]=(($578)*1.) set dXv[(kPv)]=(($578)*1.) set dCv[(kPv)]=((27.5)*1.) set Cbv[(kPv)]=(jtv) +set CDv[(kPv)]=((153.6)*1.) set Cfv[((kPv))]=((1.*1./((1.7)*1.))*1.) +set CTv[(kPv)]=((.3)*1.) +set Csv[(kPv)]=(($D)*1.) +set CSv[(kPv)]=(($D)*1.) +set CUv[(kPv)]=(2) set Cyv[(kPv)]=(4) set CZv[(kPv)]=(0) set CQv[(kPv)]=((33.333333333333)*1.) set dev[(kPv)]=(9) set C9v[(kPv)]=(60) return true endfunction function mgo takes nothing returns boolean set kqv=LBo('uSwo') call Lco(((kqv)),CPv,(cgv)) set vm[(kqv)]=((1.25)*1.) call LCo(kqv,$FF,$FF,$FF,$FF) set div[(kqv)]=((41.666666666667)*1.) set dsv[(kqv)]=((41.666666666667)*1.) set Cp[(kqv)]=((270)*1.) +set c5v[(kqv)]=((3)*1.) set Crv[(kqv)]=(2) set djv[(kqv)]=((400)*1.) set dHv[(kqv)]=((400)*1.) set dGv[(kqv)]=((.2)*1.) +set dRv[(kqv)]=(($578)*1.) set dXv[(kqv)]=(($578)*1.) set dCv[(kqv)]=((40)*1.) +set Cbv[(kqv)]=(jtv) +set CDv[(kqv)]=(('x')*1.) set Cfv[((kqv))]=((1.*1./((1)*1.))*1.) set CTv[(kqv)]=((.5)*1.) +set Csv[(kqv)]=((2)*1.) set CSv[(kqv)]=((2)*1.) set CUv[(kqv)]=(1) set Cyv[(kqv)]=(3) set CZv[(kqv)]=(0) set CQv[(kqv)]=((21.527777777778)*1.) set dev[(kqv)]=(20) set C9v[(kqv)]=($A) return true endfunction function mGo takes integer VFx,integer Vgx,string Vhx returns boolean return Uvx(egv[(VFx)],(eGv[((VFx))]),Vgx,Vhx) endfunction function mho takes integer VFx,integer Vgx,integer Vhx returns boolean return Uxx(egv[(VFx)],(eGv[((VFx))]),Vgx,Vhx) endfunction function mHo takes integer VFx,string Uix,string CZx,integer EKx returns nothing +call mGo((VFx),CXv,CZx) call mho((VFx),COv,EKx) call mGo((VFx),CEv,Uix) endfunction function mjo takes nothing returns boolean set kQv=LBo('uVic') set vm[(kQv)]=((1.2)*1.) +set div[(kQv)]=((41.666666666667)*1.) set dsv[(kQv)]=((41.666666666667)*1.) call mHo(kQv,"UnitType_page\\UnitType_struct\\Hammer.mdx","hand right",EV) set c5v[(kQv)]=((0)*1.) set Crv[(kQv)]=(2) set djv[(kQv)]=(($C8)*1.) set dHv[(kQv)]=(($C8)*1.) set dGv[(kQv)]=((0)*1.) set dRv[(kQv)]=((500)*1.) set dXv[(kQv)]=((500)*1.) set dCv[(kQv)]=((300)*1.) set Csv[(kQv)]=((0)*1.) set CSv[(kQv)]=((0)*1.) set CUv[(kQv)]=(0) set Cyv[(kQv)]=(0) return true endfunction function mJo takes nothing returns boolean call l8o(function Ldo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\Creeps\\obj_KoboldBrown_wc3unit.j") call l8o(function Lgo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\SpearScout\\obj_SpearScout_wc3unit.j") +call l8o(function LGo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Bonus\\obj_PenguinChamp_wc3unit.j") call l8o(function Lho,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\obj_GnollMage_wc3unit.j") call l8o(function LJo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Heroes\\obj_Kera_wc3unit.j") +call l8o(function Lko,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\obj_BaseTower_wc3unit.j") +call l8o(function LKo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\obj_TrollPriest_wc3unit.j") call l8o(function Llo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\obj_DarkTower2_wc3unit.j") call l8o(function LLo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Heroes\\obj_Tajran_wc3unit.j") call l8o(function Lmo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\obj_Troll_wc3unit.j") call l8o(function Lqo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\obj_FrostTower_wc3unit.j") call l8o(function LQo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Heroes\\Lizzy\\obj_Lizzy_wc3unit.j") +call l8o(function Lso,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Bonus\\FlyingPenguin\\obj_FlyingPenguin_wc3unit.j") call l8o(function LSo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\obj_LightningTower2_wc3unit.j") call l8o(function Lto,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\obj_FrostTower2_wc3unit.j") call l8o(function LTo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\Creeps\\obj_WolfMother_wc3unit.j") +call l8o(function Luo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Heroes\\obj_Drakul_wc3unit.j") call l8o(function LUo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\Fountain\\obj_Fountain_wc3unit.j") call l8o(function Lwo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\DefenderSpawns\\obj_Vicar_wc3unit.j") +call l8o(function LWo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\Assassin\\obj_Assassin_wc3unit.j") +call l8o(function Lyo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\Creeps\\obj_Tuskar_wc3unit.j") +call l8o(function LZo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\obj_Catapult_wc3unit.j") call l8o(function L_o,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\Deer\\obj_Deer_wc3unit.j") +call l8o(function L0o,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\obj_Demolisher_wc3unit.j") +call l8o(function L1o,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Heroes\\obj_Smokealot_wc3unit.j") call l8o(function L2o,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\Creeps\\obj_KoboldRed_wc3unit.j") call l8o(function L3o,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\Tower\\obj_Tower_wc3unit.j") call l8o(function L4o,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\Creeps\\obj_Pandarene_wc3unit.j") call l8o(function L5o,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Heroes\\obj_Jota_wc3unit.j") +call l8o(function L6o,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\Tarog\\obj_Tarog_wc3unit.j") call l8o(function L7o,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\obj_PropPenguin_wc3unit.j") call l8o(function L8o,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\obj_LightningTower_wc3unit.j") call l8o(function L9o,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\obj_Nagarosh_wc3unit.j") call l8o(function mvo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\Balduir\\obj_Balduir_wc3unit.j") call l8o(function meo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\obj_Raider_wc3unit.j") +call l8o(function mxo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Heroes\\obj_Aruruw_wc3unit.j") call l8o(function moo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\obj_FurbolgOracle_wc3unit.j") call l8o(function mro,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\obj_DarkTower_wc3unit.j") +call l8o(function mio,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\obj_AxeFighter_wc3unit.j") +call l8o(function mao,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Heroes\\obj_Stormy_wc3unit.j") call l8o(function mno,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\Creeps\\obj_BlueDragonSpawn_wc3unit.j") call l8o(function mVo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\Creeps\\obj_KoboldBlue_wc3unit.j") +call l8o(function mEo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Bonus\\obj_Penguin_wc3unit.j") call l8o(function mXo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\obj_Reservoir_wc3unit.j") +call l8o(function mOo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\Creeps\\obj_FurbolgMother_wc3unit.j") call l8o(function mRo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\Creeps\\obj_TreantPurple_wc3unit.j") call l8o(function mIo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\obj_SnowFalcon_wc3unit.j") +call l8o(function mAo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\Creeps\\obj_TreantGreen_wc3unit.j") call l8o(function mNo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\obj_Wolf_wc3unit.j") call l8o(function mbo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\obj_Drummer_wc3unit.j") call l8o(function mBo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\obj_Leader_wc3unit.j") +call l8o(function mco,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Heroes\\obj_Rocketeye_wc3unit.j") call l8o(function mCo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\obj_Satyr_wc3unit.j") call l8o(function mdo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\obj_TrueLeader_wc3unit.j") +call l8o(function mDo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act2\\obj_Peon_wc3unit.j") call l8o(function mfo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\obj_PenguinLying_wc3unit.j") call l8o(function mFo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Spawns\\Act1\\obj_Moonkin_wc3unit.j") call l8o(function mgo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\DefenderSpawns\\obj_Swordsman_wc3unit.j") +call l8o(function mjo,"D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Header\\UnitType.page\\UnitType.struct\\UnitTypes.pack\\Other\\Victor\\obj_Victor_wc3unit.j") return true endfunction function mko takes nothing returns boolean set jMv=Idx(jJv) +return true endfunction function mKo takes nothing returns boolean set aH=Idx(vH) return true endfunction function mlo takes nothing returns boolean set ksv=Idx(kSv) +return true endfunction function mLo takes nothing returns boolean set ktv=Idx(kTv) +return true endfunction function mmo takes nothing returns boolean set kuv=Idx(kUv) +return true endfunction function mMo takes nothing returns boolean set kwv=Idx(kWv) +return true endfunction function mpo takes nothing returns boolean set kyv=Idx(kYv) +return true endfunction function mPo takes nothing returns boolean set kzv=Idx(kZv) +return true endfunction function mqo takes nothing returns boolean set k_v=Idx(k0v) +return true endfunction function mQo takes nothing returns boolean set k1v=Idx(k2v) +return true endfunction function mso takes nothing returns boolean set k3v=Idx(k4v) +return true endfunction function mSo takes nothing returns boolean set k5v=Idx(k6v) +return true endfunction function mto takes nothing returns boolean set k7v=Idx(k8v) +return true endfunction function mTo takes nothing returns boolean set k9v=Idx(Kvv) +return true endfunction function muo takes nothing returns boolean set Kev=Idx(Kxv) +return true endfunction function mUo takes nothing returns boolean set Z5=Idx(U5) return true endfunction function mwo takes nothing returns boolean set S6=Idx(M6) return true endfunction function mWo takes nothing returns boolean set n7=Idx(e7) return true endfunction function myo takes nothing returns boolean set g7=Idx(c7) return true endfunction function mYo takes nothing returns boolean set Kov=Idx(Krv) +return true endfunction function mzo takes nothing returns boolean set Kiv=Idx(Kav) +return true endfunction function mZo takes nothing returns boolean set Knv=Idx(KVv) +return true endfunction function m_o takes nothing returns boolean set KEv=Idx(KXv) +return true endfunction function m0o takes nothing returns boolean return true endfunction function m1o takes nothing returns boolean set KOv=Idx(BH) return true endfunction function m2o takes code c,string EFx returns nothing +set EE=EE+1 set XE[EE]=CreateTrigger() set OE[EE]=(GetHandleId(Condition((c)))) +set RE[EE]=EFx call TriggerAddCondition(XE[EE],Condition(c)) endfunction function m3o takes integer VFx returns integer set KCv[VFx]=true set Kdv[VFx]=false call V1x(ksv) return VFx endfunction function m4o takes nothing returns integer local integer VFx if(KNv==8190)then call Vmx("PlayerController_Allocation_allocCustom","call DebugEx(PlayerController.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",kSv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Kbv[(w)]==w)then set KBv=KBv+1 set VFx=KBv else +set VFx=Kbv[(w)] +set Kbv[(w)]=Kbv[Kbv[(w)]] endif set Kbv[VFx]=Z set Kcv[VFx]=1 call m3o(VFx) return VFx endfunction function m5o takes mapcontrol Vdx returns integer local integer VFx=m4o() set KDv[VFx]=Vdx +call SaveInteger(o[((V[(E[((X))])]))],(((Kfv+GetHandleId(Vdx)))),(((KFv))),(((VFx)))) return VFx endfunction function m6o takes integer VFx,mapcontrol Vdx returns nothing call SaveInteger(o[((V[(E[((X))])]))],(((Kfv+GetHandleId(Vdx)))),(((KFv))),(((VFx)))) endfunction function m7o takes nothing returns nothing set KAv=m5o(MAP_CONTROL_COMPUTER) set Kgv=m5o(MAP_CONTROL_USER) call m6o(KAv,MAP_CONTROL_CREEP) call m6o(KAv,MAP_CONTROL_NONE) endfunction function m8o takes integer VFx returns integer set Kkv[VFx]=true set KKv[VFx]=false call V1x(ktv) return VFx endfunction function m9o takes nothing returns integer local integer VFx if(Khv==8190)then call Vmx("PlayerSlotState_Allocation_allocCustom","call DebugEx(PlayerSlotState.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",kTv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(KHv[(w)]==w)then set Kjv=Kjv+1 set VFx=Kjv else +set VFx=KHv[(w)] +set KHv[(w)]=KHv[KHv[(w)]] endif set KHv[VFx]=Z set KJv[VFx]=1 call m8o(VFx) return VFx endfunction function Mvo takes playerslotstate Vdx returns integer local integer VFx=m9o() set Klv[VFx]=Vdx +call SaveInteger(o[((V[(E[((X))])]))],(((KLv+GetHandleId(Vdx)))),(((Kmv))),(((VFx)))) return VFx endfunction function Meo takes nothing returns nothing set KGv=Mvo(PLAYER_SLOT_STATE_EMPTY) +set KMv=Mvo(PLAYER_SLOT_STATE_LEFT) set Kpv=Mvo(PLAYER_SLOT_STATE_PLAYING) endfunction function Mxo takes integer VFx returns integer set Ktv[VFx]=true set KTv[VFx]=false call V1x(kuv) return VFx endfunction function Moo takes nothing returns integer local integer VFx if(Kqv==8190)then call Vmx("Team_Allocation_allocCustom","call DebugEx(Team.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",kUv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(KQv[(w)]==w)then set Ksv=Ksv+1 set VFx=Ksv else +set VFx=KQv[(w)] +set KQv[(w)]=KQv[KQv[(w)]] endif set KQv[VFx]=Z set KSv[VFx]=1 call Mxo(VFx) return VFx endfunction function Mro takes nothing returns nothing set KPv=Moo() set fqv=Moo() set Kuv=Moo() endfunction function Mio takes nothing returns nothing endfunction function Mao takes integer VFx returns integer set KYv[VFx]=true set Kzv[VFx]=false set Ad[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set Q5[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) call V1x(KOv) return VFx endfunction function Mno takes nothing returns integer local integer VFx if(KUv==8190)then call Vmx("User_Allocation_allocCustom","call DebugEx(User.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",BH+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Kwv[(w)]==w)then set KWv=KWv+1 set VFx=KWv else +set VFx=Kwv[(w)] +set Kwv[(w)]=Kwv[Kwv[(w)]] endif set Kwv[VFx]=Z set Kyv[VFx]=1 call Mao(VFx) return VFx endfunction function MVo takes integer VFx,playercolor Vhx returns nothing set ox[VFx]=Vhx call SetPlayerColor(vx[VFx],Vhx) +endfunction function MEo takes integer VFx,string Vhx returns nothing set KC[VFx]=Vhx call SetPlayerName(vx[VFx],Vhx) endfunction function MXo takes integer VFx returns boolean set YK=YK+1 set zK[YK]=VFx set KZv[VFx]=YK+1 return(YK==0) endfunction function MOo takes integer VFx,integer Vhx returns nothing set K_v[VFx]=Vhx +if(Vhx==Kgv)then +set K0v=K0v+1 set K1v[K0v]=VFx +endif endfunction function MRo takes mapcontrol Vdx returns integer if((LoadInteger(o[((V[(E[((X))])]))],(((Kfv+GetHandleId(Vdx)))),(((KFv)))))==0)then call Vmx("PlayerController_GetFromSelf","call DebugEx(\"PlayerController: GetFromSelf: \"+I2S(GetHandleId(self)))","PlayerController: GetFromSelf: "+I2S(GetHandleId(Vdx))) endif return(LoadInteger(o[((V[(E[((X))])]))],(((Kfv+GetHandleId(Vdx)))),(((KFv))))) endfunction function MIo takes integer VFx returns nothing call MOo(VFx,MRo(GetPlayerController(vx[(VFx)]))) endfunction function MAo takes integer VFx returns nothing set Nd[(VFx)]=(K2v+VFx) endfunction function MNo takes integer VFx,integer OVx,integer Vhx returns nothing local integer VAx local integer Mbo if(OVx==Kpv)then +set VAx=mKx((VFx),K4v) set Mbo=Us[us] set Us[VAx]=Mbo set us=us-1 call mPx(Mbo,K4v,VAx) elseif(Vhx==Kpv)then +set us=us+1 set Us[us]=VFx call mPx((VFx),K4v,us) endif endfunction function MBo takes integer VFx,integer Vhx returns nothing local integer OVx=K3v[VFx] set K3v[VFx]=Vhx +if((OVx!=Vhx)and((K_v[((VFx))])==Kgv))then call MNo(VFx,OVx,Vhx) endif endfunction function Mco takes integer VFx returns nothing set K3v[VFx]=KGv +call MBo(VFx,(LoadInteger(o[((V[(E[((X))])]))],(((KLv+GetHandleId((GetPlayerSlotState(vx[(VFx)])))))),(((Kmv)))))) endfunction function MCo takes string Mdo,integer fqx,string MDo returns integer +local integer VFx=Mno() local player Vdx=Player(fqx) +set vx[VFx]=Vdx call SaveInteger(o[((V[(E[(((X)))])]))],(((GetHandleId((Vdx))))),((((R)))),((((VFx))))) call MVo(VFx,GetPlayerColor(Vdx)) set kC[(VFx)]=(MDo) call MEo(VFx,GetPlayerName(Vdx)) +set Vdx=null +call MXo(VFx) call MIo(VFx) set kv[((VFx))]=(w) call MAo(VFx) call Mco(VFx) set fPv[(VFx)]=w +if((GetPlayerController(vx[VFx])!=MAP_CONTROL_USER)or(GetPlayerSlotState(vx[VFx])!=PLAYER_SLOT_STATE_PLAYING))then call MEo(VFx,Mdo) endif return VFx endfunction function Mfo takes integer Vxx,integer Mbo,alliancetype V7x,boolean Xjx,boolean MFo returns nothing call SetPlayerAlliance(vx[Vxx],vx[Mbo],V7x,Xjx) if MFo then call SetPlayerAlliance(vx[Mbo],vx[Vxx],V7x,Xjx) endif endfunction function Mgo takes integer VFx,integer Vxx returns nothing local integer VBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((K5v+VFx))),(((K6v)))))) local integer Mbo loop +exitwhen(VBx0)then return endif if(w5[VFx]!=Z)then call Vmx("FolderUser_FolderKeyEvent_StructDownArrow_Allocation_deallocCustom_confirm","call DebugEx(FolderUser_FolderKeyEvent_StructDownArrow.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",U5+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set w5[VFx]=w5[(w)] set w5[(w)]=VFx call Mzo(VFx) endfunction function M_o takes integer VFx returns nothing set y5[VFx]=y5[VFx]-1 call MZo(VFx) endfunction function M0o takes integer VFx,integer Vgx,integer Vhx returns boolean return VYx(hB[(VFx)],(kB[((VFx))]),Vgx,Vhx) endfunction function M1o takes integer VFx,integer N8x returns nothing call M0o((VFx),(HB[(N8x)]),N8x) endfunction function M2o takes nothing returns boolean local integer Eix=(bv) local integer N8x=(o5[(Eix)]) local integer VFx=QHx(N8x,n6) local integer TBx=e6[VFx] local integer Vxx=r6[VFx] call M_o((VFx)) call Xbx(TBx) call jFo(N8x,n6) +call M1o(N8x,a6) +call mkx(Vxx,i6,VFx) +call t_x(Vxx,N8x) return true endfunction function M3o takes integer ENx returns nothing local integer Eix=V4x((Nd[(ENx)])) local integer VBx local integer V8x local integer EBx set z6[(Eix)]=((1.)*1.) set ax[(Eix)]=(ENx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=Mpo(ENx,T5,V8x) loop +exitwhen(EBx0)then return endif if(p6[VFx]!=Z)then call Vmx("FolderUser_FolderKeyEvent_StructLeftArrow_Allocation_deallocCustom_confirm","call DebugEx(FolderUser_FolderKeyEvent_StructLeftArrow.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",M6+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set p6[VFx]=p6[(w)] set p6[(w)]=VFx call pvo(VFx) endfunction function pxo takes integer VFx returns nothing set q6[VFx]=q6[VFx]-1 call peo(VFx) endfunction function poo takes nothing returns boolean local integer Eix=(bv) local integer N8x=(o5[(Eix)]) local integer VFx=QHx(N8x,Y6) local integer TBx=T6[VFx] local integer Vxx=w6[VFx] call pxo((VFx)) call Xbx(TBx) call jFo(N8x,Y6) +call M1o(N8x,y6) +call mkx(Vxx,W6,VFx) +call t_x(Vxx,N8x) return true endfunction function pro takes integer ENx returns nothing local integer Eix=V4x((Nd[(ENx)])) local integer VBx local integer V8x local integer EBx set z6[(Eix)]=((1.)*1.) set ax[(Eix)]=(ENx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=Mpo(ENx,L6,V8x) loop +exitwhen(EBx0)then return endif if(x7[VFx]!=Z)then call Vmx("FolderUser_FolderKeyEvent_StructRightArrow_Allocation_deallocCustom_confirm","call DebugEx(FolderUser_FolderKeyEvent_StructRightArrow.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",e7+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set x7[VFx]=x7[(w)] set x7[(w)]=VFx call pOo(VFx) endfunction function pIo takes integer VFx returns nothing set r7[VFx]=r7[VFx]-1 call pRo(VFx) endfunction function pAo takes nothing returns boolean local integer Eix=(bv) local integer N8x=(o5[(Eix)]) local integer VFx=QHx(N8x,N7) local integer TBx=E7[VFx] local integer Vxx=R7[VFx] call pIo((VFx)) call Xbx(TBx) call jFo(N8x,N7) +call M1o(N8x,A7) +call mkx(Vxx,I7,VFx) +call t_x(Vxx,N8x) return true endfunction function pNo takes integer ENx returns nothing local integer Eix=V4x((Nd[(ENx)])) local integer VBx local integer V8x local integer EBx set z6[(Eix)]=((1.)*1.) set ax[(Eix)]=(ENx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=Mpo(ENx,Z6,V8x) loop +exitwhen(EBx0)then return endif if(C7[VFx]!=Z)then call Vmx("FolderUser_FolderKeyEvent_StructUpArrow_Allocation_deallocCustom_confirm","call DebugEx(FolderUser_FolderKeyEvent_StructUpArrow.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",c7+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set C7[VFx]=C7[(w)] set C7[(w)]=VFx call pfo(VFx) endfunction function pgo takes integer VFx returns nothing set D7[VFx]=D7[VFx]-1 call pFo(VFx) endfunction function pGo takes nothing returns boolean local integer Eix=(bv) local integer N8x=(o5[(Eix)]) local integer VFx=QHx(N8x,l7) local integer TBx=h7[VFx] local integer Vxx=J7[VFx] call pgo((VFx)) call Xbx(TBx) call jFo(N8x,l7) +call M1o(N8x,K7) +call mkx(Vxx,k7,VFx) +call t_x(Vxx,N8x) return true endfunction function pho takes integer ENx returns nothing local integer Eix=V4x((Nd[(ENx)])) local integer VBx local integer V8x local integer EBx set z6[(Eix)]=((1.)*1.) set ax[(Eix)]=(ENx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=Mpo(ENx,b7,V8x) loop +exitwhen(EBx0)then call Pao(Ge,'R000',EKx) endif call PVo(VFx) endfunction function PXo takes nothing returns boolean local integer Eix=(bv) call jex(Nlx("Act_Event_Start: call Event.Create(Act.START_EVENT_TYPE, EventPriority.MISC, function LevelSet.Event_ActStart).AddToStatics()",l_v,iB,function Poo)) call PEo(LVv) return true endfunction function POo takes integer VFx returns integer set LIv[VFx]=true set LAv[VFx]=false set LNv[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set Lbv[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) set LBv[VFx]=null set LXv[VFx]=w call V1x(lyv) return VFx endfunction function PRo takes nothing returns integer local integer VFx if(LEv==8190)then call Vmx("Act_Allocation_allocCustom","call DebugEx(Act.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",lYv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(LXv[(w)]==w)then set LOv=LOv+1 set VFx=LOv else +set VFx=LXv[(w)] +set LXv[(w)]=LXv[LXv[(w)]] endif set LXv[VFx]=Z set LRv[VFx]=1 call POo(VFx) return VFx endfunction function PIo takes integer VFx returns boolean set Lcv=Lcv+1 set LCv[Lcv]=VFx +set Ldv[VFx]=Lcv+1 return(Lcv==0) endfunction function PAo takes integer VFx returns nothing set Lfv[(VFx)]=(LFv+VFx) +endfunction function PNo takes string EFx returns integer local integer VFx=PRo() set Lnv[(VFx)]=(EFx) +call PIo(VFx) if(Lcv>F)then set LDv[(LCv[Lcv-1])]=(VFx) endif call PAo(VFx) return VFx endfunction function Pbo takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(l7v[(VFx)],(se[((VFx))]),Vgx,Vhx) +endfunction function PBo takes nothing returns nothing local integer VFx set VFx=PNo("Penguin Prelude") set LVv=VFx set Lgv[(VFx)]=(true) set LBv[(VFx)]=("X") +call Pbo(((VFx)),l9v,(LGv)) set VFx=PNo("Delightful disturbances") set Lev=VFx call Pbo(((VFx)),l9v,(Lhv)) call Pbo(((VFx)),l9v,(LHv)) call Pbo(((VFx)),l9v,(Ljv)) call Pbo(((VFx)),l9v,(LJv)) set VFx=PNo("Dash into the fire") set Lxv=VFx call Pbo(((VFx)),l9v,(Lkv)) call Pbo(((VFx)),l9v,(LKv)) call Pbo(((VFx)),l9v,(Llv)) call Pbo(((VFx)),l9v,(LLv)) set VFx=PNo("Return of the elves") set Lov=VFx set VFx=PNo("Desire beyond death") set Lrv=VFx set VFx=PNo("The mourning mountain") +set Liv=VFx set VFx=PNo("The dragon's flight, Frozen in time") set Lav=VFx endfunction function Pco takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((l7v[(VFx)]))])]))],((((se[((VFx))])))),(((Vgx)))))) +endfunction function PCo takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((Lmv[(VFx)]))])]))],((((LMv[((VFx))])))),(((Vgx)))))) endfunction function Pdo takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((Lmv[(VFx)]))])]))],((((LMv[((VFx))])))),(((Vgx)+(VAx))))) endfunction function PDo takes nothing returns nothing local integer VBx=0 local integer Pfo local integer PFo local integer EBx local integer Pgo local integer PGo local integer VFx loop +exitwhen(VBx>Lcv) set Pfo=w set PFo=LCv[VBx] +set EBx=(Pco(((PFo)),l9v)) loop +exitwhen(EBx0)then return false +endif set Fw[Gw[gw]]=Fw[VFx] set Gw[Fw[VFx]-1]=Gw[gw] +set Fw[VFx]=0 set gw=gw-1 return(gw==F) endfunction function qjo takes integer VFx,boolean Vhx returns nothing local boolean OVx=cw[VFx] if(Vhx==OVx)then +return endif set cw[VFx]=Vhx if Vhx then call qHo(VFx) else +call pXx(VFx) endif endfunction function qJo takes integer VFx returns nothing set mjv[VFx]=false call EEx(Kw) +endfunction function qko takes integer VFx returns nothing if(mhv[VFx]>0)then return endif if(mHv[VFx]!=Z)then call Vmx("Ping_Allocation_deallocCustom_confirm","call DebugEx(Ping.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",lw+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set mHv[VFx]=mHv[(w)] set mHv[(w)]=VFx +call qJo(VFx) endfunction function qKo takes integer VFx returns nothing set mhv[VFx]=mhv[VFx]-1 call qko(VFx) endfunction function qlo takes integer VFx returns boolean local integer VAx=(mJv[(VFx)]) set mJv[mkv[mKv]]=VAx set mkv[VAx-1]=mkv[mKv] set mJv[VFx]=0 set mKv=mKv-1 return(mKv==F) endfunction function qLo takes integer VFx returns nothing local integer qmo=mGv[VFx] if(qmo!=w)then call qjo(qmo,false) endif call qKo((VFx)) if qlo(VFx)then call XNx(Vw) +endif endfunction function qMo takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) local integer VFx=Vfx(b3x,mFv) local integer qpo=mgv[VFx] call Bvx(qpo,b3x) call V0x(b3x,mFv) call cEx(b3x,mfv) if(Hbx((qpo),qC))then call qLo(mlv[VFx]) endif return true endfunction function qPo takes integer VFx returns integer set mqv[VFx]=true set mQv[VFx]=false call V1x(mVv) return VFx endfunction function qqo takes nothing returns integer local integer VFx if(mmv==8190)then call Vmx("CreepLocation_Allocation_allocCustom","call DebugEx(CreepLocation.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",mEv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(mMv[(w)]==w)then set mpv=mpv+1 set VFx=mpv else +set VFx=mMv[(w)] +set mMv[(w)]=mMv[mMv[(w)]] endif set mMv[VFx]=Z set mPv[VFx]=1 call qPo(VFx) return VFx endfunction function qQo takes integer HKo returns integer local integer VFx=qqo() set mgv[VFx]=Pcx("CreepLocation_Create: set this.currentUnitsGroup = UnitList.Create()") +set msv[VFx]=HKo +return VFx endfunction function qso takes nothing returns nothing set mfv=Nlx("CreepLocation_Init: set CreepLocation.DEATH_EVENT = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.MISC, function CreepLocation.Event_Death)",zu,iB,function qMo) set mLv=qQo(U8x(Cx)) +set mSv=qQo(U8x(Dx)) +set mtv=qQo(U8x(fx)) +set mTv=qQo(U8x(Fx)) +set muv=qQo(U8x(gx)) +set mUv=qQo(U8x(Gx)) +endfunction function qSo takes nothing returns nothing endfunction function qto takes integer VFx returns integer set mjv[VFx]=true set mZv[VFx]=false call V1x(Kw) +return VFx endfunction function qTo takes nothing returns integer local integer VFx if(mYv==8190)then call Vmx("Ping_Allocation_allocCustom","call DebugEx(Ping.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",lw+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(mHv[(w)]==w)then set mzv=mzv+1 set VFx=mzv else +set VFx=mHv[(w)] +set mHv[(w)]=mHv[mHv[(w)]] endif set mHv[VFx]=Z set mhv[VFx]=1 call qto(VFx) return VFx endfunction function quo takes real x,real y,integer qmo returns integer +local integer VFx=qTo() set m_v[VFx]=(dw[(qmo)]) +set m0v[VFx]=(Dw[(qmo)]) +set m1v[VFx]=(fw[(qmo)]) +set mGv[VFx]=qmo +set m2v[VFx]=x set m3v[VFx]=y call qjo(qmo,true) return VFx endfunction function qUo takes integer VFx returns nothing local integer qpo=mgv[VFx] local integer b3x loop +set b3x=(b7x((qpo),qC)) exitwhen(b3x==w) +call G1x((b3x),w) endloop endfunction function qwo takes real x,real y,integer XMx,integer Xpx,integer XPx,real Xdx returns nothing call PingMinimapEx(x,y,Xdx,XMx,Xpx,XPx,false) endfunction function qWo takes integer VFx returns nothing set m5v[VFx]=true call qwo(m2v[VFx],m3v[VFx],m_v[VFx],m0v[VFx],m1v[VFx],5.) endfunction function qyo takes integer VFx returns boolean set mKv=mKv+1 set mkv[mKv]=VFx +set mJv[VFx]=mKv+1 return(mKv==0) endfunction function qYo takes nothing returns nothing local integer VBx=mKv local integer VFx loop +set VFx=mkv[VBx] +if m5v[VFx]then call qwo(m2v[VFx],m3v[VFx],m_v[VFx],m0v[VFx],m1v[VFx],5.) endif set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function qzo takes integer VFx returns nothing if qyo(VFx)then call Xax(Vw,5.,true,function qYo) endif endfunction function qZo takes integer VFx,integer q_o returns nothing set mlv[VFx]=q_o +call qWo(q_o) call qzo(q_o) endfunction function q0o takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((m6v[(VFx)]))])]))],((((m7v[((VFx))])))),(((Vgx)))))) endfunction function q1o takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((m6v[(VFx)]))])]))],((((m7v[((VFx))])))),(((Vgx)+(VAx))))) endfunction function q2o takes integer VFx,integer b3x returns nothing call Ejx(b3x,mFv,VFx) call CMx(b3x,mfv) call HDx(mgv[VFx],b3x) endfunction function q3o takes integer VFx,real addX,real addY returns integer local integer Vtx=f8x(m9v[VFx],K9v,Mvv[VFx],Mev[VFx],Mxv[VFx]) local integer q4o=Mov[VFx] if(q4o!=w)then call Cpo(Vtx,q4o) endif return Vtx endfunction function q5o takes integer VFx returns nothing local integer q6o=(myv[(VFx)]) local integer q7o=(Gw[(GetRandomInt(((0)),((gw))))]) +local real q8o=(Kt[(msv[(q6o)])]) local real q9o=(lt[(msv[(q6o)])]) local integer q_o=quo(q8o,q9o,q7o) local integer VBx local integer Qvo call qUo(q6o) if(q7o==w)then call XDx(Ge,Xhx((m4v[(VFx)]),"ffffcc00")+" has/have spawned.",10.) else +call XDx(Ge,Xhx((m4v[(VFx)]),"ffffcc00")+" has/have spawned at the "+(Cw[(q7o)])+" spot.",10.) endif call qZo(q6o,q_o) set VBx=q0o(VFx,m8v) +loop +set Qvo=q1o(VFx,m8v,VBx) +call q2o(q6o,q3o(Qvo,q8o,q9o)) set VBx=VBx-1 exitwhen(VBxVUx) set V7x=Qso(VFx,pOv,VBx) +call GroupAddUnit(jd[(Bpx)],C[(Quo(V7x,(pNv[(V7x)]),kKx,klx,oj))]) set VBx=VBx+1 endloop call GroupPointOrderById(jd[((Bpx))],md[(B8)],(((QWo(pVv[(csx)])))*1.),(((Qyo(pVv[(csx)])))*1.)) +call Bmx(Bpx) endfunction function Qzo takes integer VFx returns nothing local integer ENx=VFx local integer VUx=QPo(ENx,piv) local integer VBx=q local integer QZo loop +exitwhen(VBx>VUx) set QZo=Qqo(ENx,piv,VBx) +call QYo(QZo) set VBx=VBx+1 endloop endfunction function Q_o takes nothing returns boolean local integer Eix=(bv) local integer Q0o=(PUo(((Qe[(Eix)])),pxv)) call Qzo((Q0o)) return true endfunction function Q1o takes nothing returns boolean local integer Eix=(bv) call jex(Nlx("DefenderSpawn_Event_Start: call Event.Create(Level.START_EVENT_TYPE, EventPriority.MISC, function DefenderSpawn.Event_LevelStart).AddToStatics()",We,iB,function Q_o)) +return true endfunction function Q2o takes integer VFx returns integer set pDv[VFx]=true set pfv[VFx]=false call V1x(MGv) return VFx endfunction function Q3o takes nothing returns integer local integer VFx if(pBv==8190)then call Vmx("DefenderSpawnLocation_Allocation_allocCustom","call DebugEx(DefenderSpawnLocation.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Mhv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(pcv[(w)]==w)then set pCv=pCv+1 set VFx=pCv else +set VFx=pcv[(w)] +set pcv[(w)]=pcv[pcv[(w)]] endif set pcv[VFx]=Z set pdv[VFx]=1 call Q2o(VFx) return VFx endfunction function Q4o takes integer VFx returns boolean set pFv=pFv+1 set pgv[pFv]=VFx +set pGv[VFx]=pFv+1 return(pFv==0) endfunction function Q5o takes integer VMx returns integer local integer VFx=Q3o() set pVv[VFx]=VMx +call Q4o(VFx) return VFx endfunction function Q6o takes nothing returns nothing set pbv=Q5o(U8x(hx)) +set phv=Q5o(U8x(Hx)) +set pHv=Q5o(U8x(jx)) +set pjv=Q5o(U8x(Jx)) +endfunction function Q7o takes integer VFx returns integer set pLv[VFx]=true set pmv[VFx]=false set pMv[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set pAv[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) call V1x(MPv) return VFx endfunction function Q8o takes nothing returns integer local integer VFx if(pJv==8190)then call Vmx("DefenderSpawnType_Allocation_allocCustom","call DebugEx(DefenderSpawnType.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Mqv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(pkv[(w)]==w)then set pKv=pKv+1 set VFx=pKv else +set VFx=pkv[(w)] +set pkv[(w)]=pkv[pkv[(w)]] endif set pkv[VFx]=Z set plv[VFx]=1 call Q7o(VFx) return VFx endfunction function Q9o takes integer VFx returns boolean set ppv=ppv+1 set pPv[ppv]=VFx +set pqv[VFx]=ppv+1 return(ppv==0) endfunction function svo takes integer VFx returns nothing set pIv[(VFx)]=(pQv+VFx) +endfunction function seo takes integer QRo returns integer local integer VFx=Q8o() set pNv[(VFx)]=(QRo) +call Q9o(VFx) call svo(VFx) return VFx endfunction function sxo takes nothing returns nothing local integer VFx set VFx=seo(Jgv) +set VFx=seo(Jgv) +set VFx=seo(Jgv) +set psv=VFx set VFx=seo(kqv) +set VFx=seo(kqv) +set VFx=seo(kqv) +set pSv=VFx endfunction function soo takes integer VFx returns integer set pyv[VFx]=true set pYv[VFx]=false set pov[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(M6v) return VFx endfunction function sro takes nothing returns integer local integer VFx if(puv==8190)then call Vmx("DefenderSpawnWave_Allocation_allocCustom","call DebugEx(DefenderSpawnWave.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",M7v+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(pUv[(w)]==w)then set pwv=pwv+1 set VFx=pwv else +set VFx=pUv[(w)] +set pUv[(w)]=pUv[pUv[(w)]] endif set pUv[VFx]=Z set pWv[VFx]=1 call soo(VFx) return VFx endfunction function sio takes integer VFx,integer Vgx,integer Vhx returns nothing call SaveInteger(o[((V[(E[((l7v[(VFx)]))])]))],((((se[((VFx))])))),(((Vgx))),(((Vhx)))) endfunction function sao takes integer VFx,integer Vhx returns nothing set pzv[VFx]=Vhx +call sio(Vhx,pxv,VFx) endfunction function sno takes integer VFx returns nothing set prv[(VFx)]=(p_v+VFx) +endfunction function sVo takes integer PWo returns integer local integer VFx=sro() call sao(VFx,PWo) set pZv[(VFx)]=((20.)*1.) call sno(VFx) return VFx endfunction function sEo takes integer VFx returns integer set p4v[VFx]=true set p5v[VFx]=false set pEv[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(MWv) return VFx endfunction function sXo takes nothing returns integer local integer VFx if(p0v==8190)then call Vmx("DefenderSpawnGroup_Allocation_allocCustom","call DebugEx(DefenderSpawnGroup.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Myv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(p1v[(w)]==w)then set p2v=p2v+1 set VFx=p2v else +set VFx=p1v[(w)] +set p1v[(w)]=p1v[p1v[(w)]] endif set p1v[VFx]=Z set p3v[VFx]=1 call sEo(VFx) return VFx endfunction function sOo takes integer VFx returns nothing set pXv[(VFx)]=(p6v+VFx) +endfunction function sRo takes integer VMx,integer csx returns integer local integer VFx=sXo() set pav[(VFx)]=(VMx) +set pnv[(VFx)]=(csx) +call sOo(VFx) return VFx endfunction function sIo takes integer VFx,integer Vgx,integer Vhx returns boolean return Uxx(pEv[(VFx)],(pXv[((VFx))]),Vgx,Vhx) endfunction function sAo takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(pov[(VFx)],(prv[((VFx))]),Vgx,Vhx) endfunction function sNo takes nothing returns nothing local integer VBx=ptv local integer thisTypeIndex local integer sbo local integer VFx local integer QZo loop +exitwhen(VBx<0) set sbo=ye[VBx] if not(pTv[(sbo)])then set VFx=sVo(sbo) +set QZo=sRo(pbv,pHv) +call sIo((QZo),pOv,(pSv)) call sIo((QZo),pOv,(pSv)) call sIo((QZo),pOv,(psv)) call sAo(((VFx)),piv,(QZo)) set QZo=sRo(pbv,pjv) +call sIo((QZo),pOv,(pSv)) call sIo((QZo),pOv,(pSv)) call sIo((QZo),pOv,(psv)) call sAo(((VFx)),piv,(QZo)) set QZo=sRo(pbv,phv) +call sIo((QZo),pOv,(pSv)) call sIo((QZo),pOv,(pSv)) call sIo((QZo),pOv,(psv)) call sAo(((VFx)),piv,(QZo)) endif set VBx=VBx-1 endloop endfunction function sBo takes nothing returns boolean set pvv=Bkx() set pev=(Nix()) call jex(Nlx("DefenderSpawn_Init: call Event.Create(EventType.START, EventPriority.MISC, function DefenderSpawn.Event_Start).AddToStatics()",KR,iB,function Q1o)) call Q6o() call sxo() call sNo() return true endfunction function sco takes nothing returns boolean call PJo(function sBo,"DefenderSpawn_Init") return true endfunction function sCo takes nothing returns boolean set p7v=Idx(p8v) +return true endfunction function sdo takes nothing returns boolean return true endfunction function sDo takes nothing returns boolean set p9v=Idx(Pvv) +return true endfunction function sfo takes nothing returns boolean local integer csx=pKx() if((kv[((ze[(csx)]))])!=csx)then +return false +endif if Cmx(csx,tf)then return false +endif if((fPv[((ze[(csx)]))])!=fqv)then return false +endif return true return true endfunction function sFo takes integer VFx,integer id,real Vhx returns integer local integer AUo=(LoadInteger(o[((V[(E[((X))])]))],(((Lc))),((((id)))))) if(AUo==w)then set AUo=Gix(null,.02,(GetUnitX(C[((VFx))])),(GetUnitY(C[((VFx))])),drx(VFx)+bZx(VFx,true),id) set uc[(AUo)]=((Vhx)*1.) +else +set uc[(AUo)]=(((uc[(AUo)])+Vhx)*1.) +endif return AUo endfunction function sgo takes integer csx,real Vsx returns nothing local integer sGo if Cmx(csx,tf)then return endif if Cmx(csx,chv)then return endif if Cmx(csx,cjv)then return endif if Cmx(csx,clv)then return endif if(Vsx<=0)then return endif call cdx((C1x((csx),(Pov),(Prv),(EV)))) set sGo=sFo(csx,Piv+csx,Vsx) +call bRx(sGo,Xhx("+"+(I2S(((R2I((((uc[(sGo)]))*1.)))))),"ffd45e19"),.02) +call GNx(csx,Vsx) call gxx(csx,Vsx) call dlo(csx,Vsx) endfunction function sho takes integer VFx,integer b3x returns boolean return IsUnitInGroup(C[b3x],jd[VFx]) +endfunction function sHo takes integer VFx,real Vhx returns nothing call FEx(VFx,(Ej[(VFx)])+Vhx) endfunction function sjo takes integer csx,real R9x returns nothing local integer sGo=sFo(csx,Pav+csx,R9x) call bRx(sGo,Xhx("+"+(I2S(((R2I((((uc[(sGo)]))*1.)))))),"ff8b008b"),.02) +call sHo(csx,R9x) endfunction function sJo takes nothing returns boolean local integer Eix=(bv) local integer GEx=(Wk[(Eix)]) local integer fdo local integer b3x local real R9x local integer sko local real sKo local real slo local integer csx if(GEx==w)then return true endif set fdo=(ze[(GEx)]) set b3x=(Vv[(Eix)]) if(IsUnitAlly(C[(b3x)],vx[(fdo)]))then return true endif if((fPv[(fdo)])!=fqv)then return true endif set R9x=(C9v[((bj[(b3x)]))]) +call sgo(GEx,R9x*.25) set GEx=(kv[(fdo)]) call fXo(Pev,(GetUnitX(C[((b3x))])),(GetUnitY(C[((b3x))])),1000.,Pxv) set sko=(fNo((Pev))) +if(GEx==w)then set sKo=.0 else +set sKo=.4-.05*sko endif if(sko<=0)then set slo=.0 else +set slo=(1.-sKo)*1./ sko +endif if(GEx!=w)then if sho(Pev,GEx)then call sjo(GEx,(slo+sKo)*R9x) call GroupRemoveUnit(jd[(Pev)],C[(GEx)]) +else +call sjo(GEx,sKo*R9x) endif endif set csx=fOo(Pev) +if(csx!=w)then loop +call sjo(csx,slo*R9x) set csx=fOo(Pev) +exitwhen(csx==w) +endloop endif return true endfunction function sLo takes integer GEx,integer b3x returns integer return(R2I((((dvv[(b3x)]))*1.))) +endfunction function smo takes integer VFx,playerstate hnx,integer Vhx returns nothing call hOx(VFx,hnx,(GetPlayerState(vx[((VFx))],(hnx)))+Vhx) endfunction function sMo takes integer VFx,string Xox,real bIx,integer id,boolean spo,boolean b_x returns integer local real x=(GetUnitX(C[((VFx))])) local real y=(GetUnitY(C[((VFx))])) local real z=bzx(VFx,x,y) if spo then set z=z+bZx(VFx,b_x) +endif if b_x then set bIx=bIx*(JC[(VFx)]) endif return Gix(Xox,bIx,x,y,z,id) +endfunction function sPo takes nothing returns boolean local integer Eix=(bv) local integer GEx=(Wk[(Eix)]) local integer b3x=(Vv[(Eix)]) local integer fdo local integer sqo if(GEx==w)then return true endif if((fPv[((ze[(b3x)]))])!=KPv)then return true endif set fdo=(ze[(GEx)]) if((fPv[(fdo)])!=fqv)then return true endif if(fdo==K7v)then +return true endif set sqo=(R2I(((sLo(GEx,b3x)*Pnv)*1.))) if(sqo<=0)then return true endif call smo(fdo,PLAYER_STATE_RESOURCE_GOLD,sqo) +if(sqo>(dev[((bj[(b3x)]))]))then +call sMo(b3x,Xhx("+"+(I2S((sqo))),"ffffcc00"),1.15*lC,(0),false,false) else +call sMo(b3x,Xhx("+"+(I2S((sqo))),"ffffcc00"),1.*lC,(0),false,false) +endif return true endfunction function sQo takes nothing returns boolean set Pev=Bkx() set Pxv=Nyx(function sfo) call jex(Nlx("Drop_Init: call Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.MISC, function Drop.Exp_Event_Death).AddToStatics()",zu,iB,function sJo)) call jex(Nlx("Drop_Init: call Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.MISC, function Drop.Supply_Event_Death).AddToStatics()",zu,iB,function sPo)) return true endfunction function sso takes nothing returns boolean call lex(function sQo,"Drop_Init") return true endfunction function sSo takes integer VFx returns integer set PIv[VFx]=true set PAv[VFx]=false set Rh[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set jh[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) call V1x(HY) +return VFx endfunction function sto takes nothing returns integer local integer VFx if(PEv==8190)then call Vmx("ItemType_Allocation_allocCustom","call DebugEx(ItemType.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",jY+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(PXv[(w)]==w)then set POv=POv+1 set VFx=POv else +set VFx=PXv[(w)] +set PXv[(w)]=PXv[PXv[(w)]] endif set PXv[VFx]=Z set PRv[VFx]=1 call sSo(VFx) return VFx endfunction function sTo takes integer VFx returns nothing set Ih[(VFx)]=(PNv+VFx) endfunction function suo takes integer Vdx returns integer local integer VFx=sto() set kh[VFx]=Vdx call SaveInteger(o[((V[(E[((X))])]))],(((Vdx))),(((WG))),(((VFx)))) call sTo(VFx) set fh[((VFx))]=(0) set WK[((VFx))]=(0) call Oqx("item "+(GetObjectName(kh[(VFx)]))) +call NUx((GetObjectName(kh[(VFx)])),WG,VFx) return VFx endfunction function sUo takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(Rh[(VFx)],(Ih[((VFx))]),Vgx,Vhx) endfunction function swo takes integer VFx,integer Vgx,integer Vhx returns nothing call SaveInteger(o[((V[(E[((Rh[(VFx)]))])]))],((((Ih[((VFx))])))),(((Vgx))),(((Vhx)))) endfunction function sWo takes integer VFx,integer EAx,integer EKx returns nothing call sUo((VFx),Ah,EAx) call swo((VFx),ch+EAx,EKx) endfunction function syo takes nothing returns boolean set PVv=suo('IVia') set Pbv[(PVv)]=("ReplaceableTextures\\CommandButtons\\BTNVialFull.blp") set WK[(PVv)]=(50) call sWo((PVv),(PBv),1) return true endfunction function sYo takes nothing returns boolean set Pcv=x6o('BVia',"Eternal Vial",'bVia') set OOv[(Pcv)]=(true) set sf[(Pcv)]=(true) +set ORv[(Pcv)]=("ReplaceableTextures\\CommandButtons\\BTNVialFull.blp") return true endfunction function szo takes integer VFx returns integer set PFv[VFx]=true set Pgv[VFx]=false set hl[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set Hv[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) call V1x(xUv) return VFx endfunction function sZo takes nothing returns integer local integer VFx if(PCv==8190)then call Vmx("Spell_Allocation_allocCustom","call DebugEx(Spell.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",xwv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Pdv[(w)]==w)then set PDv=PDv+1 set VFx=PDv else +set VFx=Pdv[(w)] +set Pdv[(w)]=Pdv[Pdv[(w)]] endif set Pdv[VFx]=Z set Pfv[VFx]=1 call szo(VFx) return VFx endfunction function s_o takes integer VFx returns nothing set Ev[(VFx)]=(PHv+VFx) endfunction function s0o takes integer VFx returns boolean set Sm=Sm+1 set tm[Sm]=VFx set Pjv[VFx]=Sm+1 return(Sm==0) endfunction function s1o takes string EFx returns integer local integer VFx=sZo() set onv[VFx]=0 set PGv[(VFx)]=(false) set Zl[(VFx)]=(EFx) call s_o(VFx) call NUx((Zl[(VFx)]),mv,VFx) +call s0o(VFx) return VFx endfunction function s2o takes integer Vdx returns integer local integer VFx=s1o(GetObjectName(Vdx)) set B[VFx]=Vdx call SaveInteger(o[((V[(E[((X))])]))],(((Vdx))),(((mv))),(((VFx)))) return VFx endfunction function s3o takes integer VFx,integer Vgx,real Vhx returns nothing call SaveReal(o[((V[(E[((hl[(VFx)]))])]))],((((Ev[((VFx))])))),(((Vgx))),((((((Vhx)*1.))*1.))*1.)) endfunction function s4o takes nothing returns boolean call scx('AVia',false) set PBv=s2o('AVia') set orv[(PBv)]=(x9v) +set onv[(PBv)]=(1) set Zl[(PBv)]=("Eternal Vial") set PK[(PBv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0084)))),(((FL)))))) set Vnv[(PBv)]=(0) set n9v[(PBv)]=("spell") +call s3o((PBv),Ll+(1),((60)*1.)) +call s3o((PBv),Pkv+(1),((750)*1.)) return true endfunction function s5o takes nothing returns boolean call IGx(WE,(function syo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\EternalVial.page\\EternalVial.struct\\obj_thisItem_wc3item.j")) call IGx(tE,(function sYo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\EternalVial.page\\EternalVial.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function s4o),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\EternalVial.page\\EternalVial.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function s6o takes nothing returns boolean set PKv=Idx(Plv) +return true endfunction function s7o takes code c,string EFx returns nothing +set kX=kX+1 set KX[kX]=CreateTrigger() set lX[kX]=(GetHandleId(Condition((c)))) +set LX[kX]=EFx call TriggerAddCondition(KX[kX],Condition(c)) endfunction function s8o takes integer VFx,integer csx,real R9x returns nothing local integer Aso=V4x((A[(csx)])) local integer VBx local integer V8x local integer EBx set Pqv[(Aso)]=((R9x)*1.) set Vv[(Aso)]=(csx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(csx,fEv,V8x) +loop +exitwhen(EBx0)then return endif if(PZv[VFx]!=Z)then call Vmx("Explosive_Allocation_deallocCustom_confirm","call DebugEx(Explosive.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",PWv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set PZv[VFx]=PZv[(w)] set PZv[(w)]=VFx +call Sbo(VFx) endfunction function Sco takes integer VFx returns nothing set P0v[VFx]=P0v[VFx]-1 call SBo(VFx) endfunction function SCo takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((P9v[VFx]))])])],((((qvv[((VFx))]))))) +endfunction function Sdo takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((qev[VFx]))])])],((((qvv[((VFx))]))))) +endfunction function SDo takes integer VFx returns nothing set P8v[VFx]=false call SCo((VFx)) call Sdo(((VFx))) call EEx(Bu) +endfunction function Sfo takes integer VFx returns nothing if(P6v[VFx]>0)then return endif if(P7v[VFx]!=Z)then call Vmx("SpotEffect_Allocation_deallocCustom_confirm","call DebugEx(SpotEffect.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",cu+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set P7v[VFx]=P7v[(w)] set P7v[(w)]=VFx +call SDo(VFx) endfunction function SFo takes integer VFx returns nothing set P6v[VFx]=P6v[VFx]-1 call Sfo(VFx) endfunction function Sgo takes integer VFx returns nothing local effect Vdx=P5v[VFx] call SFo((VFx)) if(Vdx!=null)then call DestroyEffect(Vdx) set Vdx=null +endif endfunction function SGo takes integer VFx returns integer set P8v[VFx]=true set qrv[VFx]=false set P9v[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set qev[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) call V1x(Bu) +return VFx endfunction function Sho takes nothing returns integer local integer VFx if(qxv==8190)then call Vmx("SpotEffect_Allocation_allocCustom","call DebugEx(SpotEffect.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",cu+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(P7v[(w)]==w)then set qov=qov+1 set VFx=qov else +set VFx=P7v[(w)] +set P7v[(w)]=P7v[P7v[(w)]] endif set P7v[VFx]=Z set P6v[VFx]=1 call SGo(VFx) return VFx endfunction function SHo takes integer VFx returns nothing set P5v[VFx]=AddSpecialEffect(XHx(FV>=qiv[VFx],qav[VFx]),qnv[VFx],qVv[VFx]) endfunction function Sjo takes real x,real y,string Czx,integer EKx returns integer local integer VFx=Sho() set qiv[VFx]=EKx +set qav[VFx]=Czx +set qnv[VFx]=x set qVv[VFx]=y call SHo(VFx) return VFx endfunction function SJo takes integer VFx,real x,real y returns integer +local integer fbo=fOo((VFx)) +local real Sko local integer fAo local boolean SKo local real Slo if(fbo==w)then return w +endif set SKo=false loop +set Slo=JGx(dxx(fbo)-x,dox(fbo)-y) call GroupAddUnit(jd[(PW)],C[(fbo)]) +if not SKo then set Sko=Slo set fAo=fbo set SKo=true +elseif(Slo0)then if(d0)then return endif if(q9v[VFx]!=Z)then call Vmx("BoomerangStone_Allocation_deallocCustom_confirm","call DebugEx(BoomerangStone.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",qcv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set q9v[VFx]=q9v[(w)] set q9v[(w)]=VFx +call tVo(VFx) endfunction function tXo takes integer VFx returns nothing set Qev[VFx]=Qev[VFx]-1 call tEo(VFx) endfunction function tOo takes integer VFx,integer V7x,integer V8x returns integer return(0+(LoadInteger(o[((V[(E[((H3[VFx]))])]))],((((j3[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))))))) endfunction function tRo takes integer VFx,integer V7x,integer V8x,integer VAx returns integer return(LoadInteger(o[((V[(E[((H3[VFx]))])]))],((((j3[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))+(VAx))))) endfunction function tIo takes integer VFx returns nothing local integer Eix=V4x((j3[(VFx)])) local integer VBx local integer V8x local integer EBx set h3[(Eix)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=tOo(VFx,f3,V8x) loop +exitwhen(EBx0)then return endif if(qdv[VFx]!=Z)then call Vmx("Missile_Allocation_deallocCustom_confirm","call DebugEx(Missile.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",d3+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set qdv[VFx]=qdv[(w)] set qdv[(w)]=VFx +call tco(VFx) endfunction function tdo takes integer VFx returns nothing set qfv[VFx]=qfv[VFx]-1 call tCo(VFx) endfunction function tDo takes integer VFx returns nothing call tAo(VFx) call tNo(VFx) call tdo((VFx)) endfunction function tfo takes integer hdx returns boolean return( not(Cmx(hdx,tf))) endfunction function tFo takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=Qrv[VFx] call tXo((VFx)) call tDo(tgo) if tfo(hdx)then endif return true endfunction function tGo takes integer VFx,real h0x,real h1x,real kJx returns nothing if qhv[VFx]then call tAo(VFx) endif set qhv[VFx]=true set QRv[(VFx)]=((h0x)*1.) set QIv[(VFx)]=((h1x)*1.) set QAv[(VFx)]=((kJx)*1.) endfunction function tho takes integer VFx returns real return JKx((qyv[(VFx)])-(QRv[(VFx)]),(qYv[(VFx)])-(QIv[(VFx)])) endfunction function tHo takes integer VFx returns nothing local real fCx=tho((VFx)) local real fdx=(q2v[((VFx))]) local real Xdx=fcx(fCx,fdx,(qjv[((VFx))])) local real fDx if(Xdx==.0)then set qMv[VFx]=.0 set qpv[VFx]=.0 set qPv[VFx]=.0 set qqv[VFx]=.0 set Qbv[VFx]=(qyv[((VFx))]) set QBv[VFx]=(qYv[((VFx))]) return endif set qpv[VFx]=fCx +set fCx=fCx*(Tan((((((qQv[(VFx)]))*1.))*1.))) set fdx=fCx*1./ Xdx set fDx=-2*fdx*1./ Xdx set qMv[VFx]=fDx +set qPv[VFx]=Xdx +set qqv[VFx]=fdx +set Qbv[VFx]=(qyv[((VFx))]) set QBv[VFx]=(qYv[((VFx))]) endfunction function tjo takes integer VFx returns boolean if((A4[((VFx))])>0)then return false +endif set b4=b4+1 set N4[b4]=VFx set A4[VFx]=b4+1 +return(b4==0) endfunction function tJo takes nothing returns nothing local integer VBx=b4 +loop +exitwhen(VBx<0) set Qcv[VBx]=N4[VBx] +set VBx=VBx-1 endloop set QCv=b4 endfunction function tko takes nothing returns integer local integer Vtx if(QCv<0)then return w +endif set Vtx=Qcv[0] set Qcv[0]=Qcv[QCv] set QCv=QCv-1 return Vtx endfunction function tKo takes integer VFx,real x,real y,real z returns nothing call jfx(VFx,x) call jFx(VFx,y) call sux(VFx,x,y,z) endfunction function tlo takes integer VFx returns real local real fCx=JKx((QRv[((VFx))])-Qbv[VFx],(QIv[((VFx))])-QBv[VFx]) local real Xdx local real tLo local real tmo if(fCx==.0)then return .0 endif set Xdx=qPv[VFx] +if(Xdx==.0)then return .0 endif set tLo=FCx(JKx((qyv[((VFx))])-Qbv[VFx],(qYv[((VFx))])-QBv[VFx])*1./ fCx,0,1) set tmo=(1-tLo)*Xdx return((qMv[VFx]*1./ 2)*tmo*tmo+qqv[VFx]*tmo) endfunction function tMo takes integer VFx,real x,real y,real z returns nothing set kf=VFx set Yp=x +set Zp=y +set QFv=z call TriggerEvaluate(Qgv) endfunction function tpo takes integer VFx,boolean b_x returns real if b_x then return(dov[VFx]*(JC[((VFx))])) endif return dov[VFx] endfunction function tPo takes integer VFx,boolean b_x returns real if b_x then return(drv[VFx]*(JC[((VFx))])) endif return drv[VFx] endfunction function tqo takes integer VFx,integer csx,real hux,real hUx,real tQo returns nothing call tMo(VFx,dxx(csx)+tpo(csx,true)+hux,dox(csx)+tPo(csx,true)+hUx,drx(csx)+khx(csx,true)+tQo) endfunction function tso takes integer VFx,integer csx returns nothing call tqo(VFx,csx,.0,.0,.0) endfunction function tSo takes integer VFx,integer csx returns nothing local integer tto=qUv[VFx] local integer Eix=V4x((j3[((VFx))])) +set qUv[VFx]=w call tso((VFx),csx) set qUv[VFx]=tto +set h3[(Eix)]=(VFx) set Vv[(Eix)]=(csx) set bv=(Eix) +call Eox(quv[VFx]) call ERx(((Eix))) endfunction function tTo takes integer VFx,real x,real y,real z returns nothing local integer MCx=(S3[((VFx))]) local integer tuo=(qUv[((VFx))]) +local integer tUo local integer Eix set qyv[(VFx)]=((x)*1.) set qYv[(VFx)]=((y)*1.) set qzv[(VFx)]=((z)*1.) if(MCx!=w)then call tKo(MCx,x,y,z+tlo((VFx))) endif if(tuo!=w)then set Eix=V4x(0) set h3[(Eix)]=(VFx) set bv=(Eix) +call fXo(h4,x,y,(qsv[((VFx))]),tuo) call ERx(((Eix))) set tUo=(OXx(FirstOfGroup(jd[(h4)]))) if(tUo!=w)then call tSo((VFx),tUo) endif endif if(qWv[VFx]!=w)then set Eix=V4x(0) set h3[(Eix)]=(VFx) set bv=(Eix) +call fXo(h4,x,y,(qsv[((VFx))]),qWv[VFx]) +set tUo=fOo(h4) if(tUo!=w)then loop +set bv=(Eix) +set Vv[(Eix)]=(tUo) call Eox(qwv[VFx]) set tUo=fOo(h4) exitwhen(tUo==w) +endloop endif call ERx(((Eix))) endif endfunction function two takes integer VFx,real x,real y,real z returns nothing local integer tto=qUv[VFx] local integer Eix=V4x((j3[((VFx))])) +set qUv[VFx]=w call tTo((VFx),x,y,z) set qUv[VFx]=tto +set h3[(Eix)]=(VFx) set Vv[(Eix)]=(w) set bv=(Eix) +call Eox(quv[VFx]) call ERx(((Eix))) endfunction function tWo takes integer VFx,integer tyo returns nothing local integer Eix=V4x((j3[((VFx))])) +local integer VBx local integer V8x local integer EBx set h3[(Eix)]=(VFx) set V4[(Eix)]=(tyo) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=tOo((VFx),g3,V8x) loop +exitwhen(EBx0)then return endif if(QPv[VFx]!=Z)then call Vmx("FolderUnitEffect_StructDestroyTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderUnitEffect_StructDestroyTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",lu+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set QPv[VFx]=QPv[(w)] set QPv[(w)]=VFx +call Tjo(VFx) endfunction function Tko takes integer VFx returns nothing set QQv[VFx]=QQv[VFx]-1 call TJo(VFx) endfunction function TKo takes nothing returns nothing local integer Xrx=XXx() local integer VFx=(ge[(Xrx)]) local integer ENx=Qtv[VFx] call Tko((VFx)) call Xbx(Xrx) call cdx(ENx) endfunction function Tlo takes integer VFx,real Xdx returns nothing local integer ENx=VFx local integer Xrx set VFx=THo() set Xrx=E5x() set Qtv[VFx]=ENx +set ge[(Xrx)]=(VFx) call Xax(Xrx,Xdx,false,function TKo) +endfunction function TLo takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer csx=(aL[(Eix)]) call Tlo((C1x((csx),(QTv),(Quv),(fV))),2.) call s9o(hdx,csx,QUv) return true endfunction function Tmo takes nothing returns boolean call Tno(QKv,Nlx("PenguinFeather_Init: call PenguinFeather.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function PenguinFeather.Event_Drop))",Gkv,rB,function TFo)) call Tno(QKv,Nlx("PenguinFeather_Init: call PenguinFeather.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function PenguinFeather.Event_PickUp))",GGv,rB,function TGo)) call Sao(QJv,Nlx("PenguinFeather_Init: call PenguinFeather.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function PenguinFeather.Event_SpellEffect))",kK,VB,function TLo)) return true endfunction function TMo takes nothing returns boolean call SZo(function Tmo,"PenguinFeather_Init") +return true endfunction function Tpo takes nothing returns boolean set Qwv=suo('IRaF') set Pbv[(Qwv)]=("ReplaceableTextures\\CommandButtons\\BTNAdvancedStrengthOfTheWild.blp") +return true endfunction function TPo takes nothing returns boolean call IGx(WE,(function Tpo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\GarbageCollector.page\\GarbageCollector.struct\\Act1.pack\\RabbitsFoot.page\\RabbitsFoot.struct\\obj_thisItem_wc3item.j")) return true endfunction function Tqo takes nothing returns boolean set QWv=Idx(Qyv) +return true endfunction function TQo takes integer VFx,real Vhx returns nothing call Ffx(VFx,(gj[(VFx)])-Vhx) endfunction function Tso takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call Vmx("RabbitsFoot_Event_Drop","call DebugEx(\"drop\")","drop") call TQo(b3x,.2) +call Tdo(b3x,.25) return true endfunction function TSo takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call Vmx("RabbitsFoot_Event_PickUp","call DebugEx(\"pickup\")","pickup") +call FFx(b3x,.2) +call Fhx(b3x,.25) return true endfunction function Tto takes nothing returns boolean call Tno(Qwv,Nlx("RabbitsFoot_Init: call RabbitsFoot.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function RabbitsFoot.Event_Drop))",Gkv,rB,function Tso)) +call Tno(Qwv,Nlx("RabbitsFoot_Init: call RabbitsFoot.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function RabbitsFoot.Event_PickUp))",GGv,rB,function TSo)) return true endfunction function TTo takes nothing returns boolean call SZo(function Tto,"RabbitsFoot_Init") return true endfunction function Tuo takes nothing returns boolean set QYv=suo('IRaS') set Pbv[(QYv)]=("ReplaceableTextures\\CommandButtons\\BTNNatureTouchGrow.blp") return true endfunction function TUo takes nothing returns boolean call IGx(WE,(function Tuo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\GarbageCollector.page\\GarbageCollector.struct\\Act1.pack\\RamblersStick.page\\RamblersStick.struct\\obj_thisItem_wc3item.j")) return true endfunction function Two takes nothing returns boolean set Qzv=Idx(QZv) +return true endfunction function TWo takes integer VFx,real Vhx returns nothing call hHo(VFx,(c6v[(VFx)])-Vhx) endfunction function Tyo takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call TWo(b3x,1.) +call TVo(b3x,5.) +call Tfo(b3x,4.) +return true endfunction function TYo takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call hjo(b3x,1.) +call Gpx(b3x,5.) +call Tgo(b3x,4.) +return true endfunction function Tzo takes nothing returns boolean call Tno(QYv,Nlx("RamblersStick_Init: call RamblersStick.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function RamblersStick.Event_Drop))",Gkv,rB,function Tyo)) call Tno(QYv,Nlx("RamblersStick_Init: call RamblersStick.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function RamblersStick.Event_PickUp))",GGv,rB,function TYo)) +return true endfunction function TZo takes nothing returns boolean call SZo(function Tzo,"RamblersStick_Init") return true endfunction function T_o takes nothing returns boolean set Q_v=suo('IGrA') set Pbv[(Q_v)]=("ReplaceableTextures\\CommandButtons\\BTNOrcMeleeUpOne.blp") +return true endfunction function T0o takes nothing returns boolean call IGx(WE,(function T_o),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\GarbageCollector.page\\GarbageCollector.struct\\Act2.pack\\GruntAxe.page\\GruntAxe.struct\\obj_thisItem_wc3item.j")) +return true endfunction function T1o takes nothing returns boolean set Q0v=Idx(Q1v) +return true endfunction function T2o takes code c,string EFx returns nothing +set IX=IX+1 set AX[IX]=CreateTrigger() set NX[IX]=(GetHandleId(Condition((c)))) +set bX[IX]=EFx call TriggerAddCondition(AX[IX],Condition(c)) endfunction function T3o takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call TQo(b3x,50.) call TVo(b3x,8.) +return true endfunction function T4o takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call FFx(b3x,50.) call Gpx(b3x,8.) +return true endfunction function T5o takes nothing returns boolean call Tno(Q_v,Nlx("GruntAxe_Init: call GruntAxe.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function GruntAxe.Event_Drop))",Gkv,rB,function T3o)) call Tno(Q_v,Nlx("GruntAxe_Init: call GruntAxe.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function GruntAxe.Event_PickUp))",GGv,rB,function T4o)) return true endfunction function T6o takes nothing returns boolean call T2o(function T5o,"GruntAxe_Init") return true endfunction function T7o takes nothing returns boolean set Q2v=suo('IRoH') set Pbv[(Q2v)]=("ReplaceableTextures\\CommandButtons\\BTNHoodOfCunning.blp") +return true endfunction function T8o takes nothing returns boolean call IGx(WE,(function T7o),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\GarbageCollector.page\\GarbageCollector.struct\\Act2.pack\\RobynsHood.page\\RobynsHood.struct\\obj_thisItem_wc3item.j")) +return true endfunction function T9o takes nothing returns boolean set Q3v=Idx(Q4v) +return true endfunction function uvo takes integer VFx,real Vhx returns nothing set wj[VFx]=Vhx call F0x((VFx)) endfunction function ueo takes integer VFx,real Vhx returns nothing call uvo(VFx,(wj[(VFx)])-Vhx) endfunction function uxo takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call ueo(b3x,2.) +call TWo(b3x,4.) +return true endfunction function uoo takes integer VFx,real Vhx returns nothing call uvo(VFx,(wj[(VFx)])+Vhx) endfunction function uro takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call uoo(b3x,2.) +call hjo(b3x,4.) +return true endfunction function uio takes nothing returns boolean call Tno(Q2v,Nlx("RobynsHood_Init: call RobynsHood.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function RobynsHood.Event_Drop))",Gkv,rB,function uxo)) call Tno(Q2v,Nlx("RobynsHood_Init: call RobynsHood.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function RobynsHood.Event_PickUp))",GGv,rB,function uro)) return true endfunction function uao takes nothing returns boolean call T2o(function uio,"RobynsHood_Init") +return true endfunction function uno takes nothing returns boolean set Q5v=suo('IElD') set Pbv[(Q5v)]=("ReplaceableTextures\\CommandButtons\\BTNWandOfManaSteal.blp") return true endfunction function uVo takes nothing returns boolean call IGx(WE,(function uno),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\GarbageCollector.page\\GarbageCollector.struct\\Act3.pack\\ElfinDagger.page\\ElfinDagger.struct\\obj_thisItem_wc3item.j")) return true endfunction function uEo takes nothing returns boolean set Q6v=Idx(Q7v) +return true endfunction function uXo takes code c,string EFx returns nothing +set BX=BX+1 set cX[BX]=CreateTrigger() set CX[BX]=(GetHandleId(Condition((c)))) +set DX[BX]=EFx call TriggerAddCondition(cX[BX],Condition(c)) endfunction function uOo takes integer VFx,real Vhx returns nothing set CYv[(VFx)]=(((CYv[(VFx)])-Vhx)*1.) endfunction function uRo takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call uOo(b3x,.25) call Tfo(b3x,10.) return true endfunction function uIo takes integer VFx,real Vhx returns nothing set CYv[(VFx)]=(((CYv[(VFx)])+Vhx)*1.) endfunction function uAo takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call uIo(b3x,.25) call Tgo(b3x,10.) return true endfunction function uNo takes nothing returns boolean call Tno(Q5v,Nlx("ElfinDagger_Init: call ElfinDagger.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function ElfinDagger.Event_Drop))",Gkv,rB,function uRo)) +call Tno(Q5v,Nlx("ElfinDagger_Init: call ElfinDagger.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function ElfinDagger.Event_PickUp))",GGv,rB,function uAo)) return true endfunction function ubo takes nothing returns boolean call uXo(function uNo,"ElfinDagger_Init") return true endfunction function uBo takes nothing returns boolean set Q8v=x6o('BSoD',"Bleeding",'bSoD') return true endfunction function uco takes nothing returns boolean call IGx(tE,(function uBo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\GarbageCollector.page\\GarbageCollector.struct\\Act3.pack\\SpearOfTheDefender.page\\SpearOfTheDefender.struct\\Buff\\obj_dummyBuff_wc3buff.j")) return true endfunction function uCo takes nothing returns boolean set Q9v=Idx(svv) +return true endfunction function udo takes nothing returns boolean set sev=suo('ISoD') set Pbv[(sev)]=("ReplaceableTextures\\CommandButtons\\BTNThoriumRanged.blp") +return true endfunction function uDo takes nothing returns boolean call IGx(WE,(function udo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\GarbageCollector.page\\GarbageCollector.struct\\Act3.pack\\SpearOfTheDefender.page\\SpearOfTheDefender.struct\\obj_thisItem_wc3item.j")) +return true endfunction function ufo takes nothing returns boolean set sxv=Idx(sov) +return true endfunction function uFo takes integer hdx,integer csx returns nothing set siv=hdx call d9x((csx),(Q8v),(1),w,((10.)*1.)) endfunction function ugo takes nothing returns boolean local integer Eix=(bv) local integer hdx=(A9v[(Eix)]) local integer csx=(Vv[(Eix)]) call uFo(hdx,csx) return true endfunction function uGo takes integer VFx,real Vhx returns nothing call hlo(VFx,(Cev[(VFx)])-Vhx) endfunction function uho takes integer VFx,real Vhx returns nothing call Jho(VFx,(Cj[(VFx)])-Vhx) endfunction function uHo takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) local integer R9x=(Vfx(b3x,sav)-1) call uGo(b3x,.2) +call uho(b3x,snv) call TVo(b3x,50.) call Ejx(b3x,sav,R9x) if(R9x==0)then call CMx(b3x,srv) endif return true endfunction function ujo takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) local integer R9x=(Vfx(b3x,sav)+1) call hLo(b3x,.2) +call JHo(b3x,snv) call Gpx(b3x,50.) call Ejx(b3x,sav,R9x) if(R9x==0+1)then +call CMx(b3x,srv) endif return true endfunction function uJo takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx call Tlo((C1x((csx),((A_v[(csx)])),("chest"),(EV))),2.) call Ato((sVv[VFx]),(csx),((sRv)*1.),(false)) endfunction function uko takes nothing returns boolean local integer Eix=(bv) local integer hdx=siv local integer TBx=E5x() local integer csx=(Vv[(Eix)]) local integer VFx=csx set sVv[VFx]=hdx +set sEv[VFx]=TBx +set ge[(TBx)]=(VFx) call Xax(TBx,sOv,true,function uJo) return true endfunction function uKo takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=sEv[VFx] call Xbx(TBx) return true endfunction function ulo takes nothing returns nothing call Ufx(Q8v,Nlx("FolderSpearOfTheDefender_StructBuff_Init: call FolderSpearOfTheDefender_StructBuff.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSpearOfTheDefender_StructBuff.Event_BuffGain))",dg,VB,function uko)) call Ufx(Q8v,Nlx("FolderSpearOfTheDefender_StructBuff_Init: call FolderSpearOfTheDefender_StructBuff.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSpearOfTheDefender_StructBuff.Event_BuffLose))",Hf,VB,function uKo)) endfunction function uLo takes nothing returns boolean set srv=Nlx("SpearOfTheDefender_Init: set SpearOfTheDefender.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.ITEMS, function SpearOfTheDefender.Event_Damage)",Nev,rB,function ugo) call Tno(sev,Nlx("SpearOfTheDefender_Init: call SpearOfTheDefender.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function SpearOfTheDefender.Event_Drop))",Gkv,rB,function uHo)) call Tno(sev,Nlx("SpearOfTheDefender_Init: call SpearOfTheDefender.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function SpearOfTheDefender.Event_PickUp))",GGv,rB,function ujo)) call ulo() return true endfunction function umo takes nothing returns boolean call uXo(function uLo,"SpearOfTheDefender_Init") +return true endfunction function uMo takes nothing returns boolean set sIv=suo('IMeS') set Pbv[(sIv)]=("ReplaceableTextures\\CommandButtons\\BTNGlyph.blp") +return true endfunction function upo takes nothing returns boolean call IGx(WE,(function uMo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\GarbageCollector.page\\GarbageCollector.struct\\MeteoriteShard.page\\MeteoriteShard.struct\\obj_thisItem_wc3item.j")) return true endfunction function uPo takes nothing returns boolean set sAv=Idx(sNv) +return true endfunction function uqo takes code c,string EFx returns nothing +set iX=iX+1 set aX[iX]=CreateTrigger() set nX[iX]=(GetHandleId(Condition((c)))) +set VX[iX]=EFx call TriggerAddCondition(aX[iX],Condition(c)) endfunction function uQo takes integer VFx,real Vhx returns nothing call GQx(VFx,(XK[(VFx)])-Vhx) endfunction function uso takes integer VFx,real Vhx returns nothing call gJx(VFx,(CJ[(VFx)])-Vhx) endfunction function uSo takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call uQo(b3x,100.) call uso(b3x,30.) return true endfunction function uto takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call Gsx(b3x,100.) call gkx(b3x,30.) return true endfunction function uTo takes nothing returns boolean call Tno(sIv,Nlx("MeteoriteShard_Init: call MeteoriteShard.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function MeteoriteShard.Event_Drop))",Gkv,rB,function uSo)) call Tno(sIv,Nlx("MeteoriteShard_Init: call MeteoriteShard.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function MeteoriteShard.Event_PickUp))",GGv,rB,function uto)) return true endfunction function uuo takes nothing returns boolean call uqo(function uTo,"MeteoriteShard_Init") +return true endfunction function uUo takes nothing returns boolean set sbv=suo('ICoi') call sUo(((sbv)),gh,(xY)) return true endfunction function uwo takes nothing returns boolean set sBv=vEo() set dF[(sBv)]=("Abilities\\Spells\\Items\\ResourceItems\\ReceiveGold.wav") set gF[(sBv)]=(xbv) set hF[(sBv)]=((1)*1.) set jF[(sBv)]=((1)*1.) set kF[(sBv)]=($A) set lF[(sBv)]=((1)*1.) set QF[(sBv)]=(true) +set SF[(sBv)]=(true) +set TF[(sBv)]=((600)*1.) +set UF[(sBv)]=(($186A0)*1.) set WF[(sBv)]=(($7D0)*1.) return true endfunction function uWo takes nothing returns boolean call IGx(WE,(function uUo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\GoldCoin.page\\GoldCoin.struct\\obj_thisItem_wc3item.j")) call IGx(SE,(function uwo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\GoldCoin.page\\GoldCoin.struct\\obj_dummySound_wc3sound.j")) +return true endfunction function uyo takes nothing returns boolean set scv=Idx(sCv) +return true endfunction function uYo takes nothing returns boolean local integer Eix=(bv) local integer uzo=(dh[(Eix)]) local integer VFx=uzo call DQx(uzo,sdv) return true endfunction function uZo takes integer VFx returns integer set shv[VFx]=true set sHv[VFx]=false call V1x(zZ) +return VFx endfunction function u_o takes nothing returns integer local integer VFx if(sfv==8190)then call Vmx("CustomDrop_Allocation_allocCustom","call DebugEx(CustomDrop.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",ZZ+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(sFv[(w)]==w)then set sgv=sgv+1 set VFx=sgv else +set VFx=sFv[(w)] +set sFv[(w)]=sFv[sFv[(w)]] endif set sFv[VFx]=Z set sGv[VFx]=1 call uZo(VFx) return VFx endfunction function u0o takes integer N8x,string u1o,string u2o,integer u3o returns integer +local integer VFx=u_o() set C6v[VFx]=u2o +set C7v[VFx]=u3o +set C5v[VFx]=u1o +set C4v[VFx]=N8x +return VFx endfunction function u4o takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) local integer uzo=(fnx(CreateItem(kh[(sbv)],(((GetUnitX(C[((b3x))])))*1.),(((GetUnitY(C[((b3x))])))*1.)))) local integer VFx=uzo set sjv[VFx]=UHx((bj[(b3x)]),sJv) call Dux(uzo,sdv) return true endfunction function u5o takes integer VFx returns real return bex((GetItemX(ah[((VFx))])),(GetItemY(ah[((VFx))]))) endfunction function u6o takes integer VFx,real x,real y,real z returns nothing set NF[(VFx)]=(w) set bF[(VFx)]=((x)*1.) set BF[(VFx)]=((y)*1.) set cF[(VFx)]=((z)*1.) call SetSoundPosition(DD[VFx],x,y,z) +endfunction function u7o takes integer VFx,real x,real y,real z returns nothing call u6o(VFx,x,y,z) call dXx(VFx) endfunction function u8o takes nothing returns boolean local integer Eix=(bv) local integer uzo=(dh[(Eix)]) local integer b3x=(Vv[(Eix)]) local real x=(GetItemX(ah[((uzo))])) +local real y=(GetItemY(ah[((uzo))])) +local real z=u5o(uzo) local integer VFx=uzo local integer u9o=dex(sBv) local integer VBx call u7o(u9o,x,y,z) call Gix(Xhx("+"+(I2S((sjv[VFx]))),"ffffcc00"),1.15*lC,(GetItemX(ah[((uzo))])),(GetItemY(ah[((uzo))])),u5o(uzo),(0)) +call cJx(u9o,true) set VBx=YK loop +exitwhen(VBx<0) call smo(zK[VBx],PLAYER_STATE_RESOURCE_GOLD,sjv[VFx]) set VBx=VBx-1 endloop return true endfunction function Uvo takes nothing returns boolean set sdv=Nlx("GoldCoin_Init: set GoldCoin.COIN_DESTROY_EVENT = Event.Create(Item.DESTROY_EVENT_TYPE, EventPriority.MISC, function GoldCoin.Event_Coin_Destroy)",Fh,iB,function uYo) set sDv=u0o(Nlx("GoldCoin_Init: set GoldCoin.THIS_DROP = CustomDrop.Create(Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function GoldCoin.Event_Spawn_Death), null, null, EffectLevel.NORMAL)",zu,rB,function u4o),null,null,fV) call Tno(sbv,Nlx("GoldCoin_Init: call GoldCoin.THIS_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Use.DUMMY_EVENT_TYPE, EventPriority.MISC, function GoldCoin.Event_ItemUse))",xl,iB,function u8o)) return true endfunction function Ueo takes nothing returns boolean call lex(function Uvo,"GoldCoin_Init") return true endfunction function Uxo takes nothing returns boolean set skv=LBo('uRos') set vm[(skv)]=((1.5)*1.) +set div[(skv)]=((60)*1.) +set dsv[(skv)]=((85)*1.) +set c5v[(skv)]=((0)*1.) set Crv[(skv)]=(5) set djv[(skv)]=(('d')*1.) set dHv[(skv)]=(('d')*1.) set dGv[(skv)]=((0)*1.) set dRv[(skv)]=((500)*1.) set dXv[(skv)]=((500)*1.) set dCv[(skv)]=((500)*1.) set Csv[(skv)]=((0)*1.) set CSv[(skv)]=((0)*1.) set CUv[(skv)]=(0) set Cyv[(skv)]=(0) call LFo((skv),(j2v),1) return true endfunction function Uoo takes nothing returns boolean call scx('AHRv',false) set sKv=s2o('AHRv') set orv[(sKv)]=(ovv) +set onv[(sKv)]=(1) set Zl[(sKv)]=("Revive Hero") set PK[(sKv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D007E)))),(((FL)))))) set Vnv[(sKv)]=(0) set n9v[(sKv)]=("spell,channel") +call s3o((sKv),jl+(1),((2)*1.)) call s3o((sKv),zl+(1),(('d')*1.)) call s3o((sKv),Pkv+(1),((750)*1.)) set Qkv[(sKv)]=("ReplaceableTextures\\CommandButtons\\BTNResurrection.blp") return true endfunction function Uro takes nothing returns boolean call IGx(yE,(function Uxo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\HeroRevival.page\\HeroRevival.struct\\obj_RosaType_wc3unit.j")) call IGx(UE,(function Uoo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\HeroRevival.page\\HeroRevival.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Uio takes nothing returns boolean set slv=Idx(sLv) +return true endfunction function Uao takes integer VFx returns integer set sQv[VFx]=true set ssv[VFx]=false call V1x(zU) +return VFx endfunction function Uno takes nothing returns integer local integer VFx if(sMv==8190)then call Vmx("CineFilter_Allocation_allocCustom","call DebugEx(CineFilter.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",ZU+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(spv[(w)]==w)then set sPv=sPv+1 set VFx=sPv else +set VFx=spv[(w)] +set spv[(w)]=spv[spv[(w)]] endif set spv[VFx]=Z set sqv[VFx]=1 call Uao(VFx) return VFx endfunction function UVo takes integer VFx,integer XMx,integer Xpx,integer XPx,integer Xqx returns nothing set stv[(VFx)]=(XMx) +set sTv[(VFx)]=(Xpx) +set suv[(VFx)]=(XPx) +set sUv[(VFx)]=(Xqx) +endfunction function UEo takes integer VFx,integer XMx,integer Xpx,integer XPx,integer Xqx returns nothing set swv[(VFx)]=(XMx) +set sWv[(VFx)]=(Xpx) +set syv[(VFx)]=(XPx) +set sYv[(VFx)]=(Xqx) +endfunction function UXo takes integer VFx,real UOo,real URo,real UIo,real UAo returns nothing set s_v[(VFx)]=((UIo)*1.) set s0v[(VFx)]=((UOo)*1.) set s1v[(VFx)]=((UAo)*1.) set s2v[(VFx)]=((URo)*1.) endfunction function UNo takes integer VFx,real UOo,real URo,real UIo,real UAo returns nothing set s3v[(VFx)]=((UIo)*1.) set s4v[(VFx)]=((UOo)*1.) set s5v[(VFx)]=((UAo)*1.) set s6v[(VFx)]=((URo)*1.) endfunction function Ubo takes nothing returns integer local integer VFx=Uno() set sSv[(VFx)]=(BLEND_MODE_BLEND) call UVo(VFx,$FF,$FF,$FF,$FF) call UEo(VFx,0,0,0,0) set szv[(VFx)]=(TEXMAP_FLAG_NONE) set sZv[(VFx)]=(null) call UXo(VFx,.0,.0,1.,1.) call UNo(VFx,.0,.0,1.,1.) return VFx endfunction function UBo takes integer VFx returns integer set Srv[VFx]=true set Siv[VFx]=false call V1x(slv) return VFx endfunction function Uco takes nothing returns integer local integer VFx if(Svv==8190)then call Vmx("HeroRevival_Allocation_allocCustom","call DebugEx(HeroRevival.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",sLv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Sev[(w)]==w)then set Sxv=Sxv+1 set VFx=Sxv else +set VFx=Sev[(w)] +set Sev[(w)]=Sev[Sev[(w)]] endif set Sev[VFx]=Z set Sov[VFx]=1 call UBo(VFx) return VFx endfunction function UCo takes integer b3x returns nothing local integer VBx=Bex(b3x,c_v) local integer EAx loop +exitwhen(VBx0)then return endif if(SMv[VFx]!=Z)then call Vmx("HeroSelection_Allocation_deallocCustom_confirm","call DebugEx(HeroSelection.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",SLv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set SMv[VFx]=SMv[(w)] set SMv[(w)]=VFx +call U2o(VFx) endfunction function U4o takes integer VFx returns nothing set SPv[VFx]=SPv[VFx]-1 call U3o(VFx) endfunction function U5o takes integer VFx returns boolean if SQv[VFx]then return true endif set SQv[VFx]=true call bLx(Stv[VFx]) call mLx(SZv[VFx],Swv) call V0x(STv[VFx],Swv) call U4o(VFx) return true endfunction function U6o takes integer Vxx,integer b3x returns nothing local integer Eix=V4x(0) +local integer VBx local integer V8x local integer EBx set Vv[(Eix)]=(b3x) set ax[(Eix)]=(Vxx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((Se))),((((1+8192*((((mvv))-1)*Iv+(((V8x))-1))))))))) +loop +exitwhen(EBx0)then +return false +endif set tNv[tbv[tBv]]=tNv[VFx] set tbv[tNv[VFx]-1]=tbv[tBv] +set tNv[VFx]=0 set tBv=tBv-1 return(tBv==F) endfunction function wXo takes integer VFx returns nothing set tdv[VFx]=false call EEx(Skv) endfunction function wOo takes integer VFx returns nothing if(tcv[VFx]>0)then return endif if(tCv[VFx]!=Z)then call Vmx("Spirit_Allocation_deallocCustom_confirm","call DebugEx(Spirit.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",SKv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set tCv[VFx]=tCv[(w)] set tCv[(w)]=VFx +call wXo(VFx) endfunction function wRo takes integer VFx returns nothing set tcv[VFx]=tcv[VFx]-1 call wOo(VFx) endfunction function wIo takes integer VFx returns boolean if tOv[VFx]then return true endif set tOv[VFx]=true call V0x(tRv[VFx],tXv) call cEx(tRv[VFx],tEv) call mLx(tIv[VFx],tXv) call t_x(tIv[VFx],tAv) call Bcx(tRv[VFx]) if wEo(VFx)then call XNx(txv) endif call wRo(VFx) return true endfunction function wAo takes nothing returns boolean local integer Eix=(bv) local integer wNo=(Vv[(Eix)]) local integer VFx=Vfx(wNo,tXv) call wIo(VFx) return true endfunction function wbo takes nothing returns boolean local integer Eix=(bv) local integer VFx=mKx((ax[(Eix)]),tXv) call wIo(VFx) return true endfunction function wBo takes integer u returns integer +return Vfx(u,Swv) endfunction function wco takes integer VFx returns integer set tJv[VFx]=true set tkv[VFx]=false call V1x(Nu) +return VFx endfunction function wCo takes nothing returns integer local integer VFx if(tGv==8190)then call Vmx("FolderSpotEffect_StructDestroyTimed_Allocation_allocCustom","call DebugEx(FolderSpotEffect_StructDestroyTimed.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",bu+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(thv[(w)]==w)then set tHv=tHv+1 set VFx=tHv else +set VFx=thv[(w)] +set thv[(w)]=thv[thv[(w)]] endif set thv[VFx]=Z set tjv[VFx]=1 call wco(VFx) return VFx endfunction function wdo takes integer VFx returns nothing set tJv[VFx]=false call EEx(Nu) +endfunction function wDo takes integer VFx returns nothing if(tjv[VFx]>0)then return endif if(thv[VFx]!=Z)then call Vmx("FolderSpotEffect_StructDestroyTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderSpotEffect_StructDestroyTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",bu+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set thv[VFx]=thv[(w)] set thv[(w)]=VFx +call wdo(VFx) endfunction function wfo takes integer VFx returns nothing set tjv[VFx]=tjv[VFx]-1 call wDo(VFx) endfunction function wFo takes nothing returns nothing local integer Xrx=XXx() local integer VFx=(ge[(Xrx)]) local integer ENx=tKv[VFx] call wfo((VFx)) call Xbx(Xrx) call Sgo(ENx) endfunction function wgo takes integer VFx,real Xdx returns nothing local integer ENx=VFx local integer Xrx set VFx=wCo() set Xrx=E5x() set tKv[VFx]=ENx +set ge[(Xrx)]=(VFx) call Xax(Xrx,Xdx,false,function wFo) +endfunction function wGo takes integer VFx returns nothing local integer who local integer b3x if(SZv[VFx]==w)then return endif set who=SZv[VFx] +set b3x=STv[VFx] +set SZv[VFx]=w call mLx(who,Swv) call OEx(b3x,lxv) call PauseUnit(C[b3x],true) call SetUnitFacing(C[((b3x))],((Ssv[VFx])*1.)*JG) call KCx(b3x,Suv[VFx],SUv[VFx]) call wgo((Sjo(((Suv[VFx])*1.),((SUv[VFx])*1.),(tlv),(EV))),2.) endfunction function wHo takes integer VFx,integer Vxx returns nothing call wGo(VFx) set SZv[VFx]=Vxx +call mPx(Vxx,Swv,VFx) call PauseUnit(C[STv[VFx]],false) call OEx(STv[VFx],Vxx) call b0o(STv[VFx],Vxx,true) endfunction function wjo takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=(aL[(Eix)]) local integer wNo=(QEv[(tgo)]) local integer wJo local integer sGo call tDo(tgo) call JYx(((wNo)),NPv) if(csx==w)then return true endif set wJo=wBo(csx) +if(wJo==w)then call cdx((C1x((csx),(tDv),(tfv),(EV)))) set sGo=Gax(csx,Xhx("Target cannot be possessed",(kC[((ze[(wNo)]))])),.03,(0)) return true endif if((ze[(csx)])!=lxv)then +call cdx((C1x((csx),(tDv),(tfv),(EV)))) call Gax(csx,Xhx("Target already possessed",(kC[((ze[(wNo)]))])),.03,(0)) return true endif call cdx((C1x((csx),(tFv),(tgv),(EV)))) call wHo(wJo,(ze[(wNo)])) call Bcx(wNo) return true endfunction function wko takes nothing returns boolean local integer Eix=(bv) local integer wNo=(Vv[(Eix)]) local integer csx=(aL[(Eix)]) local integer tgo local integer wKo call jGx((((wNo))),(NPv),(1),w) set tgo=teo() set qQv[((tgo))]=((D6v*((.06)*1.))*1.) set qsv[(tgo)]=((10.)*1.) call tio(tgo,'qSPo',1.5) +set quv[(tgo)]=Ntx((function wjo)) set QEv[(tgo)]=(wNo) +call S9o(tgo,800.) call Tvo(tgo,wNo) call t4o((tgo),(csx),.0,.0,.0,(null)) set wKo=dex(Sjv) +call dOx(wKo,wNo) call cJx(wKo,true) return true endfunction function wlo takes integer VFx returns integer set tdv[VFx]=true set tOv[VFx]=false call V1x(Skv) return VFx endfunction function wLo takes nothing returns integer local integer VFx if(tLv==8190)then call Vmx("Spirit_Allocation_allocCustom","call DebugEx(Spirit.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",SKv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(tCv[(w)]==w)then set tmv=tmv+1 set VFx=tmv else +set VFx=tCv[(w)] +set tCv[(w)]=tCv[tCv[(w)]] endif set tCv[VFx]=Z set tcv[VFx]=1 call wlo(VFx) return VFx endfunction function wmo takes integer VFx returns boolean if((tNv[((VFx))])>0)then +return false +endif set tBv=tBv+1 set tbv[tBv]=VFx +set tNv[VFx]=tBv+1 return(tBv==0) endfunction function wMo takes nothing returns nothing local integer VBx=tBv loop +exitwhen(VBx<0) set tSv[VBx]=tbv[VBx] set VBx=VBx-1 endloop set ttv=tBv endfunction function wpo takes nothing returns integer local integer Vtx if(ttv<0)then return w +endif set Vtx=tSv[0] set tSv[0]=tSv[ttv] set ttv=ttv-1 return Vtx endfunction function wPo takes integer VFx,real x,real y,real z returns nothing call Kcx(VFx,x) call J4x(VFx,y) call J6x(VFx,x,y,z) endfunction function wqo takes integer VFx returns nothing local real wQo=plx(tMv[VFx]+tpv[VFx],TH) +local real wso=plx(tQv[VFx]+tsv[VFx],TH) +local real wSo=(Cos(((((wQo)*1.))*1.))) local real wto=(Sin(((((wQo)*1.))*1.))) local real wTo=(Cos(((((wso)*1.))*1.))) local real wuo=(Sin(((((wso)*1.))*1.))) local real x=tiv+tTv*wSo*wuo +local real y=tav+tTv*wto*wuo +local real z=tnv+tTv*wTo +set tMv[VFx]=wQo +set tQv[VFx]=wso +call wPo(tRv[VFx],x,y,z) +endfunction function wUo takes nothing returns nothing local integer VFx call wMo() loop +set VFx=wpo() exitwhen(VFx==w) +call wqo(VFx) endloop endfunction function wwo takes integer Vxx returns nothing local integer wNo=f8x(SJv,Vxx,tiv,tav,tnv) local integer VFx=wLo() local real OMx=(GetRandomReal(((.0)*1.),((TH)*1.))) set tMv[VFx]=(GetRandomReal(((.0)*1.),((TH)*1.))) set tpv[VFx]=(Cos(((((OMx)*1.))*1.)))*tPv*tqv set tQv[VFx]=(GetRandomReal(((.0)*1.),((TH)*1.))) set tsv[VFx]=(Sin(((((OMx)*1.))*1.)))*tPv*tqv set tRv[VFx]=wNo +set tIv[VFx]=Vxx +call Ejx(wNo,tXv,VFx) call CMx(wNo,tEv) call mPx(Vxx,tXv,VFx) call TIx(Vxx,tAv) if wmo(VFx)then call Xax(txv,tqv,true,function wUo) endif call b0o(wNo,Vxx,true) call wqo(VFx) endfunction function wWo takes nothing returns boolean local integer Eix=(bv) local integer i=us local integer Vxx loop +exitwhen(i<0) set Vxx=Us[i] call wwo(Vxx) call Mho(Vxx,trv) set i=i-1 endloop return true endfunction function wyo takes nothing returns boolean local integer b3x=w8x() local integer Fvx=(ze[(b3x)]) local integer wJo if(Fvx==lxv)then +return true endif set wJo=wBo(b3x) +if(wJo==w)then return true endif call wGo(wJo) call wwo(Fvx) return true endfunction function wYo takes nothing returns nothing set txv=E5x() set tov=U8x(Mx) set trv=U8x(cx) set tiv=(Kt[(tov)]) set tav=(lt[(tov)]) set tnv=bex(tiv,tav)+tVv +set tEv=Nlx("Spirit_Init: set Spirit.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.MISC, function Spirit.Event_Destroy)",TC,iB,function wAo) set tAv=Nlx("Spirit_Init: set Spirit.LEAVE_EVENT = Event.Create(User.LEAVE_EVENT_TYPE, EventPriority.MISC, function Spirit.Event_Leave)",KRv,iB,function wbo) call Sao(SHv,Nlx("Spirit_Init: call Spirit.POSSESSION_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Spirit.Event_Possess))",kK,VB,function wko)) call jex(Nlx("Spirit_Init: call Event.Create(EventType.START, EventPriority.MISC, function Spirit.Event_Start).AddToStatics()",KR,iB,function wWo)) call TriggerRegisterEnterRegion(UB[((NSx(function wyo)))],gqv[(wno(tov))],Condition((null))) +endfunction function wzo takes nothing returns boolean set mvv=(Nix()) call jex(Nlx("HeroSelection_Init: call Event.Create(EventType.START, EventPriority.MISC, function HeroSelection.Event_Start).AddToStatics()",KR,iB,function U1o)) call TriggerRegisterEnterRegion(UB[((NSx(function wvo)))],gqv[(wno(U8x(Ix)))],Condition((null))) +call TriggerRegisterEnterRegion(UB[((NSx(function wVo)))],gqv[(wno(U8x(Ax)))],Condition((null))) +call wYo() return true endfunction function wZo takes nothing returns boolean call lex(function wzo,"HeroSelection_Init") return true endfunction function w_o takes nothing returns boolean set tuv=Idx(tUv) +return true endfunction function w0o takes integer VFx returns integer set tzv[VFx]=true set tZv[VFx]=false call V1x(tuv) return VFx endfunction function w1o takes nothing returns integer local integer VFx if(twv==8190)then call Vmx("Hint_Allocation_allocCustom","call DebugEx(Hint.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",tUv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(tWv[(w)]==w)then set tyv=tyv+1 set VFx=tyv else +set VFx=tWv[(w)] +set tWv[(w)]=tWv[tWv[(w)]] endif set tWv[VFx]=Z set tYv[VFx]=1 call w0o(VFx) return VFx endfunction function w2o takes integer VFx returns boolean set t0v=t0v+1 set t1v[t0v]=VFx +set t2v[VFx]=t0v+1 return(t0v==0) endfunction function w3o takes string Xox returns integer local integer VFx=w1o() set t_v[VFx]=Xox +call w2o(VFx) return VFx endfunction function w4o takes nothing returns nothing local integer VFx if G6 then set VFx=(t1v[(GetRandomInt(((0)),((t0v))))]) +call XDx(Ge,Xhx("Hint "+(I2S(((t2v[(VFx)]-1)+1-0)))+" of "+(I2S((t0v+1-0)))+": ","ffffcc00")+t_v[VFx],10.) endif endfunction function w5o takes nothing returns boolean local integer Eix=(bv) call Xax(E5x(),60.,true,function w4o) return true endfunction function w6o takes nothing returns boolean call w3o("You receive a notification message each time when there are creep camps in the next level. These creeps spawn outside of the castle and drop some unique effect besides gold/xp like permanent stats bonuses or temporary buffs.") +call w3o("Regard one of the modern travelling services that are next to the side entrances of the castle to spend a visit at the tavern.") call w3o("Explore the vast castle library that holds ancient wisdom of nature-bound magic.") +call w3o("Wintercastle lies in the crystal mountains, behind the shadowy forest that never met the light of spring.") call w3o("1-2 heroes should be enough to take care of normal creep camps. The taverns serve 'Tropical Rainbow' for free, but only one vial at a time. You may use it to fast return to the castle or to approach the other camp. It also boosts the attack speed so can be compoundable with finishing off the creeps.") +call jex(Nlx("Hint_Init: call Event.Create(AfterIntro.DUMMY_EVENT_TYPE, EventPriority.MISC, function Hint.Event_AfterIntro).AddToStatics()",Ltv,iB,function w5o)) return true endfunction function w7o takes nothing returns boolean call PTo(function w6o,"Hint_Init") return true endfunction function w8o takes nothing returns boolean set t3v=u9x(t4v+" (dummyBuff)") set sf[(t3v)]=(true) +return true endfunction function w9o takes nothing returns boolean call IGx(tE,(function w8o),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\HorseRide.page\\HorseRide.struct\\Target\\obj_dummyBuff_wc3buff.j")) +return true endfunction function Wvo takes nothing returns boolean set t5v=Idx(t4v) +return true endfunction function Weo takes nothing returns boolean set t6v=suo('IHoR') call sUo(((t6v)),gh,(xY)) set Pbv[(t6v)]=("ReplaceableTextures\\CommandButtons\\BTNRiderlessHorse.blp") return true endfunction function Wxo takes nothing returns boolean set t7v=LBo('uRiS') call Lco(((t7v)),CPv,(cjv)) set vm[(t7v)]=((1.3)*1.) +set div[(t7v)]=(('x')*1.) set dsv[(t7v)]=((60)*1.) +set c5v[(t7v)]=((0)*1.) set Crv[(t7v)]=(0) set djv[(t7v)]=((150000.)*1.) set dHv[(t7v)]=((150000.)*1.) set dGv[(t7v)]=((0)*1.) set dRv[(t7v)]=((500)*1.) set dXv[(t7v)]=((500)*1.) set Csv[(t7v)]=((0)*1.) set CSv[(t7v)]=((0)*1.) set CUv[(t7v)]=(0) set Cyv[(t7v)]=(0) call LFo((t7v),(j2v),1) return true endfunction function Woo takes nothing returns boolean call IGx(WE,(function Weo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\HorseRide.page\\HorseRide.struct\\obj_shopItem_wc3item.j")) call IGx(yE,(function Wxo),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\HorseRide.page\\HorseRide.struct\\obj_shop_wc3unit.j")) return true endfunction function Wro takes nothing returns boolean set t8v=Idx(t9v) +return true endfunction function Wio takes integer csx returns integer local integer VFx=csx return TEv[VFx] endfunction function Wao takes nothing returns nothing call GroupAddUnit(Tev,nm[Wio(Bwx())]) endfunction function Wno takes integer VFx returns real return(bex((GetUnitX(nm[(((VFx)))])),(GetUnitY(nm[(((VFx)))])))+(GetUnitFlyHeight(nm[((VFx))]))) +endfunction function WVo takes integer VFx,real XMx,real Xpx,real XPx,real Xqx returns nothing call sWx(VFx,(n2[(VFx)])+XMx,(V2[(VFx)])+Xpx,(E2[(VFx)])+XPx,(X2[(VFx)])+Xqx) endfunction function WEo takes integer VFx returns integer set Tbv[VFx]=true set TBv[VFx]=false call V1x(e1) +return VFx endfunction function WXo takes nothing returns integer local integer VFx if(TRv==8190)then call Vmx("FolderDummyUnit_FolderVertexColor_StructTimed_Allocation_allocCustom","call DebugEx(FolderDummyUnit_FolderVertexColor_StructTimed.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",o1+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(TIv[(w)]==w)then set TAv=TAv+1 set VFx=TAv else +set VFx=TIv[(w)] +set TIv[(w)]=TIv[TIv[(w)]] endif set TIv[VFx]=Z set TNv[VFx]=1 call WEo(VFx) return VFx endfunction function WOo takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(qu[(VFx)],(Qu[((VFx))]),Vgx,Vhx) endfunction function WRo takes integer VFx returns boolean set Thv=Thv+1 set THv[Thv]=VFx +set Tjv[VFx]=Thv+1 return(Thv==0) endfunction function WIo takes nothing returns nothing local integer VBx=Thv local integer VFx loop +set VFx=THv[VBx] +call WVo(TFv[VFx],Tcv[VFx],TCv[VFx],Tdv[VFx],TDv[VFx]) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function WAo takes integer VFx returns nothing set Tbv[VFx]=false call EEx(e1) +endfunction function WNo takes integer VFx returns nothing if(TNv[VFx]>0)then return endif if(TIv[VFx]!=Z)then call Vmx("FolderDummyUnit_FolderVertexColor_StructTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderDummyUnit_FolderVertexColor_StructTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",o1+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set TIv[VFx]=TIv[(w)] set TIv[(w)]=VFx +call WAo(VFx) endfunction function Wbo takes integer VFx returns nothing set TNv[VFx]=TNv[VFx]-1 call WNo(VFx) endfunction function WBo takes integer VFx returns boolean local integer VAx=(Tjv[(VFx)]) set Tjv[THv[Thv]]=VAx set THv[VAx-1]=THv[Thv] set Tjv[VFx]=0 set Thv=Thv-1 return(Thv==F) endfunction function Wco takes integer VFx,integer Xrx,integer ENx returns nothing call Wbo((VFx)) call Xbx(Xrx) call Mbx(ENx,TGv,VFx) if WBo(VFx)then call XNx(s1) +endif endfunction function WCo takes nothing returns nothing local integer Xrx=XXx() local integer VFx=(ge[(Xrx)]) call Wco(VFx,Xrx,TFv[VFx]) endfunction function Wdo takes integer VFx,real XMx,real Xpx,real XPx,real Xqx,real Xdx returns nothing local integer ENx=VFx local integer jux local integer Xrx if(Xdx==.0)then call WVo((VFx),XMx,Xpx,XPx,Xqx) return endif set jux=(R2I(((Xdx*1./ TOv)*1.))) set VFx=WXo() set Xrx=E5x() set Tcv[VFx]=XMx*1./ jux +set TCv[VFx]=Xpx*1./ jux +set Tdv[VFx]=XPx*1./ jux +set TDv[VFx]=Xqx*1./ jux +set Tfv[VFx]=Xrx +set TFv[VFx]=ENx +set ge[(Xrx)]=(VFx) call WOo(ENx,TGv,VFx) if WRo(VFx)then call Xax(s1,TOv,true,function WIo) endif call Xax(Xrx,Xdx,false,function WCo) +endfunction function WDo takes integer csx returns nothing local integer VFx=csx local integer Wfo=TEv[VFx] local real OMx=(GetUnitFacing(nm[((Wfo))])*sK) local real x=(GetUnitX(nm[((Wfo))])) +local real y=(GetUnitY(nm[((Wfo))])) +local real z=Wno(Wfo) local integer MCx=syx('qHoR',x+TXv*(Cos(((((OMx)*1.))*1.))),y+TXv*(Sin(((((OMx)*1.))*1.))),z,OMx) call IssuePointOrderById(nm[((MCx))],md[(tK)],((x)*1.),((y)*1.)) +call sWx(MCx,255.,255.,255.,191.) call Wdo((MCx),-((255.)*1.),-((255.)*1.),-((255.)*1.),-((191.)*1.),((TJv)*1.)) call JRo(MCx,TJv) endfunction function WFo takes nothing returns nothing call WDo(Bwx()) endfunction function Wgo takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call ForGroup(jd[(Tav[VFx])],(function WFo)) +endfunction function WGo takes integer VFx,real x,real y returns nothing +call jfx(VFx,x) call jFx(VFx,y) call sux(VFx,x,y,(hz[(VFx)])) endfunction function Who takes integer VFx,real x,real y returns boolean +return not((x<(Mt[(VFx)]))or(y<(pt[(VFx)]))or(x>(Lt[(VFx)]))or(y>(mt[(VFx)]))) endfunction function WHo takes integer csx returns nothing local integer VFx=csx local integer Wfo=TEv[VFx] local integer Wjo=Tnv[Tkv[VFx]] local real x=(GetUnitX(nm[((Wfo))])) +local real y=(GetUnitY(nm[((Wfo))])) +local real WJo call WGo(Bev[(csx)],((x)*1.),((y)*1.)) if Who(Wjo,x,y)then set WJo=(o2[(Wfo)])-3.141592654 call dpx(csx,t3v) call SetUnitPosition(C[((csx))],((x+TKv*(Cos(((((WJo)*1.))*1.))))*1.),((y+TKv*(Sin(((((WJo)*1.))*1.))))*1.)) +elseif((gFo(GetUnitCurrentOrder(nm[((Wfo))])))==w)then call IssuePointOrderById(nm[((Wfo))],md[(tK)],(((Kt[(Wjo)]))*1.),(((lt[(Wjo)]))*1.)) +endif endfunction function Wko takes nothing returns nothing call WHo(Bwx()) endfunction function WKo takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call ForGroup(jd[(Tav[VFx])],(function Wko)) +endfunction function Wlo takes nothing returns nothing local integer WLo=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(WLo)]) local integer Wmo=Tav[VFx] local integer Wjo=Tnv[VFx] call GroupClear(Tev) +call ForGroup(jd[(Wmo)],(function Wao)) call GroupPointOrderById(Tev,md[tK],(Kt[(Wjo)]),(lt[(Wjo)])) +call Xax(Tiv[VFx],.625,true,function Wgo) call Xax(WLo,1.,true,function WKo) endfunction function WMo takes integer VFx,integer cSx,integer EKx returns boolean call dpx(VFx,cSx) return(jGx((VFx),(cSx),(EKx),w)) +endfunction function Wpo takes integer VFx,integer csx returns nothing set Tlv=VFx call WMo(csx,t3v,1) endfunction function WPo takes nothing returns nothing call Wpo(Tlv,Bwx()) endfunction function Wqo takes integer Wmo,integer Wjo returns nothing local integer VFx=Wmo local integer WQo=E5x() local integer WLo=E5x() set Tiv[VFx]=WQo +set Tav[VFx]=Wmo +set Tnv[VFx]=Wjo +set TVv[VFx]=WLo +set ge[(WQo)]=(VFx) set ge[(WLo)]=(VFx) call Xax(WLo,2.,true,function Wlo) set Tlv=VFx call ForGroup(jd[(Wmo)],(function WPo)) endfunction function Wso takes nothing returns boolean local integer Eix=(bv) local integer Wfo=(Vv[(Eix)]) local integer csx=(aL[(Eix)]) local boolean P2o=(Wfo==(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((Trv)))))),((((Vx))))))) +local integer Wmo=Bkx() call GroupAddUnit(jd[(Wmo)],C[(csx)]) if P2o then call Wqo(Wmo,Tov) else +call Wqo(Wmo,Txv) endif return true endfunction function WSo takes integer VFx returns integer set Uu[VFx]=true +set Tpv[VFx]=false call V1x(eu) +return VFx endfunction function Wto takes nothing returns integer local integer VFx if(Tmv==8190)then call Vmx("DummyUnitEffect_Allocation_allocCustom","call DebugEx(DummyUnitEffect.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",xu+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(uu[(w)]==w)then set TMv=TMv+1 set VFx=TMv else +set VFx=uu[(w)] set uu[(w)]=uu[uu[(w)]] endif set uu[VFx]=Z set Tu[VFx]=1 call WSo(VFx) return VFx endfunction function WTo takes integer MCx,string Czx,string CZx,integer EKx returns integer +local integer VFx=Wto() set Su[VFx]=MCx set tu[VFx]=AddSpecialEffectTarget(XHx(FV>=EKx,Czx),nm[MCx],CZx) +if WOo(MCx,su,VFx)then call Slx(MCx,Mu) +call Slx(MCx,Wu) +endif return VFx endfunction function Wuo takes integer Vxx,integer b3x returns nothing if E6x(Vxx)then call SetCameraTargetController(nm[b3x],.0,.0,false) endif endfunction function WUo takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer GCo=(ze[(csx)]) local integer VFx=csx local integer Wfo=syx('qHoR',(GetUnitX(C[((csx))])),(GetUnitY(C[((csx))])),drx(csx),(GetRandomReal(((.0)*1.),((TH)*1.)))) set TEv[VFx]=Wfo +set TLv[VFx]=WTo(Wfo,TPv,Tqv,EV) +set Tkv[VFx]=Tlv +call Wuo(GCo,Wfo) call Mcx(WTo(Wfo,TQv,Tsv,EV)) call sTx(Wfo,GCo) call SetUnitMoveSpeed(nm[(Wfo)],((522.)*1.)) +call jGx((((csx))),(b8v),(1),w) return true endfunction function Wwo takes integer Vxx,real Xdx returns nothing if E6x(Vxx)then call ResetToGameCamera(Xdx) endif endfunction function WWo takes integer VFx returns nothing local integer WQo=Tiv[VFx] local integer Wmo=Tav[VFx] local integer WLo=TVv[VFx] call Xbx(WQo) call Bmx(Wmo) call Xbx(WLo) endfunction function Wyo takes integer VFx,integer csx returns nothing call GroupRemoveUnit(jd[(Tav[VFx])],C[(csx)]) if((OXx(FirstOfGroup(jd[((Tav[VFx]))])))==w)then +call WWo(VFx) endif endfunction function WYo takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer Wfo=TEv[VFx] local integer Wzo=TLv[VFx] call Oqx("A "+(GetUnitName(C[(csx)]))+";"+R2S(GetUnitState(C[csx],UNIT_STATE_LIFE))) +call Wwo(((ze[(csx)])),.0) call IssueImmediateOrderById(nm[((Wfo))],md[(TK)]) call Wdo((Wfo),-((.0)*1.),-((.0)*1.),-((.0)*1.),-((255.)*1.),((TSv)*1.)) +call Mcx(Wzo) call cdx((C1x((csx),(Ttv),(TTv),(EV)))) call JYx(((csx)),b8v) call Oqx("B "+(GetUnitName(C[(csx)]))+";"+R2S(GetUnitState(C[csx],UNIT_STATE_LIFE))) +call JRo(Wfo,TSv) call Wyo(Tkv[VFx],csx) return true endfunction function WZo takes nothing returns nothing call Ufx(t3v,Nlx("FolderHorseRide_StructTarget_Init: call FolderHorseRide_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderHorseRide_StructTarget.Event_BuffGain))",dg,VB,function WUo)) +call Ufx(t3v,Nlx("FolderHorseRide_StructTarget_Init: call FolderHorseRide_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderHorseRide_StructTarget.Event_BuffLose))",Hf,VB,function WYo)) +endfunction function W_o takes nothing returns boolean set Tvv=U8x(Rx) set Tev=CreateGroup() set Txv=U8x(no) set Tov=U8x(fo) call Tno(t6v,Nlx("HorseRide_Init: call HorseRide.SHOP_ITEM.Event.Add(Event.Create(UNIT.Items.Events.Sell.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function HorseRide.Event_Sell))",Gpv,rB,function Wso)) call WZo() return true endfunction function W0o takes nothing returns boolean call lex(function W_o,"HorseRide_Init") return true endfunction function W1o takes nothing returns boolean set Tuv=Idx(TUv) +return true endfunction function W2o takes nothing returns boolean set Twv=Idx(TWv) +return true endfunction function W3o takes integer Vxx returns integer local integer VFx=Vxx return TYv[VFx] endfunction function W4o takes integer VFx,integer tQx,integer tqx,string Vhx returns nothing call tSx(VFx,tQx,tqx) call tlx((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId(((UT[(VFx)]))))),((((N5+(tQx)*50+(tqx))))))),Vhx) +endfunction function W5o takes integer hEx,integer kxo,integer b3x returns nothing local integer W6o=(Ch[(hEx)]) local integer tQx=W3o((ze[(b3x)])) if(W6o>0)then call tTx(Tzv,tQx,TZv+kxo*2,(I2S((W6o)))) +endif call W4o(Tzv,tQx,TZv+kxo*2+1,(Pbv[((Oh[(hEx)]))])) endfunction function W7o takes nothing returns boolean local integer Eix=(bv) local integer hEx=(dh[(Eix)]) local integer b3x=(Vv[(Eix)]) call W5o(hEx,koo(b3x,hEx),b3x) return true endfunction function W8o takes integer VFx,integer N8x returns boolean return((LoadInteger(o[((D[((rh[VFx]))]))],((((Eh[((VFx))])))),(VGx((((HB[(N8x)]))),(((N8x)))))))!=0) +endfunction function W9o takes integer hEx,integer kxo,integer b3x returns nothing local integer tQx=W3o((ze[(b3x)])) call W4o(Tzv,tQx,TZv+kxo*2+1,null) call tTx(Tzv,tQx,TZv+kxo*2,null) +endfunction function yvo takes nothing returns boolean local integer Eix=(bv) local integer hEx=(dh[(Eix)]) if not W8o(hEx,Tyv)then return true endif call W9o(hEx,(GJv[(Eix)]),(Vv[(Eix)])) call DQx(hEx,Tyv) return true endfunction function yeo takes nothing returns boolean local integer Eix=(bv) local integer hZx=(xL[(Eix)]) local integer kbo=(GMv[(Eix)]) local integer hEx=(dh[(Eix)]) local integer kxo=(GJv[(Eix)]) local integer b3x=(Vv[(Eix)]) call W5o(hEx,kbo,b3x) if(hZx==w)then call W9o(hEx,kxo,b3x) else +call W5o(hZx,kxo,b3x) endif return true endfunction function yxo takes nothing returns boolean local integer Eix=(bv) local integer hEx=(dh[(Eix)]) call Dux(hEx,Tyv) call W5o(hEx,(GJv[(Eix)]),(Vv[(Eix)])) return true endfunction function yoo takes nothing returns string local integer yro=lzv local string Vtx="Chapter: " +if(yro==w)then return Vtx endif return Vtx+Xhx((Lnv[(yro)]),"ff00ff00") endfunction function yio takes nothing returns boolean local integer Eix=(bv) call tTx(Tzv,T2v,T3v,yoo()) return true endfunction function yao takes integer VFx,integer el returns boolean if t3x(VFx,el)then return false +endif call Sdx(X,el,k3+VFx,w) if((J3[((VFx))])==w)then +set J3[VFx]=el set K3[VFx]=el return true endif call Sdx(X,el,L3+VFx,(K3[(VFx)])) call Sdx(X,(K3[(VFx)]),k3+VFx,el) set K3[VFx]=el return false +endfunction function yno takes integer VFx,integer Vxx returns nothing local integer ENx=VFx set VFx=Vxx if yao(U4[VFx],ENx)then call ugx((ENx),Vxx) else +call Trx(ENx) endif endfunction function yVo takes nothing returns boolean local integer Eix=(bv) call yno((Tzv),((ax[(Eix)]))) return true endfunction function yEo takes integer Vxx returns nothing local integer yXo if((K3v[(Vxx)])!=KGv)then set yXo=(kv[(Vxx)]) if(yXo==w)then call tTx(Tzv,W3o(Vxx),1,"inactive") elseif Cmx(yXo,tf)then call tTx(Tzv,W3o(Vxx),1,"dead "+(I2S(((R2I((((((iJ[(Snv[(Vfx(yXo,SIv))])]))*1.))*1.))))))) else +call tTx(Tzv,W3o(Vxx),1,"active") endif endif endfunction function yOo takes nothing returns boolean local integer Eix=(bv) local integer Vxx=(ax[(Eix)]) local integer b3x=(Vv[(Eix)]) call CMx(b3x,T_v) call CMx(b3x,T0v) call CMx(b3x,T1v) call yEo(Vxx) return true endfunction function yRo takes integer VFx returns integer return PCo((VFx),Lpv) endfunction function yIo takes integer VFx,integer VAx returns integer return Pdo((VFx),Lpv,VAx) endfunction function yAo takes nothing returns string local integer yNo=qe +local string Vtx="Level: " local integer yro local integer VUx local integer VBx local integer Pgo local string ybo +local integer EBx local integer PWo local string Cnx +if(yNo==w)then return Vtx endif if(pTv[(yNo)])then return Vtx+(Ue[(yNo)]) endif set yro=lzv if(yro==w)then return Vtx endif set VUx=0 set VBx=q loop +exitwhen(VBx>(Pco(((yro)),l9v))) +if(VBx>q)then set Vtx=Vtx+" | " endif set Pgo=(Pxo(((yro)),l9v,(VBx))) +set ybo="" set EBx=q loop +exitwhen(EBx>yRo(Pgo)) set PWo=yIo(Pgo,EBx) +if(T5v[(Pwo(PWo))])then set Cnx="Boss" else +set Cnx=(I2S((VUx+1))) endif if(PWo==yNo)then +set Cnx=Xhx(Cnx,"ff00ff00") endif if(ybo=="")then set ybo=ybo+Cnx else +set ybo=ybo+" - "+Cnx endif set VUx=VUx+1 set EBx=EBx+1 endloop set Vtx=Vtx+ybo set VBx=VBx+1 endloop return Vtx endfunction function yBo takes nothing returns boolean local integer Eix=(bv) local integer PWo=(Qe[(Eix)]) local integer VBx local integer P5o local boolean array yco local integer EBx call tTx(Tzv,T4v,T3v,yAo()) set VBx=0 loop +if((T6v[(PWo)]-1)<=ptv)then set P5o=Pwo(PWo) +if(P5o==w)then return true endif set yco[0]=(T7v[(P5o)]) set yco[1]=(T8v[(P5o)]) set yco[2]=(T9v[(P5o)]) set yco[4]=(uvv[(P5o)]) set yco[5]=(uev[(P5o)]) set yco[6]=(uxv[(P5o)]) set yco[7]=(uov[(P5o)]) set yco[8]=(T5v[(P5o)]) if(T5v[(P5o)])then call W4o(Tzv,urv+VBx,T3v,"ReplaceableTextures\\CommandButtons\\BTNSelectHeroOff.blp") elseif((T5v[(P5o)])and(VBx==1))then call W4o(Tzv,urv+VBx,T3v,"ReplaceableTextures\\CommandButtons\\BTNSelectHeroOff.blp") else +call W4o(Tzv,urv+VBx,T3v,(uiv[(PWo)])) endif set EBx=0 loop +exitwhen(EBx>8) if yco[EBx]then call W4o(Tzv,urv+VBx,uav+EBx,"ReplaceableTextures\\WorldEditUI\\Editor-Ally-HighPriority.blp") else +call W4o(Tzv,urv+VBx,uav+EBx,"ReplaceableTextures\\WorldEditUI\\Editor-Ally-NoPriority.blp") +endif if(EBx==2)then set EBx=EBx+2 else +set EBx=EBx+1 endif endloop endif set VBx=VBx+1 set PWo=(ue[(PWo)]) exitwhen(VBx>1) endloop return true endfunction function yCo takes integer VFx returns integer set uOv[VFx]=true set uRv[VFx]=false call V1x(T4) +return VFx endfunction function ydo takes nothing returns integer local integer VFx if(unv==8190)then call Vmx("Multiboard_Allocation_allocCustom","call DebugEx(Multiboard.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",u4+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(uVv[(w)]==w)then set uEv=uEv+1 set VFx=uEv else +set VFx=uVv[(w)] +set uVv[(w)]=uVv[uVv[(w)]] endif set uVv[VFx]=Z set uXv[VFx]=1 call yCo(VFx) return VFx endfunction function yDo takes integer VFx returns integer set ucv[VFx]=true set uCv[VFx]=false call V1x(H4) +return VFx endfunction function yfo takes nothing returns integer local integer VFx if(uAv==8190)then call Vmx("MultiboardItem_Allocation_allocCustom","call DebugEx(MultiboardItem.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",j4+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(uNv[(w)]==w)then set ubv=ubv+1 set VFx=ubv else +set VFx=uNv[(w)] +set uNv[(w)]=uNv[uNv[(w)]] endif set uNv[VFx]=Z set uBv[VFx]=1 call yDo(VFx) return VFx endfunction function yFo takes integer ygo,integer tQx,integer tqx returns integer local integer VFx=yfo() set udv[VFx]=tqx +set uDv[VFx]=tQx +set R5[VFx]=MultiboardGetItem(UT[ygo],tQx,tqx) call SaveInteger(o[((V[(E[(((X)))])]))],(((GetHandleId((R5[VFx]))))),((((uFv)))),((((VFx))))) return VFx endfunction function yGo takes integer VFx,integer tQx,integer tqx,multiboard Vdx returns nothing local integer yho=yFo(VFx,tQx,tqx) call SaveInteger(o[((V[(E[(((X)))])]))],(((GetHandleId((Vdx))))),((((N5+tQx*50+tqx)))),((((yho))))) endfunction function yHo takes nothing returns boolean local integer VFx=uIv local multiboard Vdx=UT[VFx] +local integer tqx=0 local integer tQx loop +set tQx=0 loop +call yGo(VFx,tQx,tqx,Vdx) set tQx=tQx+1 exitwhen(tQx==32) endloop set tqx=tqx+1 exitwhen(tqx==50) endloop set Vdx=null +return true endfunction function yjo takes nothing returns integer local integer VFx=ydo() set E5[VFx]=-1 set X5[VFx]=-1 set UT[VFx]=CreateMultiboard() set uIv=VFx call Odx(function yHo) return VFx endfunction function yJo takes integer VFx returns integer local integer VUx=(X5[(VFx)])+1 call tsx(VFx,VUx) return VUx endfunction function yko takes integer VFx,string Xox returns nothing set t5[VFx]=Xox call Trx(VFx) endfunction function yKo takes nothing returns string local real ylo=(jk[(eHv)])*100.*1./(Jk[(eHv)]) local string Vtx="Meteorite is at: " +if(ylo<.25)then set Vtx=Vtx+"ffff0000" endif return(Vtx+(I2S(((R2I(((ylo)*1.))))))+"%") endfunction function yLo takes integer VFx returns integer local integer VUx=(E5[(VFx)])+1 call tMx(VFx,VUx) return VUx endfunction function ymo takes integer VFx,integer tQx,integer yMo,integer ypo,real Vhx returns nothing if(yMo>ypo)then call ymo(VFx,tQx,ypo,yMo,Vhx) else +loop +exitwhen(yMo>ypo) call uEx((VFx),tQx,yMo,Vhx) set yMo=yMo+1 endloop endif endfunction function yPo takes integer Vxx,integer tQx returns nothing local integer VFx=Vxx set TYv[VFx]=tQx +endfunction function yqo takes nothing returns boolean local integer Eix=(bv) local integer yQo local integer VBx local integer tdx local integer yso local integer ySo local integer EBx local string yto +set Tyv=Nlx("Infoboard_Event_Start: set Infoboard.CHARGES_CHANGE_EVENT = Event.Create(ITEM.ChargesAmount.DUMMY_EVENT_TYPE, EventPriority.MISC, function Infoboard.Event_ChargesChange)",Dh,iB,function W7o) set T_v=Nlx("Infoboard_Event_Start: set Infoboard.DROP_EVENT = Event.Create(UNIT.Items.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.MISC, function Infoboard.Event_Drop)",Gkv,iB,function yvo) set T0v=Nlx("Infoboard_Event_Start: set Infoboard.MOVE_EVENT = Event.Create(UNIT.Items.Events.MoveInInventory.DUMMY_EVENT_TYPE, EventPriority.MISC, function Infoboard.Event_Move)",Glv,iB,function yeo) +set T1v=Nlx("Infoboard_Event_Start: set Infoboard.PICK_UP_EVENT = Event.Create(UNIT.Items.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.MISC, function Infoboard.Event_PickUp)",GGv,iB,function yxo) call jex(Nlx("Infoboard_Event_Start: call Event.Create(Act.START_EVENT_TYPE, EventPriority.MISC, function Infoboard.Event_ActStart).AddToStatics()",l_v,iB,function yio)) call jex(Nlx("Infoboard_Event_Start: call Event.Create(AfterIntro.FOR_PLAYER_EVENT_TYPE, EventPriority.MISC, function Infoboard.Event_AfterIntro).AddToStatics()",lLv,iB,function yVo)) call jex(Nlx("Infoboard_Event_Start: call Event.Create(HeroSelection.DUMMY_EVENT_TYPE, EventPriority.MISC, function Infoboard.Event_HeroPick).AddToStatics()",mvv,iB,function yOo)) call jex(Nlx("Infoboard_Event_Start: call Event.Create(Level.START_EVENT_TYPE, EventPriority.MISC2, function Infoboard.Event_LevelStart).AddToStatics()",We,aB,function yBo)) set Tzv=yjo() set yQo=(yJo(Tzv)) if(eHv!=w)then call yko((Tzv),(yKo())) endif set T3v=yLo(Tzv) +set uav=yLo(Tzv) +set TZv=yLo(Tzv) +call tTx(Tzv,yQo,T3v,Xhx("Players","ffffcc00")) call uEx(Tzv,yQo,T3v,.06) call tTx(Tzv,yQo,uav,Xhx("Status","ffffcc00")) call uEx(Tzv,yQo,uav,.04) call tTx(Tzv,yQo,TZv,Xhx("Items in Inventory","ffffcc00")) call uEx(Tzv,yQo,TZv,.1) +set yQo=(yJo(Tzv)) call tTx(Tzv,yQo,T3v,"=================================================") call uEx(Tzv,yQo,T3v,.2) +call ymo(Tzv,yQo,T3v+1,(E5[(Tzv)]),.0) set yQo=(yJo(Tzv)) set VBx=0 loop +exitwhen(VBx>K0v) set tdx=K1v[VBx] +set yso=(K3v[(tdx)]) +if(yso!=KGv)then +set ySo=(kv[(tdx)]) set yQo=(yJo(Tzv)) call uEx(Tzv,yQo,T3v,.06) call uEx(Tzv,yQo,uav,.04) set EBx=6-1 loop +call uEx(Tzv,yQo,TZv+EBx*2,.007) +call uEx(Tzv,yQo,TZv+EBx*2+1,.012) set EBx=EBx-1 exitwhen(EBx<0) endloop call yPo(tdx,yQo) call yEo(tdx) if(yso==Kpv)then +set yto=(kC[(tdx)]) else +set yto="ff7F7F7F" endif call tTx(Tzv,yQo,T3v,Xhx((KC[(tdx)]),yto)) else +call yPo(tdx,-1) +endif set VBx=VBx+1 endloop set yQo=(yJo(Tzv)) call uEx(Tzv,yQo,T3v,.2) +call ymo(Tzv,yQo,T3v+1,(E5[(Tzv)]),.0) set yQo=(yJo(Tzv)) call uEx(Tzv,yQo,T3v,.1) +call W4o(Tzv,yQo,T3v+1,"ReplaceableTextures\\CommandButtons\\BTNOrcMeleeUpOne.blp") call W4o(Tzv,yQo,T3v+2,"ReplaceableTextures\\CommandButtons\\BTNImprovedBows.blp") call W4o(Tzv,yQo,T3v+3,"ReplaceableTextures\\CommandButtons\\BTNStaffOfNegation.blp") call W4o(Tzv,yQo,T3v+5,"ReplaceableTextures\\CommandButtons\\BTNInvisibility.blp") call W4o(Tzv,yQo,T3v+6,"ReplaceableTextures\\CommandButtons\\BTNBootsOfSpeed.blp") call W4o(Tzv,yQo,T3v+7,"ReplaceableTextures\\CommandButtons\\BTNGenericSpellImmunity.blp") call W4o(Tzv,yQo,T3v+8,"ReplaceableTextures\\CommandButtons\\BTNSelfDestruct.blp") call W4o(Tzv,yQo,T3v+9,"ReplaceableTextures\\CommandButtons\\BTNReincarnation.blp") call ymo(Tzv,yQo,T3v+1,T3v+9,.01) call ymo(Tzv,yQo,T3v+9+1,(E5[(Tzv)]),.0) +set urv=(yJo(Tzv)) call tTx(Tzv,urv,T3v,"This round") call uEx(Tzv,urv,T3v,.1) +call ymo(Tzv,urv,T3v+1,T3v+1+8,.01) call ymo(Tzv,urv,T3v+1+8+1,(E5[(Tzv)]),.0) set yQo=(yJo(Tzv)) call tTx(Tzv,yQo,T3v,"Next round") call uEx(Tzv,yQo,T3v,.1) +call ymo(Tzv,yQo,T3v+1,T3v+1+8,.01) call ymo(Tzv,yQo,T3v+1+8+1,(E5[(Tzv)]),.0) set yQo=(yJo(Tzv)) set T2v=(yJo(Tzv)) call tTx(Tzv,T2v,T3v,yoo()) call uEx(Tzv,T2v,T3v,.2) +set T4v=(yJo(Tzv)) call tTx(Tzv,T4v,T3v,yAo()) call uEx(Tzv,T4v,T3v,.2) +return true endfunction function yTo takes nothing returns boolean call jex(Nlx("Infoboard_Init: call Event.Create(EventType.START, EventPriority.MISC, function Infoboard.Event_Start).AddToStatics()",KR,iB,function yqo)) return true endfunction function yuo takes nothing returns boolean call lex(function yTo,"Infoboard_Init") return true endfunction function yUo takes nothing returns boolean set ugv=Idx(uGv) +return true endfunction function ywo takes integer VFx returns integer set ukv[VFx]=true set uKv[VFx]=false call V1x(ugv) return VFx endfunction function yWo takes nothing returns integer local integer VFx if(uhv==8190)then call Vmx("Infocard_Allocation_allocCustom","call DebugEx(Infocard.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",uGv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(uHv[(w)]==w)then set ujv=ujv+1 set VFx=ujv else +set VFx=uHv[(w)] +set uHv[(w)]=uHv[uHv[(w)]] endif set uHv[VFx]=Z set uJv[VFx]=1 call ywo(VFx) return VFx endfunction function yyo takes boolean yYo,string yzo,string UZo,string yZo returns integer local integer VFx=yWo() local quest Vdx=CreateQuest() set ulv[VFx]=Vdx +call QuestSetDescription(Vdx,UZo) call QuestSetIconPath(Vdx,yZo) call QuestSetRequired(Vdx,yYo) call QuestSetTitle(Vdx,yzo) return VFx endfunction function y_o takes nothing returns string set uLv="" set uLv=uLv+(Xhx("Development:","ffffcc00"))+" +" +set uLv=uLv+((XQx(("WaterKnight"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("")+" +" +set uLv=uLv+(Xhx("Imports:","ffffcc00"))+" +" +set uLv=uLv+("Balduir: "+(XQx(("supertoinkz"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("Bgm main: "+(XQx(("Aaron Krogh"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("Bleeding: "+(XQx(("cotd333"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("Console: "+(XQx(("Kwaliti"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("Cityscape Set: "+(XQx(("xXm0RpH3usXx"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("EnchantedArrowBlueEffect: "+(XQx(("nGy"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("EnchantedArrowFlash: "+(XQx(("epsilon"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("EnchantedArrowSkeleton: "+(XQx(("Wrathion"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("GhostSword: "+(XQx(("jatter2"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("Immortality: "+(XQx(("Daelin"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("KhakiRecoveryVortex: "+(XQx(("Power"),"ff00bfff","ffffffff")))+" +" +set uLv=uLv+("Loadscreen Background: "+(XQx(("www.dreamscene.org"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("OrcAssassin: "+(XQx(("Linaze"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("")+" +" +set uLv=uLv+("Everything may be modified in order to fit the map. Rather than exporting stuff you are interested in, refer to the credits.txt enclosed in the map archive.")+" +" +return uLv endfunction function y0o takes nothing returns string set uLv="" set uLv=uLv+(Xhx("Imports:","ffffcc00"))+" +" +set uLv=uLv+("Preview: "+(XQx(("www.albabackgrounds.com"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("SakeBombBarrel: "+(XQx(("Dojo"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("SakeBombMissile: "+(XQx(("RetroSexual"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("SnowPine: "+(XQx(("Gottfrei"),"ff00bfff","ffffffff")))+" +" +set uLv=uLv+("SpearScout: "+(XQx(("Dojo"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("TaintedLeafHeal: "+(XQx(("WILL_THE_ALMIGHTY"),"ff00bfff","ffffffff")))+" +" +set uLv=uLv+("Tarog: "+(XQx(("Dojo"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("ThunderstrikeBolt: "+(XQx(("Tranquil"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("ThunderstrikeCharge: "+(XQx(("marcus158"),"ff00bfff","ffffffff")))+" +" +set uLv=uLv+("ThunderstrikeNova: "+(XQx(("dhguardianes"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("Tower: "+(XQx(("unknownczar"),"ff00bfff","ffffffff")))+" +" +set uLv=uLv+("VictorHammer: "+(XQx(("Thrikodius"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("VioletEarringMissile: "+(XQx(("EdwardSwolenToe"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("VioletEarringWeaponAttach: "+(XQx(("marcus158"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("Wall: "+(XQx(("Rondo"),"ff00bfff","ffffffff")))+" +" set uLv=uLv+("WallEnd: "+(XQx(("Rondo"),"ff00bfff","ffffffff")))+" +" +set uLv=uLv+("")+" +" +set uLv=uLv+("Everything may be modified in order to fit the map. Rather than exporting stuff you are interested in, refer to the credits.txt enclosed in the map archive.")+" +" +return uLv endfunction function y1o takes nothing returns boolean call yyo(false,"Commands","!"+" + any string: character speech"+" +","ReplaceableTextures\\CommandButtons\\BTNCommand.blp") call yyo(false,"Credits Part 1",y_o(),"ReplaceableTextures\\CommandButtons\\BTNStormEarth&Fire.blp") +call yyo(false,"Credits Part 2",y0o(),"ReplaceableTextures\\CommandButtons\\BTNStormEarth&Fire.blp") +call yyo(true,"Introduction",umv+" +"+uMv+" +"+upv,"ReplaceableTextures\\CommandButtons\\BTNPenguin.blp") call yyo(true,"Objective","Defend the meteorite at all costs!","ReplaceableTextures\\CommandButtons\\BTNArcaneObservatory.blp") call yyo(false,"Mechanics: Dying","When you die, your hero is transformed into a ghost and teleported to the graveyard. There, you will regenerate mana to a maximum of 100 that you can then use to execute your ascension. You can freely move your spirit around but mana is only refreshed while staying at the graveyard. However, it might be useful to leave the area after being filled up to gain a better spot for reviving. The meteorite also has a spell to replenish mana that even works on ghosts.","ReplaceableTextures\\CommandButtons\\BTNSacrifice.blp") +call yyo(false,"Mechanics: Meteorite","Failing at protecting the meteorite above the center of the castle will result in your team's defeat."+" +"+"The highest player spot does have control of the meteorite and can thereby make use of it to cast some valuable spells.","ReplaceableTextures\\CommandButtons\\BTNUndeadShrine.blp") call yyo(false,"Mechanics: Flowers of Hope","There is one sleeping seed in front of each of the castle's entries. A gentle touch wakes them up, granting you their sight, which detects even invisible entities and increases the loot you gain from killing foes. The flower will revert to its dormant mode after "+(I2S(((R2I(((((30.)*1.))*1.))))))+" seconds.","ReplaceableTextures\\CommandButtons\\BTNNatureTouchGrow.blp") call yyo(false,"Mechanics: Special spawns' attributes","The infoboard in the upper right corner of your screen shows, among other things, whether the current or next round's attacker spawns are of special behavior/have special abilities. These are, from left to right:"+" +"+"Melee: wave contains melee attackers"+" +"+"Ranged: wave contains ranged attackers"+" +"+"Magician: wave contains casters with magical abilities (this does not include physical abilities)"+" +"+" +"+"Runner: wave contains spawns that avoid aggressions and instead of this directly storm to the meteorite, they get easily dazed when being attacked from behind"+" +"+"Invis: wave contains invisible units"+" +"+"Magic immune: wave contains enemies that are immune to magical abilities"+" +"+"Kamikaze: wave contains suicidal spawns that detonate themselves to get rid of you!"+" +"+"Boss: boss wave, every sixth (last) wave of an chapter","ReplaceableTextures\\CommandButtons\\BTNDarkSummoning.blp") +call yyo(false,"Mechanics: Spell purchase","Your hero can only learn four characteristic spells plus the innate ability but further magical item scrolls can be purchased from the "+(GetObjectName(cmv[(uPv)]))+". In contrast to other charged items, one scroll's ability is displayed in the unit's command card (can be switched by pressing the item buttons) and these skills can be leveled up like other hero abilities.","ReplaceableTextures\\CommandButtons\\BTNBansheeAdept.blp") call FlashQuestDialogButton() return true endfunction function y2o takes nothing returns boolean call lex(function y1o,"Infocard_Init") return true endfunction function y3o takes nothing returns boolean set uqv=Idx(uQv) +return true endfunction function y4o takes nothing returns nothing set zH=VCx(GetEnumPlayer()) endfunction function y5o takes integer VFx returns integer set zH=w +call ForForce(nH[VFx],function y4o) return zH endfunction function y6o takes integer Vxx returns nothing local integer Eix=V4x(0) +local integer VBx local integer V8x local integer EBx set ax[(Eix)]=(Vxx) call ForceRemovePlayer(nH[(LTv)],vx[(Vxx)]) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((Se))),((((1+8192*((((lLv))-1)*Iv+(((V8x))-1))))))))) +loop +exitwhen(EBx0)then return endif if(uwv[VFx]!=Z)then call Vmx("Dialog_Allocation_deallocCustom_confirm","call DebugEx(Dialog.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",LT+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set uwv[VFx]=uwv[(w)] set uwv[(w)]=VFx +call Yyo(VFx) endfunction function Yzo takes integer VFx returns nothing set uyv[VFx]=uyv[VFx]-1 call YYo(VFx) endfunction function YZo takes integer VFx returns nothing local dialog Vdx=TT[VFx] +call Yzo((VFx)) call DialogDestroy(Vdx) set Vdx=null +endfunction function Y_o takes integer VFx returns nothing if(iw==VFx)then return endif set iw=VFx call hOx(Ge,PLAYER_STATE_RESOURCE_FOOD_USED,UGv[VFx]+1) endfunction function Y0o takes nothing returns boolean call Y_o(Ucv[pe]) return true endfunction function Y1o takes nothing returns nothing call Xbx((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re))))))) call Y0o() endfunction function Y2o takes nothing returns nothing if(lzv!=w)then call Pio(lzv) endif set Cvv[(eHv)]=((.0)*1.) +call Y_o(Yko(1)) +call Xax(E5x(),5.,false,function Y1o) call PEo(Lev) endfunction function Y3o takes nothing returns boolean local integer Eix=(bv) local integer Y4o=(wT[(Eix)]) local integer Y5o=(WT[(Eix)]) local integer VFx=YUo(Y5o,UIv) local integer VAx local integer VBx local string Y6o +call YZo(Y4o) call t_x(utv,uSv) set pe=VFx call XDx(Ge,u5v[VFx],30.) call hOx(Ge,PLAYER_STATE_RESOURCE_GOLD,(UHv[(VFx)])) +set VAx=(Ubv[(VFx)]-1) set VBx=0 loop +exitwhen(VBx>=VAx) if(u7v[UNv[VBx]]!=w)then +call Eox(u7v[UNv[VBx]]) endif set VBx=VBx+1 endloop set Y6o="Enemies have "+Xhx((I2S(((R2I((((Uhv[(VFx)])*'d')*1.)))))),"ffffcc00")+"% damage and "+Xhx((I2S(((R2I((((Me[(VFx)])*'d')*1.)))))),"ffffcc00")+"% hitpoints." call XDx(Ge,Y6o,30.) +if(u6v[VFx]!=w)then call Eox(u6v[VFx]) endif if(u7v[VFx]!=w)then call Eox(u7v[VFx]) endif if not Ulv then call XDx(Ge,Xhx("Artifacts are disabled.","ffff0000"),30.) endif call Y2o() return true endfunction function Y7o takes nothing returns nothing local integer VFx local integer VBx call Xbx((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re))))))) set usv=Bkx() set uSv=Nlx("Difficulty_Start: set Difficulty.LEAVE_EVENT = Event.Create(User.LEAVE_EVENT_TYPE, EventPriority.MISC, function Difficulty.Event_Leave)",KRv,iB,function Yeo) set uuv=Nyx(function Yxo) set uTv=YVo() set VFx=YFo("Castle visitor (easy)",function YHo,null) set UBv=VFx set Ucv[VFx]=Yko(2) set Uhv[(VFx)]=((1.)*1.) +set UHv[(VFx)]=(500) +set Me[(VFx)]=((1.)*1.) set VFx=YFo("Vassal (medium)",function YKo,function Yso) +set U3v=VFx set Ucv[VFx]=Yko(3) set Uhv[(VFx)]=((1.25)*1.) set UHv[(VFx)]=(400) +set Me[(VFx)]=((1.25)*1.) set VFx=YFo("Knight (hard)",function YSo,function YTo) set wvv=VFx set Ucv[VFx]=Yko(4) set Uhv[(VFx)]=((1.5)*1.) set UHv[(VFx)]=(300) +set Me[(VFx)]=((1.5)*1.) +set VFx=YFo("Penguin (Test mode)",null,null) +set S0v=VFx set Ucv[VFx]=Yko(5) set Uhv[(VFx)]=((.75)*1.) set UHv[(VFx)]=($5DC) set Me[(VFx)]=((.75)*1.) +set VBx=0 loop +set utv=zK[VBx] exitwhen((K3v[(utv)])==Kpv) set VBx=VBx+1 endloop call DialogSetMessage(TT[(uTv)],("Declare yourself!")) call TIx(utv,uSv) call Yuo(uTv,Nlx("Difficulty_Start: call Difficulty.THIS_DIALOG.Event.Add(Event.Create(Dialog.CLICK_EVENT_TYPE, EventPriority.MISC, function Difficulty.Event_DialogClick))",mT,iB,function Y3o)) call Yvo(uTv,utv,true) endfunction function Y8o takes integer VFx returns integer set wnv[VFx]=true set wVv[VFx]=false call V1x(ps) +return VFx endfunction function Y9o takes nothing returns integer local integer VFx if(wov==8190)then call Vmx("Camera_Allocation_allocCustom","call DebugEx(Camera.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Ps+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(wrv[(w)]==w)then set wiv=wiv+1 set VFx=wiv else +set VFx=wrv[(w)] +set wrv[(w)]=wrv[wrv[(w)]] endif set wrv[VFx]=Z set wav[VFx]=1 call Y8o(VFx) return VFx endfunction function zvo takes camerasetup Vdx returns integer local integer VFx=Y9o() set wEv[VFx]=Vdx +return VFx endfunction function zeo takes integer Vxx,boolean Xjx,real Xdx returns nothing if E6x(Vxx)then call ShowInterface(Xjx,Xdx) endif endfunction function zxo takes integer Vxx,boolean Xjx returns nothing if E6x(Vxx)then call EnableUserControl(Xjx) endif endfunction function zoo takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((tB[VFx]))])])],((((yB[((VFx))]))))) endfunction function zro takes integer VFx returns nothing set sB[VFx]=false call zoo((VFx)) call EEx(TB) +endfunction function zio takes integer VFx returns nothing if(QB[VFx]>0)then return endif if(PB[VFx]!=Z)then call Vmx("Trigger_Allocation_deallocCustom_confirm","call DebugEx(Trigger.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Dv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set PB[VFx]=PB[(w)] set PB[(w)]=VFx call zro(VFx) endfunction function zao takes integer VFx returns nothing set QB[VFx]=QB[VFx]-1 call zio(VFx) endfunction function zno takes integer VFx returns nothing local trigger Vdx=UB[VFx] call zao((VFx)) call DisableTrigger(Vdx) +set Vdx=null +endfunction function zVo takes nothing returns nothing call EndCinematicScene() +call zeo(Ge,true,1.) +call zxo(Ge,true) call zno(wdv) call cJx(wDv,false) call cJx(wfv,false) call SWx(wFv) call SWx(wgv) call SWx(wGv) call SWx(whv) call SWx(wHv) if(wjv!=w)then call SWx(wjv) endif if(wJv!=w)then call SWx(wJv) endif call Wwo(Ge,.0) call y7o() call Xax(wkv,1.,false,function Y7o) endfunction function zEo takes nothing returns boolean local integer VBx=0 local integer Vxx=(VCx(GetTriggerPlayer())) local integer zXo=(KZv[(Vxx)]-1) +call y6o((Vxx)) loop +exitwhen((K3v[(zK[VBx])])==Kpv) set VBx=VBx+1 endloop if(zXo==VBx)then +call zVo() endif return true endfunction function zOo takes integer sYx,integer HKo,real zRo returns integer local real zIo=(Kt[(HKo)]) local real zAo=(lt[(HKo)]) local integer Qwo=syx(sYx,zIo,zAo,.0,zRo) call SetUnitColor(nm[((Qwo))],(PLAYER_COLOR_BROWN)) return Qwo endfunction function zNo takes integer sYx,integer HKo,integer b3x returns integer local real zIo=(Kt[(HKo)]) local real zAo=(lt[(HKo)]) local real zRo=(Atan2((((bm[(b3x)])-zAo)*1.),(((Rm[(b3x)])-zIo)*1.))) local integer Qwo=syx(sYx,zIo,zAo,.0,zRo) call SetUnitColor(nm[((Qwo))],(PLAYER_COLOR_BROWN)) return Qwo endfunction function zbo takes integer b3x,string Xox,real Xdx,code zBo returns nothing call AddIndicator(nm[(b3x)],($7F),($7F),($7F),(63)) call SetCinematicScene(((Y1[(b3x)])),(PLAYER_COLOR_BROWN),((GetHeroProperName(nm[(b3x)]))),(Xox),((Xdx)*1.),((Xdx*.8)*1.)) call Xax(wkv,Xdx,false,zBo) endfunction function zco takes integer zCo,real Xdx,code zBo returns nothing +call CameraSetupApplyForceDuration(wEv[(zCo)],(true),((Xdx)*1.)) +call Xax(wkv,Xdx,false,zBo) endfunction function zdo takes integer VFx,integer zDo returns nothing call stx(VFx,(Atan2((((bm[(zDo)])-(bm[((VFx))]))*1.),(((Rm[(zDo)])-(Rm[((VFx))]))*1.)))) +endfunction function zfo takes integer b3x,integer HKo returns nothing call jfx(b3x,(Kt[(HKo)])) call jFx(b3x,(lt[(HKo)])) endfunction function zFo takes integer VFx,integer csx returns nothing call stx(VFx,(Atan2((((lG[(csx)])-(bm[((VFx))]))*1.),(((KG[(csx)])-(Rm[((VFx))]))*1.)))) +endfunction function zgo takes integer b3x,integer HKo returns nothing call IssuePointOrderById(nm[((b3x))],md[(tK)],(((Kt[(HKo)]))*1.),(((lt[(HKo)]))*1.)) +endfunction function zGo takes integer XMx,integer Xpx,integer XPx,integer Xqx,real Xdx,code zBo returns nothing +local integer zho=Ubo() call UVo(zho,XMx,Xpx,XPx,$FF) call UEo(zho,$FF,$FF,$FF,0) set sZv[(zho)]=("ReplaceableTextures\\CameraMasks\\White_mask.blp") call UDo(zho,Xdx,Ge) +call Xax(wkv,Xdx,false,zBo) endfunction function zHo takes nothing returns nothing call Xax(wkv,((3.)*1.),false,(function zVo)) +endfunction function zjo takes nothing returns nothing call CameraSetupApplyForceDuration(wEv[((wCv))],(true),((((5.)*1.))*1.)) +call zGo(0,0,0,0,4.,function zHo) endfunction function zJo takes nothing returns nothing call zbo(wFv,"Wintercastle should be a place for all that are in need of help. In these difficult times, we have to stick together, and as I am looking here, there seem to be already all kind of peoples. So break up your disputes and let's take it on at last...",12.,function zjo) +endfunction function zko takes nothing returns nothing call zbo(wgv,"I have to agree with lady Aruruw in this matter.",3.,function zJo) +endfunction function zKo takes nothing returns nothing call zbo(whv,"We shouldn't trust him, Milord. He could be a spy just as well. And even if he speaks the truth, he will still just cause trouble for us with his presence. I am aware of the Orcs' nature and their determination to wipe out every traitor.",10.,function zko) endfunction function zlo takes nothing returns nothing call zbo(wJv,"Furthermore, my clan yearns to kill me. Hence, I would like to ask for refuge. As a reward, I promise you to help in every matter, until my legs won't carry me any longer.",9.,function zKo) endfunction function zLo takes nothing returns nothing call zdo((wJv),(wFv)) call zbo(wJv,"Yes, I belong to the Orcish race, but was I expelled of my own tribe, when I hesistated to executed one of our enemies and escaped. You see, I was one of their shamans, not a fighter and never approved the violent methods of my fellows. Alone, I won't be able to last for long in this world of ice out there.",13.5,function zlo) endfunction function zmo takes nothing returns nothing call zdo((wJv),(wGv)) call zbo(wJv,"Listen to my words, please!",3.,function zLo) endfunction function zMo takes nothing returns nothing call zbo(wgv,"We should really start deploying some guard posts.",4.,function zmo) endfunction function zpo takes nothing returns nothing call zdo((wGv),(wJv)) call zbo(wGv,"Hey, you are one of these vandals!",3.,function zMo) endfunction function zPo takes nothing returns nothing call zbo(wJv,"Excuse me for my rude intrusion...",3.5,function zpo) endfunction function zqo takes nothing returns nothing set wJv=zOo('O000',wsv,.0) call zgo(wJv,wSv) call Xax(wkv,((2.)*1.),false,(function zPo)) +endfunction function zQo takes nothing returns nothing call zbo(wFv,"With that said, we are complete. I myself will participate as well. The caravans, which will traverse the forest under the protection of our efforts, are already standing by.",8.,function zqo) endfunction function zso takes nothing returns nothing call zfo(wHv,wMv) call zfo(wjv,wQv) call zdo((wGv),(wFv)) call zdo((wgv),(wFv)) call zdo((whv),(wFv)) call zdo((wHv),(wFv)) call stx(wFv,3.141592654) call CameraSetupApplyForceDuration(wEv[((wcv))],(true),((((.0)*1.))*1.)) +call Xax(wkv,((1.)*1.),false,(function zQo)) +endfunction function zSo takes nothing returns nothing call zbo(wGv,"Another gal. The group is already to my liking.",3.,function zso) endfunction function zto takes nothing returns nothing call zbo(wgv,"This is LIZZY, a fairy from the Mid East. She was the sole survivor, I rescued, when her homeland was destroyed by the elves. Back then, she decided to accompany me. I am confident she will complement us well with her magical abilities.",13.,function zSo) endfunction function zTo takes nothing returns nothing call zdo((wHv),(wjv)) call zbo(wHv,"And you are? *hic*",2.5,function zto) endfunction function zuo takes nothing returns nothing call zbo(wjv,"*hihi* What a primitive blubberbutt!",3.,function zTo) +endfunction function zUo takes nothing returns nothing call Szx(wjv) set wjv=zOo('H007',wPv,xj) call zgo(wjv,wqv) call zco(wBv,2.,function zuo) endfunction function zwo takes nothing returns nothing call SetUnitAnimationByIndex(nm[((wHv))],(6)) call QueueUnitAnimation(nm[((wHv))],("stand")) call zbo(wHv,"What the?! Where are these wretches that mess up my beer?! I thwack them until they decide to become meat eaters!",5.5,function zUo) endfunction function zWo takes nothing returns nothing call Xax(wkv,((1.)*1.),false,(function zwo)) +endfunction function zyo takes nothing returns nothing call zbo(wgv,"When the animals are to steal all of the corn from the silos, there won't be any alcohol for you too soon!",5.,function zWo) endfunction function zYo takes nothing returns nothing call zbo(wHv,"Eh?",1.,function zyo) endfunction function zzo takes nothing returns nothing call zbo(wgv,"We are in perilous situation right now, we should keep a clear mind.",3.5,function zYo) endfunction function zZo takes nothing returns nothing call zdo((wHv),(wFv)) call zbo(wHv,"What?",1.,function zzo) endfunction function z_o takes nothing returns nothing call zbo(wFv,"Stormy, now, it isn't the right time to bemuse yourself with this dazing mixture!",4.,function zZo) endfunction function z0o takes nothing returns nothing call Xax(wkv,((1)*1.),false,(function z_o)) endfunction function z1o takes nothing returns nothing call zdo((wFv),(wHv)) call zdo((wGv),(wHv)) call zdo((wgv),(wHv)) call zdo((whv),(wHv)) call zco(wcv,2.5,function z0o) endfunction function z2o takes nothing returns nothing call zbo(wHv,"*hic*",1.5,function z1o) endfunction function z3o takes nothing returns nothing call zbo(whv,"...he stood right next to me just a moment ago.",3.,function z2o) endfunction function z4o takes nothing returns nothing call zbo(whv,"...",.75,function z3o) +endfunction function z5o takes nothing returns nothing call zbo(whv,"..",.75,function z4o) endfunction function z6o takes nothing returns nothing call zbo(whv,".",.75,function z5o) endfunction function z7o takes nothing returns nothing call CameraSetupApplyForceDuration(wEv[((wNv))],(true),((((.0)*1.))*1.)) +call Xax(wkv,((1.)*1.),false,(function z6o)) +endfunction function z8o takes nothing returns nothing call zbo(wFv,"Where did he disappear to again?!",2.,function z7o) endfunction function z9o takes nothing returns nothing call zfo(wHv,wpv) call zFo((wHv),(wev)) set wjv=zOo('h009',wMv,xj) call zbo(wFv,"Then, there's Stor...",3.,function z8o) endfunction function Zvo takes nothing returns nothing call zco(wxv,.5,function z9o) endfunction function Zeo takes nothing returns nothing call zdo((wGv),(wFv)) call Xax(wkv,((.5)*1.),false,(function Zvo)) +endfunction function Zxo takes nothing returns nothing call zbo(wGv,"Woo, I am impressed, young lad'.",3.,function Zeo) +endfunction function Zoo takes nothing returns nothing call CameraSetupApplyForceDuration(wEv[((wAv))],(true),((((2.)*1.))*1.)) +call zbo(whv,"While approaching your castle I noticed a lot of incensed animals, on the south pass in particular. The "+Xhx("Great Winter","ffffcc00")+" hit them pretty well, too, and turned them into raging creatures.",9.5,function Zxo) endfunction function Zro takes nothing returns nothing call zdo((whv),(wFv)) call Xax(wkv,((1.)*1.),false,(function Zoo)) +endfunction function Zio takes nothing returns nothing call zbo(wFv,"I received information about lady Aruruw, about her excellent skills as a huntress. This might be to our advantage on this task.",9.,function Zro) +endfunction function Zao takes nothing returns nothing call zbo(whv,"Do you aim to challenge me?",4.,function Zio) endfunction function Zno takes nothing returns nothing call zco(wRv,1.,function Zao) endfunction function ZVo takes nothing returns nothing call Xax(wkv,((1.)*1.),false,(function Zno)) +endfunction function ZEo takes nothing returns nothing call zdo((whv),(wGv)) call zco(wIv,1.,function ZVo) endfunction function ZXo takes nothing returns nothing call zdo((wGv),(whv)) call zbo(wGv,"This shorty can fight?",2.5,function ZEo) endfunction function ZOo takes nothing returns nothing call zbo(wFv,"Lady Aruruw",3.,function ZXo) endfunction function ZRo takes nothing returns nothing call SetUnitAnimation(nm[((wgv))],("stand ready")) call zbo(wgv,"At your service *kindles a cigarette*",3.,function ZOo) endfunction function ZIo takes nothing returns nothing call CameraSetupApplyForceDuration(wEv[((wOv))],(true),((((.5)*1.))*1.)) +call zbo(wFv,"Sir Smokealot",2.,function ZRo) endfunction function ZAo takes nothing returns nothing call zbo(wGv,"Aye",1.5,function ZIo) +endfunction function ZNo takes nothing returns nothing call zco(wXv,.5,function ZAo) endfunction function Zbo takes nothing returns nothing call zbo(wFv,"Rocketeye",1.,function ZNo) endfunction function ZBo takes nothing returns nothing call SetUnitAnimation(nm[((wFv))],("spell slam")) call QueueUnitAnimation(nm[((wFv))],("stand")) call zbo(wFv,"Meanwhile, wild animals of the bordering woods have begun to exploit our storages and to attack the residents. This is the reason I called for the four of you.",7.,function Zbo) endfunction function Zco takes nothing returns boolean local integer Eix=(bv) call Xax(E5x(),.0,false,function y9o) call Xax(E5x(),1.,false,function Y7o) return true set wev=LWx(zo) set wxv=zvo(po) set wXv=zvo(Po) set wOv=zvo(qo) set wRv=zvo(Qo) set wIv=zvo(so) set wAv=zvo(So) set wNv=zvo(to) set wbv=zvo(To) set wBv=zvo(uo) set wcv=zvo(Uo) set wCv=zvo(wo) set wdv=NSx(function zEo) set wkv=E5x() set wKv=U8x(wx) set wlv=U8x(eo) set wLv=U8x(vo) set wmv=U8x(Ux) set wMv=U8x(xo) set wpv=U8x(oo) set wPv=U8x(Yx) set wqv=U8x(zx) set wQv=U8x(Zx) set wsv=U8x(ro) set wSv=U8x(io) set wtv=U8x(Wx) set wTv=U8x(yx) set wFv=zOo(cmv[JBv],wKv,wuv) set wGv=zNo(cmv[khv],wLv,wFv) set wgv=zNo(cmv[JKv],wlv,wFv) set whv=zNo(cmv[J3v],wmv,wFv) set wHv=zNo(cmv[krv],wMv,wFv) set wjv=w set wJv=w set wUv=zOo('h008',wtv,xj) set wwv=zOo('h008',wTv,xj) set wDv=wNx(wWv,true,false,false,0,0,xRv) set wfv=wNx(wWv,true,false,false,0,0,xRv) call zeo(Ge,false,1) +call zxo(Ge,false) call CameraSetupApplyForceDuration(wEv[((zvo(po)))],(true),((((0)*1.))*1.)) call dXx(wDv) call dXx(wfv) call SetUnitAnimation(nm[((wFv))],("spell slam")) call Mmo(wdv,Ge,EVENT_PLAYER_END_CINEMATIC) call zbo(wFv,"It's about one month now that you searched for shelter in my domicile Wintercastle. Our supply reserves are at a scant stock, so we have to send out caravans in order to retrieve left-behind goods from the surrounding villages.",$B,function ZBo) call QueueUnitAnimation(nm[((wFv))],("stand")) call Mho(Ge,U8x(ux)) +return true endfunction function ZCo takes nothing returns boolean call jex(Nlx("Intro_Init: call Event.Create(EventType.START, EventPriority.MISC, function Intro.Event_Start).AddToStatics()",KR,iB,function Zco)) return true endfunction function Zdo takes nothing returns boolean call lex(function ZCo,"Intro_Init") return true endfunction function ZDo takes nothing returns boolean set wyv=Idx(wYv) +return true endfunction function Zfo takes nothing returns boolean set wzv=Idx(wZv) +return true endfunction function ZFo takes nothing returns boolean set w_v=Idx(w0v) +return true endfunction function Zgo takes nothing returns boolean set w1v=Idx(w2v) +return true endfunction function ZGo takes nothing returns boolean set w3v=Idx(w4v) +return true endfunction function Zho takes nothing returns boolean set w5v=Idx(w6v) +return true endfunction function ZHo takes nothing returns boolean set w7v=Idx(w8v) +return true endfunction function Zjo takes nothing returns boolean set w9v=Idx(Wvv) +return true endfunction function ZJo takes nothing returns boolean set Wev=Idx(Wxv) +return true endfunction function Zko takes nothing returns boolean set Wov=Idx(Wrv) +return true endfunction function ZKo takes nothing returns boolean set Wiv=Idx(Wav) +return true endfunction function Zlo takes nothing returns boolean set Wnv=Idx(WVv) +return true endfunction function ZLo takes nothing returns boolean set WEv=Idx(WXv) +return true endfunction function Zmo takes nothing returns boolean set WOv=Idx(WRv) +return true endfunction function ZMo takes code c,string EFx returns nothing +set kO=kO+1 set KO[kO]=CreateTrigger() set lO[kO]=(GetHandleId(Condition((c)))) +set LO[kO]=EFx call TriggerAddCondition(KO[kO],Condition(c)) endfunction function Zpo takes integer VFx returns integer set WBv[VFx]=true set Wcv[VFx]=false set l7v[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set Te[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) set WCv[VFx]=w set Wdv[VFx]=0 set WDv[VFx]=null set uiv[VFx]=null set WAv[VFx]=w call V1x(WOv) return VFx endfunction function ZPo takes nothing returns integer local integer VFx if(WIv==8190)then call Vmx("Level_Allocation_allocCustom","call DebugEx(Level.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",WRv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(WAv[(w)]==w)then set WNv=WNv+1 set VFx=WNv else +set VFx=WAv[(w)] +set WAv[(w)]=WAv[WAv[(w)]] endif set WAv[VFx]=Z set Wbv[VFx]=1 call Zpo(VFx) return VFx endfunction function Zqo takes integer VFx returns boolean set ptv=ptv+1 set ye[ptv]=VFx set T6v[VFx]=ptv+1 return(ptv==0) endfunction function ZQo takes integer VFx returns nothing set se[(VFx)]=(Wfv+VFx) endfunction function Zso takes string EFx returns integer local integer VFx=ZPo() set uiv[(VFx)]=(uiv[VFx]) set LPv[(VFx)]=(w) set Ue[(VFx)]=(EFx) set ue[(VFx)]=(w) call Zqo(VFx) call ZQo(VFx) return VFx endfunction function ZSo takes nothing returns nothing local integer VFx=Zso("Deers") set WFv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNStag.blp") endfunction function Zto takes nothing returns nothing local integer VFx=Zso("Trolls") set MCv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNIceTroll.blp") endfunction function ZTo takes nothing returns nothing local integer VFx=Zso("Gnolls") set MDv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNGnollWarden.blp") endfunction function Zuo takes nothing returns nothing local integer VFx=Zso("Wolves") set Wgv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNTimberWolf.blp") endfunction function ZUo takes nothing returns nothing local integer VFx=Zso("Moonkins") set WGv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNOwlBear.blp") endfunction function Zwo takes nothing returns nothing local integer VFx=Zso("SnowFalcons") +set Whv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNWarEagle.blp") endfunction function ZWo takes nothing returns nothing local integer VFx=Zso("Kobolds") +set WHv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNKobold.blp") endfunction function Zyo takes nothing returns nothing local integer VFx=Zso("Treants") +set Wjv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNCorruptedEnt.blp") endfunction function ZYo takes nothing returns nothing local integer VFx=Zso("Furbolg Oracle") set WJv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNFurbolgTracker.blp") endfunction function Zzo takes nothing returns nothing local integer VFx=Zso("Scouts") set Wkv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNWyvernRider.blp") endfunction function ZZo takes nothing returns nothing local integer VFx=Zso("Axe Fighters") set WKv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNGrunt.blp") +endfunction function Z_o takes nothing returns nothing local integer VFx=Zso("Raiders") +set Wlv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNRaider.blp") endfunction function Z0o takes nothing returns nothing local integer VFx=Zso("Catapults") set WLv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNCatapult.blp") endfunction function Z1o takes nothing returns nothing local integer VFx=Zso("Assassins") set Wmv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNHellScream.blp") endfunction function Z2o takes nothing returns nothing local integer VFx=Zso("Leader") set WMv=VFx set uiv[(VFx)]=("ReplaceableTextures\\CommandButtons\\BTNChaosWarlord.blp") endfunction function Z3o takes nothing returns nothing local integer VFx=Zso("Penguins") set WPv=VFx set pTv[(VFx)]=(true) set WDv[(VFx)]=("1") +endfunction function Z4o takes nothing returns nothing call ZSo() call Zto() call ZTo() call Zuo() call ZUo() call Zwo() call ZWo() call Zyo() call ZYo() call Zzo() call ZZo() call Z_o() call Z0o() call Z1o() call Z2o() set Wpv=ptv call Z3o() set Wqv=ptv endfunction function Z5o takes string Xox returns integer if not nw then call BJDebugMsg("Debug (uninit): "+Xox) endif return XDx(Ge,"Debug: "+Xox,15.) +endfunction function Z6o takes nothing returns nothing local integer VFx=lzv if(VFx==w)then return endif call Pio(VFx) set VFx=(LDv[(VFx)]) +if(VFx==w)then call Z5o("Victory") else +call PEo(VFx) endif endfunction function Z7o takes nothing returns nothing local integer VFx=l0v if(VFx==w)then return endif call Pvo(VFx) set VFx=(WQv[(VFx)]) +if(VFx==w)then call Z6o() else +call Peo(VFx) endif endfunction function Z8o takes nothing returns boolean local integer Eix=(bv) local integer PWo=(Qe[(Eix)]) local integer VFx=l0v if(PWo==(Pdo(((VFx)),Lpv,((PCo(((VFx)),Lpv))))))then +call Z7o() else +call Oex((ue[(PWo)])) endif return true endfunction function Z9o takes nothing returns boolean local integer Eix=(bv) call p9o() return true endfunction function vvr takes integer VFx returns integer set Wuv[VFx]=true set WUv[VFx]=false set Lmv[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(w7v) return VFx endfunction function ver takes nothing returns integer local integer VFx if(Wsv==8190)then call Vmx("LevelSet_Allocation_allocCustom","call DebugEx(LevelSet.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",w8v+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(WSv[(w)]==w)then set Wtv=Wtv+1 set VFx=Wtv else +set VFx=WSv[(w)] +set WSv[(w)]=WSv[WSv[(w)]] endif set WSv[VFx]=Z set WTv[VFx]=1 call vvr(VFx) return VFx endfunction function vxr takes integer VFx returns nothing set LMv[(VFx)]=(Wwv+VFx) +endfunction function vor takes string EFx,integer cax returns integer local integer VFx=ver() call vxr(VFx) set l5v[(VFx)]=(EFx) +set WQv[(VFx)]=(w) set WQv[(cax)]=(VFx) +return VFx endfunction function vrr takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(Lmv[(VFx)],(LMv[((VFx))]),Vgx,Vhx) endfunction function vir takes integer VFx,integer Vux,integer Vgx returns nothing local integer VUx=(0+(LoadInteger(o[((V[(E[((VFx))])]))],(((Vux))),(((Vgx)))))) local integer VBx=VUx local integer array var local integer VAx loop +exitwhen(VBx8-1) set VAx=0+VBx set ydv[VAx]="" set vTr=(yJo(yOv)) call uEx(yOv,vTr,yCv,.000001) call uEx(yOv,vTr,yNv,.199999) set yDv[VAx]=vTr +set VBx=VBx+1 endloop set yfv=true +endfunction function vur takes nothing returns nothing set yFv=CreateQuest() call QuestSetIconPath(yFv,"ReplaceableTextures\\CommandButtons\\BTNPeon.blp") call QuestSetTitle(yFv,"DebugLog") endfunction function vUr takes nothing returns boolean set yOv=yjo() set yRv=E5x() call jex(Nlx("Nullboard_Init: call Event.Create(AfterIntro.FOR_PLAYER_EVENT_TYPE, EventPriority.MISC, function Nullboard.Event_AfterIntro).AddToStatics()",lLv,iB,function vSr)) +call yko((yOv),("Nullboard")) set yCv=yLo(yOv) +set yNv=yLo(yOv) +set yAv=(yJo(yOv)) set ybv=(yJo(yOv)) set yBv=(yJo(yOv)) set ycv=(yJo(yOv)) call tTx(yOv,yAv,yCv,XQx("Called triggers:","ffffffff","ff00bfff")) call tTx(yOv,ybv,yCv,XQx("Per second:","ffffffff","ff00bfff")) call tTx(yOv,yBv,yCv,XQx("Objs count:","ffffffff","ff00bfff")) call tTx(yOv,ycv,yCv,XQx("Native objs count:","ffffffff","ff00bfff")) call uXx(yOv,yCv,.1) +call uXx(yOv,yNv,.1) +call vtr() call vur() set yIv=0 return true endfunction function vwr takes nothing returns boolean call PTo(function vUr,"Nullboard_Init") return true endfunction function vWr takes nothing returns boolean set ygv=Idx(yGv) +return true endfunction function vyr takes nothing returns boolean set yhv=Idx(yHv) +return true endfunction function vYr takes nothing returns boolean set yjv=Idx(yJv) +return true endfunction function vzr takes nothing returns boolean set ykv=Idx(yKv) +return true endfunction function vZr takes nothing returns boolean set ylv=Idx(yLv) +return true endfunction function v_r takes nothing returns boolean set ymv=Idx(yMv) +return true endfunction function v0r takes nothing returns boolean set ypv=Idx(yPv) +return true endfunction function v1r takes string v2r,string Vhx returns integer +local integer Vtx=(yJo(B5)) set v2r=Xhx(v2r,"ffffcc00") set V6=V6+1 call tTx(B5,Vtx,c5,v2r) call tTx(B5,Vtx,d5,Vhx) set V5[V6]=Vtx set I6[Vtx]=V6 set C5[V6]=v2r set D5[V6]=Vhx return Vtx endfunction function v3r takes integer VFx returns nothing set B6[VFx]=0+$A +call TFx(VFx) endfunction function v4r takes integer Fvx returns integer local integer VFx=Fvx set x5[VFx]=false set e5[VFx]=Fvx call yno((B5),(Fvx)) +call TDx((VFx)) call v3r(VFx) call TGx((VFx)) call Tjx((VFx)) call TKx((VFx),false) call TMx((VFx),false) return VFx endfunction function v5r takes nothing returns boolean local integer Eix=(bv) call v4r((ax[(Eix)])) return true endfunction function v6r takes nothing returns nothing set R6=0+3 set O6[0+0]=.0 set O6[0+1]=.5 set O6[0+2]=1. set O6[0+3]=1.5 set O6[0+4]=2. set O6[0+5]=2.5 set O6[0+6]=3. set O6[0+7]=3.5 set O6[0+8]=4. endfunction function v7r takes nothing returns nothing set b6[0]=$546 set b6[0+1]=$5AA +set b6[0+2]=$60E +set b6[0+3]=$672 +set b6[0+4]=$6D6 +set b6[0+5]=$73A +set b6[0+6]=$79E +set b6[0+7]=$802 +set b6[0+8]=$866 +set b6[0+9]=$8CA +set b6[0+$A]=$92E set b6[0+$B]=$992 endfunction function v8r takes nothing returns nothing endfunction function v9r takes nothing returns nothing set F6=0 +set f6[0]="off" set f6[0+1]="on" +endfunction function evr takes nothing returns nothing set l6=wNx("Units\\Human\\Footman\\FootmanPissed4.wav",false,false,false,$A,$A,w) call C8x(l6,8) endfunction function eer takes nothing returns boolean local integer Eix=(bv) set B5=yjo() +set c5=yLo(B5) set d5=yLo(B5) set yqv=(yJo(B5)) set d6=v1r("SFX Level","") set yQv=(yJo(B5)) set H6=v1r("Sound volume","") set f5=v1r("Music volume","") set ysv=(yJo(B5)) set N6=v1r("Camera zoom","") +set X6=v1r("Camera smoothing factor","") +set D6=v1r("Hint","") call uXx(B5,c5,.1) call uXx(B5,d5,.1) call yko((B5),("Options")) call tTx(B5,yQv,c5,Xhx("Audio","ffffcc00")) call uEx(B5,yQv,c5,.2) call uEx(B5,yQv,d5,.0) call tTx(B5,yqv,c5,Xhx("Graphics","ffffcc00")) call uEx(B5,yqv,c5,.2) call uEx(B5,yqv,d5,.0) call tTx(B5,ysv,c5,Xhx("Misc","ffffcc00")) call uEx(B5,ysv,c5,.2) call uEx(B5,ysv,d5,.0) call jex(Nlx("OptionsBoard_Event_Start: call Event.Create(AfterIntro.FOR_PLAYER_EVENT_TYPE, EventPriority.MISC, function OptionsBoard.Event_AfterIntro).AddToStatics()",lLv,iB,function v5r)) call v6r() call v7r() call v8r() call v9r() set F5=RYx("Sound\\Music\\mp3Music\\Credits.mp3",-1) +call evr() return true endfunction function exr takes nothing returns boolean call jex(Nlx("OptionsBoard_Init: call Event.Create(EventType.START, EventPriority.MISC, function OptionsBoard.Event_Start).AddToStatics()",KR,iB,function eer)) return true endfunction function eor takes nothing returns boolean call PTo(function exr,"OptionsBoard_Init") return true endfunction function err takes nothing returns boolean set ySv=LBo('uPha') call Lco(((ySv)),CPv,(cjv)) set vm[(ySv)]=((2)*1.) set div[(ySv)]=(('x')*1.) set dsv[(ySv)]=((60)*1.) +set c5v[(ySv)]=((0)*1.) set Crv[(ySv)]=(3) set djv[(ySv)]=((150000.)*1.) set dHv[(ySv)]=((150000.)*1.) set dGv[(ySv)]=((0)*1.) set dRv[(ySv)]=((500)*1.) set dXv[(ySv)]=((500)*1.) set Csv[(ySv)]=((0)*1.) set CSv[(ySv)]=((0)*1.) set CUv[(ySv)]=(0) set Cyv[(ySv)]=(0) call LFo((ySv),(j2v),1) return true endfunction function eir takes nothing returns boolean call IGx(yE,(function err),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Pharmacy.page\\Pharmacy.struct\\obj_shop_wc3unit.j")) return true endfunction function ear takes nothing returns boolean set ytv=Idx(yTv) +return true endfunction function enr takes nothing returns boolean call scx('AEmP',false) set yuv=s2o('AEmP') set orv[(yuv)]=(x9v) +set onv[(yuv)]=(1) set Zl[(yuv)]=("Emergency Provisions") set PK[(yuv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0084)))),(((FL)))))) set Vnv[(yuv)]=(0) set n9v[(yuv)]=("spell") +call s3o((yuv),Ll+(1),((20)*1.)) +call s3o((yuv),Pkv+(1),((750)*1.)) return true endfunction function eVr takes nothing returns boolean set yUv=suo('IEmP') set fh[(yUv)]=(1) set Pbv[(yUv)]=("ReplaceableTextures\\CommandButtons\\BTNDust.blp") call sWo((yUv),(yuv),1) return true endfunction function eEr takes nothing returns boolean call IGx(UE,(function enr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Pharmacy.page\\Pharmacy.struct\\Act1.pack\\EmergencyProvisions.page\\EmergencyProvisions.struct\\obj_thisSpell_wc3spell.j")) +call IGx(WE,(function eVr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Pharmacy.page\\Pharmacy.struct\\Act1.pack\\EmergencyProvisions.page\\EmergencyProvisions.struct\\obj_thisItem_wc3item.j")) return true endfunction function eXr takes nothing returns boolean set ywv=Idx(yWv) +return true endfunction function eOr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) call Tlo((C1x((hdx),(yyv),(yYv),(fV))),2.) call s9o(hdx,hdx,yzv) return true endfunction function eRr takes nothing returns boolean call Sao(yuv,Nlx("EmergencyProvisions_Init: call EmergencyProvisions.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function EmergencyProvisions.Event_SpellEffect))",kK,rB,function eOr)) return true endfunction function eIr takes nothing returns boolean call SZo(function eRr,"EmergencyProvisions_Init") return true endfunction function eAr takes nothing returns boolean set yZv=LBo('uEoF') call Lco(((yZv)),CPv,(cgv)) set vm[(yZv)]=((1.25)*1.) set div[(yZv)]=((60)*1.) +set dsv[(yZv)]=(($E1)*1.) set c5v[(yZv)]=((0)*1.) set Crv[(yZv)]=(2) set djv[(yZv)]=((65)*1.) +set dHv[(yZv)]=((65)*1.) +set dGv[(yZv)]=((0)*1.) set dRv[(yZv)]=(($4B0)*1.) set dXv[(yZv)]=(($4B0)*1.) set dCv[(yZv)]=((60)*1.) +set Cbv[(yZv)]=(j4v) +set CDv[(yZv)]=((360)*1.) set Cfv[((yZv))]=((1.*1./((.5)*1.))*1.) set CTv[(yZv)]=((.1)*1.) +set GCv[(yZv)]=((600)*1.) set Csv[(yZv)]=((2)*1.) set CSv[(yZv)]=((2)*1.) set CUv[(yZv)]=(1) set Cyv[(yZv)]=(3) set CZv[(yZv)]=(3) set CQv[(yZv)]=((16)*1.) +call LFo((yZv),(y_v),1) call LFo((yZv),(y0v),1) return true endfunction function eNr takes nothing returns boolean call scx('AEoF',false) set y1v=s2o('AEoF') set orv[(y1v)]=(x9v) +set onv[(y1v)]=(1) set Zl[(y1v)]=("Eye of the Flame") set PK[(y1v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0089)))),(((FL)))))) set Vnv[(y1v)]=(2) set n9v[(y1v)]=("spell") +call s3o((y1v),Ll+(1),(($F)*1.)) +call s3o((y1v),Pkv+(1),((550)*1.)) set Qkv[(y1v)]=("ReplaceableTextures\\CommandButtons\\") +return true endfunction function ebr takes nothing returns boolean set y2v=suo('IEoF') set fh[(y2v)]=(1) set Pbv[(y2v)]=("ReplaceableTextures\\CommandButtons\\BTNSentryWard.blp") call sWo((y2v),(y1v),1) return true endfunction function eBr takes nothing returns boolean call IGx(yE,(function eAr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Pharmacy.page\\Pharmacy.struct\\Act1.pack\\EyeOfTheFlame.page\\EyeOfTheFlame.struct\\obj_summonUnitType_wc3unit.j")) +call IGx(UE,(function eNr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Pharmacy.page\\Pharmacy.struct\\Act1.pack\\EyeOfTheFlame.page\\EyeOfTheFlame.struct\\obj_thisSpell_wc3spell.j")) +call IGx(WE,(function ebr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Pharmacy.page\\Pharmacy.struct\\Act1.pack\\EyeOfTheFlame.page\\EyeOfTheFlame.struct\\obj_thisItem_wc3item.j")) return true endfunction function ecr takes nothing returns boolean set y3v=Idx(y4v) +return true endfunction function eCr takes integer VFx,real Xdx returns nothing set WH=Xdx call jGx(((VFx)),(b4v),(1),w) endfunction function edr takes integer VFx,real Xdx returns nothing if(Xdx>=.0)then set Cpv[(VFx)]=("Abilities\\Spells\\Orc\\FeralSpirit\\feralspirittarget.mdl") call Cco(VFx,cJv) set C_v[(VFx)]=((.0)*1.) +call eCr((VFx),((Xdx)*1.)) endif endfunction function eDr takes integer V7x,integer Vxx,real x,real y,real OMx,real Xdx returns integer local integer VFx=f8x(V7x,Vxx,x,y,OMx) call fxo(fio(x,y,"Abilities\\Spells\\Orc\\FeralSpirit\\feralspirittarget.mdl",EV,(JC[(VFx)]))) call SetUnitAnimation(C[((VFx))],("birth")) call QueueUnitAnimation(C[((VFx))],("stand")) call edr(VFx,Xdx) return VFx endfunction function efr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local integer hbo=(ze[(hdx)]) local integer VBx=y5v loop +call eDr(yZv,hbo,h0x,h1x,oj,y6v) +set VBx=VBx-1 exitwhen(VBx<1) endloop return true endfunction function eFr takes nothing returns boolean call Sao(y1v,Nlx("EyeOfTheFlame_Init: call EyeOfTheFlame.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EyeOfTheFlame.Event_SpellEffect))",kK,VB,function efr)) +return true endfunction function egr takes nothing returns boolean call SZo(function eFr,"EyeOfTheFlame_Init") return true endfunction function eGr takes nothing returns boolean set y7v=u9x(y8v+" (dummyBuff)") return true endfunction function ehr takes nothing returns boolean set y9v=u9x(y8v+" (ignitionBuff)") set sf[(y9v)]=(true) +set v_v[(y9v)]=(true) return true endfunction function eHr takes nothing returns boolean call scx('AToL',false) set y_v=s2o('AToL') set orv[(y_v)]=(ovv) +set onv[(y_v)]=(1) set Zl[(y_v)]=("Torch Light") set n9v[(y_v)]=("spell") +call s3o((y_v),Pkv+(1),((750)*1.)) set Qkv[(y_v)]=("ReplaceableTextures\\CommandButtons\\BTNVolcano.blp") return true endfunction function ejr takes nothing returns boolean call IGx(tE,(function eGr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Pharmacy.page\\Pharmacy.struct\\Act1.pack\\EyeOfTheFlame.page\\EyeOfTheFlame.struct\\TorchLight.page\\TorchLight.struct\\obj_dummyBuff_wc3buff.j")) call IGx(tE,(function ehr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Pharmacy.page\\Pharmacy.struct\\Act1.pack\\EyeOfTheFlame.page\\EyeOfTheFlame.struct\\TorchLight.page\\TorchLight.struct\\obj_ignitionBuff_wc3buff.j")) call IGx(UE,(function eHr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Pharmacy.page\\Pharmacy.struct\\Act1.pack\\EyeOfTheFlame.page\\EyeOfTheFlame.struct\\TorchLight.page\\TorchLight.struct\\obj_thisSpell_wc3spell.j")) +return true endfunction function eJr takes nothing returns boolean set Yvv=Idx(y8v) +return true endfunction function ekr takes integer csx returns boolean return( not(Cmx(csx,chv)))and( not(Cmx(csx,cjv))) endfunction function eKr takes integer hdx,integer EKx,integer csx returns nothing local real Xdx if Cmx(csx,rG)then set Xdx=Yxv else +set Xdx=Yov endif call d9x(csx,y9v,EKx,hdx,Xdx) endfunction function elr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) if not ekr(csx)then return true endif call eKr((A9v[(Eix)]),(Mv[(Eix)]),csx) return true endfunction function eLr takes nothing returns boolean local integer csx=pKx() if not ekr(csx)then return false +endif if(NRv[(csx)])then return false +endif if Cmx(csx,tf)then return false +endif if not(IsUnitEnemy(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function emr takes integer VFx,real x,real y returns integer +return SJo(VFx,x,y) endfunction function eMr takes real x,real y,real Pox,integer Wox returns integer call fXo((iW),x,y,Pox,Wox) return emr(iW,x,y) endfunction function epr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx local integer ePr set zH=(ze[(csx)]) set ePr=eMr((GetUnitX(C[((csx))])),(GetUnitY(C[((csx))])),(Cdv[(csx)]),Yrv) if(ePr!=w)then call UFx(csx,B8,ePr) +endif endfunction function eqr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer WLo=E5x() set Yiv[VFx]=WLo +call CMx(csx,Yev) set ge[(WLo)]=(VFx) call Xax(WLo,.5,true,function epr) return true endfunction function eQr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer WLo=Yiv[VFx] call cEx(csx,Yev) call Xbx(WLo) return true endfunction function esr takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(y7v),((Mv[(Eix)])),w) return true endfunction function eSr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),y7v) return true endfunction function etr takes nothing returns boolean set Yev=Nlx("TorchLight_Init: set TorchLight.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function TorchLight.Event_Damage)",Nev,VB,function elr) set Yrv=Nyx(function eLr) call Ufx(y7v,Nlx("TorchLight_Init: call TorchLight.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TorchLight.Event_BuffGain))",dg,VB,function eqr)) call Ufx(y7v,Nlx("TorchLight_Init: call TorchLight.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TorchLight.Event_BuffLose))",Hf,VB,function eQr)) call Sao(y_v,Nlx("TorchLight_Init: call TorchLight.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TorchLight.Event_Learn))",pv,VB,function esr)) +call Sao(y_v,Nlx("TorchLight_Init: call TorchLight.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TorchLight.Event_Unlearn))",Av,VB,function eSr)) +call oio(NVv,y9v) return true endfunction function eTr takes nothing returns boolean call s7o(function etr,"TorchLight_Init") +return true endfunction function eur takes nothing returns boolean set Yav=suo('IHeO') set fh[(Yav)]=(2) set Pbv[(Yav)]=("ReplaceableTextures\\CommandButtons\\BTNHealingSalve.blp") call sWo((Yav),(Ynv),1) return true endfunction function eUr takes nothing returns boolean call scx('AHeO',false) set Ynv=s2o('AHeO') set orv[(Ynv)]=(x9v) +set onv[(Ynv)]=(1) set Zl[(Ynv)]=("Herbal Ointment") set PK[(Ynv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0084)))),(((FL)))))) set Vnv[(Ynv)]=(0) set n9v[(Ynv)]=("spell") +call s3o((Ynv),Ll+(1),(($A)*1.)) +call s3o((Ynv),Pkv+(1),((750)*1.)) return true endfunction function ewr takes nothing returns boolean set YVv=x6o('BHeO',"Herbal Ointment",'bHeO') +set OOv[(YVv)]=(true) set ORv[(YVv)]=("ReplaceableTextures\\CommandButtons\\BTNHealingSalve.blp") call Urx(YVv,"Abilities\\Spells\\Other\\ANrl\\ANrlTarget.mdl","origin",EV) call Urx(YVv,"Abilities\\Spells\\Other\\ANrm\\ANrmTarget.mdl","origin",fV) return true endfunction function eWr takes nothing returns boolean call IGx(WE,(function eur),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Pharmacy.page\\Pharmacy.struct\\Act1.pack\\HerbalOintment.page\\HerbalOintment.struct\\obj_thisItem_wc3item.j")) +call IGx(UE,(function eUr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Pharmacy.page\\Pharmacy.struct\\Act1.pack\\HerbalOintment.page\\HerbalOintment.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function ewr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Pharmacy.page\\Pharmacy.struct\\Act1.pack\\HerbalOintment.page\\HerbalOintment.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function eyr takes nothing returns boolean set YEv=Idx(YXv) +return true endfunction function eYr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),YVv) return true endfunction function ezr takes integer VFx,boolean eZr,boolean e_r,boolean e0r returns integer local integer VUx local integer VBx local integer cSx if e0r then call cdx((C1x(((VFx)),("Abilities\\Spells\\Human\\DispelMagic\\DispelMagicTarget.mdl"),("origin"),(EV)))) endif set VUx=0 set VBx=(Bex(((VFx)),zd)) loop +set cSx=(Bxx(((VFx)),zd,(VBx))) if(v_v[(cSx)])then if(OOv[(cSx)])then if e_r then set VUx=VUx+1 call dpx(VFx,cSx) endif else +if eZr then set VUx=VUx+1 call dpx(VFx,cSx) endif endif endif set VBx=VBx-1 exitwhen(VBx0)then return endif if(zav[VFx]!=Z)then call Vmx("Meat_Allocation_deallocCustom_confirm","call DebugEx(Meat.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",zev+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set zav[VFx]=zav[(w)] set zav[(w)]=VFx +call xtr(VFx) endfunction function xur takes integer VFx returns nothing set ziv[VFx]=ziv[VFx]-1 call xTr(VFx) endfunction function xUr takes integer VFx,integer hdx,integer Xrx returns nothing local integer TBx=zrv[VFx] call xur((VFx)) if V_x(hdx,zov,VFx)then call cEx(hdx,zxv) endif call Xbx(Xrx) call Xbx(TBx) endfunction function xwr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VBx=Bex(hdx,zov) local integer VFx loop +set VFx=Bxx(hdx,zov,VBx) +call xUr(VFx,hdx,zVv[VFx]) set VBx=VBx-1 exitwhen(VBxzGv)then set OMx=(Atan2(((dY)*1.),((dX)*1.))) +set oxr=zhv*(Cos(((((OMx)*1.))*1.))) +set oor=zhv*(Sin(((((OMx)*1.))*1.))) +else +set oxr=ovr-orr set oor=oer-oir endif else +if(eHv==w)then return true endif if Cmx(eHv,tf)then return true endif set oxr=.0 set oor=.0 set h_x=eHv endif set zLv[VFx]=h_x +set zmv[VFx]=(C1x((h_x),(zMv),(zpv),(fV))) set zPv[VFx]=oxr +set zqv[VFx]=oor +if EHx(h_x,zjv,VFx)then call CMx(h_x,zHv) endif call EMx(((hdx)),((j2v)),(1)) return true endfunction function oar takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=hdx local integer csx=zLv[VFx] local integer onr=zmv[VFx] if V_x(csx,zjv,VFx)then call cEx(csx,zHv) endif call cdx(onr) call Ecx(hdx,j2v) return true endfunction function oVr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local boolean bYo=(VOv[(Eix)]) local integer VFx=hdx local integer csx=zLv[VFx] local real oxr=zPv[VFx] local real oor=zqv[VFx] call dpx(hdx,zdv) if bYo then call Tlo((C1x((hdx),(zQv),(zsv),(fV))),2.) call SetUnitPosition(C[((hdx))],(((GetUnitX(C[((csx))]))+oxr)*1.),(((GetUnitY(C[((csx))]))+oor)*1.)) +endif return true endfunction function oEr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) set zkv=(xL[(Eix)]) set zKv=(rL[(Eix)]) set zlv=(iL[(Eix)]) call WMo(hdx,zdv,(Mv[(Eix)])) return true endfunction function oXr takes nothing returns boolean set zgv=Bkx() set zGv=zhv*zhv set zHv=Nlx("TeleportScroll_Init: set TeleportScroll.TARGET_DEATH_EVENT = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.ITEMS, function TeleportScroll.Event_TargetDeath)",zu,rB,function x6r) set zJv=Nyx(function x7r) call Ufx(zdv,Nlx("TeleportScroll_Init: call TeleportScroll.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TeleportScroll.Event_BuffGain))",dg,VB,function x9r)) call Ufx(zdv,Nlx("TeleportScroll_Init: call TeleportScroll.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TeleportScroll.Event_BuffLose))",Hf,VB,function oar)) call Sao(zfv,Nlx("TeleportScroll_Init: call TeleportScroll.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TeleportScroll.Event_EndCast))",VRv,VB,function oVr)) +call Sao(zfv,Nlx("TeleportScroll_Init: call TeleportScroll.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TeleportScroll.Event_SpellEffect))",kK,VB,function oEr)) return true endfunction function oOr takes nothing returns boolean call uqo(function oXr,"TeleportScroll_Init") +return true endfunction function oRr takes nothing returns boolean set zSv=suo('IRun') call sUo(((zSv)),gh,(xY)) return true endfunction function oIr takes nothing returns boolean call IGx(WE,(function oRr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Rune.page\\Rune.struct\\obj_thisItem_wc3item.j")) return true endfunction function oAr takes nothing returns boolean set ztv=Idx(zTv) +return true endfunction function oNr takes code c,string EFx returns nothing +set tO=tO+1 set TO[tO]=CreateTrigger() set uO[tO]=(GetHandleId(Condition((c)))) +set UO[tO]=EFx call TriggerAddCondition(TO[tO],Condition(c)) endfunction function obr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function oBr takes integer VFx returns integer set z0v[VFx]=true set z1v[VFx]=false call V1x(ztv) return VFx endfunction function ocr takes nothing returns integer local integer VFx if(zYv==8190)then call Vmx("Rune_Allocation_allocCustom","call DebugEx(Rune.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",zTv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(zzv[(w)]==w)then set zZv=zZv+1 set VFx=zZv else +set VFx=zzv[(w)] +set zzv[(w)]=zzv[zzv[(w)]] endif set zzv[VFx]=Z set z_v[VFx]=1 call oBr(VFx) return VFx endfunction function oCr takes integer VFx returns nothing set z0v[VFx]=false call EEx(ztv) endfunction function odr takes integer VFx returns nothing if(z_v[VFx]>0)then return endif if(zzv[VFx]!=Z)then call Vmx("Rune_Allocation_deallocCustom_confirm","call DebugEx(Rune.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",zTv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set zzv[VFx]=zzv[(w)] set zzv[(w)]=VFx +call oCr(VFx) endfunction function oDr takes integer VFx returns nothing set z_v[VFx]=z_v[VFx]-1 call odr(VFx) endfunction function ofr takes integer VFx,integer Xrx,integer oFr returns nothing call Xbx(Xrx) call Dsx(oFr,z4v) call DQx(oFr,z5v) call oDr((VFx)) endfunction function ogr takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer oFr=z3v[VFx] call ofr(VFx,Xrx,oFr) call SetWidgetLife(ah[(oFr)],.0) +endfunction function oGr takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) local integer VFx local integer Xrx local integer oFr if((Wk[(Eix)])==w)then return true endif if(zWv0)then +return false +endif set Zzv[ZZv[Zyv]]=Zzv[VFx] set ZZv[Zzv[VFx]-1]=ZZv[Zyv] +set Zzv[VFx]=0 set Zyv=Zyv-1 return(Zyv==F) endfunction function rnr takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((Z_v[(VFx)]))])]))],((((Z0v[((VFx))])))),(((Vgx)))))) endfunction function rVr takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((Z_v[(VFx)]))])]))],((((Z0v[((VFx))])))),(((Vgx)+(VAx))))) endfunction function rEr takes integer VFx,integer Vgx returns integer return(LoadInteger(o[((V[(E[((Z_v[(VFx)]))])]))],((((Z0v[((VFx))])))),(((Vgx))))) endfunction function rXr takes integer VFx returns nothing local integer VBx local integer fIo if(VFx==w)then return endif if not((Zzv[((VFx))])>0)then +return endif call rar(VFx) set VBx=(rnr(((VFx)),Z1v)) loop +exitwhen(VBx0)then +return false +endif set Zyv=Zyv+1 set ZZv[Zyv]=VFx +set Zzv[VFx]=Zyv+1 return(Zyv==0) endfunction function rNr takes integer VFx,integer Vgx returns real return(LoadReal(o[((V[(E[((Z_v[(VFx)]))])]))],((((Z0v[((VFx))])))),(((Vgx))))) endfunction function rbr takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((vxe[(VFx)]))])]))],((((voe[((VFx))])))),(((Vgx)))))) endfunction function rBr takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((vxe[(VFx)]))])]))],((((voe[((VFx))])))),(((Vgx)+(VAx))))) endfunction function rcr takes integer VFx,integer Vgx returns integer return(LoadInteger(o[((V[(E[((vxe[(VFx)]))])]))],((((voe[((VFx))])))),(((Vgx))))) endfunction function rCr takes integer VFx returns integer set vbe[VFx]=true set vBe[VFx]=false call V1x(Zqv) return VFx endfunction function rdr takes nothing returns integer local integer VFx if(vRe==8190)then call Vmx("FolderSpawn_StructQueue_Allocation_allocCustom","call DebugEx(FolderSpawn_StructQueue.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",ZQv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(vIe[(w)]==w)then set vAe=vAe+1 set VFx=vAe else +set VFx=vIe[(w)] +set vIe[(w)]=vIe[vIe[(w)]] endif set vIe[VFx]=Z set vNe[VFx]=1 call rCr(VFx) return VFx endfunction function rDr takes integer VFx returns boolean return(vFe==VFx)or((vge[VFx]!=w)or(vGe[VFx]!=w)) +endfunction function rfr takes integer VFx returns boolean if rDr(VFx)then return false +endif set vGe[VFx]=w if(vFe==w)then set vhe=VFx set vFe=VFx return true endif set vge[VFx]=vhe +set vGe[vhe]=VFx +set vhe=VFx return false +endfunction function rFr takes nothing returns integer local integer VFx=vFe if(VFx==w)then return w +endif set vFe=vGe[VFx] +set vGe[VFx]=w if(vFe==w)then set vhe=w else +set vge[vFe]=w endif return VFx endfunction function rgr takes integer VFx returns nothing set vbe[VFx]=false call EEx(Zqv) endfunction function rGr takes integer VFx returns nothing if(vNe[VFx]>0)then return endif if(vIe[VFx]!=Z)then call Vmx("FolderSpawn_StructQueue_Allocation_deallocCustom_confirm","call DebugEx(FolderSpawn_StructQueue.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",ZQv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set vIe[VFx]=vIe[(w)] set vIe[(w)]=VFx +call rgr(VFx) endfunction function rhr takes integer VFx returns nothing set vNe[VFx]=vNe[VFx]-1 call rGr(VFx) endfunction function rHr takes integer csx returns nothing local integer VFx=(vje[(GetRandomInt(((0)),((vJe))))]) call Cpo(csx,vke[VFx]) endfunction function rjr takes integer VFx,integer V7x,integer V8x returns integer return(0+(LoadInteger(o[((V[(E[((vLe[VFx]))])]))],((((vle[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))))))) endfunction function rJr takes integer VFx,integer V7x,integer V8x,integer VAx returns integer return(LoadInteger(o[((V[(E[((vLe[VFx]))])]))],((((vle[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))+(VAx))))) endfunction function rkr takes integer V7x,integer b3x returns nothing local integer Eix=V4x(0) +local integer Ddx local integer VBx local integer V8x local integer EBx set vKe[(Eix)]=(V7x) +set Vv[(Eix)]=(b3x) set Ddx=V4x((vle[(V7x)])) set vKe[(Ddx)]=(V7x) +set Vv[(Ddx)]=(b3x) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((Se))),((((1+8192*((((eEv))-1)*Iv+(((V8x))-1))))))))) +loop +exitwhen(EBx0)then +return false +endif if not(IsUnitType(C[(((VFx)))],(UNIT_TYPE_DEAD)))then return false +endif set ivr=(IsUnitType(C[(((VFx)))],(UNIT_TYPE_STRUCTURE))) +set ier=(ze[((VFx))]) call sTx(Vm,ier) +call jfx(Vm,dxx((VFx))) call jFx(Vm,dox((VFx))) call UnitAddType(C[(((VFx)))],(UNIT_TYPE_TAUREN)) call UnitShareVision(C[(VFx)],vx[ier],true) set Vtx=(IssueImmediateOrderById(nm[((Vm))],md[(N8)])) call sTx(Vm,W1) call UnitRemoveType(C[(((VFx)))],(UNIT_TYPE_TAUREN)) +if Vtx then if ivr then call ShowUnit(C[(VFx)],false) endif set dav[(VFx)]=(false) call DSo((VFx),tf) if ivr then call ShowUnit(C[(VFx)],true) +endif call GIx((VFx),(Jk[((VFx))])) call Umo((VFx)) return true endif return false +endfunction function ixr takes nothing returns nothing local integer r0r=r8r() local integer VFx=r0r if(v_e==w)then call XNx(vze) endif call ShowUnit(C[r0r],true) call r9r(r0r) call SetUnitPosition(C[((r0r))],(((GetUnitX(C[((eHv))])))*1.),(((GetUnitY(C[((eHv))])))*1.)) +call hxx(r0r,B8,(GetUnitX(C[((vYe[VFx]))])),(GetUnitY(C[((vYe[VFx]))]))) +call eCr(r0r,60.) endfunction function ior takes nothing returns boolean local integer Eix=(bv) local integer r0r=(Vv[(Eix)]) local integer VFx=r0r call Sgo(Sjo((GetUnitX(C[((r0r))])),(GetUnitY(C[((r0r))])),"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl",EV)) +call SetUnitPosition(C[((r0r))],(((GetUnitX(C[((eHv))])))*1.),(((GetUnitY(C[((eHv))])))*1.)) +call ShowUnit(C[r0r],false) if r7r(r0r)then call Xax(vze,1.25,true,function ixr) +endif return true endfunction function irr takes integer VFx returns boolean if((FHv[((VFx))])>0)then +return false +endif set FJv=FJv+1 set Fjv[FJv]=VFx +set FHv[VFx]=FJv+1 return(FJv==0) endfunction function iir takes nothing returns nothing local integer VBx=Flv loop +exitwhen(VBx<0) set v4e[VBx]=FKv[VBx] set VBx=VBx-1 endloop set v5e=Flv endfunction function iar takes nothing returns integer local integer Vtx if(v5e<0)then return w +endif set Vtx=v4e[0] set v4e[0]=v4e[v5e] set v5e=v5e-1 return Vtx endfunction function inr takes integer VFx returns nothing local integer ENx=VFx local integer Eix=V4x((A[(ENx)])) local integer VBx local integer V8x local integer EBx set Vv[(Eix)]=(VFx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=V6x(ENx,FMv,V8x) +loop +exitwhen(EBx0)then +if(HCx((VFx))==w)then call inr(VFx) else +call gto(VFx) call gTo(VFx) endif else +if(HCx((VFx))==w)then call gwo(VFx) call gWo(VFx) endif endif endloop endfunction function iEr takes integer VFx,integer N8x returns nothing if EHx((VFx),Fhv,N8x)then call CMx((VFx),FGv) call irr(VFx) if not Cmx((VFx),tf)then +if gUo(VFx)then call Xax(FLv,.75,true,function iVr) endif endif endif call CMx((VFx),N8x) endfunction function iXr takes nothing returns boolean local integer Eix=(bv) local integer r0r=(Vv[(Eix)]) local integer Bdx=v3e local integer VFx=r0r set vYe[VFx]=Bdx +call CMx(r0r,vTe) call CMx(r0r,vZe) call iEr(r0r,vye) call Ejx(Bdx,vwe,VFx) call CMx(Bdx,vUe) call CMx(Bdx,vWe) return true endfunction function iOr takes integer VFx returns boolean local integer cix local integer cax if(r6r(VFx)==false)then return false +endif if(v_e==VFx)then +call r8r() return(v_e==w) endif set cix=v1e[VFx] +set cax=v0e[VFx] +if(cax!=w)then set v0e[VFx]=w set v1e[cax]=cix +endif if(cix==w)then set v2e=cax else +set v1e[VFx]=w set v0e[cix]=cax +endif return(v_e==w) endfunction function iRr takes nothing returns boolean local integer Eix=(bv) local integer r0r=(Vv[(Eix)]) local integer VFx=r0r local integer Bdx=vYe[VFx] call cEx(r0r,vTe) call cEx(r0r,vZe) call gso(r0r,vye) call V0x(Bdx,vwe) call cEx(Bdx,vUe) call cEx(Bdx,vWe) if iOr(r0r)then call XNx(vze) endif return true endfunction function iIr takes nothing returns nothing set vTe=Nlx("FolderSpawn_StructShadow_Init: set FolderSpawn_StructShadow.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EDIT_EVENT_TYPE, EventPriority.MISC, function FolderSpawn_StructShadow.Event_Damage)",gRv,iB,function r_r) set vUe=Nlx("FolderSpawn_StructShadow_Init: set FolderSpawn_StructShadow.DEATH_EVENT = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.MISC, function FolderSpawn_StructShadow.Event_Death)",zu,iB,function r3r) set vWe=Nlx("FolderSpawn_StructShadow_Init: set FolderSpawn_StructShadow.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.MISC, function FolderSpawn_StructShadow.Event_Destroy)",TC,iB,function r4r) +set vye=Nlx("FolderSpawn_StructShadow_Init: set FolderSpawn_StructShadow.IDLE_EVENT = Event.Create(UNIT.Order.Events.Idle.START_EVENT_TYPE, EventPriority.MISC, function FolderSpawn_StructShadow.Event_Idle)",Fpv,iB,function r5r) set vze=E5x() set vZe=Nlx("FolderSpawn_StructShadow_Init: set FolderSpawn_StructShadow.SHADOW_DEATH_EVENT = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.MISC, function FolderSpawn_StructShadow.Event_ShadowDeath)",zu,iB,function ior) +call Ufx(Zsv,Nlx("FolderSpawn_StructShadow_Init: call FolderSpawn_StructShadow.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.MISC, function FolderSpawn_StructShadow.Event_BuffGain))",dg,iB,function iXr)) call Ufx(Zsv,Nlx("FolderSpawn_StructShadow_Init: call FolderSpawn_StructShadow.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.MISC, function FolderSpawn_StructShadow.Event_BuffLose))",Hf,iB,function iRr)) endfunction function iAr takes integer VFx,integer Vgx returns integer return(LoadInteger(o[((V[(E[((Jt[(VFx)]))])]))],((((Pt[((VFx))])))),(((Vgx))))) endfunction function iNr takes integer VMx returns integer return iAr(VMx,v7e) endfunction function ibr takes integer VFx returns integer set exe[VFx]=true set eoe[VFx]=false call V1x(ZXv) return VFx endfunction function iBr takes nothing returns integer local integer VFx if(v8e==8190)then call Vmx("SpawnLocation_Allocation_allocCustom","call DebugEx(SpawnLocation.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",ZOv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(v9e[(w)]==w)then set eve=eve+1 set VFx=eve else +set VFx=v9e[(w)] +set v9e[(w)]=v9e[v9e[(w)]] endif set v9e[VFx]=Z set eee[VFx]=1 call ibr(VFx) return VFx endfunction function icr takes integer VFx returns boolean set eie=eie+1 set eae[eie]=VFx +set ene[VFx]=eie+1 return(eie==0) endfunction function iCr takes integer VMx returns integer local integer idr=iNr(VMx) local real x=(Kt[(VMx)]) +local real y=(lt[(VMx)]) +local integer iDr=(efv[(idr)]) local integer VFx=iBr() set vie[VFx]=(Atan2(((UJx(iDr)-y)*1.),((Ujx(iDr)-x)*1.))) set vae[VFx]=(Lt[(VMx)]) +set vne[VFx]=(mt[(VMx)]) +set vVe[VFx]=(Mt[(VMx)]) +set vEe[VFx]=(pt[(VMx)]) +set ere=ere+1 call icr(VFx) return VFx endfunction function ifr takes nothing returns nothing set v6e=iCr(U8x(go)) +set eVe=iCr(U8x(Ho)) +set eEe=iCr(U8x(jo)) +endfunction function iFr takes nothing returns boolean local integer Eix=(bv) local integer V7x=(vKe[(Eix)]) local integer b3x=(Vv[(Eix)]) call dBo(b3x,.25) call EMx((b3x),(J1v),(2)) return true endfunction function igr takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((eRe[(VFx)]))])]))],((((vle[((VFx))])))),(((Vgx)))))) endfunction function iGr takes integer VFx returns integer return igr((VFx),eIe) endfunction function ihr takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((eRe[(VFx)]))])]))],((((vle[((VFx))])))),(((Vgx)+(VAx))))) endfunction function iHr takes integer VFx,integer VAx returns integer return ihr((VFx),eIe,VAx) endfunction function ijr takes nothing returns boolean local integer Eix=(bv) local integer V7x=(vKe[(Eix)]) local integer b3x=(Vv[(Eix)]) local integer VFx=V7x local integer VBx=iGr(VFx) loop +exitwhen(VBx0)then return(a/ b+1) endif return(a/ b) +endfunction function acr takes string v2r,string Vhx returns integer +local integer Vtx=(yJo(l5)) set v2r=Xhx(v2r,"ffffcc00") set L7=L7+1 call tTx(l5,Vtx,L5,v2r) call tTx(l5,Vtx,M5,Vhx) set K5[L7]=Vtx set p7[Vtx]=L7 set m5[L7]=v2r set p5[L7]=Vhx return Vtx endfunction function aCr takes integer Fvx returns integer local integer VFx=Fvx set h5[VFx]=false set P7[VFx]=-1 set G5[VFx]=Fvx set m7[VFx]=F set P5[VFx]=F call yno((l5),(Fvx)) +call uRx(VFx,40) +return VFx endfunction function adr takes nothing returns boolean local integer Eix=(bv) call aCr((ax[(Eix)])) return true endfunction function aDr takes nothing returns nothing local integer VFx=((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetLocalPlayer())))))),((((R))))))) if not h5[VFx]then return endif call uRx(VFx,P7[VFx]) endfunction function afr takes nothing returns boolean local integer Eix=(bv) set l5=yjo() +set L5=yLo(l5) set M5=yLo(l5) set q7=aBr(UR,30)-1 set M7=acr("Page","") set Q7=(X5[(l5)])+2 call uXx(l5,L5,.2) call uXx(l5,M5,.05) call yko((l5),("StructInfo")) call jex(Nlx("StructInfo_Event_Start: call Event.Create(AfterIntro.FOR_PLAYER_EVENT_TYPE, EventPriority.MISC, function StructInfo.Event_AfterIntro).AddToStatics()",lLv,iB,function adr)) set xKe=E5x() call Xax(xKe,1.,true,function aDr) return true endfunction function aFr takes nothing returns boolean call jex(Nlx("StructInfo_Init: call Event.Create(EventType.START, EventPriority.MISC, function StructInfo.Event_Start).AddToStatics()",KR,iB,function afr)) return true endfunction function agr takes nothing returns boolean call PTo(function aFr,"StructInfo_Init") +return true endfunction function aGr takes nothing returns boolean set xle=LBo('uTav') call Lco(((xle)),CPv,(cjv)) set vm[(xle)]=((2)*1.) set div[(xle)]=(('x')*1.) set dsv[(xle)]=((60)*1.) +set c5v[(xle)]=((0)*1.) set Crv[(xle)]=(3) set djv[(xle)]=((150000.)*1.) set dHv[(xle)]=((150000.)*1.) set dGv[(xle)]=((0)*1.) set dRv[(xle)]=((500)*1.) set dXv[(xle)]=((500)*1.) set Csv[(xle)]=((0)*1.) set CSv[(xle)]=((0)*1.) set CUv[(xle)]=(0) set Cyv[(xle)]=(0) call LFo((xle),(j2v),1) return true endfunction function ahr takes nothing returns boolean call IGx(yE,(function aGr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Tavern.page\\Tavern.struct\\obj_shop_wc3unit.j")) return true endfunction function aHr takes nothing returns boolean set xLe=Idx(xme) +return true endfunction function ajr takes nothing returns boolean set xMe=x6o('BTrR',"Tropical Rainbow",'bTrR') set OOv[(xMe)]=(true) set v_v[(xMe)]=(true) set ORv[(xMe)]=("ReplaceableTextures\\CommandButtons\\BTNSnazzyPotion.blp") call Urx(xMe,"Abilities\\Spells\\Orc\\EtherealForm\\SpiritWalkerChange.mdl","head",EV) set v2v=UEx() call URx(v2v,gGv,.2) +call URx(v2v,NHv,.5) +call URx(v2v,Alv,.5) +call URx(v2v,exv,.2) +call URx(v2v,ALv,.2) +call UXx(((v2v)),ff,(Rvo(cd,0,-$80,-64,0))) call UIx(((xMe)),YD+(1),(v2v)) return true endfunction function aJr takes nothing returns boolean set xpe=suo('ITrR') call sUo(((xpe)),gh,(xY)) set fh[(xpe)]=(1) set Pbv[(xpe)]=("ReplaceableTextures\\CommandButtons\\BTNSnazzyPotion.blp") call sWo((xpe),(xPe),1) return true endfunction function akr takes nothing returns boolean call scx('ATrR',false) set xPe=s2o('ATrR') set orv[(xPe)]=(x9v) +set onv[(xPe)]=(1) set Zl[(xPe)]=("Tropical Rainbow") set PK[(xPe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0084)))),(((FL)))))) set Vnv[(xPe)]=(0) set n9v[(xPe)]=("spell") +call s3o((xPe),Ll+(1),((60)*1.)) +call s3o((xPe),Pkv+(1),((750)*1.)) return true endfunction function aKr takes nothing returns boolean call IGx(tE,(function ajr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Tavern.page\\Tavern.struct\\TropicalRainbow.page\\TropicalRainbow.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(WE,(function aJr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Tavern.page\\Tavern.struct\\TropicalRainbow.page\\TropicalRainbow.struct\\obj_thisItem_wc3item.j")) call IGx(UE,(function akr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Tavern.page\\Tavern.struct\\TropicalRainbow.page\\TropicalRainbow.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function alr takes nothing returns boolean set xqe=Idx(xQe) +return true endfunction function aLr takes nothing returns boolean local integer Eix=(bv) call d9x(((Vv[(Eix)])),(xMe),((Mv[(Eix)])),w,((xse)*1.)) +return true endfunction function amr takes nothing returns boolean call Sao(xPe,Nlx("TropicalRainbow_Init: call TropicalRainbow.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TropicalRainbow.Event_SpellEffect))",kK,VB,function aLr)) return true endfunction function aMr takes nothing returns boolean call uqo(function amr,"TropicalRainbow_Init") return true endfunction function apr takes nothing returns boolean set xSe=suo('IToA') call sUo(((xSe)),gh,(xY)) return true endfunction function aPr takes nothing returns boolean call IGx(WE,(function apr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Tomes.page\\Tomes.struct\\Agi\\obj_thisItem_wc3item.j")) +return true endfunction function aqr takes nothing returns boolean set xte=Idx(xTe) +return true endfunction function aQr takes nothing returns boolean set xue=suo('IToI') call sUo(((xue)),gh,(xY)) return true endfunction function asr takes nothing returns boolean call IGx(WE,(function aQr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Tomes.page\\Tomes.struct\\Int\\obj_thisItem_wc3item.j")) +return true endfunction function aSr takes nothing returns boolean set xUe=Idx(xwe) +return true endfunction function atr takes nothing returns boolean set xWe=suo('IToS') call sUo(((xWe)),gh,(xY)) return true endfunction function aTr takes nothing returns boolean call IGx(WE,(function atr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Misc\\Tomes.page\\Tomes.struct\\Str\\obj_thisItem_wc3item.j")) +return true endfunction function aur takes nothing returns boolean set xye=Idx(xYe) +return true endfunction function aUr takes nothing returns boolean set xze=Idx(xZe) +return true endfunction function awr takes nothing returns boolean local integer Eix=(bv) local integer aWr=(Nv) local integer b3x=(Vv[(Eix)]) local integer VFx=QHx(aWr,x_e) local integer hEx=VFx call fnx(CreateItem(kh[(hEx)],(((GetUnitX(C[((b3x))])))*1.),(((GetUnitY(C[((b3x))])))*1.))) return true endfunction function ayr takes integer VFx returns boolean if((x0e[((VFx))])>0)then +return false +endif set vJe=vJe+1 set vje[vJe]=VFx +set x0e[VFx]=vJe+1 return(vJe==0) endfunction function aYr takes integer hEx,code NKx returns nothing local integer VFx=hEx local integer aWr=Nlx("Tomes_Create: local Event dropEvent = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.MISC, function Tomes.Event_Drop)",zu,iB,function awr) set vke[VFx]=u0o(aWr,null,null,w) call TRx(aWr,x_e,VFx) call Tno(hEx,Nlx("Tomes_Create: call whichItem.Event.Add(Event.Create(UNIT.Items.Events.Use.DUMMY_EVENT_TYPE, EventPriority.MISC, action))",xl,iB,NKx)) call ayr(VFx) endfunction function azr takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call cdx((C1x((b3x),(x1e),(x2e),(EV)))) call F2x(b3x,1) return true endfunction function aZr takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call cdx((C1x((b3x),(x3e),(x4e),(EV)))) call gQx(b3x,1) return true endfunction function a_r takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) call cdx((C1x((b3x),(x5e),(x6e),(EV)))) call GWx(b3x,1) return true endfunction function a0r takes nothing returns boolean call aYr(xSe,function azr) call aYr(xue,function aZr) call aYr(xWe,function a_r) return true endfunction function a1r takes nothing returns boolean call lex(function a0r,"Tomes_Init") return true endfunction function a2r takes nothing returns boolean set x7e=Idx(x8e) +return true endfunction function a3r takes nothing returns boolean local integer Eix=(bv) local integer a4r=bXx((0)) local integer V7x local integer b3x local integer VFx if(a4r==w)then return true endif set V7x=(frv[(Eix)]) +set b3x=(Vv[(Eix)]) call box(a4r,(GetUnitX(C[((b3x))]))+t8o(b3x,true),(GetUnitY(C[((b3x))]))+t9o(b3x,true),drx(b3x)+bZx(b3x,true)) call bix(a4r) call bRx(a4r,XQx((GetObjectName(cmv[(V7x)])),"ff77ffff","ff00bfff"),lC*1.15) +set VFx=b3x set ove[VFx]=a4r +call CMx(b3x,oee) return true endfunction function a5r takes nothing returns boolean local integer Eix=(bv) local integer b3x=(Vv[(Eix)]) local integer VFx=b3x local integer a4r=ove[VFx] call cEx(b3x,oee) call bLx(a4r) return true endfunction function a6r takes nothing returns boolean set x9e=Nlx("UnitNameTag_Init: set UnitNameTag.CREATE_EVENT = Event.Create(Unit.CREATE_EVENT_TYPE, EventPriority.MISC, function UnitNameTag.Event_Create)",cLv,iB,function a3r) set oee=Nlx("UnitNameTag_Init: set UnitNameTag.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.MISC, function UnitNameTag.Event_Destroy)",TC,iB,function a5r) call YMo((qRv),x9e) call YMo((uPv),x9e) call YMo((ySv),x9e) call YMo((t7v),x9e) call YMo((xle),x9e) return true endfunction function a7r takes nothing returns boolean call lex(function a6r,"UnitNameTag_Init") return true endfunction function a8r takes nothing returns boolean set oxe=Idx(ooe) +return true endfunction function a9r takes nothing returns boolean local integer Eix=(bv) if E6x((ax[(Eix)]))then set oie=(aL[(Eix)]) endif return true endfunction function nvr takes nothing returns boolean local integer Eix=(bv) call yno((oae),((ax[(Eix)]))) return true endfunction function ner takes integer VFx,integer N8x returns nothing if jgo((VFx),Fvv+N8x,1)then call Fvo(VFx,N8x,false) endif endfunction function nxr takes integer VFx,integer N8x returns nothing if Cpx((VFx),Fvv+N8x,1)then if EHx((VFx),f9v,N8x)then call CMx((VFx),f8v) endif call CMx((VFx),N8x) endif endfunction function nor takes real a,real b,real c returns real +if(b==0)then +return c +endif return(a*1./ b) endfunction function nrr takes integer Vxx,integer b3x returns nothing local integer zXo=(KZv[(Vxx)]-1) +if(one[Vxx]!=w)then call ner(b3x,ore) endif if E6x(Vxx)then set oie=w endif set one[zXo]=b3x +if(b3x==w)then return endif call nxr(b3x,ore) set oVe=nor((jk[(b3x)]),(Jk[(b3x)]),.0) set oEe=nor((iJ[(b3x)]),(aJ[(b3x)]),.0) set oXe=nor((dPv[(b3x)]),(dpv[(b3x)]),.0) endfunction function nir takes nothing returns boolean local integer Eix=(bv) local integer Vxx=(ax[(Eix)]) local integer b3x=(Vv[(Eix)]) if(Bhx(b3x,Vxx)==0)then set b3x=(kv[(Vxx)]) if(b3x!=w)then if Cmx(b3x,tf)then set b3x=(Snv[(Vfx((b3x),SIv))]) endif call nrr(Vxx,b3x) endif else +call nrr(Vxx,Blx(b3x,Vxx,q)) +endif return true endfunction function nar takes real nnr,real nVr,integer Txx returns string local string P3o +local string Vtx +if(nVr<0)then set P3o="ffff0000" elseif(nVr>0)then set P3o="ff00ff00" else +set P3o=null +endif if(Txx==0)then set Vtx=(I2S(((R2I(((((nnr)*1.))*1.)))))) else +set Vtx=Tex(nnr,Txx) +endif return Xhx(Vtx,P3o) endfunction function nEr takes integer b3x returns nothing call tTx(oae,oOe,oRe,"Armor: ") call tTx(oae,oOe,oIe,nar((c2v[(b3x)]),(c3v[(b3x)]),1)) endfunction function nXr takes integer b3x returns nothing call tTx(oae,oAe,oRe,"Attack speed: ") call tTx(oae,oAe,oIe,nar((cj[(b3x)]),(Cj[(b3x)]),3)) +endfunction function nOr takes integer b3x,integer QRo returns nothing local real nVr=(ik[(b3x)]) call tTx(oae,oNe,oRe,"Damage: ") +call tTx(oae,oNe,oIe,nar((rk[(b3x)])+(CUv[(QRo)]),nVr,0)+" - "+nar((rk[(b3x)])+(CUv[(QRo)])*(Cyv[(QRo)]),nVr,0)) +endfunction function nRr takes boolean Xjx,string Vdx,string nIr returns string if Xjx then return Vdx endif return nIr endfunction function nAr takes integer b3x returns nothing local real nNr=(Jk[(b3x)]) local real Vhx local real DEo local integer nbr if(nNr<1.)then set nNr=1. endif set Vhx=(jk[(b3x)]) set DEo=Vhx*1./ nNr set DEo=oVe+(DEo-oVe)*obe set oVe=DEo set nbr=(R2I(((DEo*30)*1.))) +call tTx(oae,oBe,oRe,Xhx(t7x("l",nbr),nRr(DEo>.5,Xmx(2.-2.*DEo,1.,.0,1.),Xmx(1.,DEo*2.,.0,1.)))+Xhx(t7x("l",30-nbr),"ff000000")) +call tTx(oae,oBe,oIe,(I2S(((R2I(((((Vhx)*1.))*1.))))))+"/"+(I2S(((R2I(((((nNr)*1.))*1.))))))) endfunction function nBr takes integer b3x returns nothing call tTx(oae,oce,oRe,"Life reg.: ") call tTx(oae,oce,oIe,nar((dk[(b3x)]),(vK[(b3x)]),2)) +endfunction function ncr takes integer b3x returns nothing local real nNr=(aJ[(b3x)]) local real Vhx local real DEo local integer nbr if(nNr<1.)then set nNr=1. endif set Vhx=(iJ[(b3x)]) set DEo=Vhx*1./ nNr set DEo=oEe+(DEo-oEe)*obe set oEe=DEo set nbr=(R2I(((DEo*40)*1.))) +call tTx(oae,oCe,oRe,Xhx(t7x("l",nbr),Xmx(E9x(DEo,.5),.0,E9x(DEo,.5),1.))+Xhx(t7x("l",30-nbr),"ff000000")) call tTx(oae,oCe,oIe,(I2S(((R2I(((((Vhx)*1.))*1.))))))+"/"+(I2S(((R2I(((((nNr)*1.))*1.))))))) endfunction function nCr takes integer b3x returns nothing call tTx(oae,ode,oRe,"Mana reg.: ") call tTx(oae,ode,oIe,nar((Yj[(b3x)]),(EJ[(b3x)]),2)) +endfunction function ndr takes integer b3x returns nothing local real Vhx=(dKv[(b3x)]) local real nDr=dno(b3x,Vhx) local string nfr=nar(Vhx,(dMv[(b3x)]),0) +if(nDr!=Vhx)then +set nfr=nfr+" ("+Xhx((I2S(((R2I(((((nDr)*1.))*1.)))))),"ffffcc00")+")" endif call tTx(oae,oDe,oRe,"Move speed: ") +call tTx(oae,oDe,oIe,nfr) endfunction function nFr takes integer b3x returns nothing call tTx(oae,oFe,oRe,"Spell power: ") call tTx(oae,oFe,oIe,nar((FJ[(b3x)]),(fJ[(b3x)]),0)) +endfunction function ngr takes integer b3x returns nothing local real nNr=(dpv[(b3x)]) local real Vhx local real DEo local integer nbr if(nNr<1.)then set nNr=1. endif set Vhx=(dPv[(b3x)]) +set DEo=Vhx*1./ nNr set DEo=oXe+(DEo-oXe)*obe set oXe=DEo set nbr=(R2I(((DEo*40)*1.))) +call tTx(oae,oge,oRe,Xhx(t7x("l",nbr),Xmx(E9x(.7,DEo),E9x(.7,DEo),.0,1.))+Xhx(t7x("l",30-nbr),"ff000000")) call tTx(oae,oge,oIe,(I2S(((R2I(((((Vhx)*1.))*1.))))))+"/"+(I2S(((R2I(((((nNr)*1.))*1.))))))) endfunction function nGr takes integer b3x returns nothing call tTx(oae,oGe,oRe,"Stamina reg.: ") call tTx(oae,oGe,oIe,nar((DIv[(b3x)]),(DOv[(b3x)]),2)) endfunction function nhr takes integer VFx returns integer local integer VBx=(Bex(((VFx)),zd)) local integer Vtx=0 loop +exitwhen(VBxVUx) set njr=(Bxx(((VFx)),zd,(VBx))) if not(xG[(njr)])then set SKo=SKo+1 if(SKo==VAx)then +return njr endif endif set VBx=VBx+1 endloop return w +endfunction function nJr takes integer b3x returns nothing local integer VUx=nhr(b3x) local integer VBx=ohe local integer cSx loop +exitwhen(VBx<=VUx) call W4o(oae,oHe,oIe+VBx,null) call uEx(oae,oHe,oIe,.0) +set VBx=VBx-1 endloop set ohe=VUx call tTx(oae,oHe,oRe,"Status: ") +loop +exitwhen(VBx0)then +return endif set VFx=b3x set edv[VFx]=ENx +call Ukx(b3x) endfunction function n7r takes nothing returns boolean local integer VFx=n5r((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetTriggeringRegion())))))),((((S9v)))))),v7e) call n6r(VFx,w8x()) return true endfunction function n8r takes integer VMx,integer cix returns integer local integer VFx=n2r() local integer n9r=wno(VMx) set efv[(VFx)]=(cix) +set ejv[(VFx)]=(VMx) +call n3r(VMx,v7e,VFx) call n4r(n9r,v7e,VFx) call TriggerRegisterEnterRegion(UB[((NSx(function n7r)))],gqv[(n9r)],Condition((null))) return VFx endfunction function Vvr takes nothing returns boolean local integer b3x=w8x() if((ze[(b3x)])!=lvv)then +return true endif call jGx((b3x),(o0e),(1),w) return true endfunction function Ver takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx call dpx(csx,o0e) call d9x(((csx)),(oPe),(1),w,((o2e)*1.)) +call Ukx(csx) endfunction function Vxr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer Xrx=E5x() set o1e[VFx]=Xrx +set ge[(Xrx)]=(VFx) call Xax(Xrx,3.,false,function Ver) return true endfunction function Vor takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer Xrx=o1e[VFx] call Xbx(Xrx) return true endfunction function Vrr takes nothing returns nothing endfunction function Vir takes nothing returns nothing local integer Var=wro() call wao(Var,U8x(lo)) call wao(Var,U8x(Lo)) call wao(Var,U8x(mo)) call TriggerRegisterLeaveRegion(UB[((NSx(function Vvr)))],gqv[(Var)],Condition((null))) set o0e=u9x(oSe) +call Ufx(o0e,Nlx("FolderWaypoint_StructRegionCheck_Init: call FolderWaypoint_StructRegionCheck.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.MISC, function FolderWaypoint_StructRegionCheck.Event_BuffGain))",dg,iB,function Vxr)) call Ufx(o0e,Nlx("FolderWaypoint_StructRegionCheck_Init: call FolderWaypoint_StructRegionCheck.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.MISC, function FolderWaypoint_StructRegionCheck.Event_BuffLose))",Hf,iB,function Vor)) set sf[(o0e)]=(true) +set iG[(o0e)]=(true) +call Urx(o0e,"Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl","overhead",EV) call Vrr() endfunction function Vnr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) call cEx(csx,o3e) call cEx(csx,o4e) return true endfunction function VVr takes nothing returns boolean local integer Eix=(bv) call Ukx((Vv[(Eix)])) return true endfunction function VEr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),o6e) return true endfunction function VXr takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(o6e),(1),w) return true endfunction function VOr takes nothing returns nothing local integer VBx=o8e loop +exitwhen(VBx<0) set o9e[VBx]=rve[VBx] set VBx=VBx-1 endloop set ree=o8e endfunction function VRr takes nothing returns integer local integer Vtx if(ree<0)then return w +endif set Vtx=o9e[0] set o9e[0]=o9e[ree] set ree=ree-1 return Vtx endfunction function VIr takes nothing returns boolean local integer Eix=(bv) local integer VFx local integer csx set eDv=true +call VOr() loop +set VFx=VRr() exitwhen(VFx==w) +set csx=VFx call dpx(csx,o6e) call Egx(csx,'Awan') +if(Cmx(csx,tf)==false)then call SetUnitAnimation(C[((csx))],("victory")) call QueueUnitAnimation(C[((csx))],("spell")) endif endloop return true endfunction function VAr takes integer VFx returns boolean if((o_e[((VFx))])>0)then +return false +endif set o8e=o8e+1 set rve[o8e]=VFx +set o_e[VFx]=o8e+1 return(o8e==0) endfunction function VNr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx set edv[VFx]=w call CMx(csx,o3e) call CMx(csx,o4e) if not eDv then call iEr(csx,o5e) endif call VAr(csx) return true endfunction function Vbr takes integer VFx returns boolean if not((o_e[((VFx))])>0)then +return false +endif set o_e[rve[o8e]]=o_e[VFx] set rve[o_e[VFx]-1]=rve[o8e] +set o_e[VFx]=0 set o8e=o8e-1 return(o8e==F) endfunction function VBr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) call gso(csx,o5e) call Vbr(csx) return true endfunction function Vcr takes nothing returns nothing set o3e=Nlx("FolderWaypoint_StructSpawns_Init: set FolderWaypoint_StructSpawns.DESTROY_EVENT = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.MISC, function FolderWaypoint_StructSpawns.Event_Destroy)",zu,iB,function Vnr) +set eDv=false set o5e=Nlx("FolderWaypoint_StructSpawns_Init: set FolderWaypoint_StructSpawns.IDLE_EVENT = Event.Create(UNIT.Order.Events.Idle.INTERVAL_EVENT_TYPE, EventPriority.MISC, function FolderWaypoint_StructSpawns.Event_Idle)",FMv,iB,function VVr) set o4e=Nlx("FolderWaypoint_StructSpawns_Init: set FolderWaypoint_StructSpawns.OWNER_CHANGE_EVENT = Event.Create(UNIT.Owner.DUMMY_EVENT_TYPE, EventPriority.MISC, function FolderWaypoint_StructSpawns.Event_OwnerChange)",nx,iB,function VEr) set o7e=Nlx("FolderWaypoint_StructSpawns_Init: set FolderWaypoint_StructSpawns.SPAWN_EVENT = Event.Create(Spawn.DUMMY_EVENT_TYPE, EventPriority.MISC, function FolderWaypoint_StructSpawns.Event_Spawn)",eEv,iB,function VXr) call jex(Nlx("FolderWaypoint_StructSpawns_Init: call Event.Create(Meteorite.GAME_OVER_EVENT_TYPE, EventPriority.MISC, function FolderWaypoint_StructSpawns.Event_GameOver).AddToStatics()",L6v,iB,function VIr)) +call jex(o7e) set o6e=u9x(oTe) +call Ufx(o6e,Nlx("FolderWaypoint_StructSpawns_Init: call FolderWaypoint_StructSpawns.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderWaypoint_StructSpawns.Event_BuffGain))",dg,VB,function VNr)) call Ufx(o6e,Nlx("FolderWaypoint_StructSpawns_Init: call FolderWaypoint_StructSpawns.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderWaypoint_StructSpawns.Event_BuffLose))",Hf,VB,function VBr)) endfunction function VCr takes nothing returns boolean set Sav=n8r(U8x(Go),w) call n8r(U8x(go),w) call n8r(U8x(Ho),w) call n8r(U8x(jo),w) call Vir() call Vcr() return true endfunction function Vdr takes nothing returns boolean call oNr(function VCr,"Waypoint_Init") return true endfunction function VDr takes nothing returns boolean set rxe=Idx(roe) +return true endfunction function Vfr takes integer VFx returns boolean set rne=rne+1 set rVe[rne]=VFx +set rEe[VFx]=rne+1 return(rne==0) endfunction function VFr takes integer VFx returns nothing set rAe[VFx]=false call EEx(gs) +endfunction function Vgr takes integer VFx returns nothing if(rRe[VFx]>0)then return endif if(rIe[VFx]!=Z)then call Vmx("FolderCameraField_StructTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderCameraField_StructTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Gs+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set rIe[VFx]=rIe[(w)] set rIe[(w)]=VFx +call VFr(VFx) endfunction function VGr takes integer VFx returns nothing set rRe[VFx]=rRe[VFx]-1 call Vgr(VFx) endfunction function Vhr takes integer VFx returns boolean local integer VAx=(rNe[(VFx)]) set rNe[rbe[rBe]]=VAx set rbe[VAx-1]=rbe[rBe] set rNe[VFx]=0 set rBe=rBe-1 return(rBe==F) endfunction function VHr takes integer VFx,integer Xrx,integer ENx,integer Vxx returns nothing call VGr((VFx)) call Xbx(Xrx) if Vhr(VFx)then call XNx(Ys) +endif call mLx(Vxx,rOe+ENx) endfunction function Vjr takes integer VFx returns integer set rAe[VFx]=true set rDe[VFx]=false call V1x(gs) +return VFx endfunction function VJr takes nothing returns integer local integer VFx if(rCe==8190)then call Vmx("FolderCameraField_StructTimed_Allocation_allocCustom","call DebugEx(FolderCameraField_StructTimed.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Gs+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(rIe[(w)]==w)then set rde=rde+1 set VFx=rde else +set VFx=rIe[(w)] +set rIe[(w)]=rIe[rIe[(w)]] endif set rIe[VFx]=Z set rRe[VFx]=1 call Vjr(VFx) return VFx endfunction function Vkr takes integer VFx returns boolean set rBe=rBe+1 set rbe[rBe]=VFx +set rNe[VFx]=rBe+1 return(rBe==0) endfunction function VKr takes integer VFx,integer Vxx,real Vhx returns nothing if E6x(Vxx)then set rHe[VFx]=Vhx +call SetCameraField(iS[VFx],Vhx,.0) endif endfunction function Vlr takes nothing returns nothing local integer VBx=rBe local integer VFx local integer ENx local real VLr local real OVx loop +set VFx=rbe[VBx] +set ENx=rfe[VFx] +set VLr=rFe[VFx] +set OVx=(rHe[(ENx)]) +set rFe[VFx]=VLr-1 call VKr(ENx,rhe[VFx],OVx+(rGe[VFx]-OVx)*1./ VLr) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function Vmr takes nothing returns nothing local integer Xrx=XXx() local integer VFx=(ge[(Xrx)]) local integer ENx=rfe[VFx] local real Vhx=rGe[VFx] local integer Vxx=rhe[VFx] call VHr(VFx,Xrx,ENx,Vxx) call VKr(ENx,Vxx,Vhx) endfunction function VMr takes integer VFx,integer Vxx,real Vhx,real Xdx returns nothing +local integer ENx=VFx local integer Xrx set VFx=mKx(Vxx,rOe+ENx) +if(VFx!=w)then call VHr(VFx,rce[VFx],ENx,Vxx) endif set VFx=VJr() set Xrx=E5x() set rce[VFx]=Xrx +set rfe[VFx]=ENx +set rFe[VFx]=Xdx*1./ rge +set rGe[VFx]=Vhx +set rhe[VFx]=Vxx +set ge[(Xrx)]=(VFx) call mPx(Vxx,rOe+ENx,VFx) if Vkr(VFx)then call Xax(Ys,rge,true,function Vlr) endif call Xax(Xrx,Xdx,false,function Vmr) +endfunction function Vpr takes nothing returns nothing local real VPr=(GetCameraTargetPositionX()) local real Vqr=(GetCameraTargetPositionY()) local integer VBx=rne local integer VFx local integer y8o local real VQr loop +set VFx=rVe[VBx] +set y8o=VFx set VQr=C6 set rie[VFx]=VPr +set rae[VFx]=Vqr +call VMr(ES,y8o,VQr,1.) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function Vsr takes nothing returns boolean local integer Eix=(bv) local integer VFx=(ax[(Eix)]) set rie[VFx]=(GetCameraTargetPositionX()) set rae[VFx]=(GetCameraTargetPositionY()) if Vfr(VFx)then call Xax(rre,rXe,true,function Vpr) endif return true endfunction function VSr takes nothing returns boolean set rre=E5x() call jex(Nlx("Zoom_Init: call Event.Create(AfterIntro.FOR_PLAYER_EVENT_TYPE, EventPriority.MISC, function Zoom.Event_AfterIntro).AddToStatics()",lLv,iB,function Vsr)) return true endfunction function Vtr takes nothing returns boolean call PTo(function VSr,"Zoom_Init") return true endfunction function VTr takes nothing returns boolean set rje=Idx(rJe) +return true endfunction function Vur takes code c,string EFx returns nothing +set fX=fX+1 set FX[fX]=CreateTrigger() set gX[fX]=(GetHandleId(Condition((c)))) +set GX[fX]=EFx call TriggerAddCondition(FX[fX],Condition(c)) endfunction function VUr takes integer VFx,integer N8x returns nothing if not((LoadInteger(o[((D[((fiv[VFx]))]))],((((eGv[((VFx))])))),(VGx((((HB[(N8x)]))),(((N8x)))))))!=0)then call Vmx("FolderUnitType_StructEvent_Remove","call DebugEx(\"subject \"+I2S(UnitType(this).Id.Get()) + \" has not \" + whichEvent.GetName())","subject "+I2S((eGv[((VFx))]))+" has not "+(vc[(N8x)])) return endif call VYx(fiv[VFx],(eGv[((VFx))]),(HB[(N8x)]),N8x) endfunction function Vwr takes integer VWr,string Xox,real Xdx returns nothing call XDx(Ge,"ffffcc00"+(GetUnitName(C[(VWr)]))+": "+"|r"+Xox,Xdx) call PingMinimap(((((dxx(VWr))*1.))*1.),((((dox(VWr))*1.))*1.),((((1.)*1.))*1.)) +call AddIndicator(C[(VWr)],($FF),($FF),($FF),($FF)) endfunction function Vyr takes nothing returns boolean local integer Eix=(bv) local integer VYr=(Vv[(Eix)]) call VUr(rKe,rke) call Vwr(VYr,"Let's have some fun, everyone!",2.) call TriggerSleepAction(((2.)*1.)) call Vwr(VYr,"Loot the castle!",1.) return true endfunction function Vzr takes nothing returns boolean set rke=Nlx("AxeFighter_Init: set AxeFighter.ACQUIRES_TARGET_EVENT = Event.Create(UNIT.Attack.Events.DUMMY_EVENT_TYPE, EventPriority.SPEECHES, function AxeFighter.Event_AcquiresTarget)",g3v,nB,function Vyr) set rKe=kov call YMo(rKe,rke) return true endfunction function VZr takes nothing returns boolean call Vur(function Vzr,"AxeFighter_Init") +return true endfunction function V_r takes nothing returns boolean set rle=Idx(rLe) +return true endfunction function V0r takes nothing returns boolean local integer Eix=(bv) local integer VYr=(Vv[(Eix)]) call VUr(rMe,rme) call Vwr(VYr,"Crawl before me, little worms!",2.) call TriggerSleepAction(((1.)*1.)) call Vwr(VYr,"I challenge you!",.75) +call TriggerSleepAction(((1.)*1.)) call Vwr(VYr,"Only the winner shall be the one to survive.",3.) return true endfunction function V1r takes nothing returns boolean set rme=Nlx("Balduir_Init: set Balduir.ACQUIRES_TARGET_EVENT = Event.Create(UNIT.Attack.Events.DUMMY_EVENT_TYPE, EventPriority.SPEECHES, function Balduir.Event_AcquiresTarget)",g3v,nB,function V0r) set rMe=J_v call YMo(rMe,rme) return true endfunction function V2r takes nothing returns boolean call Vur(function V1r,"Balduir_Init") return true endfunction function V3r takes nothing returns boolean set rpe=Idx(rPe) +return true endfunction function V4r takes nothing returns boolean set rqe=Idx(rQe) +return true endfunction function V5r takes nothing returns boolean set rse=Idx(rSe) +return true endfunction function V6r takes nothing returns boolean set rte=Idx(rTe) +return true endfunction function V7r takes nothing returns boolean set rue=Idx(rUe) +return true endfunction function V8r takes nothing returns boolean set rwe=Idx(rWe) +return true endfunction function V9r takes nothing returns boolean set rye=Idx(rYe) +return true endfunction function Evr takes nothing returns boolean set rze=Idx(rZe) +return true endfunction function Eer takes code c,string EFx returns nothing +set hX=hX+1 set HX[hX]=CreateTrigger() set jX[hX]=(GetHandleId(Condition((c)))) +set JX[hX]=EFx call TriggerAddCondition(HX[hX],Condition(c)) endfunction function Exr takes integer VFx returns boolean return( not(Bov[(r3e[VFx])])) endfunction function Eor takes integer VFx returns boolean if((r4e[((VFx))])>0)then +return false +endif set r5e=r5e+1 set r6e[r5e]=VFx +set r4e[VFx]=r5e+1 return(r5e==0) endfunction function Err takes nothing returns nothing local integer VBx=r5e loop +exitwhen(VBx<0) set r8e[VBx]=r6e[VBx] set VBx=VBx-1 endloop set r9e=r5e endfunction function Eir takes nothing returns integer local integer Vtx if(r9e<0)then return w +endif set Vtx=r8e[0] set r8e[0]=r8e[r9e] set r9e=r9e-1 return Vtx endfunction function Ear takes integer VFx,integer V7x,integer V8x returns integer return(0+(LoadInteger(o[((V[(E[((iie[VFx]))])]))],((((ioe[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))))))) endfunction function Enr takes integer VFx,integer V7x,integer V8x,integer VAx returns integer return(LoadInteger(o[((V[(E[((iie[VFx]))])]))],((((ioe[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))+(VAx))))) endfunction function EVr takes integer VFx,integer csx returns nothing local integer ENx=VFx local integer Eix=V4x((ioe[(ENx)])) local integer VBx local integer V8x local integer EBx set ire[(Eix)]=(ENx) +set Vv[(Eix)]=(csx) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=Ear(ENx,iae,V8x) +loop +exitwhen(EBx0)then +return false +endif set r4e[r6e[r5e]]=r4e[VFx] set r6e[r4e[VFx]-1]=r6e[r5e] +set r4e[VFx]=0 set r5e=r5e-1 return(r5e==F) endfunction function Ecr takes integer VFx returns nothing local integer Wmo=(ive[(VFx)]) local integer csx loop +set csx=(Hcx((Wmo),qC)) exitwhen(csx==w) +call EEr(VFx,csx) endloop endfunction function ECr takes integer VFx returns nothing if EBr(VFx)then call XNx(r7e) endif call Ecr(VFx) endfunction function Edr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VBx=Bex(hdx,r2e) local integer VFx loop +set VFx=Bxx(hdx,r2e,VBx) +call ECr(VFx) set VBx=VBx-1 exitwhen(VBx0)then +call Eyr(ENx,N8x) endif endif endif return true endfunction function Ezr takes integer VFx returns integer set iLe[VFx]=true set ime[VFx]=false call V1x(fU) +return VFx endfunction function EZr takes nothing returns integer local integer VFx if(iJe==8190)then call Vmx("EventPair_Allocation_allocCustom","call DebugEx(EventPair.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",FU+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(ike[(w)]==w)then set iKe=iKe+1 set VFx=iKe else +set VFx=ike[(w)] +set ike[(w)]=ike[ike[(w)]] endif set ike[VFx]=Z set ile[VFx]=1 call Ezr(VFx) return VFx endfunction function E_r takes integer VFx,integer Vhx returns nothing local integer E0r=(ipe[(VFx)]) set iMe[VFx]=Vhx +if(E0r!=w)then call TRx(E0r,ide,Vhx) call TRx(Vhx,ide,E0r) endif endfunction function E1r takes integer VFx,integer Vhx returns nothing local integer E2r=(iMe[(VFx)]) set ipe[VFx]=Vhx +if(E2r!=w)then call TRx(E2r,ide,Vhx) call TRx(Vhx,ide,E2r) endif endfunction function E3r takes integer E2r,integer E0r,integer E4r returns integer local integer VFx=EZr() set iMe[VFx]=w set ipe[VFx]=w call E_r(VFx,E2r) call E1r(VFx,E0r) set iPe[(VFx)]=(E4r) +return VFx endfunction function E5r takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((iFe[(VFx)]))])]))],((((ige[((VFx))])))),(((Vgx)))))) endfunction function E6r takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((iFe[(VFx)]))])]))],((((ige[((VFx))])))),(((Vgx)+(VAx))))) endfunction function E7r takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(KZ[(VFx)],(lZ[((VFx))]),Vgx,Vhx) endfunction function E8r takes integer VFx,integer Vhx returns nothing call TRx((iMe[(Vhx)]),pZ,VFx) call TRx((ipe[(Vhx)]),pZ,VFx) endfunction function E9r takes integer VFx,integer Xvr returns nothing local integer E2r=(iMe[(Xvr)]) local integer E0r=(ipe[(Xvr)]) local integer E4r=(iPe[(Xvr)]) local integer VBx=(Epr((((VFx))),ife)) local integer V5x local integer TBx local integer EBx local boolean Xer loop +exitwhen(VBx.0)then call Xxr(Qhx,Wl,WZ,yl,yZ,uZ) +endif if(Qkx(EAx,1)>.0)then call XEr(Qhx,nJ,(R2I(((Qkx(EAx,1))*1.))),GREATER_THAN_OR_EQUAL,YZ) endif call XXr(Qhx,wZ,EAx) +call hjx(EAx,ite,Qhx) call Sao(EAx,Nlx("AICastSpell_CreateBasics: call whichSpell.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.AI, function AICastSpell.Event_Learn))",pv,vB,function XBr)) call Sao(EAx,Nlx("AICastSpell_CreateBasics: call whichSpell.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.AI, function AICastSpell.Event_Unlearn))",Av,vB,function XFr)) return Qhx endfunction function XGr takes nothing returns boolean local integer Eix=(bv) call BPx(((LoadInteger(o[((V[(E[((X))])]))],(((jZ+(((av[(Eix)])))))),(((JZ)))))),(PK[((iue))])) return true endfunction function Xhr takes nothing returns boolean local integer Eix=(bv) local integer N8x=(Nv) local integer ENx=(QHx((N8x),pZ)) if(ELr(ENx,(av[(Eix)]))==0)then call Eyr(ENx,N8x) endif return true endfunction function XHr takes integer VFx,integer V7x,integer V8x,integer Xjr returns integer local integer Vtx=Nlx("FolderEventCombination_StructEvents_Create: local Event result = Event.Create(whichType, priority, function FolderEventCombination_StructEvents.Event_Passive)",V7x,V8x,function Xhr) +call TRx(Vtx,pZ,VFx) +call E7r((VFx),iTe,Vtx) set cv[(Vtx)]=(Xjr) return Vtx endfunction function XJr takes nothing returns boolean local integer Qhx=Xgr(iue,function XGr) call XHr(Qhx,g2v,vB,w) return true endfunction function Xkr takes nothing returns boolean call EGr(function XJr,"AIBoost_Init") return true endfunction function XKr takes nothing returns boolean set iUe=x6o('BBoo',"Boost",'bBoo') set OOv[(iUe)]=(true) set v_v[(iUe)]=(true) set ORv[(iUe)]=("ReplaceableTextures\\CommandButtons\\BTNEtherealFormOn.blp") call Urx(iUe,"Boost_page\\Boost_struct\\Buff.mdx","foot",EV) +set v2v=UEx() call URx(v2v,gwv,$96) call URx(v2v,fIv,'d') call UIx(((iUe)),YD+(1),(v2v)) return true endfunction function Xlr takes nothing returns boolean call scx('ABoo',false) set iue=s2o('ABoo') set orv[(iue)]=(ovv) +set onv[(iue)]=(1) set Zl[(iue)]=("Boost") set PK[(iue)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0084)))),(((FL)))))) set Vnv[(iue)]=(0) set n9v[(iue)]=("spell") +call s3o((iue),Ll+(1),((20)*1.)) +call s3o((iue),zl+(1),((18)*1.)) +call s3o((iue),Pkv+(1),((750)*1.)) set Qkv[(iue)]=("ReplaceableTextures\\CommandButtons\\BTNEtherealFormOn.blp") return true endfunction function XLr takes nothing returns boolean call IGx(tE,(function XKr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\Boost.page\\Boost.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function Xlr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\Boost.page\\Boost.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Xmr takes nothing returns boolean set iwe=Idx(iWe) +return true endfunction function XMr takes code c,string EFx returns nothing +set mX=mX+1 set MX[mX]=CreateTrigger() set pX[mX]=(GetHandleId(Condition((c)))) +set PX[mX]=EFx call TriggerAddCondition(MX[mX],Condition(c)) endfunction function Xpr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Mv[(Eix)]) call d9x(((Vv[(Eix)])),(iUe),(EKx),w,((iye)*1.)) +return true endfunction function XPr takes nothing returns boolean call Sao(iue,Nlx("Boost_Init: call Boost.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Boost.Event_SpellEffect))",kK,VB,function Xpr)) +return true endfunction function Xqr takes nothing returns boolean call XMr(function XPr,"Boost_Init") return true endfunction function XQr takes nothing returns boolean set iYe=Idx(ize) +return true endfunction function Xsr takes integer VFx returns integer return OXx(FirstOfGroup(jd[VFx])) endfunction function XSr takes integer VFx returns integer local integer fbo=Xsr((VFx)) +local integer VBx local integer Xtr local integer Vtx if(fbo==w)then return w +endif set VBx=1 set Xtr=(GetRandomInt((1),(fNo((VFx))))) +loop +exitwhen(VBx==Xtr) set VBx=VBx+1 set fbo=fOo((VFx)) call GroupAddUnit(jd[(qW)],C[(fbo)]) +endloop set Vtx=Xsr((VFx)) call fRo((VFx),qW) return Vtx endfunction function XTr takes integer VFx returns integer return XSr(VFx) endfunction function Xur takes real x,real y,real Pox,integer Wox returns integer call fXo((iW),x,y,Pox,Wox) return XTr(iW) endfunction function XUr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(LoadInteger(o[((V[(E[((X))])]))],(((jZ+(((av[(Eix)])))))),(((JZ))))) local integer csx if Cmx(hdx,tf)then return true endif set zH=(ze[(hdx)]) set csx=Xur((GetUnitX(C[((hdx))])),(GetUnitY(C[((hdx))])),500.,iZe) if(csx==w)then return true endif call UFx((hdx),(PK[((jyv))]),(csx)) return true endfunction function Xwr takes nothing returns boolean local integer csx=pKx() if(Vfx((((csx))),(Ud+(i_e)))>0)then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cjv)then return false +endif if not(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function XWr takes integer VFx returns integer set i4e[VFx]=true set i5e[VFx]=false set iFe[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(iMv) return VFx endfunction function Xyr takes nothing returns integer local integer VFx if(i0e==8190)then call Vmx("TriggerTimer_Allocation_allocCustom","call DebugEx(TriggerTimer.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",ipv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(i1e[(w)]==w)then set i2e=i2e+1 set VFx=i2e else +set VFx=i1e[(w)] +set i1e[(w)]=i1e[i1e[(w)]] endif set i1e[VFx]=Z set i3e[VFx]=1 call XWr(VFx) return VFx endfunction function XYr takes integer VFx returns nothing set ige[(VFx)]=(i9e+VFx) +endfunction function Xzr takes nothing returns integer local integer VFx=Xyr() local timer Vdx=CreateTimer() set ihe[VFx]=Vdx +call SaveInteger(o[((V[(E[(((X)))])]))],(((GetHandleId((Vdx))))),((((i7e)))),((((VFx))))) set Vdx=null +call XYr(VFx) return VFx endfunction function XZr takes integer VFx,integer Evx returns nothing call TriggerRegisterTimerExpireEvent(UB[Evx],ihe[VFx]) endfunction function X_r takes nothing returns integer return(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId(((GetExpiredTimer()))))),((((i7e)))))) endfunction function X0r takes nothing returns boolean local integer TBx=X_r() local integer VBx=(E5r((TBx),iGe)) local integer VFx=(ave[(TBx)]) loop +set av[((bv))]=((E6r((TBx),iGe,(VBx)))) call Eyr((VFx),w) set VBx=VBx-1 exitwhen(VBx0)then +if Eur((w),TBx,V5x)then call EUr(TBx) endif endif set VBx=VBx-1 endloop call E7r((VFx),ife,TBx) endfunction function X2r takes nothing returns boolean local integer Qhx=Xgr(jyv,function XUr) set iZe=Nyx(function Xwr) call X1r(Qhx,1.) +return true endfunction function X3r takes nothing returns boolean call EGr(function X2r,"AIBurningSpirit_Init") return true endfunction function X4r takes nothing returns boolean set i_e=x6o('BBuS',"Burning Spirit",'bBuS') set OOv[(i_e)]=(true) set v_v[(i_e)]=(true) set ORv[(i_e)]=("ReplaceableTextures\\CommandButtons\\BTNIncinerate.blp") call Urx(i_e,"Abilities\\Spells\\Orc\\Bloodlust\\BloodlustSpecial.mdl","hand left",EV) call Urx(i_e,"Abilities\\Spells\\Orc\\Bloodlust\\BloodlustSpecial.mdl","hand right",fV) set v2v=UEx() call URx(v2v,RRv,.6) +call URx(v2v,fIv,25) +call URx(v2v,exv,.6) +call UIx(((i_e)),YD+(1),(v2v)) return true endfunction function X5r takes nothing returns boolean call scx('ABuT',false) set jyv=s2o('ABuT') set orv[(jyv)]=(ovv) +set onv[(jyv)]=(1) set Zl[(jyv)]=("Burning Spirit") +set PK[(jyv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0085)))),(((FL)))))) set Vnv[(jyv)]=(4) set n9v[(jyv)]=("spell") +call s3o((jyv),Ll+(1),(($A)*1.)) +call s3o((jyv),zl+(1),((50)*1.)) +call s3o((jyv),Pkv+(1),((750)*1.)) set Qkv[(jyv)]=("ReplaceableTextures\\CommandButtons\\BTNIncinerate.blp") return true endfunction function X6r takes nothing returns boolean call IGx(tE,(function X4r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\BurningSpirit.page\\BurningSpirit.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function X5r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\BurningSpirit.page\\BurningSpirit.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function X7r takes nothing returns boolean set aee=Idx(axe) +return true endfunction function X8r takes nothing returns boolean set aoe=Idx(are) +return true endfunction function X9r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(LoadInteger(o[((V[(E[((X))])]))],(((jZ+(((av[(Eix)])))))),(((JZ))))) local integer csx if Cmx(hdx,tf)then return true endif set zH=(ze[(hdx)]) set csx=Xur((GetUnitX(C[((hdx))])),(GetUnitY(C[((hdx))])),500.,aie) if(csx==w)then return true endif call UFx((hdx),(PK[((U5v))]),(csx)) return true endfunction function Ovr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function Oer takes nothing returns boolean local integer Qhx=Xgr(U5v,function X9r) set aie=Nyx(function Ovr) call XHr(Qhx,g2v,vB,w) return true endfunction function Oxr takes nothing returns boolean call EGr(function Oer,"AIChaosBall_Init") return true endfunction function Oor takes nothing returns boolean call scx('AKao',false) set U5v=s2o('AKao') set orv[(U5v)]=(ovv) +set onv[(U5v)]=(1) set Zl[(U5v)]=("Chaos Ball") +set PK[(U5v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00FE)))),(((FL)))))) set Vnv[(U5v)]=(4) set n9v[(U5v)]=("spell") +call s3o((U5v),Yhv+(1),(('d')*1.)) call s3o((U5v),jl+(1),((.75)*1.)) call s3o((U5v),Ll+(1),((20)*1.)) +call s3o((U5v),zl+(1),(('d')*1.)) call s3o((U5v),Pkv+(1),((700)*1.)) set Qkv[(U5v)]=("ReplaceableTextures\\CommandButtons\\BTNOrbOfDeath.blp") return true endfunction function Orr takes nothing returns boolean set aae=u9x(ane+" (poisonBuff)") +set sf[(aae)]=(true) +set v_v[(aae)]=(true) return true endfunction function Oir takes nothing returns boolean call IGx(UE,(function Oor),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\ChaosBall.page\\ChaosBall.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function Orr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\ChaosBall.page\\ChaosBall.struct\\obj_poisonBuff_wc3buff.j")) return true endfunction function Oar takes nothing returns boolean set aVe=Idx(ane) +return true endfunction function Onr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function OVr takes integer VFx returns integer set aOe[VFx]=true set aRe[VFx]=false call V1x(aVe) return VFx endfunction function OEr takes integer VFx,real Vhx returns nothing call swx(VFx,(i2[(VFx)])+Vhx) endfunction function OXr takes integer VFx returns integer set aFe[VFx]=true set age[VFx]=false call V1x(S0) +return VFx endfunction function OOr takes nothing returns integer local integer VFx if(aCe==8190)then call Vmx("FolderDummyUnit_FolderScale_StructTimed_Allocation_allocCustom","call DebugEx(FolderDummyUnit_FolderScale_StructTimed.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",t0+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(ade[(w)]==w)then set aDe=aDe+1 set VFx=aDe else +set VFx=ade[(w)] +set ade[(w)]=ade[ade[(w)]] endif set ade[VFx]=Z set afe[VFx]=1 call OXr(VFx) return VFx endfunction function ORr takes integer VFx returns boolean set ake=ake+1 set aKe[ake]=VFx +set ale[VFx]=ake+1 return(ake==0) endfunction function OIr takes nothing returns nothing local integer VBx=ake local integer VFx loop +set VFx=aKe[VBx] +call OEr(aHe[VFx],aGe[VFx]) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function OAr takes integer VFx returns nothing set aFe[VFx]=false call EEx(S0) +endfunction function ONr takes integer VFx returns nothing if(afe[VFx]>0)then return endif if(ade[VFx]!=Z)then call Vmx("FolderDummyUnit_FolderScale_StructTimed_Allocation_deallocCustom_confirm","call DebugEx(FolderDummyUnit_FolderScale_StructTimed.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",t0+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set ade[VFx]=ade[(w)] set ade[(w)]=VFx +call OAr(VFx) endfunction function Obr takes integer VFx returns nothing set afe[VFx]=afe[VFx]-1 call ONr(VFx) endfunction function OBr takes integer VFx returns boolean local integer VAx=(ale[(VFx)]) set ale[aKe[ake]]=VAx set aKe[VAx-1]=aKe[ake] set ale[VFx]=0 set ake=ake-1 return(ake==F) endfunction function Ocr takes integer VFx,integer Xrx,integer ENx returns nothing call Obr((VFx)) call Xbx(Xrx) call Mbx(ENx,aJe,VFx) if OBr(VFx)then call XNx(m1) +endif endfunction function OCr takes nothing returns nothing local integer Xrx=XXx() local integer VFx=(ge[(Xrx)]) call Ocr(VFx,Xrx,aHe[VFx]) endfunction function Odr takes integer VFx,real Dfx,real Xdx returns nothing +local integer ENx=VFx local integer jux local integer Xrx if(Xdx==.0)then call OEr((VFx),Dfx) return endif set jux=(R2I(((Xdx*1./ ace)*1.))) set VFx=OOr() set Xrx=E5x() set aGe[VFx]=Dfx*1./ jux +set ahe[VFx]=Xrx +set aHe[VFx]=ENx +set ge[(Xrx)]=(VFx) call WOo(ENx,aJe,VFx) if ORr(VFx)then call Xax(m1,ace,true,function OIr) endif call Xax(Xrx,Xdx,false,function OCr) +endfunction function ODr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real Xdx=(hDx((U5v),jl+(EKx))) +local integer tgo=teo() local integer VFx=OVr(tgo) local integer MCx set aIe[VFx]=tgo +set aAe[VFx]=EKx +set aNe[VFx]=(aL[(Eix)]) +call Ejx(hdx,abe,VFx) set MCx=tio(tgo,'qCha',1.) call S9o(tgo,aBe*1./ Xdx) call Tvo(tgo,hdx) call t4o(tgo,hdx,.0,.0,aBe,null) +call Odr(MCx,1.,Xdx) +return true endfunction function Ofr takes integer VFx returns nothing set aOe[VFx]=false call EEx(aVe) endfunction function OFr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local real x=(qyv[(tgo)]) local real y=(qYv[(tgo)]) local integer hdx=ame[VFx] local integer EKx=aAe[VFx] local integer csx local real fCo local real Ogr local real OGr local real Xdx call Ofr(VFx) call tDo(tgo) call Sgo((Sjo(((x)*1.),((y)*1.),(aMe),(fV)))) set zH=(ze[(hdx)]) call fXo(aEe,x,y,(hDx((U5v),Yhv+(EKx))),aXe) +set csx=fOo(aEe) +if(csx!=w)then set fCo=ape set Ogr=aPe set OGr=aqe loop +if Cmx(csx,rG)then set Xdx=Ogr else +set Xdx=OGr endif call d9x((csx),(aae),(EKx),w,((Xdx)*1.)) +call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(aEe) +exitwhen(csx==w) +endloop endif return true endfunction function Ohr takes integer VFx returns boolean if((v4[((VFx))])>0)then return false +endif set o4=o4+1 set e4[o4]=VFx set v4[VFx]=o4+1 +return(o4==0) endfunction function OHr takes nothing returns nothing local integer VBx=o4 +loop +exitwhen(VBx<0) set ate[VBx]=e4[VBx] +set VBx=VBx-1 endloop set aTe=o4 endfunction function Ojr takes nothing returns integer local integer Vtx if(aTe<0)then return w +endif set Vtx=ate[0] set ate[0]=ate[aTe] set aTe=aTe-1 return Vtx endfunction function OJr takes nothing returns nothing local integer VFx local real t2o local real t3o local real byx local real h0x local real h1x local real kJx local real dX local real dY local real dZ local real d +call OHr() loop +set VFx=Ojr() exitwhen(VFx==w) +set t2o=(q3v[((VFx))]) set t3o=(q5v[((VFx))]) set byx=(q7v[((VFx))]) set h0x=aQe[VFx] +set h1x=ase[VFx] +set kJx=aSe[VFx] +set dX=h0x-(qyv[((VFx))]) set dY=h1x-(qYv[((VFx))]) set dZ=kJx-(qzv[((VFx))]) set d=lWx(dX,dY,dZ) if(d0)then call jGx((csx),(aye),(EKx),w) endif return true endfunction function O0r takes nothing returns nothing set a7e=Nlx("FolderEnergyCharge_StructTarget_Init: set FolderEnergyCharge_StructTarget.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function FolderEnergyCharge_StructTarget.Event_Damage)",Nev,VB,function Ozr) call Ufx(aUe,Nlx("FolderEnergyCharge_StructTarget_Init: call FolderEnergyCharge_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderEnergyCharge_StructTarget.Event_BuffGain))",dg,VB,function OZr)) call Ufx(aUe,Nlx("FolderEnergyCharge_StructTarget_Init: call FolderEnergyCharge_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderEnergyCharge_StructTarget.Event_BuffLose))",Hf,VB,function O_r)) endfunction function O1r takes nothing returns boolean set aZe=Nlx("EnergyCharge_Init: set EnergyCharge.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function EnergyCharge.Event_Damage)",Nev,VB,function Our) +call Ufx(aye,Nlx("EnergyCharge_Init: call EnergyCharge.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EnergyCharge.Event_BuffGain))",dg,VB,function Owr)) +call Ufx(aye,Nlx("EnergyCharge_Init: call EnergyCharge.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EnergyCharge.Event_BuffLose))",Hf,VB,function OWr)) +call Sao(UZv,Nlx("EnergyCharge_Init: call EnergyCharge.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EnergyCharge.Event_Learn))",pv,VB,function Oyr)) call Sao(UZv,Nlx("EnergyCharge_Init: call EnergyCharge.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EnergyCharge.Event_Unlearn))",Av,VB,function OYr)) call O0r() return true endfunction function O2r takes nothing returns boolean call XMr(function O1r,"EnergyCharge_Init") return true endfunction function O3r takes nothing returns boolean set a9e=Idx(nve) +return true endfunction function O4r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(LoadInteger(o[((V[(E[((X))])]))],(((jZ+(((av[(Eix)])))))),(((JZ))))) local integer csx if Cmx(hdx,tf)then return true endif set zH=(ze[(hdx)]) set csx=Xur((GetUnitX(C[((hdx))])),(GetUnitY(C[((hdx))])),500.,nxe) if(csx==w)then return true endif call hxx((hdx),(PK[((nee))]),(((GetUnitX(C[((csx))])))*1.),(((GetUnitY(C[((csx))])))*1.)) return true endfunction function O5r takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function O6r takes nothing returns boolean local integer Qhx=Xgr(nee,function O4r) set nxe=Nyx(function O5r) call XHr(Qhx,g2v,vB,w) return true endfunction function O7r takes nothing returns boolean call EGr(function O6r,"AIFlamelet_Init") +return true endfunction function O8r takes nothing returns boolean set noe=u9x(nre+" (ignitionBuff)") set sf[(noe)]=(true) +set v_v[(noe)]=(true) return true endfunction function O9r takes nothing returns boolean call scx('AFba',false) set nee=s2o('AFba') set orv[(nee)]=(ovv) +set onv[(nee)]=(1) set Zl[(nee)]=("Flamelet") set PK[(nee)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0259)))),(((FL)))))) set Vnv[(nee)]=(2) set n9v[(nee)]=("spell") +call s3o((nee),Yhv+(1),((80)*1.)) call s3o((nee),jl+(1),((2)*1.)) call s3o((nee),Ll+(1),(($C)*1.)) +call s3o((nee),zl+(1),((50)*1.)) +call s3o((nee),Pkv+(1),((900)*1.)) set Qkv[(nee)]=("ReplaceableTextures\\CommandButtons\\BTNFireBolt.blp") return true endfunction function Rvr takes nothing returns boolean call IGx(tE,(function O8r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\Flamelet.page\\Flamelet.struct\\obj_ignitionBuff_wc3buff.j")) call IGx(UE,(function O9r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\Flamelet.page\\Flamelet.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Rer takes nothing returns boolean set nie=Idx(nre) +return true endfunction function Rxr takes nothing returns boolean local integer Eix=(bv) local integer csx=pKx() local integer tgo local integer VFx local integer hgx if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif set tgo=(h3[(Eix)]) set VFx=(QEv[(tgo)]) +set hgx=nne[VFx] +if(IsUnitAlly(C[(csx)],vx[((ze[((Bl[(hgx)]))]))]))then return false +endif return true return true endfunction function Ror takes integer VFx,real x,real y,real z returns nothing call tzo(VFx,x-(qyv[((VFx))]),y-(qYv[((VFx))]),z-(qzv[((VFx))])) +endfunction function Rrr takes integer hgx returns nothing local integer VFx=hgx local integer hdx=(Bl[(hgx)]) local integer EKx=(Dl[(hgx)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real Rir=(hDx((nee),Pkv+(EKx))) local real h0x=(al[(hgx)]) local real h1x=(nl[(hgx)]) local real OMx=(Atan2(((h1x-xVr)*1.),((h0x-xnr)*1.))) local integer tgo=teo() local integer MCx set nXe[VFx]=tgo +set nne[VFx]=hgx +call Tvo(tgo,hdx) call Ror(tgo,xnr+Rir*(Cos(((((OMx)*1.))*1.))),xVr+Rir*(Sin(((((OMx)*1.))*1.))),bex(h0x,h1x)+60.) +set MCx=tio(tgo,'qFba',1.5) call Odr(MCx,1,(hDx(((fl[(hgx)])),jl+(EKx)))) call WTo((MCx),(nOe),(nRe),(fV)) +endfunction function Rar takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer hgx=(oL[(Eix)]) call cdx((C1x((hdx),(nVe),(nEe),(fV)))) call Rrr(hgx) return true endfunction function Rnr takes integer VFx returns integer set nBe[VFx]=true set nce[VFx]=false call V1x(nie) return VFx endfunction function RVr takes nothing returns integer local integer VFx if(nIe==8190)then call Vmx("Flamelet_Allocation_allocCustom","call DebugEx(Flamelet.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",nre+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(nAe[(w)]==w)then set nNe=nNe+1 set VFx=nNe else +set VFx=nAe[(w)] +set nAe[(w)]=nAe[nAe[(w)]] endif set nAe[VFx]=Z set nbe[VFx]=1 call Rnr(VFx) return VFx endfunction function REr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) call tDo(tgo) return true endfunction function RXr takes integer VFx,code XEx,integer tto returns nothing set qwv[VFx]=Ntx(XEx) set qWv[VFx]=tto +endfunction function ROr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=(QEv[(tgo)]) local real fCo=nCe[VFx] local integer EKx=nDe[VFx] local integer hgx=nne[VFx] local integer hdx=(Bl[(hgx)]) local real Xdx call tDo(tgo) call v0o(hgx) if Cmx(csx,rG)then set Xdx=nhe else +set Xdx=nHe endif call d9x(csx,noe,EKx,hdx,Xdx) call AYo((hdx),(csx),((fCo)*1.),(true),(false)) return true endfunction function RRr takes integer hgx returns nothing local integer hdx=(Bl[(hgx)]) local integer EKx=(Dl[(hgx)]) local real h0x=(al[(hgx)]) local real h1x=(nl[(hgx)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real Rir=(hDx((nee),Pkv+(EKx))) local real OMx=(Atan2(((h1x-xVr)*1.),((h0x-xnr)*1.))) local integer VFx=RVr() local integer tgo=nXe[VFx] set nCe[VFx]=nde +set nDe[VFx]=EKx +set nfe[VFx]=Rir +set nFe[VFx]=xnr +set nge[VFx]=xVr +set nne[VFx]=hgx +call vLo(hgx) set qsv[(tgo)]=(((hDx((nee),Yhv+(EKx))))*1.) +set QEv[(tgo)]=(VFx) +set quv[(tgo)]=Ntx((function REr)) call S9o(tgo,nGe) call Okr(tgo,xnr+Rir*(Cos(((((OMx)*1.))*1.))),xVr+Rir*(Sin(((((OMx)*1.))*1.))),bex(h0x,h1x)+60.) +call RXr(tgo,function ROr,nae) endfunction function RIr takes nothing returns boolean local integer Eix=(bv) local boolean bYo=(VOv[(Eix)]) local integer hgx=(oL[(Eix)]) local integer VFx=hgx if not bYo then call tDo(nXe[VFx]) return true endif call RRr(hgx) return true endfunction function RAr takes nothing returns boolean set nae=Nyx(function Rxr) call Sao(nee,Nlx("Flamelet_Init: call Flamelet.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Flamelet.Event_SpellEffect))",kK,VB,function Rar)) call Sao(nee,Nlx("Flamelet_Init: call Flamelet.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Flamelet.Event_EndCast))",VRv,VB,function RIr)) call oio(NVv,noe) return true endfunction function RNr takes nothing returns boolean call XMr(function RAr,"Flamelet_Init") return true endfunction function Rbr takes nothing returns boolean call scx('AFuA',false) set J9v=s2o('AFuA') set orv[(J9v)]=(ovv) +set onv[(J9v)]=(1) set Zl[(J9v)]=("Fuzzy Attack") set PK[(J9v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D007F)))),(((FL)))))) set Vnv[(J9v)]=(4) set n9v[(J9v)]=("spell") +call s3o((J9v),jl+(1),((4.25)*1.)) call s3o((J9v),Ll+(1),(($F)*1.)) +call s3o((J9v),zl+(1),(($96)*1.)) call s3o((J9v),Pkv+(1),((700)*1.)) set Qkv[(J9v)]=("ReplaceableTextures\\CommandButtons\\BTNFurbolg.blp") return true endfunction function RBr takes nothing returns boolean call IGx(UE,(function Rbr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\FuzzyAttack.page\\FuzzyAttack.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Rcr takes nothing returns boolean set nje=Idx(nJe) +return true endfunction function RCr takes integer VFx returns nothing set nQe[VFx]=false call EEx(nje) endfunction function Rdr takes integer VFx returns nothing if(nPe[VFx]>0)then return endif if(nqe[VFx]!=Z)then call Vmx("FuzzyAttack_Allocation_deallocCustom_confirm","call DebugEx(FuzzyAttack.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",nJe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set nqe[VFx]=nqe[(w)] set nqe[(w)]=VFx +call RCr(VFx) endfunction function RDr takes integer VFx returns nothing set nPe[VFx]=nPe[VFx]-1 call Rdr(VFx) endfunction function Rfr takes integer VFx,integer hdx returns nothing local integer bUx=nMe[VFx] local integer hgx=npe[VFx] call RDr((VFx)) call V_x(hdx,nLe,VFx) call Xbx(bUx) call h7x(hgx) endfunction function RFr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VBx=Bex(hdx,nLe) local integer VFx loop +set VFx=Bxx(hdx,nLe,VBx) +if(nme[VFx]==0)then call Rfr(VFx,hdx) else +call XNx(nMe[VFx]) endif set VBx=VBx-1 exitwhen(VBx=(R2I((((Jk[(csx)]))*1.)))-Vbe)then return false +endif return true endfunction function R0r takes nothing returns boolean local integer Qhx=Xgr(j5v,function RZr) set VNe=Nyx(function R_r) call X1r(Qhx,1.) +return true endfunction function R1r takes nothing returns boolean call EGr(function R0r,"AIHeal_Init") +return true endfunction function R2r takes nothing returns boolean call scx('AHel',false) set j5v=s2o('AHel') set orv[(j5v)]=(ovv) +set onv[(j5v)]=(1) set Zl[(j5v)]=("Heal") set PK[(j5v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D005F)))),(((FL)))))) set Vnv[(j5v)]=(4) set n9v[(j5v)]=("spell") +call s3o((j5v),Ll+(1),((5)*1.)) call s3o((j5v),zl+(1),((40)*1.)) +call s3o((j5v),Pkv+(1),((900)*1.)) set Qkv[(j5v)]=("ReplaceableTextures\\CommandButtons\\BTNHeal.blp") return true endfunction function R3r takes nothing returns boolean call IGx(UE,(function R2r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\Heal.page\\Heal.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function R4r takes nothing returns boolean set VBe=Idx(Vce) +return true endfunction function R5r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer csx=(aL[(Eix)]) call Tlo((C1x((csx),(VCe),(Vde),(EV))),2.) call s9o(hdx,csx,Vbe) return true endfunction function R6r takes nothing returns boolean call Sao(j5v,Nlx("Heal_Init: call Heal.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Heal.Event_SpellEffect))",kK,VB,function R5r)) return true endfunction function R7r takes nothing returns boolean call XMr(function R6r,"Heal_Init") return true endfunction function R8r takes nothing returns boolean set VDe=Idx(Vfe) +return true endfunction function R9r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(LoadInteger(o[((V[(E[((X))])]))],(((jZ+(((av[(Eix)])))))),(((JZ))))) if Cmx(hdx,tf)then return true endif set zH=(ze[(hdx)]) call fXo(VFe,(GetUnitX(C[((hdx))])),(GetUnitY(C[((hdx))])),(hDx((j6v),Yhv+((Vfx(((hdx)),N+(j6v)))))),Vge) if((fNo((VFe)))>3)then call BPx((hdx),(PK[((j6v))])) endif return true endfunction function Ivr takes nothing returns boolean local integer Qhx=Xgr(j6v,function R9r) call X1r(Qhx,1.) +return true endfunction function Ier takes nothing returns boolean call EGr(function Ivr,"AIHealExplosion_Init") return true endfunction function Ixr takes nothing returns boolean call scx('AHEx',false) set j6v=s2o('AHEx') set orv[(j6v)]=(ovv) +set onv[(j6v)]=(1) set Zl[(j6v)]=("Heal Explosion") +set PK[(j6v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0085)))),(((FL)))))) set Vnv[(j6v)]=(0) set n9v[(j6v)]=("spell") +call s3o((j6v),Yhv+(1),((300)*1.)) call s3o((j6v),jl+(1),((2.5)*1.)) call s3o((j6v),Ll+(1),(($F)*1.)) +call s3o((j6v),zl+(1),((25)*1.)) +call s3o((j6v),Pkv+(1),((750)*1.)) set Qkv[(j6v)]=("ReplaceableTextures\\CommandButtons\\BTNHealExplosion.blp") +return true endfunction function Ior takes nothing returns boolean call IGx(UE,(function Ixr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\HealExplosion.page\\HealExplosion.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Irr takes nothing returns boolean set VGe=Idx(Vhe) +return true endfunction function Iir takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cHv)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function Iar takes nothing returns boolean local integer csx=pKx() if(csx==ej)then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cHv)then return false +endif if Cmx(csx,cjv)then return false +endif if not(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function Inr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer VFx=hdx set Vje[VFx]=(C1x((hdx),(VJe),(Vke),(EV))) set VKe[VFx]=EKx +return true endfunction function IVr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local boolean bYo=(VOv[(Eix)]) local integer VFx=hdx local integer IEr=Vje[VFx] local integer EKx=VKe[VFx] local integer csx call cdx(IEr) if not bYo then return true endif call cdx((C1x((hdx),(Vle),(VLe),(EV)))) set zH=(ze[(hdx)]) call fXo(VFe,(GetUnitX(C[((hdx))])),(GetUnitY(C[((hdx))])),(hDx((j6v),Yhv+(EKx))),VHe) set csx=fOo(VFe) +if(csx!=w)then loop +call cdx((C1x((csx),(Vme),(VMe),(EV)))) call AYo((hdx),(csx),((Vpe)*1.),(false),(false)) +set csx=fOo(VFe) +exitwhen(csx==w) +endloop endif call s9o(hdx,hdx,VPe) set zH=(ze[(hdx)]) set ej=hdx call fXo(VFe,(GetUnitX(C[((hdx))])),(GetUnitY(C[((hdx))])),(hDx((j6v),Yhv+(EKx))),Vge) call GroupRemoveUnit(jd[(VFe)],C[(hdx)]) +set csx=fOo(VFe) +if(csx!=w)then loop +call cdx((C1x((csx),(Vqe),(VQe),(EV)))) call s9o(hdx,csx,VPe) set csx=fOo(VFe) +exitwhen(csx==w) +endloop endif return true endfunction function IXr takes nothing returns boolean set VFe=Bkx() set VHe=Nyx(function Iir) set Vge=Nyx(function Iar) call Sao(j6v,Nlx("HealExplosion_Init: call HealExplosion.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function HealExplosion.Event_SpellEffect))",kK,VB,function Inr)) +call Sao(j6v,Nlx("HealExplosion_Init: call HealExplosion.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function HealExplosion.Event_EndCast))",VRv,VB,function IVr)) return true endfunction function IOr takes nothing returns boolean call XMr(function IXr,"HealExplosion_Init") return true endfunction function IRr takes nothing returns boolean call scx('AIcA',false) set kcv=s2o('AIcA') set orv[(kcv)]=(ovv) +set onv[(kcv)]=(1) set Zl[(kcv)]=("Ice Arrows") +set n9v[(kcv)]=("spell") +call s3o((kcv),zl+(1),((20)*1.)) +call s3o((kcv),Pkv+(1),((750)*1.)) set Qkv[(kcv)]=("ReplaceableTextures\\CommandButtons\\BTNColdArrowsOn.blp") return true endfunction function IIr takes nothing returns boolean set Vse=u9x(VSe+" (coldnessBuff)") set sf[(Vse)]=(true) +set v_v[(Vse)]=(true) return true endfunction function IAr takes nothing returns boolean set Vte=u9x(VSe+" (dummyBuff)") return true endfunction function INr takes nothing returns boolean call IGx(UE,(function IRr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\IceArrows.page\\IceArrows.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function IIr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\IceArrows.page\\IceArrows.struct\\obj_coldnessBuff_wc3buff.j")) call IGx(tE,(function IAr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\IceArrows.page\\IceArrows.struct\\obj_dummyBuff_wc3buff.j")) +return true endfunction function Ibr takes nothing returns boolean set VTe=Idx(VSe) +return true endfunction function IBr takes integer csx returns boolean return( not(Cmx(csx,chv)))and( not(Cmx(csx,cjv)))and( not(ALo(csx))) +endfunction function Icr takes integer EKx,integer csx returns nothing local real Xdx if Cmx(csx,rG)then set Xdx=VWe else +set Xdx=Vye endif call d9x((csx),(Vse),(EKx),w,((Xdx)*1.)) +endfunction function ICr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(A9v[(Eix)]) local integer csx=(Vv[(Eix)]) local integer EKx=(Vfx(((hdx)),N+(kcv))) +local real Idr=(iJ[(hdx)])-(hDx((kcv),zl+(EKx))) +if(Idr<.0)then return true endif call gex(hdx,Idr) if not IBr(csx)then return true endif call cdx((C1x((csx),(VUe),(Vwe),(EV)))) call Icr(EKx,csx) call AYo((hdx),(csx),((VYe)*1.),(true),(false)) return true endfunction function IDr takes nothing returns boolean local integer Eix=(bv) call CMx((Vv[(Eix)]),Vue) return true endfunction function Ifr takes nothing returns boolean local integer Eix=(bv) call cEx((Vv[(Eix)]),Vue) return true endfunction function IFr takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(Vte),((Mv[(Eix)])),w) return true endfunction function Igr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),Vte) return true endfunction function IGr takes nothing returns boolean set Vue=Nlx("IceArrows_Init: set IceArrows.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function IceArrows.Event_Damage)",Nev,VB,function ICr) call Ufx(Vte,Nlx("IceArrows_Init: call IceArrows.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function IceArrows.Event_BuffGain))",dg,VB,function IDr)) call Ufx(Vte,Nlx("IceArrows_Init: call IceArrows.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function IceArrows.Event_BuffLose))",Hf,VB,function Ifr)) call Sao(kcv,Nlx("IceArrows_Init: call IceArrows.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function IceArrows.Event_Learn))",pv,VB,function IFr)) call Sao(kcv,Nlx("IceArrows_Init: call IceArrows.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function IceArrows.Event_Unlearn))",Av,VB,function Igr)) call oio(RIv,Vse) return true endfunction function Ihr takes nothing returns boolean call XMr(function IGr,"IceArrows_Init") return true endfunction function IHr takes nothing returns boolean call scx('ALiS',false) set kev=s2o('ALiS') set orv[(kev)]=(ovv) +set onv[(kev)]=(1) set Zl[(kev)]=("Lightning Shield") set PK[(kev)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D008E)))),(((FL)))))) set Vnv[(kev)]=(4) set n9v[(kev)]=("spell") +call s3o((kev),Yhv+(1),(($82)*1.)) call s3o((kev),Ll+(1),((25)*1.)) +call s3o((kev),zl+(1),(('x')*1.)) call s3o((kev),Pkv+(1),((900)*1.)) set Qkv[(kev)]=("ReplaceableTextures\\CommandButtons\\BTNLightningShield.blp") return true endfunction function Ijr takes nothing returns boolean set Vze=x6o('BLiS',"Lightning Shield",'bLiS') set v_v[(Vze)]=(true) set ORv[(Vze)]=("ReplaceableTextures\\CommandButtons\\BTNLightningShield.blp") call Urx(Vze,"Abilities\\Spells\\Orc\\LightningShield\\LightningShieldTarget.mdl","origin",EV) return true endfunction function IJr takes nothing returns boolean call IGx(UE,(function IHr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\LightningShield.page\\LightningShield.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function Ijr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\LightningShield.page\\LightningShield.struct\\obj_dummyBuff_wc3buff.j")) +return true endfunction function Ikr takes nothing returns boolean set VZe=Idx(V_e) +return true endfunction function IKr takes nothing returns boolean local integer csx=pKx() if(csx==ej)then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif return true return true endfunction function Ilr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=V7e[VFx] local integer ILr set ej=csx call fXo(V3e,(GetUnitX(C[((csx))])),(GetUnitY(C[((csx))])),V5e[VFx]*bZx(csx,true)*1./ 60.,V4e) set ILr=fOo(V3e) +if(ILr!=w)then loop +call AYo((csx),(ILr),((V0e)*1.),(true),(false)) set ILr=fOo(V3e) +exitwhen(ILr==w) +endloop endif endfunction function Imr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=E5x() set V5e[VFx]=(hDx((kev),Yhv+(EKx))) set V6e[VFx]=TBx +set V7e[VFx]=csx +set ge[(TBx)]=(VFx) call Xax(TBx,V2e,true,function Ilr) return true endfunction function IMr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=V6e[VFx] call Xbx(TBx) return true endfunction function Ipr takes nothing returns boolean local integer Eix=(bv) call d9x(((aL[(Eix)])),(Vze),((Mv[(Eix)])),w,((V8e)*1.)) +return true endfunction function IPr takes nothing returns boolean set V0e=V1e*V2e set V3e=Bkx() set V4e=Nyx(function IKr) call Ufx(Vze,Nlx("LightningShield_Init: call LightningShield.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LightningShield.Event_BuffGain))",dg,VB,function Imr)) call Ufx(Vze,Nlx("LightningShield_Init: call LightningShield.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LightningShield.Event_BuffLose))",Hf,VB,function IMr)) call Sao(kev,Nlx("LightningShield_Init: call LightningShield.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LightningShield.Event_SpellEffect))",kK,VB,function Ipr)) return true endfunction function Iqr takes nothing returns boolean call XMr(function IPr,"LightningShield_Init") return true endfunction function IQr takes nothing returns boolean set V9e=u9x(Eve+" (dummyBuff)") return true endfunction function Isr takes nothing returns boolean call IGx(tE,(function IQr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\LunarRestoration.page\\LunarRestoration.struct\\Revival\\obj_dummyBuff_wc3buff.j")) return true endfunction function ISr takes nothing returns boolean set Eee=Idx(Eve) +return true endfunction function Itr takes nothing returns boolean set Exe=u9x(Eoe+" (dummyBuff)") return true endfunction function ITr takes nothing returns boolean set Ere=x6o('BLuR',"Lunar Restoration",'bLuR') set OOv[(Ere)]=(true) set ORv[(Ere)]=("ReplaceableTextures\\PassiveButtons\\PASBTNElunesBlessing.blp") +call Urx(Ere,"Abilities\\Spells\\Items\\ScrollOfRegeneration\\Scroll_Regen_Target.mdl","chest",fV) return true endfunction function Iur takes nothing returns boolean call scx('ALuR',false) set kDv=s2o('ALuR') set orv[(kDv)]=(ovv) +set onv[(kDv)]=(1) set Zl[(kDv)]=("Lunar Restoration") set n9v[(kDv)]=("spell") +call s3o((kDv),zl+(1),(('d')*1.)) call s3o((kDv),Pkv+(1),((750)*1.)) set Qkv[(kDv)]=("ReplaceableTextures\\PassiveButtons\\PASBTNElunesBlessing.blp") +return true endfunction function IUr takes nothing returns boolean call IGx(tE,(function Itr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\LunarRestoration.page\\LunarRestoration.struct\\obj_dummyBuff_wc3buff.j")) call IGx(tE,(function ITr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\LunarRestoration.page\\LunarRestoration.struct\\obj_effectBuff_wc3buff.j")) call IGx(UE,(function Iur),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\LunarRestoration.page\\LunarRestoration.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Iwr takes nothing returns boolean set Eie=Idx(Eoe) +return true endfunction function IWr takes integer EKx,integer csx returns nothing call jGx((csx),(V9e),(EKx),w) endfunction function Iyr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer EKx if(dav[(csx)])then return true endif set EKx=(Vfx(((csx)),N+(kDv))) call IWr(EKx,csx) return true endfunction function IYr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer Izr=Ene[EKx] local integer IZr=EVe[EKx] set EEe[VFx]=EKx +set EXe[VFx]=Izr +set EOe[VFx]=IZr +if((iJ[(csx)])<(hDx((kDv),zl+(EKx))))then set ERe[VFx]=false call CMx(csx,Izr) else +set ERe[VFx]=true call CMx(csx,IZr) call jGx((csx),(Ere),(EKx),w) endif return true endfunction function I_r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx if ERe[VFx]then call cEx(csx,EOe[VFx]) call dpx(csx,Ere) else +call cEx(csx,EXe[VFx]) endif return true endfunction function I0r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx call CMx(csx,Eae) return true endfunction function I1r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx call cEx(csx,Eae) return true endfunction function I2r takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(Exe),((Mv[(Eix)])),w) return true endfunction function I3r takes string EFx,integer V7x,integer V8x,integer Vhx,limitop F7x,code XEx returns integer local integer VFx=Nlx(EFx,V7x,V8x,XEx) call Xnr(VFx,Vhx,F7x) return VFx endfunction function I4r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx set ERe[VFx]=true call CMx(csx,EOe[VFx]) call cEx(csx,EXe[VFx]) call jGx((csx),(Ere),(EEe[VFx]),w) return true endfunction function I5r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx set ERe[VFx]=false call CMx(csx,EXe[VFx]) call cEx(csx,EOe[VFx]) call dpx(csx,Ere) return true endfunction function I6r takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),V9e) return true endfunction function I7r takes integer VFx returns nothing if Cmx(VFx,rG)then call UMo(VFx,(GetUnitX(C[((VFx))])),(GetUnitY(C[((VFx))]))) else +call r9r(VFx) endif endfunction function I8r takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer EKx=ENe[VFx] local integer csx=VFx call dpx(csx,V9e) call I7r(csx) call GIx(csx,(Jk[(csx)])*EDe) call gex(csx,(aJ[(csx)])*Efe-(hDx((kDv),zl+(EKx)))) endfunction function I9r takes nothing returns boolean local integer Eix=(bv) local integer Xrx=E5x() local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local real h0x=(GetUnitX(C[((csx))])) local real h1x=(GetUnitY(C[((csx))])) local integer VFx=csx set EAe[VFx]=Xrx +set ENe[VFx]=EKx +set Ebe[VFx]=(Sjo(((h0x)*1.),((h1x)*1.),(EBe),(EV))) +set Ece[VFx]=h0x +set ECe[VFx]=h1x +set ge[(Xrx)]=(VFx) call CMx(csx,EIe) set dav[(csx)]=(true) call Xax(Xrx,Ede,false,function I8r) +return true endfunction function Avr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer Aer=Ebe[VFx] call Xbx(EAe[VFx]) call Sgo(Aer) call cEx(csx,EIe) return true endfunction function Axr takes nothing returns nothing set EIe=Nlx("FolderLunarRestoration_StructRevival_Init: set FolderLunarRestoration_StructRevival.REVIVE_EVENT = Event.Create(UNIT.Revival.Events.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderLunarRestoration_StructRevival.Event_Revive)",Zu,VB,function I6r) call Ufx(V9e,Nlx("FolderLunarRestoration_StructRevival_Init: call FolderLunarRestoration_StructRevival.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderLunarRestoration_StructRevival.Event_BuffGain))",dg,VB,function I9r)) +call Ufx(V9e,Nlx("FolderLunarRestoration_StructRevival_Init: call FolderLunarRestoration_StructRevival.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderLunarRestoration_StructRevival.Event_BuffLose))",Hf,VB,function Avr)) +endfunction function Aor takes nothing returns boolean local integer VBx set Eae=Nlx("LunarRestoration_Init: set LunarRestoration.DEATH_EVENT = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LunarRestoration.Event_Death)",zu,VB,function Iyr) call Ufx(Exe,Nlx("LunarRestoration_Init: call LunarRestoration.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LunarRestoration.Event_BuffGain))",dg,VB,function IYr)) +call Ufx(Exe,Nlx("LunarRestoration_Init: call LunarRestoration.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LunarRestoration.Event_BuffLose))",Hf,VB,function I_r)) +call Ufx(Ere,Nlx("LunarRestoration_Init: call LunarRestoration.EFFECT_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LunarRestoration.Event_EffectBuffGain))",dg,VB,function I0r)) call Ufx(Ere,Nlx("LunarRestoration_Init: call LunarRestoration.EFFECT_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LunarRestoration.Event_EffectBuffLose))",Hf,VB,function I1r)) call Sao(kDv,Nlx("LunarRestoration_Init: call LunarRestoration.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LunarRestoration.Event_Learn))",pv,VB,function I2r)) set VBx=(onv[(kDv)]) +loop +exitwhen(VBx<1) set Ene[VBx]=I3r("LunarRestoration_Init: set LunarRestoration.MANA_GAIN_EVENT[iteration] = Event.CreateLimit(UNIT.Mana.DUMMY_EVENT_TYPE, EventPriority.SPELLS, Real.ToInt(LunarRestoration.THIS_SPELL.GetManaCost(iteration)), GREATER_THAN_OR_EQUAL, function LunarRestoration.Event_ManaGain)",nJ,VB,(R2I((((hDx((kDv),zl+(VBx))))*1.))),GREATER_THAN_OR_EQUAL,function I4r) set EVe[VBx]=I3r("LunarRestoration_Init: set LunarRestoration.MANA_LOSE_EVENT[iteration] = Event.CreateLimit(UNIT.Mana.DUMMY_EVENT_TYPE, EventPriority.SPELLS, Real.ToInt(LunarRestoration.THIS_SPELL.GetManaCost(iteration)), LESS_THAN, function LunarRestoration.Event_ManaLose)",nJ,VB,(R2I((((hDx((kDv),zl+(VBx))))*1.))),LESS_THAN,function I5r) set VBx=VBx-1 endloop call Axr() return true endfunction function Arr takes nothing returns boolean call XMr(function Aor,"LunarRestoration_Init") return true endfunction function Air takes nothing returns boolean set EFe=Idx(Ege) +return true endfunction function Aar takes nothing returns boolean local integer Eix=(bv) local integer hdx=(LoadInteger(o[((V[(E[((X))])]))],(((jZ+(((av[(Eix)])))))),(((JZ))))) local integer csx if Cmx(hdx,tf)then return true endif set zH=(ze[(hdx)]) set csx=Xur((GetUnitX(C[((hdx))])),(GetUnitY(C[((hdx))])),500.,EGe) if(csx==w)then return true endif call UFx((hdx),(PK[((Uzv))]),(csx)) return true endfunction function Anr takes integer VFx,boolean eZr,boolean e_r returns integer local boolean AVr local integer VBx=(Bex(((VFx)),zd)) local integer Vtx=0 local integer cSx loop +exitwhen(VBx(Jk[(csx)]))and(Anr(csx,false,true)==0))then +return false +endif if(Vfx((((csx))),(Ud+(Ehe)))>0)then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function AXr takes nothing returns boolean local integer Qhx=Xgr(Uzv,function Aar) set EGe=Nyx(function AEr) call XHr(Qhx,g2v,vB,w) return true endfunction function AOr takes nothing returns boolean call EGr(function AXr,"AIPurge_Init") return true endfunction function ARr takes nothing returns boolean call scx('APur',false) set Uzv=s2o('APur') set orv[(Uzv)]=(ovv) +set onv[(Uzv)]=(1) set Zl[(Uzv)]=("Purge") set PK[(Uzv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D008F)))),(((FL)))))) set Vnv[(Uzv)]=(4) set n9v[(Uzv)]=("spell") +call s3o((Uzv),Ll+(1),((8)*1.)) call s3o((Uzv),zl+(1),((90)*1.)) +call s3o((Uzv),Pkv+(1),((900)*1.)) set Qkv[(Uzv)]=("ReplaceableTextures\\CommandButtons\\BTNPurge.blp") +return true endfunction function AIr takes nothing returns boolean set Ehe=x6o('BPur',"Purge",'bPur') set v_v[(Ehe)]=(true) set ORv[(Ehe)]=("ReplaceableTextures\\CommandButtons\\BTNPurge.blp") +call Urx(Ehe,"Abilities\\Spells\\Orc\\Purge\\PurgeBuffTarget.mdl","origin",EV) return true endfunction function AAr takes nothing returns boolean call IGx(UE,(function ARr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\Purge.page\\Purge.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function AIr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\Purge.page\\Purge.struct\\obj_dummyBuff_wc3buff.j")) +return true endfunction function ANr takes nothing returns boolean set EHe=Idx(Eje) +return true endfunction function Abr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer ABr=ELe[VFx] local integer Acr=EKe[VFx]-1 +local integer csx=VFx set EKe[VFx]=Acr +call CIx(csx,ABr) call UOx(((ABr)),Ef+(EJe),((EMe*(Acr*1./ Ele))*1.)) call CJx(csx,ABr) endfunction function ACr takes nothing returns boolean local integer Eix=(bv) local real Xdx=Eke local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer ABr=UEx() local integer Adr=E5x() set EKe[VFx]=Ele +set ELe[VFx]=ABr +set Eme[VFx]=Adr +set ge[(Adr)]=(VFx) call URx(ABr,EJe,EMe) call CJx(csx,ABr) call Xax(Adr,Xdx*1./ Ele,true,function Abr) return true endfunction function ADr takes integer VFx,integer Vgx returns nothing call SaveBoolean(o[(((V[(E[((vf[(VFx)]))])])))],(((((ef[((VFx))]))))),((((Vgx)))),(false)) endfunction function Afr takes integer VFx,integer Vgx returns nothing call Hjx((vf[(VFx)]),((ef[((VFx))])),(Vgx)) endfunction function AFr takes integer VFx returns nothing local integer VBx=(cux(((VFx)),xf)) local integer cZx loop +exitwhen(VBx0)then return endif if(v5v[VFx]!=Z)then call Vmx("UnitModSet_Allocation_deallocCustom_confirm","call DebugEx(UnitModSet.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",v4v+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set v5v[VFx]=v5v[(w)] set v5v[(w)]=VFx +call AMr(VFx) endfunction function APr takes integer VFx returns nothing set v7v[VFx]=v7v[VFx]-1 call Apr(VFx) endfunction function Aqr takes integer VFx returns nothing call AFr(VFx) call AGr(VFx) call ALr(VFx) call Afr(((VFx)),ff) +call APr((VFx)) endfunction function AQr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer ABr=ELe[VFx] local integer Adr=Eme[VFx] call Xbx(Adr) call CIx(csx,ABr) call Aqr(ABr) return true endfunction function Asr takes integer EKx,integer csx,real Xdx returns nothing if ALo(csx)then return endif call ezr(csx,false,true,true) set Eke=Xdx call d9x((csx),(Ehe),(EKx),w,((Xdx)*1.)) +endfunction function ASr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local real Xdx if Cmx(csx,rG)then set Xdx=Epe else +set Xdx=EPe endif call Asr(EKx,csx,Xdx) return true endfunction function Atr takes nothing returns boolean set EJe=exv call Ufx(Ehe,Nlx("Purge_Init: call Purge.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Purge.Event_BuffGain))",dg,VB,function ACr)) call Ufx(Ehe,Nlx("Purge_Init: call Purge.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Purge.Event_BuffLose))",Hf,VB,function AQr)) call Sao(Uzv,Nlx("Purge_Init: call Purge.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Purge.Event_SpellEffect))",kK,VB,function ASr)) +return true endfunction function ATr takes nothing returns boolean call XMr(function Atr,"Purge_Init") return true endfunction function Aur takes nothing returns boolean set Eqe=x6o('BSoP',"Poisoned",'bSoP') set v_v[(Eqe)]=(true) set ORv[(Eqe)]=("ReplaceableTextures\\CommandButtons\\BTNPoisonSting.blp") call Urx(Eqe,"Abilities\\Weapons\\PoisonSting\\PoisonStingTarget.mdl","origin",EV) return true endfunction function AUr takes nothing returns boolean call IGx(tE,(function Aur),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\SoakingPoison.page\\SoakingPoison.struct\\Target\\obj_dummyBuff_wc3buff.j")) +return true endfunction function Awr takes nothing returns boolean set EQe=Idx(Ese) +return true endfunction function AWr takes nothing returns boolean set ESe=u9x(Ete+" (dummyBuff)") set v2v=UEx() call URx(v2v,f6v,-20) call URx(v2v,gwv,-50) call UIx(((ESe)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,f6v,-40) call URx(v2v,gwv,-50) call UIx(((ESe)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,f6v,-60) call URx(v2v,gwv,-50) call UIx(((ESe)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,f6v,-80) call URx(v2v,gwv,-50) call UIx(((ESe)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,f6v,-'d') call URx(v2v,gwv,-50) call UIx(((ESe)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,f6v,-'x') call URx(v2v,gwv,-50) call UIx(((ESe)),YD+(6),(v2v)) set ETe[1]=-20 set ETe[2]=-40 set ETe[3]=-60 set ETe[4]=-80 set ETe[5]=-'d' set ETe[6]=-'x' set Eue[1]=-50 set Eue[2]=-50 set Eue[3]=-50 set Eue[4]=-50 set Eue[5]=-50 set Eue[6]=-50 return true endfunction function Ayr takes nothing returns boolean call scx('ASoP',false) set EUe=s2o('ASoP') set orv[(EUe)]=(ovv) +set onv[(EUe)]=(1) set Zl[(EUe)]=("Soaking Poison") +set n9v[(EUe)]=("spell") +call s3o((EUe),Pkv+(1),((750)*1.)) set Qkv[(EUe)]=("ReplaceableTextures\\PassiveButtons\\PASBTNPoisonSting.blp") return true endfunction function AYr takes nothing returns boolean call IGx(tE,(function AWr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\SoakingPoison.page\\SoakingPoison.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function Ayr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\SoakingPoison.page\\SoakingPoison.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Azr takes nothing returns boolean set Ewe=Idx(Ete) +return true endfunction function AZr takes integer csx returns boolean return( not(Cmx(csx,chv)))and( not(Cmx(csx,cjv))) endfunction function A_r takes integer hdx,integer EKx,integer csx returns nothing local real Xdx if Cmx(csx,rG)then set Xdx=Eye else +set Xdx=EYe endif set Eze=hdx call d9x((csx),(Eqe),(EKx),w,((Xdx)*1.)) +endfunction function A0r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) if not AZr(csx)then return true endif call A_r((A9v[(Eix)]),(Vfx((((A9v[(Eix)]))),N+(EUe))),csx) return true endfunction function A1r takes nothing returns boolean local integer Eix=(bv) call CMx((Vv[(Eix)]),EWe) return true endfunction function A2r takes nothing returns boolean local integer Eix=(bv) call cEx((Vv[(Eix)]),EWe) return true endfunction function A3r takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(ESe),((Mv[(Eix)])),w) return true endfunction function A4r takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),ESe) return true endfunction function A5r takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx call AYo((E1e[VFx]),(csx),((Xkx(E2e[VFx],(jk[(csx)])-Uk))*1.),(false),(false)) endfunction function A6r takes nothing returns boolean local integer Eix=(bv) local integer hdx=Eze local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=E5x() set E1e[VFx]=hdx +set E2e[VFx]=EZe +set E3e[VFx]=TBx +set ge[(TBx)]=(VFx) call Xax(TBx,E0e,true,function A5r) return true endfunction function A7r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=E3e[VFx] call Xbx(TBx) return true endfunction function A8r takes nothing returns nothing set EZe=E_e*E0e call Ufx(Eqe,Nlx("FolderSoakingPoison_StructTarget_Init: call FolderSoakingPoison_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSoakingPoison_StructTarget.Event_BuffGain))",dg,VB,function A6r)) +call Ufx(Eqe,Nlx("FolderSoakingPoison_StructTarget_Init: call FolderSoakingPoison_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSoakingPoison_StructTarget.Event_BuffLose))",Hf,VB,function A7r)) +call oio(Njv,Eqe) endfunction function A9r takes nothing returns boolean set EWe=Nlx("SoakingPoison_Init: set SoakingPoison.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function SoakingPoison.Event_Damage)",Nev,VB,function A0r) call Ufx(ESe,Nlx("SoakingPoison_Init: call SoakingPoison.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SoakingPoison.Event_BuffGain))",dg,VB,function A1r)) call Ufx(ESe,Nlx("SoakingPoison_Init: call SoakingPoison.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SoakingPoison.Event_BuffLose))",Hf,VB,function A2r)) call Sao(EUe,Nlx("SoakingPoison_Init: call SoakingPoison.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SoakingPoison.Event_Learn))",pv,VB,function A3r)) call Sao(EUe,Nlx("SoakingPoison_Init: call SoakingPoison.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SoakingPoison.Event_Unlearn))",Av,VB,function A4r)) call A8r() return true endfunction function Nvr takes nothing returns boolean call XMr(function A9r,"SoakingPoison_Init") return true endfunction function Ner takes nothing returns boolean call scx('AStm',false) set U4v=s2o('AStm') set orv[(U4v)]=(ovv) +set onv[(U4v)]=(1) set Zl[(U4v)]=("Stampede") set PK[(U4v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0271)))),(((FL)))))) set Vnv[(U4v)]=(2) set n9v[(U4v)]=("spell") +call s3o((U4v),Ll+(1),((8)*1.)) call s3o((U4v),zl+(1),((0)*1.)) call s3o((U4v),Pkv+(1),(($3E8)*1.)) set Qkv[(U4v)]=("ReplaceableTextures\\CommandButtons\\BTNSmash.blp") +return true endfunction function Nxr takes nothing returns boolean set E4e=u9x(E5e+" (dummyBuff)") return true endfunction function Nor takes nothing returns boolean call IGx(UE,(function Ner),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\Stampede.page\\Stampede.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function Nxr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\Stampede.page\\Stampede.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function Nrr takes nothing returns boolean set E6e=Idx(E5e) +return true endfunction function Nir takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function Nar takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=VFx local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local integer csx local real h8o set zH=(ze[(hdx)]) call fXo(Xre,xnr,xVr,hyx(hdx,true),XVe) set csx=fOo(Xre) +if(csx!=w)then set h8o=E7e*XXe[VFx] +call fxo(fio(xnr,xVr,XBe,fV,Xce*(JC[(hdx)]))) loop +call cdx((C1x((csx),(XCe),(Xde),(fV)))) call AYo((hdx),(csx),((h8o)*1.),(false),(false)) +set csx=fOo(Xre) +exitwhen(csx==w) +endloop endif endfunction function Nnr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx local real fwx=XIe[VFx]+XAe[VFx] +local real fWx=XNe[VFx]+Xbe[VFx] +set XXe[VFx]=XXe[VFx]+XOe[VFx] set XIe[VFx]=fwx +set XNe[VFx]=fWx +call Jqx(csx,fwx) call J5x(csx,fWx) endfunction function NVr takes nothing returns boolean local integer Eix=(bv) local integer NEr=(pf[(Eix)]) local integer csx=(Vv[(Eix)]) local real h0x=(rL[(NEr)]) local real h1x=(iL[(NEr)]) local real OMx=vPo(csx,h0x-(GetUnitX(C[((csx))])),h1x-(GetUnitY(C[((csx))]))) local integer VFx=csx local integer TBx=E5x() local integer WLo=E5x() local real Doo=(Cos(((((OMx)*1.))*1.))) local real Dro=(Sin(((((OMx)*1.))*1.))) set XEe[VFx]=TBx +set XXe[VFx]=Xee +set XOe[VFx]=Xxe*Xae +set XRe[VFx]=WLo +set XIe[VFx]=Xie*Doo +set XAe[VFx]=Xne*Doo +set XNe[VFx]=Xie*Dro +set Xbe[VFx]=Xne*Dro +set ge[(TBx)]=(VFx) set ge[(WLo)]=(VFx) call Xax(TBx,E9e,true,function Nar) call Xax(WLo,Xae,true,function Nnr) return true endfunction function NXr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=XEe[VFx] local integer WLo=XRe[VFx] call Xbx(TBx) call Xbx(WLo) return true endfunction function NOr takes nothing returns boolean local integer Eix=(bv) call d9x((Vv[(Eix)]),E4e,(Mv[(Eix)]),Eix,Xve) return true endfunction function NRr takes nothing returns boolean set E7e=E8e*E9e set Xve=-Xee*1./ Xxe+(SquareRoot(((Xee*Xee*1./ Xxe*1./ Xxe+2*Xoe*1./ Xxe)*1.))) set Xre=Bkx() set Xie=Xee*Xae set Xne=Xxe*Xae*Xae set XVe=Nyx(function Nir) call Ufx(E4e,Nlx("Stampede_Init: call Stampede.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Stampede.Event_BuffGain))",dg,VB,function NVr)) +call Ufx(E4e,Nlx("Stampede_Init: call Stampede.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Stampede.Event_BuffLose))",Hf,VB,function NXr)) +call Sao(U4v,Nlx("Stampede_Init: call Stampede.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Stampede.Event_SpellEffect))",kK,VB,function NOr)) return true endfunction function NIr takes nothing returns boolean call XMr(function NRr,"Stampede_Init") return true endfunction function NAr takes nothing returns boolean set XDe=Idx(Xfe) +return true endfunction function NNr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(LoadInteger(o[((V[(E[((X))])]))],(((jZ+(((av[(Eix)])))))),(((JZ))))) if Cmx(hdx,tf)then return true endif set zH=(ze[(hdx)]) call fXo(XFe,(GetUnitX(C[((hdx))])),(GetUnitY(C[((hdx))])),(hDx((kNv),Yhv+((Vfx(((hdx)),N+(kNv)))))),Xge) if((fNo((XFe)))<2)then return true endif call BPx((hdx),(PK[((kNv))])) return true endfunction function Nbr takes nothing returns boolean local integer Qhx=Xgr(kNv,function NNr) call X1r(Qhx,5.) +return true endfunction function NBr takes nothing returns boolean call EGr(function Nbr,"AIStomp_Init") return true endfunction function Ncr takes nothing returns boolean call scx('AStp',false) set kNv=s2o('AStp') set orv[(kNv)]=(ovv) +set onv[(kNv)]=(1) set Zl[(kNv)]=("Stomp") set PK[(kNv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00C4)))),(((FL)))))) set Vnv[(kNv)]=(0) set n9v[(kNv)]=("spell") +call s3o((kNv),Yhv+(1),((400)*1.)) call s3o((kNv),jl+(1),((1.5)*1.)) call s3o((kNv),Ll+(1),(($A)*1.)) +call s3o((kNv),zl+(1),((40)*1.)) +call s3o((kNv),Pkv+(1),((750)*1.)) set Qkv[(kNv)]=("ReplaceableTextures\\CommandButtons\\BTNWarStomp.blp") return true endfunction function NCr takes nothing returns boolean call IGx(UE,(function Ncr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act1\\Stomp.page\\Stomp.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Ndr takes nothing returns boolean set XGe=Idx(Xhe) +return true endfunction function NDr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function Nfr takes integer VFx,real fwx,real fWx,real Gxx,real kxx,real kox,real krx,real Xdx returns nothing call kex(VFx,fwx,fWx,Gxx,kxx,kox,krx,Xdx) endfunction function NFr takes integer VFx returns nothing local real jBo=1. local real Dio=250.*32.*1./(16.+hyx((VFx),true)) +local real Ngr=-8*Dio*1./ jBo*1./ jBo local real fdx=-Ngr*1./ 2*jBo call Nfr((VFx),.0,.0,fdx,.0,.0,Ngr,jBo) endfunction function NGr takes nothing returns boolean local integer Eix=(bv) call NFr((Vv[(Eix)])) return true endfunction function Nhr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local integer csx call Sgo((Sjo(((xnr)*1.),((xVr)*1.),(XHe),(EV)))) set zH=(ze[(hdx)]) call fXo(XFe,xnr,xVr,(hDx((kNv),Yhv+(EKx))),Xge) +set csx=fOo(XFe) +if(csx!=w)then loop +call d9x((csx),(N0v),(EKx),w,((Xje)*1.)) +call AYo((hdx),(csx),((XJe)*1.),(false),(false)) +set csx=fOo(XFe) +exitwhen(csx==w) +endloop endif return true endfunction function NHr takes nothing returns boolean set XFe=Bkx() set Xge=Nyx(function NDr) call Sao(kNv,Nlx("Stomp_Init: call Stomp.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Stomp.Event_SpellEffect))",kK,VB,function NGr)) +call Sao(kNv,Nlx("Stomp_Init: call Stomp.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.SUCCESS_EVENT_TYPE, EventPriority.SPELLS, function Stomp.Event_EndCast))",VIv,VB,function Nhr)) return true endfunction function Njr takes nothing returns boolean call XMr(function NHr,"Stomp_Init") return true endfunction function NJr takes nothing returns boolean local integer Eix=(bv) local integer COx=(Ff[(Eix)]) call JCx(((Vv[(Eix)])),FAv[(COx)],FNv[(COx)],Fbv[(COx)],FBv[(COx)],Fcv[(COx)]) return true endfunction function Nkr takes nothing returns boolean local integer Eix=(bv) local integer COx=(Ff[(Eix)]) call JCx((((Vv[(Eix)]))),-((FAv[(COx)])*1.),-((FNv[(COx)])*1.),-((Fbv[(COx)])*1.),-((FBv[(COx)])*1.),((Fcv[(COx)])*1.)) return true endfunction function NKr takes integer VFx,real XMx,real Xpx,real XPx,real Xqx,real Xdx returns integer local integer COx=O5o(FIv,function NJr,function Nkr) +set FAv[(COx)]=XMx set FNv[(COx)]=Xpx set Fbv[(COx)]=XPx set FBv[(COx)]=Xqx set Fcv[(COx)]=Xdx return COx endfunction function Nlr takes nothing returns boolean set Xke=u9x(XKe+" (dummyBuff)") set v2v=UEx() call UXx(((v2v)),ff,(NKr(cd,0,0,0,0,2))) +call UIx(((Xke)),YD+(1),(v2v)) return true endfunction function NLr takes nothing returns boolean call scx('ABag',false) set J0v=s2o('ABag') set orv[(J0v)]=(ovv) +set onv[(J0v)]=(1) set Zl[(J0v)]=("Barrage") set PK[(J0v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D007F)))),(((FL)))))) set Vnv[(J0v)]=(4) set n9v[(J0v)]=("spell") +call s3o((J0v),Yhv+(1),(($FA)*1.)) call s3o((J0v),jl+(1),((5)*1.)) call s3o((J0v),Ll+(1),(($C)*1.)) +call s3o((J0v),zl+(1),((80)*1.)) +call s3o((J0v),Pkv+(1),((700)*1.)) set Qkv[(J0v)]=("ReplaceableTextures\\CommandButtons\\BTNFlakCannons.blp") return true endfunction function Nmr takes nothing returns boolean call IGx(tE,(function Nlr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\Barrage.page\\Barrage.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function NLr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\Barrage.page\\Barrage.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function NMr takes nothing returns boolean set Xle=Idx(XKe) +return true endfunction function Npr takes code c,string EFx returns nothing +set qX=qX+1 set QX[qX]=CreateTrigger() set sX[qX]=(GetHandleId(Condition((c)))) +set SX[qX]=EFx call TriggerAddCondition(QX[qX],Condition(c)) endfunction function NPr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if((Ubv[(pe)]0)then return endif if(X1e[VFx]!=Z)then call Vmx("BouncyBomb_Allocation_deallocCustom_confirm","call DebugEx(BouncyBomb.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",XUe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set X1e[VFx]=X1e[(w)] set X1e[(w)]=VFx +call N6r(VFx) endfunction function N8r takes integer VFx returns nothing set X3e[VFx]=X3e[VFx]-1 call N7r(VFx) endfunction function N9r takes real x,real y,real z,string Czx,integer EKx returns integer local destructable LCx=CreateDestructableZ('cEfL',x,y,z,.0,1.,0) +local integer VFx=Sjo(x,y,Czx,EKx) call RemoveDestructable(LCx) +set LCx=null +return VFx endfunction function bvr takes integer VFx,real x,real y,real z,real Pox,integer Wox returns nothing +if(Wox==w)then set Wox=TQ endif set Wox=fVo(gW,Wox) set HW=Pox set GW=x +set hW=y +set JW=z +call fEo((VFx),x,y,Pox+fQv,Wox) endfunction function ber takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer hdx=X7e[VFx] local integer MCx=X8e[VFx] local integer WLo=Oxe[VFx] local integer hgx=Ooe[VFx] local integer EKx=(Dl[(hgx)]) local real x=(Rm[(MCx)]) +local real y=(bm[(MCx)]) +local real z=(hz[(MCx)]) +local integer csx local real bxr local real fCo call N8r((VFx)) call Szx(MCx) call Xbx(Xrx) call Xbx(WLo) call Sgo((N9r(((x)*1.),((y)*1.),((z)*1.),(OVe),(EV)))) set zH=(ze[(hdx)]) call bvr(Xwe,x,y,z,(hDx((U9v),Yhv+(EKx))),XWe) set csx=fOo(Xwe) +if(csx!=w)then set bxr=OEe loop +set fCo=Xkx(OXe,bxr) +set bxr=bxr-fCo call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(Xwe) +exitwhen(csx==w) +endloop endif call h7x(hgx) endfunction function bor takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local integer VFx=N2r() local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real brr=drx(hdx)+bZx(hdx,true) local integer Xrx=E5x() local integer WLo=E5x() local integer hgx=hCx(hdx,U9v) local real dX=h0x-(GetUnitX(C[((hdx))])) +local real dY=h1x-(GetUnitY(C[((hdx))])) +local real OMx=vPo(hdx,dX,dY) local real d=JKx(dX,dY) local integer MCx=syx('qByB',xnr,xVr,brr,OMx) local real bir=d*1./ Xye +local real bar=bir*(Cos(((((OMx)*1.))*1.))) local real bnr=bir*(Sin(((((OMx)*1.))*1.))) local real bVr=((bex(h0x,h1x)-brr)*1./ X6e-X_e*1./ 2*X6e)*Xze set X7e[VFx]=hdx +set X8e[VFx]=MCx +set X9e[VFx]=lWx(bar,bnr,bVr) set Ove[VFx]=h0x +set Oee[VFx]=h1x +set Oxe[VFx]=WLo +set Ooe[VFx]=hgx +set Ore[VFx]=bar +set Oie[VFx]=bnr +set Oae[VFx]=bVr +set ge[(Xrx)]=(VFx) set ge[(WLo)]=(VFx) call Xax(WLo,Xze,true,function N5r) call Xax(Xrx,XYe,false,function ber) +return true endfunction function bEr takes nothing returns boolean set Xwe=Bkx() set XWe=Nyx(function N0r) set Xye=(R2I(((XYe*1./ Xze)*1.))) set XZe=X_e*Xze*Xze call Sao(U9v,Nlx("BouncyBomb_Init: call BouncyBomb.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BouncyBomb.Event_SpellEffect))",kK,VB,function bor)) return true endfunction function bXr takes nothing returns boolean call Npr(function bEr,"BouncyBomb_Init") +return true endfunction function bOr takes nothing returns boolean call scx('ABuO',false) set U8v=s2o('ABuO') set orv[(U8v)]=(ovv) +set onv[(U8v)]=(1) set Zl[(U8v)]=("Burning Oil") set n9v[(U8v)]=("spell") +call s3o((U8v),Yhv+(1),(($8C)*1.)) call s3o((U8v),Pkv+(1),((750)*1.)) set Qkv[(U8v)]=("ReplaceableTextures\\PassiveButtons\\PASBTNFireRocks.blp") return true endfunction function bRr takes nothing returns boolean call scx('ABuX',false) return true endfunction function bIr takes nothing returns boolean set OOe=u9x(ORe+" (dummyBuff)") return true endfunction function bAr takes nothing returns boolean call IGx(UE,(function bOr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\BurningOil.page\\BurningOil.struct\\obj_thisSpell_wc3spell.j")) call IGx(UE,(function bRr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\BurningOil.page\\BurningOil.struct\\obj_missileGraphicSpell_wc3spell.j")) call IGx(tE,(function bIr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\BurningOil.page\\BurningOil.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function bNr takes nothing returns boolean set OIe=Idx(ORe) +return true endfunction function bbr takes integer VFx returns integer set OFe[VFx]=true set Oge[VFx]=false call V1x(OIe) return VFx endfunction function bBr takes nothing returns integer local integer VFx if(OCe==8190)then call Vmx("BurningOil_Allocation_allocCustom","call DebugEx(BurningOil.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",ORe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Ode[(w)]==w)then set ODe=ODe+1 set VFx=ODe else +set VFx=Ode[(w)] +set Ode[(w)]=Ode[Ode[(w)]] endif set Ode[VFx]=Z set Ofe[VFx]=1 call bbr(VFx) return VFx endfunction function bcr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=OGe[VFx] local integer csx set zH=(ze[(hdx)]) call fXo(OBe,Oke[VFx],OKe[VFx],(hDx((U8v),Yhv+(OHe[VFx]))),Ole) set csx=fOo(OBe) +if(csx!=w)then loop +call AYo((hdx),(csx),((OAe)*1.),(false),(false)) +set csx=fOo(OBe) +exitwhen(csx==w) +endloop endif endfunction function bCr takes integer VFx returns nothing set OFe[VFx]=false call EEx(OIe) endfunction function bdr takes integer VFx returns nothing if(Ofe[VFx]>0)then return endif if(Ode[VFx]!=Z)then call Vmx("BurningOil_Allocation_deallocCustom_confirm","call DebugEx(BurningOil.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",ORe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Ode[VFx]=Ode[(w)] set Ode[(w)]=VFx +call bCr(VFx) endfunction function bDr takes integer VFx returns nothing set Ofe[VFx]=Ofe[VFx]-1 call bdr(VFx) endfunction function bfr takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer TBx=Ohe[VFx] local integer Aer=Oje[VFx] call bDr((VFx)) call Xbx(Xrx) call Xbx(TBx) call Sgo(Aer) endfunction function bFr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local integer EKx=(Vfx(((hdx)),N+(U8v))) +local integer VFx=bBr() local integer Xrx=E5x() local integer TBx=E5x() set OGe[VFx]=hdx +set Ohe[VFx]=TBx +set OHe[VFx]=EKx +set Oje[VFx]=(Sjo(((h0x)*1.),((h1x)*1.),(OJe),(EV))) +set Oke[VFx]=h0x +set OKe[VFx]=h1x +set ge[(Xrx)]=(VFx) set ge[(TBx)]=(VFx) call Xax(TBx,Obe,true,function bcr) call Xax(Xrx,OLe,false,function bfr) +return true endfunction function bgr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function bGr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) call CMx(csx,Oce) call Egx(csx,'ABuX') +return true endfunction function bhr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) call cEx(csx,Oce) call UnitRemoveAbility(C[((csx))],('ABuX')) return true endfunction function bHr takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(OOe),((Mv[(Eix)])),w) return true endfunction function bjr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),OOe) return true endfunction function bJr takes nothing returns boolean set OAe=ONe*Obe set OBe=Bkx() set Oce=Nlx("BurningOil_Init: set BurningOil.GROUND_ATTACK_EVENT = Event.Create(UNIT.Attack.Events.Ground.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BurningOil.Event_GroundAttack)",Giv,VB,function bFr) set Ole=Nyx(function bgr) call Ufx(OOe,Nlx("BurningOil_Init: call BurningOil.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BurningOil.Event_BuffGain))",dg,VB,function bGr)) call Ufx(OOe,Nlx("BurningOil_Init: call BurningOil.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BurningOil.Event_BuffLose))",Hf,VB,function bhr)) call Sao(U8v,Nlx("BurningOil_Init: call BurningOil.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BurningOil.Event_Learn))",pv,VB,function bHr)) +call Sao(U8v,Nlx("BurningOil_Init: call BurningOil.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BurningOil.Event_Unlearn))",Av,VB,function bjr)) +return true endfunction function bkr takes nothing returns boolean call Npr(function bJr,"BurningOil_Init") +return true endfunction function bKr takes nothing returns boolean set Ome=IJx("OChP") return true endfunction function blr takes nothing returns boolean call scx('AChL',false) set Jzv=s2o('AChL') set orv[(Jzv)]=(ovv) +set onv[(Jzv)]=(1) set Zl[(Jzv)]=("Chain Lightning") set PK[(Jzv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0097)))),(((FL)))))) set Vnv[(Jzv)]=(4) set n9v[(Jzv)]=("spell") +call s3o((Jzv),Yhv+(1),((500)*1.)) call s3o((Jzv),Ll+(1),(($F)*1.)) +call s3o((Jzv),zl+(1),((95)*1.)) +call s3o((Jzv),Pkv+(1),((550)*1.)) set Qkv[(Jzv)]=("ReplaceableTextures\\CommandButtons\\BTNChainLightning.blp") return true endfunction function bLr takes nothing returns boolean set OMe=IJx("OChS") return true endfunction function bmr takes nothing returns boolean call IGx(mE,(function bKr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\ChainLightning.page\\ChainLightning.struct\\obj_boltPrimary_wc3bolt.j")) +call IGx(UE,(function blr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\ChainLightning.page\\ChainLightning.struct\\obj_thisSpell_wc3spell.j")) call IGx(mE,(function bLr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\ChainLightning.page\\ChainLightning.struct\\obj_boltSecondary_wc3bolt.j")) return true endfunction function bMr takes nothing returns boolean set Ope=Idx(OPe) +return true endfunction function bpr takes integer csx returns boolean return( not(Cmx(csx,tf)))and( not(Cmx(csx,chv)))and( not(IsUnitAlly(C[(csx)],vx[(zH)])))and( not(ALo(csx))) endfunction function bPr takes nothing returns boolean local integer csx=pKx() if sho(Ose,csx)then return false +endif if not bpr(csx)then return false +endif return true return true endfunction function bqr takes integer VFx returns integer set OUe[VFx]=true set Owe[VFx]=false call V1x(Ope) return VFx endfunction function bQr takes nothing returns integer local integer VFx if(OSe==8190)then call Vmx("ChainLightning_Allocation_allocCustom","call DebugEx(ChainLightning.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",OPe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Ote[(w)]==w)then set OTe=OTe+1 set VFx=OTe else +set VFx=Ote[(w)] +set Ote[(w)]=Ote[Ote[(w)]] endif set Ote[VFx]=Z set Oue[VFx]=1 call bqr(VFx) return VFx endfunction function bsr takes integer VFx returns integer set iZ[VFx]=true +set O9e[VFx]=false call V1x(oz) +return VFx endfunction function bSr takes nothing returns integer local integer VFx if(O7e==8190)then call Vmx("FolderLightning_StructFromUnitToUnit_Allocation_allocCustom","call DebugEx(FolderLightning_StructFromUnitToUnit.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",rz+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(rZ[(w)]==w)then set O8e=O8e+1 set VFx=O8e else +set VFx=rZ[(w)] set rZ[(w)]=rZ[rZ[(w)]] endif set rZ[VFx]=Z set oZ[VFx]=1 call bsr(VFx) return VFx endfunction function btr takes integer VFx returns boolean set OZ=OZ+1 set XZ[OZ]=VFx set EZ[VFx]=OZ+1 +return(OZ==0) endfunction function bTr takes nothing returns nothing local integer VBx=OZ +local integer VFx local integer VMx local integer csx local real kKx local real klx local real kLx local real h0x local real h1x local real kJx loop +set VFx=XZ[VBx] set VMx=IZ[VFx] set csx=AZ[VFx] if(VMx==w)then set kKx=bZ[VFx] set klx=BZ[VFx] set kLx=cZ[VFx] else +set kKx=dxx(VMx) +set klx=dox(VMx) +set kLx=bzx(VMx,kKx,klx)+bZx(VMx,true) endif if(csx==w)then set h0x=CZ[VFx] set h1x=DZ[VFx] set kJx=fZ[VFx] else +set h0x=dxx(csx) +set h1x=dox(csx) +set kJx=bzx(csx,h0x,h1x)+khx(csx,true) endif call kGx(NZ[VFx],kKx,klx,kLx,h0x,h1x,kJx) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function bur takes integer VFx,integer VMx,integer csx returns nothing local integer ENx=VFx local real kKx local real klx local real h0x local real h1x if(VMx==csx)then +return endif set kKx=dxx(VMx) +set klx=dox(VMx) +set h0x=dxx(csx) +set h1x=dox(csx) +call kCx(ENx) set VFx=bSr() set NZ[VFx]=ENx set IZ[VFx]=VMx set AZ[VFx]=csx call kfx(ENx,xZ,VFx) +call kFx(ENx,vZ) +if EHx(VMx,nZ,VFx)then call CMx(VMx,VZ) +call kgx(VMx) endif if EHx(csx,nZ,VFx)then call CMx(csx,VZ) +call kgx(csx) endif call kGx(ENx,dxx(VMx),dox(VMx),bzx(VMx,kKx,klx)+bZx(VMx,true),h0x,h1x,bzx(csx,h0x,h1x)+khx(csx,true)) if btr(VFx)then call Xax(RZ,Rve,true,function bTr) endif endfunction function bUr takes integer VFx returns nothing set OUe[VFx]=false call EEx(Ope) endfunction function bwr takes integer VFx returns nothing if(Oue[VFx]>0)then return endif if(Ote[VFx]!=Z)then call Vmx("ChainLightning_Allocation_deallocCustom_confirm","call DebugEx(ChainLightning.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",OPe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Ote[VFx]=Ote[(w)] set Ote[(w)]=VFx +call bUr(VFx) endfunction function bWr takes integer VFx returns nothing set Oue[VFx]=Oue[VFx]-1 call bwr(VFx) endfunction function byr takes integer VFx,integer Wmo returns nothing call bWr((VFx)) call Bmx(Wmo) endfunction function bYr takes integer VFx,integer bzr,integer bZr,integer csx,integer Wmo returns nothing set kf=VFx set Kf=bzr set Bg=bZr set cg=csx set Roe=Wmo call TriggerEvaluate(Rre) endfunction function b_r takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=Oye[VFx] local integer b0r=O1e[VFx] local integer b1r=O4e[VFx] local integer csx=O6e[VFx] local integer Wmo=O3e[VFx] local real fCo local real h0x local real h1x local integer b2r if(csx!=w)then call cdx((C1x((csx),(Ree),(Rxe),(fV)))) set zH=(ze[(hdx)]) if(bpr(csx))then +set fCo=OYe[VFx] +set OYe[VFx]=fCo*(1.-OZe[VFx]) call AYo((hdx),(csx),((fCo)*1.),(true),(false)) endif endif if(b1r==b0r)then +call byr(VFx,Wmo) else +set h0x=(GetUnitX(C[((csx))])) set h1x=(GetUnitY(C[((csx))])) set Ose=Wmo set zH=(ze[(hdx)]) call fXo(Oqe,h0x,h1x,OWe[VFx],OQe) set b2r=(SJo((Oqe),((h0x)*1.),((h1x)*1.))) if(b2r==w)then call byr(VFx,Wmo) else +set O4e[VFx]=b1r+1 call bYr(VFx,OMe,csx,b2r,Wmo) endif endif call tDo(tgo) return true endfunction function b3r takes integer VFx,integer bzr,integer bZr,integer csx,integer Wmo returns nothing local integer tgo=teo() local integer Kax=kAx(bzr) set O5e[VFx]=tgo +set O6e[VFx]=csx +call bur(Kax,bZr,csx) call GroupAddUnit(jd[(Wmo)],C[(csx)]) call Krx(Kax,.75) set qsv[(tgo)]=((10.)*1.) set quv[(tgo)]=Ntx((function b_r)) set QEv[(tgo)]=(VFx) +call S9o(tgo,E9x(JKx((GetUnitX(C[((csx))]))-(GetUnitX(C[((bZr))])),(GetUnitY(C[((csx))]))-(GetUnitY(C[((bZr))])))*1./ .25,700.)) +call Tvo(tgo,bZr) call t4o((tgo),(csx),.0,.0,.0,(null)) endfunction function b4r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local integer VFx=bQr() local integer Wmo=Bkx() set OWe[VFx]=(hDx((Jzv),Yhv+(EKx))) set Oye[VFx]=hdx +set OYe[VFx]=Oze +set OZe[VFx]=O_e +set O0e[VFx]=EKx +set O1e[VFx]=O2e +set O3e[VFx]=Wmo +set O4e[VFx]=1 call b3r(VFx,Ome,hdx,csx,Wmo) return true endfunction function b5r takes nothing returns boolean set Oqe=Bkx() set OQe=Nyx(function bPr) call Sao(Jzv,Nlx("ChainLightning_Init: call ChainLightning.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ChainLightning.Event_SpellEffect))",kK,VB,function b4r)) return true endfunction function b6r takes nothing returns boolean call Npr(function b5r,"ChainLightning_Init") +return true endfunction function b7r takes nothing returns boolean set Rie=Idx(Rae) +return true endfunction function b8r takes nothing returns boolean set Rne=Idx(RVe) +return true endfunction function b9r takes nothing returns boolean set REe=Idx(RXe) +return true endfunction function Bvr takes nothing returns boolean set ROe=Idx(RRe) +return true endfunction function Ber takes nothing returns boolean return true endfunction function Bxr takes nothing returns boolean set RIe=Idx(RAe) +return true endfunction function Bor takes nothing returns boolean call scx('AClv',false) set U1v=s2o('AClv') set orv[(U1v)]=(ovv) +set onv[(U1v)]=(1) set Zl[(U1v)]=("Cleaver") set PK[(U1v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0089)))),(((FL)))))) set Vnv[(U1v)]=(2) set n9v[(U1v)]=("spell") +call s3o((U1v),Ll+(1),((7)*1.)) call s3o((U1v),zl+(1),((60)*1.)) +call s3o((U1v),Pkv+(1),((750)*1.)) set Qkv[(U1v)]=("ReplaceableTextures\\CommandButtons\\BTNShockWave.blp") +return true endfunction function Brr takes nothing returns boolean call IGx(UE,(function Bor),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\Cleaver.page\\Cleaver.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Bir takes nothing returns boolean set RNe=Idx(Rbe) +return true endfunction function Bar takes integer VFx returns integer set RBe[VFx]=true set Rce[VFx]=false set RCe[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set Rde[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) call V1x(RNe) return VFx endfunction function Bnr takes integer VFx returns nothing set Rje[(VFx)]=(RJe+VFx) +endfunction function BVr takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((RCe[(VFx)]))])]))],((((Rje[((VFx))])))),(((Vgx)))))) endfunction function BEr takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((RCe[(VFx)]))])]))],((((Rje[((VFx))])))),(((Vgx)+(VAx))))) endfunction function BXr takes integer VFx returns nothing local integer ENx=VFx local integer VBx=BVr(ENx,RKe) local integer hdx local integer EKx local real bxr local integer Wmo local integer hbo local integer csx local real fCo if(VBx0)then return endif if(Rue[VFx]!=Z)then call Vmx("FolderCleaver_StructWave_Allocation_deallocCustom_confirm","call DebugEx(FolderCleaver_StructWave.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",RAe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Rue[VFx]=Rue[(w)] set Rue[(w)]=VFx +call BAr(VFx) endfunction function Bbr takes integer VFx returns nothing set RTe[VFx]=RTe[VFx]-1 call BNr(VFx) endfunction function BBr takes integer VFx,integer Vgx,integer Vhx returns boolean return VYx(RCe[(VFx)],(Rje[((VFx))]),Vgx,Vhx) endfunction function Bcr takes integer VFx returns nothing local integer ENx=VFx local integer VBx=BVr(ENx,RKe) local integer MCx if(VBx0)then return endif if(R8e[VFx]!=Z)then call Vmx("DeathAxe_Allocation_deallocCustom_confirm","call DebugEx(DeathAxe.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",R5e+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set R8e[VFx]=R8e[(w)] set R8e[(w)]=VFx +call BUr(VFx) endfunction function BWr takes integer VFx returns nothing set Ive[VFx]=Ive[VFx]-1 call Bwr(VFx) endfunction function Byr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx local real fCo if(csx==w)then call BWr((VFx)) call tDo(tgo) return true endif set hdx=Ioe[VFx] +set fCo=Ire[VFx] +call BWr((VFx)) call tDo(tgo) if ALo(csx)then return true endif call AYo((hdx),(csx),((fCo)*1.),(true),(false)) call d9x((csx),(E_v),(Ine[VFx]),w,((IXe)*1.)) return true endfunction function BYr takes nothing returns nothing local integer bUx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(bUx)]) local integer hdx=Ioe[VFx] local integer EKx=Ine[VFx] local real Bzr=(GetUnitX(C[((hdx))])) local real BZr=(GetUnitY(C[((hdx))])) local real Rir=(hDx((U0v),Pkv+(EKx))) local integer csx local real h0x local real h1x local real OMx local integer tgo local integer MCx call Xbx(bUx) set zH=(ze[(hdx)]) set csx=eMr(Bzr,BZr,(hDx((U0v),Pkv+(EKx))),IEe) if(csx==w)then call BWr((VFx)) else +set h0x=(GetUnitX(C[((csx))])) set h1x=(GetUnitY(C[((csx))])) set OMx=(Atan2(((h1x-BZr)*1.),((h0x-Bzr)*1.))) set tgo=teo() set MCx=tio(tgo,'qDeA',1.5) call S2o(tgo,500.) set qsv[(tgo)]=(((hDx((U0v),Yhv+(EKx))))*1.) +set quv[(tgo)]=Ntx((function Byr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,350.) call Tvo(tgo,hdx) call WTo((MCx),(IOe),(IRe),(EV)) +set qUv[(tgo)]=(IIe) +call Okr(tgo,Bzr+Rir*(Cos(((((OMx)*1.))*1.))),BZr+Rir*(Sin(((((OMx)*1.))*1.))),bex(h0x,h1x)+60.) +endif call qQx(hdx) endfunction function B_r takes integer hdx,integer EKx returns nothing local integer VFx=Bur() local integer bUx=E5x() set Ioe[VFx]=hdx +set Ire[VFx]=Iie +set Iae[VFx]=bUx +set Ine[VFx]=EKx +set ge[(bUx)]=(VFx) call kgx(hdx) call Xax(bUx,IVe,false,function BYr) +endfunction function B0r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) call B_r(hdx,EKx) return true endfunction function B1r takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cHv)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function B2r takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) set zH=(ze[(Ioe[VFx])]) if not B1r()then +return false +endif return true return true endfunction function B3r takes nothing returns boolean local integer Eix=(bv) call CMx((Vv[(Eix)]),R6e) return true endfunction function B4r takes nothing returns boolean local integer Eix=(bv) call cEx((Vv[(Eix)]),R6e) return true endfunction function B5r takes nothing returns boolean set R6e=Nlx("DeathAxe_Init: set DeathAxe.DEATH_EVENT = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function DeathAxe.Event_Death)",zu,VB,function B0r) set IIe=Nyx(function B2r) set IEe=Nyx(function B1r) call Sao(U0v,Nlx("DeathAxe_Init: call DeathAxe.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function DeathAxe.Event_Learn))",pv,VB,function B3r)) call Sao(U0v,Nlx("DeathAxe_Init: call DeathAxe.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function DeathAxe.Event_Unlearn))",Av,VB,function B4r)) return true endfunction function B6r takes nothing returns boolean call Npr(function B5r,"DeathAxe_Init") return true endfunction function B7r takes nothing returns boolean set IAe=x6o('BDrR',"Drum Roll",'bDrR') set OOv[(IAe)]=(true) set ORv[(IAe)]=("ReplaceableTextures\\PassiveButtons\\PASBTNDrum.blp") call Urx(IAe,"Abilities\\Spells\\Other\\GeneralAuraTarget\\GeneralAuraTarget.mdl","origin",EV) set v2v=UEx() call URx(v2v,gGv,.2) +call UIx(((IAe)),YD+(1),(v2v)) return true endfunction function B8r takes nothing returns boolean call IGx(tE,(function B7r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\DrumRoll.page\\DrumRoll.struct\\Target\\obj_dummyBuff_wc3buff.j")) return true endfunction function B9r takes nothing returns boolean set INe=Idx(Ibe) +return true endfunction function cvr takes nothing returns boolean call scx('ADrR',false) set kFv=s2o('ADrR') set orv[(kFv)]=(ovv) +set onv[(kFv)]=(1) set Zl[(kFv)]=("Drum Roll") set n9v[(kFv)]=("spell") +call s3o((kFv),Yhv+(1),((500)*1.)) call s3o((kFv),Pkv+(1),((750)*1.)) set Qkv[(kFv)]=("ReplaceableTextures\\PassiveButtons\\PASBTNCommand.blp") return true endfunction function cer takes nothing returns boolean set IBe=u9x(Ice+" (dummyBuff)") call Urx(IBe,"Abilities\\Spells\\Orc\\CommandAura\\CommandAura.mdl","origin",EV) +return true endfunction function cxr takes nothing returns boolean call IGx(UE,(function cvr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\DrumRoll.page\\DrumRoll.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function cer),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\DrumRoll.page\\DrumRoll.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function cor takes nothing returns boolean set ICe=Idx(Ice) +return true endfunction function crr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if not(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function cir takes integer VFx returns integer set IGe[VFx]=true set Ihe[VFx]=false set IHe[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set iie[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) call V1x(rze) return VFx endfunction function car takes nothing returns integer local integer VFx if(IDe==8190)then call Vmx("Aura_Allocation_allocCustom","call DebugEx(Aura.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",rZe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Ife[(w)]==w)then set IFe=IFe+1 set VFx=IFe else +set VFx=Ife[(w)] +set Ife[(w)]=Ife[Ife[(w)]] endif set Ife[VFx]=Z set Ige[VFx]=1 call cir(VFx) return VFx endfunction function cnr takes integer VFx returns nothing set ioe[(VFx)]=(Ije+VFx) +endfunction function cVr takes integer hdx returns integer local integer VFx=car() call cnr(VFx) set iee[(VFx)]=((.0)*1.) +set r3e[(VFx)]=(hdx) +set ixe[(VFx)]=(w) set ive[(VFx)]=(Pcx("Aura_Create: call this.SetTargetGroup(UnitList.Create())")) +return VFx endfunction function cEr takes integer VFx,integer N8x returns nothing if(iie[VFx]==w)then call Vmx("FolderAura_StructEvent_Add","call DebugEx(\"no table \"+I2S(this)+\";\"+whichEvent.GetName())","no table "+I2S(VFx)+";"+(vc[(N8x)])) set iie[VFx]=X endif call Ehx(iie[VFx],(ioe[((VFx))]),(HB[(N8x)]),N8x) endfunction function cXr takes integer VFx returns boolean if((Ime[((VFx))])>0)then +return false +endif set IMe=IMe+1 set Ipe[IMe]=VFx +set Ime[VFx]=IMe+1 return(IMe==0) endfunction function cOr takes integer VFx returns nothing local integer hdx=(r3e[(VFx)]) if EHx(hdx,r2e,VFx)then call CMx(hdx,r1e) call CMx(hdx,iVe) endif call cXr(VFx) call ENr(VFx) endfunction function cRr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer cIr=cVr(csx) set IJe[VFx]=cIr +set Ike[VFx]=EKx +set IKe[(cIr)]=(VFx) +set iee[(cIr)]=(((hDx((kFv),Yhv+(EKx))))*1.) +set ixe[(cIr)]=(Ide) +call cEr(cIr,Ile) call cEr(cIr,ILe) call cOr(cIr) return true endfunction function cAr takes integer VFx returns boolean if not((Ime[((VFx))])>0)then +return false +endif set Ime[Ipe[IMe]]=Ime[VFx] set Ipe[Ime[VFx]-1]=Ipe[IMe] +set Ime[VFx]=0 set IMe=IMe-1 return(IMe==F) endfunction function cNr takes integer VFx returns nothing local integer hdx=(r3e[(VFx)]) if V_x(hdx,r2e,VFx)then call cEx(hdx,r1e) call cEx(hdx,iVe) endif call cAr(VFx) call ECr(VFx) endfunction function cbr takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((iie[VFx]))])])],((((ioe[((VFx))]))))) +endfunction function cBr takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((IHe[VFx]))])])],((((ioe[((VFx))]))))) +endfunction function ccr takes integer VFx returns nothing set IGe[VFx]=false call cBr((VFx)) call cbr(((VFx))) call EEx(rze) endfunction function cCr takes integer VFx returns nothing if(Ige[VFx]>0)then return endif if(Ife[VFx]!=Z)then call Vmx("Aura_Allocation_deallocCustom_confirm","call DebugEx(Aura.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",rZe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Ife[VFx]=Ife[(w)] set Ife[(w)]=VFx +call ccr(VFx) endfunction function cdr takes integer VFx returns nothing set Ige[VFx]=Ige[VFx]-1 call cCr(VFx) endfunction function cDr takes integer VFx returns nothing local integer hdx=(r3e[(VFx)]) local integer Wmo=(ive[(VFx)]) call cNr(VFx) call HZo(Wmo) call cbr(VFx) call cdr((VFx)) endfunction function cfr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer cIr=IJe[VFx] call cDr(cIr) return true endfunction function cFr takes nothing returns boolean local integer Eix=(bv) call WMo((Vv[(Eix)]),IBe,(Mv[(Eix)])) return true endfunction function cgr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),IBe) return true endfunction function cGr takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer ENx=(IKe[(cIr)]) call JYx(csx,IAe) return true endfunction function chr takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer hdx=(r3e[(cIr)]) local integer ENx=(IKe[(cIr)]) local integer EKx=Ike[ENx] call jGx((csx),(IAe),(EKx),w) return true endfunction function cHr takes nothing returns nothing set Ile=Nlx("FolderDrumRoll_StructTarget_Init: set FolderDrumRoll_StructTarget.ENDING_EVENT = Event.Create(AURA.Target.ENDING_EVENT_TYPE, EventPriority.SPELLS, function FolderDrumRoll_StructTarget.Event_Ending)",iae,VB,function cGr) +set ILe=Nlx("FolderDrumRoll_StructTarget_Init: set FolderDrumRoll_StructTarget.START_EVENT = Event.Create(AURA.Target.START_EVENT_TYPE, EventPriority.SPELLS, function FolderDrumRoll_StructTarget.Event_Start)",ine,VB,function chr) endfunction function cjr takes nothing returns boolean set Ide=Nyx(function crr) call Ufx(IBe,Nlx("DrumRoll_Init: call DrumRoll.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function DrumRoll.Event_BuffGain))",dg,VB,function cRr)) +call Ufx(IBe,Nlx("DrumRoll_Init: call DrumRoll.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function DrumRoll.Event_BuffLose))",Hf,VB,function cfr)) +call Sao(kFv,Nlx("DrumRoll_Init: call DrumRoll.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function DrumRoll.Event_Learn))",pv,VB,function cFr)) call Sao(kFv,Nlx("DrumRoll_Init: call DrumRoll.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function DrumRoll.Event_Unlearn))",Av,VB,function cgr)) call cHr() return true endfunction function cJr takes nothing returns boolean call Npr(function cjr,"DrumRoll_Init") return true endfunction function ckr takes nothing returns boolean set IPe=x6o('BEnS',"Poisoned",'bEnS') set v_v[(IPe)]=(true) set ORv[(IPe)]=("ReplaceableTextures\\CommandButtons\\BTNEnvenomedSpear.blp") call Urx(IPe,"Abilities\\Weapons\\PoisonSting\\PoisonStingTarget.mdl","origin",EV) return true endfunction function cKr takes nothing returns boolean call IGx(tE,(function ckr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\EnvenomedSpears.page\\EnvenomedSpears.struct\\Target\\obj_dummyBuff_wc3buff.j")) +return true endfunction function clr takes nothing returns boolean set Iqe=Idx(IQe) +return true endfunction function cLr takes nothing returns boolean set Ise=u9x(ISe+" (dummyBuff)") return true endfunction function cmr takes nothing returns boolean call scx('AEnS',false) set jUv=s2o('AEnS') set orv[(jUv)]=(ovv) +set onv[(jUv)]=(1) set Zl[(jUv)]=("Envenomed Spears") set n9v[(jUv)]=("spell") +call s3o((jUv),Pkv+(1),((750)*1.)) set Qkv[(jUv)]=("ReplaceableTextures\\PassiveButtons\\PASBTNEnvenomedSpear.blp") +return true endfunction function cMr takes nothing returns boolean call IGx(tE,(function cLr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\EnvenomedSpears.page\\EnvenomedSpears.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function cmr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\EnvenomedSpears.page\\EnvenomedSpears.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function cpr takes nothing returns boolean set Ite=Idx(ISe) +return true endfunction function cPr takes integer csx returns boolean return( not(Cmx(csx,chv)))and( not(Cmx(csx,cjv))) endfunction function cqr takes integer hdx,integer EKx,integer csx returns nothing local real Xdx if Cmx(csx,rG)then set Xdx=Iue else +set Xdx=IUe endif call d9x(csx,IPe,EKx,hdx,Xdx) endfunction function cQr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) if not cPr(csx)then return true endif call cqr((A9v[(Eix)]),(Vfx((((A9v[(Eix)]))),N+(jUv))),csx) return true endfunction function csr takes nothing returns boolean local integer Eix=(bv) call CMx((Vv[(Eix)]),ITe) return true endfunction function cSr takes nothing returns boolean local integer Eix=(bv) call cEx((Vv[(Eix)]),ITe) return true endfunction function ctr takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(Ise),((Mv[(Eix)])),w) return true endfunction function cTr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),Ise) return true endfunction function cUr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx call AYo((IYe[VFx]),(csx),((Xkx(Ize[VFx],(jk[(csx)])-Uk))*1.),(false),(false)) endfunction function cwr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(pf[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=E5x() set IYe[VFx]=hdx +set Ize[VFx]=Iwe +set IZe[VFx]=TBx +set ge[(TBx)]=(VFx) call Xax(TBx,Iye,true,function cUr) return true endfunction function cWr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=IZe[VFx] call Xbx(TBx) return true endfunction function cyr takes nothing returns nothing set Iwe=IWe*Iye call Ufx(IPe,Nlx("FolderEnvenomedSpears_StructTarget_Init: call FolderEnvenomedSpears_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderEnvenomedSpears_StructTarget.Event_BuffGain))",dg,VB,function cwr)) call Ufx(IPe,Nlx("FolderEnvenomedSpears_StructTarget_Init: call FolderEnvenomedSpears_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderEnvenomedSpears_StructTarget.Event_BuffLose))",Hf,VB,function cWr)) call oio(Njv,IPe) endfunction function cYr takes nothing returns boolean set ITe=Nlx("EnvenomedSpears_Init: set EnvenomedSpears.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function EnvenomedSpears.Event_Damage)",Nev,VB,function cQr) call Ufx(Ise,Nlx("EnvenomedSpears_Init: call EnvenomedSpears.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EnvenomedSpears.Event_BuffGain))",dg,VB,function csr)) call Ufx(Ise,Nlx("EnvenomedSpears_Init: call EnvenomedSpears.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EnvenomedSpears.Event_BuffLose))",Hf,VB,function cSr)) call Sao(jUv,Nlx("EnvenomedSpears_Init: call EnvenomedSpears.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EnvenomedSpears.Event_Learn))",pv,VB,function ctr)) call Sao(jUv,Nlx("EnvenomedSpears_Init: call EnvenomedSpears.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EnvenomedSpears.Event_Unlearn))",Av,VB,function cTr)) call cyr() return true endfunction function czr takes nothing returns boolean call Npr(function cYr,"EnvenomedSpears_Init") return true endfunction function cZr takes nothing returns boolean set I_e=Idx(I0e) +return true endfunction function c_r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(LoadInteger(o[((V[(E[((X))])]))],(((jZ+(((av[(Eix)])))))),(((JZ))))) local integer csx if Cmx(hdx,tf)then return true endif set zH=(ze[(hdx)]) set csx=Xur((GetUnitX(C[((hdx))])),(GetUnitY(C[((hdx))])),500.,I1e) if(csx!=w)then call UFx((hdx),(PK[((U_v))]),(csx)) endif return true endfunction function c0r takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function c1r takes nothing returns boolean local integer Qhx=Xgr(U_v,function c_r) set I1e=Nyx(function c0r) call XHr(Qhx,g2v,vB,w) return true endfunction function c2r takes nothing returns boolean call EGr(function c1r,"AIKnockout_Init") +return true endfunction function c3r takes nothing returns boolean set I2e=x6o('BKnO',"Knockout",'bKnO') set OOv[(I2e)]=(true) set ORv[(I2e)]=("ReplaceableTextures\\CommandButtons\\BTNEntanglingRoots.blp") return true endfunction function c4r takes nothing returns boolean call IGx(tE,(function c3r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\Knockout.page\\Knockout.struct\\Target\\obj_dummyBuff_wc3buff.j")) return true endfunction function c5r takes nothing returns boolean set I3e=Idx(I4e) +return true endfunction function c6r takes nothing returns boolean call scx('AKno',false) set U_v=s2o('AKno') set orv[(U_v)]=(ovv) +set onv[(U_v)]=(1) set Zl[(U_v)]=("Knockout") set PK[(U_v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D007F)))),(((FL)))))) set Vnv[(U_v)]=(4) set n9v[(U_v)]=("spell") +call s3o((U_v),Ll+(1),(($C)*1.)) +call s3o((U_v),zl+(1),((80)*1.)) +call s3o((U_v),Pkv+(1),((700)*1.)) set Qkv[(U_v)]=("ReplaceableTextures\\CommandButtons\\BTNSeaGiantPulverize.blp") +return true endfunction function c7r takes nothing returns boolean call IGx(UE,(function c6r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\Knockout.page\\Knockout.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function c8r takes nothing returns boolean set I5e=Idx(I6e) +return true endfunction function c9r takes integer VFx returns integer set I7e[VFx]=true set I8e[VFx]=false call V1x(I5e) return VFx endfunction function Cvr takes integer VFx,integer csx returns nothing local real h0x=dxx(csx) local real h1x=dox(csx) local real Cer=dxx((VFx)) local real Cxr=dox((VFx)) if((h0x!=Cer)or(h1x!=Cxr))then call SetUnitFacing(C[((VFx))],(((Atan2(((h1x-Cxr)*1.),((h0x-Cer)*1.))))*1.)*JG) endif endfunction function Cor takes integer VFx returns nothing set I7e[VFx]=false call EEx(I5e) endfunction function Crr takes integer hdx,integer csx returns boolean return( not(csx==w))and( not(IsUnitAlly(C[(csx)],vx[((ze[(hdx)]))])))and( not(ALo(csx))) +endfunction function Cir takes integer csx,real fwx,real fWx,real Gxx,real kxx,real kox,real krx,real Xdx returns integer local integer VFx=JMx() local integer Xrx=E5x() set Lp[VFx]=Xrx set mp[VFx]=csx set Mp[VFx]=fwx set pp[VFx]=kxx set Pp[VFx]=fWx set qp[VFx]=kox set Qp[VFx]=Gxx set sp[VFx]=krx set ge[(Xrx)]=(VFx) if EHx(csx,tp,VFx)then call CMx(csx,Tp) +call CMx(csx,up) +endif if Jpx(VFx)then call Xax(yp,dp,true,function J9x) endif call Xax(Xrx,Xdx,false,function kvx) +return VFx endfunction function Car takes integer csx,real fwx,real fWx,real Gxx,real kxx,real kox,real krx,real Xdx returns integer if not Jlx(csx)then return w +endif return Cir(csx,fwx,fWx,Gxx,kxx,kox,krx,Xdx) endfunction function Cnr takes integer csx,real fdx,real fDx,real OMx,real Xdx returns integer local real Doo=(Cos(((((OMx)*1.))*1.))) local real Dro=(Sin(((((OMx)*1.))*1.))) set fDx=fDx*dp*dp set fdx=fdx*dp return Car(csx,fdx*Doo,fdx*Dro,.0,fDx*Doo,fDx*Dro,.0,Xdx) endfunction function CVr takes integer VFx returns integer set bP[VFx]=true +set rP[VFx]=false call V1x(BP) +return VFx endfunction function CEr takes nothing returns integer local integer VFx if(Aoe==8190)then call Vmx("KnockbackAccelerated_Allocation_allocCustom","call DebugEx(KnockbackAccelerated.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",NP+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(AP[(w)]==w)then set Are=Are+1 set VFx=Are else +set VFx=AP[(w)] set AP[(w)]=AP[AP[(w)]] endif set AP[VFx]=Z set IP[VFx]=1 call CVr(VFx) return VFx endfunction function CXr takes integer VFx,integer Vgx,integer Vhx returns nothing call SaveInteger(o[((V[(E[((Kp[(VFx)]))])]))],((((jp[((VFx))])))),(((Vgx))),(((Vhx)))) endfunction function COr takes integer VFx returns boolean if((eP[((VFx))])>0)then return false +endif set VP=VP+1 set nP[VP]=VFx set eP[VFx]=VP+1 +return(VP==0) endfunction function CRr takes integer csx,real fdx,real fDx,real OMx,real Xdx returns integer local integer J2x=Cnr(csx,fdx,fDx,OMx,Xdx) local integer VFx if(J2x==w)then return w +endif set VFx=CEr() set aP[VFx]=J2x set iP[VFx]=csx call CXr(J2x,XP,VFx) +if EHx(csx,oP,VFx)then call COr(csx) endif call vlo(csx) return VFx endfunction function CIr takes integer hdx,integer EKx,integer csx returns nothing if not(Vfx((((csx))),(Ud+(I2e)))>0)then call d9x((csx),(I2e),(EKx),w,((Axe)*1.)) +endif call CRr((csx),((900.)*1.),((-900.)*1.),(((Atan2((((GetUnitY(C[((csx))]))-(GetUnitY(C[((hdx))])))*1.),(((GetUnitX(C[((csx))]))-(GetUnitX(C[((hdx))])))*1.))))*1.),((.14)*1.)) call AYo((hdx),(csx),((Aie)*1.),(true),(false)) endfunction function CAr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=I9e[VFx] local integer EKx=Ave[VFx] local integer csx=Aee[VFx] call Cor(VFx) call tDo(tgo) if(csx==w)then return true endif if Crr(hdx,csx)then call CIr(hdx,EKx,csx) endif return true endfunction function CNr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local integer tgo=teo() local integer VFx=c9r(tgo) set I9e[VFx]=hdx +set Ave[VFx]=EKx +set Aee[VFx]=csx +call SetUnitPosition(C[((hdx))],(((GetUnitX(C[((csx))])))*1.),(((GetUnitY(C[((csx))])))*1.)) +call Cvr(hdx,csx) set qsv[(tgo)]=((10.)*1.) call tio(tgo,'qKnO',2.) set quv[(tgo)]=Ntx((function CAr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,700.) call Tvo(tgo,hdx) call t4o((tgo),(csx),.0,.0,.0,(null)) return true endfunction function Cbr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx call d9x((csx),(N0v),(EKx),w,((Aae)*1.)) +return true endfunction function CBr takes nothing returns boolean call Sao(U_v,Nlx("Knockout_Init: call Knockout.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Knockout.Event_SpellEffect))",kK,VB,function CNr)) call Ufx(I2e,Nlx("FolderKnockout_StructTarget_Init: call FolderKnockout_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderKnockout_StructTarget.Event_BuffGain))",dg,VB,function Cbr)) return true endfunction function Ccr takes nothing returns boolean call Npr(function CBr,"Knockout_Init") return true endfunction function CCr takes nothing returns boolean set Ane=Idx(AVe) +return true endfunction function Cdr takes nothing returns boolean local integer Eix=(bv) call BPx(((LoadInteger(o[((V[(E[((X))])]))],(((jZ+(((av[(Eix)])))))),(((JZ)))))),(PK[((U6v))])) return true endfunction function CDr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(LoadInteger(o[((V[(E[((X))])]))],(((jZ+(((av[(Eix)])))))),(((JZ))))) if((jk[(hdx)])>=(R2I((((djv[(JGv)])-AEe)*1.))))then return false +endif return true return true endfunction function Cfr takes nothing returns boolean local integer Qhx=Xgr(U6v,function Cdr) call XEr(Qhx,zk,(R2I((((djv[(JGv)])-AEe)*1.))),LESS_THAN,Nyx(function CDr)) return true endfunction function CFr takes nothing returns boolean call EGr(function Cfr,"AIMedipack_Init") +return true endfunction function Cgr takes nothing returns boolean call scx('AMeP',false) set U6v=s2o('AMeP') set orv[(U6v)]=(ovv) +set onv[(U6v)]=(1) set Zl[(U6v)]=("Medipack") set PK[(U6v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0084)))),(((FL)))))) set Vnv[(U6v)]=(0) set n9v[(U6v)]=("spell") +call s3o((U6v),Ll+(1),(($F)*1.)) +call s3o((U6v),zl+(1),((25)*1.)) +call s3o((U6v),Pkv+(1),((750)*1.)) set Qkv[(U6v)]=("ReplaceableTextures\\CommandButtons\\BTNManual.blp") return true endfunction function CGr takes nothing returns boolean call IGx(UE,(function Cgr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\Medipack.page\\Medipack.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Chr takes nothing returns boolean set AXe=Idx(AOe) +return true endfunction function CHr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) call cdx((C1x((hdx),(ARe),(AIe),(EV)))) call ezr(hdx,true,false,true) call s9o(hdx,hdx,AEe) return true endfunction function Cjr takes nothing returns boolean call Sao(U6v,Nlx("Medipack_Init: call Medipack.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Medipack.Event_SpellEffect))",kK,VB,function CHr)) return true endfunction function CJr takes nothing returns boolean call Npr(function Cjr,"Medipack_Init") return true endfunction function Ckr takes nothing returns boolean set AAe=u9x(ANe+" (silenceBuff)") set sf[(AAe)]=(true) +set v_v[(AAe)]=(true) return true endfunction function CKr takes nothing returns boolean call scx('AMuS',false) set U7v=s2o('AMuS') set orv[(U7v)]=(ovv) +set onv[(U7v)]=(1) set Zl[(U7v)]=("Muting Shout") set PK[(U7v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00C4)))),(((FL)))))) set Vnv[(U7v)]=(0) set n9v[(U7v)]=("spell") +call s3o((U7v),Yhv+(1),((550)*1.)) call s3o((U7v),Ll+(1),(($F)*1.)) +call s3o((U7v),zl+(1),((30)*1.)) +call s3o((U7v),Pkv+(1),((750)*1.)) set Qkv[(U7v)]=("ReplaceableTextures\\CommandButtons\\BTNBattleRoar.blp") return true endfunction function Clr takes nothing returns boolean call IGx(tE,(function Ckr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\MutingShout.page\\MutingShout.struct\\obj_silenceBuff_wc3buff.j")) call IGx(UE,(function CKr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\MutingShout.page\\MutingShout.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function CLr takes nothing returns boolean set Abe=Idx(ANe) +return true endfunction function Cmr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function CMr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local integer csx local integer b1r call Sgo((Sjo(((xnr)*1.),((xVr)*1.),(ACe),(EV)))) set zH=(ze[(hdx)]) call fXo(ABe,xnr,xVr,(hDx((U7v),Yhv+(EKx))),Ace) +set csx=fOo(ABe) +set b1r=0 if(csx!=w)then loop +set b1r=b1r+1 call d9x((csx),(AAe),(EKx),w,((Ade)*1.)) +set csx=fOo(ABe) +exitwhen(csx==w) +endloop endif call s9o(hdx,hdx,ADe*(Jk[(hdx)])*b1r) return true endfunction function Cpr takes nothing returns boolean set ABe=Bkx() set Ace=Nyx(function Cmr) call Sao(U7v,Nlx("MutingShout_Init: call MutingShout.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function MutingShout.Event_SpellEffect))",kK,VB,function CMr)) call oio(NQv,AAe) return true endfunction function CPr takes nothing returns boolean call Npr(function Cpr,"MutingShout_Init") return true endfunction function Cqr takes nothing returns boolean call scx('AReP',false) set kLv=s2o('AReP') set orv[(kLv)]=(ovv) +set onv[(kLv)]=(1) set Zl[(kLv)]=("Realplex") set PK[(kLv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D009B)))),(((FL)))))) set Vnv[(kLv)]=(0) set n9v[(kLv)]=("spell") +call s3o((kLv),Ll+(1),(($A)*1.)) +call s3o((kLv),zl+(1),((50)*1.)) +call s3o((kLv),Pkv+(1),((750)*1.)) set Qkv[(kLv)]=("ReplaceableTextures\\CommandButtons\\BTNInvisibility.blp") return true endfunction function CQr takes nothing returns boolean call IGx(UE,(function Cqr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\Realplex.page\\Realplex.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Csr takes nothing returns boolean set Afe=Idx(AFe) +return true endfunction function CSr takes integer VFx returns nothing set AJe[VFx]=false call EEx(Afe) endfunction function Ctr takes integer VFx returns nothing if(AHe[VFx]>0)then return endif if(Aje[VFx]!=Z)then call Vmx("Realplex_Allocation_deallocCustom_confirm","call DebugEx(Realplex.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",AFe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Aje[VFx]=Aje[(w)] set Aje[(w)]=VFx +call CSr(VFx) endfunction function CTr takes integer VFx returns nothing set AHe[VFx]=AHe[VFx]-1 call Ctr(VFx) endfunction function Cur takes integer VFx returns nothing set fgv=true +call G1x((VFx),w) endfunction function CUr takes integer VFx,integer hdx,integer Cwr returns nothing local integer Xrx=Ahe[VFx] local integer CWr call CTr((VFx)) call Xbx(Xrx) call V0x(hdx,AGe) call cEx(hdx,Age) loop +set CWr=(b7x((Cwr),qC)) exitwhen(CWr==w) +call Cur(CWr) endloop call HZo(Cwr) endfunction function Cyr takes nothing returns boolean local integer Eix=(bv) local integer VFx=Vfx((Vv[(Eix)]),AGe) call CUr(VFx,Ake[VFx],AKe[VFx]) return true endfunction function CYr takes integer VFx,integer CWr,integer Cwr returns nothing call V0x(CWr,AGe) call cEx(CWr,ALe) call Bvx(Cwr,CWr) endfunction function Czr takes nothing returns boolean local integer Eix=(bv) local integer CWr=(Vv[(Eix)]) local integer VFx=Vfx(CWr,AGe) local integer Cwr=AKe[VFx] call CYr(VFx,CWr,Cwr) return true endfunction function CZr takes integer VFx returns integer set AJe[VFx]=true set AQe[VFx]=false call V1x(Afe) return VFx endfunction function C_r takes nothing returns integer local integer VFx if(APe==8190)then call Vmx("Realplex_Allocation_allocCustom","call DebugEx(Realplex.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",AFe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Aje[(w)]==w)then set Aqe=Aqe+1 set VFx=Aqe else +set VFx=Aje[(w)] +set Aje[(w)]=Aje[Aje[(w)]] endif set Aje[VFx]=Z set AHe[VFx]=1 call CZr(VFx) return VFx endfunction function C0r takes integer VFx returns nothing set ip[(VFx)]=(Aue+VFx) endfunction function C1r takes integer VFx returns integer set nQ[VFx]=true +set Vp[VFx]=false call C0r(VFx) set rp[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(VQ) +return VFx endfunction function C2r takes nothing returns integer local integer VFx if(ASe==8190)then call Vmx("Translation_Allocation_allocCustom","call DebugEx(Translation.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",aQ+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(iQ[(w)]==w)then set Ate=Ate+1 set VFx=Ate else +set VFx=iQ[(w)] set iQ[(w)]=iQ[iQ[(w)]] endif set iQ[VFx]=Z set rQ[VFx]=1 call C1r(VFx) return VFx endfunction function C3r takes integer VFx returns boolean set Bp=Bp+1 set bp[Bp]=VFx set Np[VFx]=Bp+1 +return(Bp==0) endfunction function C4r takes nothing returns nothing local integer VBx=Bp +local integer VFx local integer csx loop +set VFx=bp[VBx] set csx=Ep[VFx] call Jqx(csx,AUe[VFx]) call J5x(csx,Awe[VFx]) call J8x(csx,AWe[VFx]) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function C5r takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call KRx(VFx) endfunction function C6r takes integer csx,real fwx,real fWx,real Gxx,real Xdx returns integer local integer jux=(R2I(((Xdx*1./ Ase)*1.))) local integer VFx=C2r() local integer Xrx=E5x() set Xp[VFx]=Xrx set Ep[VFx]=csx set AUe[VFx]=fwx*1./ jux +set Awe[VFx]=fWx*1./ jux +set AWe[VFx]=Gxx*1./ jux +set ge[(Xrx)]=(VFx) if EHx(csx,Rp,VFx)then call CMx(csx,Ip) +call CMx(csx,Ap) +endif if C3r(VFx)then call Xax(cp,Ase,true,function C4r) endif call Xax(Xrx,Xdx,false,function C5r) +return VFx endfunction function C7r takes integer csx,real fwx,real fWx,real Gxx,real Xdx returns integer if not Jlx(csx)then return w +endif return C6r(csx,fwx,fWx,Gxx,Xdx) endfunction function C8r takes integer csx,real x,real y,real z,real Xdx returns nothing +call C7r(csx,x-dxx(csx),y-dox(csx),z-drx(csx),Xdx) endfunction function C9r takes integer VFx returns real return GetUnitFlyHeight(C[(VFx)]) endfunction function dvr takes integer csx,real x,real y,real Xdx returns nothing call C8r(csx,x,y,bex(x,y)+C9r(csx),Xdx) endfunction function der takes integer VFx,real Vhx returns nothing set Cxv[VFx]=Vhx +call cwo((VFx)) endfunction function dxr takes integer VFx,real Vhx returns nothing call der(VFx,(Cxv[(VFx)])+Vhx) endfunction function dor takes integer VFx returns nothing local integer VBx=(Bex((((VFx))),Q)) +loop +exitwhen(VBx0)then return endif if(A2e[VFx]!=Z)then call Vmx("SerpentWard_Allocation_deallocCustom_confirm","call DebugEx(SerpentWard.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",A0e+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set A2e[VFx]=A2e[(w)] set A2e[(w)]=VFx +call dHr(VFx) endfunction function dJr takes integer VFx returns nothing set A4e[VFx]=A4e[VFx]-1 call djr(VFx) endfunction function dkr takes integer hdx,real h0x,real h1x returns nothing +local integer hbo=(ze[(hdx)]) local integer VBx=Nve loop +call eDr(AZe,hbo,h0x,h1x,oj,Nee) +set VBx=VBx-1 exitwhen(VBx<1) endloop endfunction function dKr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=A7e[VFx] local real h0x=A8e[VFx] local real h1x=A9e[VFx] call dJr((VFx)) call tDo(tgo) call dkr(hdx,h0x,h1x) return true endfunction function dlr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local integer VFx=dhr() local integer tgo=teo() set A7e[VFx]=hdx +set A8e[VFx]=h0x +set A9e[VFx]=h1x +set qQv[((tgo))]=((D6v*((.1)*1.))*1.) set qsv[(tgo)]=((10.)*1.) call tio(tgo,'qSeW',2.) set quv[(tgo)]=Ntx((function dKr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,900.) call Tvo(tgo,hdx) call Okr(tgo,h0x,h1x,bex(h0x,h1x)) return true endfunction function dLr takes nothing returns boolean call Sao(JUv,Nlx("SerpentWard_Init: call SerpentWard.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SerpentWard.Event_SpellEffect))",kK,VB,function dlr)) return true endfunction function dmr takes nothing returns boolean call Npr(function dLr,"SerpentWard_Init") return true endfunction function dMr takes nothing returns boolean set Nxe=LBo('uSpW') call Lco(((Nxe)),CPv,(cgv)) set vm[(Nxe)]=((1.25)*1.) set div[(Nxe)]=((49.586776859504)*1.) set dsv[(Nxe)]=((49.586776859504)*1.) set c5v[(Nxe)]=((0)*1.) set Crv[(Nxe)]=(2) set djv[(Nxe)]=((300)*1.) set dHv[(Nxe)]=((300)*1.) set dGv[(Nxe)]=((0)*1.) set dRv[(Nxe)]=(($4B0)*1.) set dXv[(Nxe)]=(($4B0)*1.) set dCv[(Nxe)]=((45)*1.) +set Cbv[(Nxe)]=(jtv) +set CDv[(Nxe)]=(('l')*1.) set Cfv[((Nxe))]=((1.*1./((1)*1.))*1.) set CTv[(Nxe)]=((.33)*1.) set Csv[(Nxe)]=(($F)*1.) +set CSv[(Nxe)]=(($F)*1.) +set CUv[(Nxe)]=(1) set Cyv[(Nxe)]=(2) set CZv[(Nxe)]=(0) set CQv[(Nxe)]=((26.446280991736)*1.) return true endfunction function dpr takes nothing returns boolean call scx('ASpW',false) set JZv=s2o('ASpW') set orv[(JZv)]=(ovv) +set onv[(JZv)]=(1) set Zl[(JZv)]=("Spirit Wolves") set PK[(JZv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D009E)))),(((FL)))))) set Vnv[(JZv)]=(0) set n9v[(JZv)]=("spell") +call s3o((JZv),Ll+(1),((22)*1.)) +call s3o((JZv),zl+(1),(('}')*1.)) call s3o((JZv),Pkv+(1),((750)*1.)) set Qkv[(JZv)]=("ReplaceableTextures\\CommandButtons\\BTNSpiritWolf.blp") return true endfunction function dPr takes nothing returns boolean call IGx(yE,(function dMr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\SpiritWolves.page\\SpiritWolves.struct\\obj_summonUnitType_wc3unit.j")) call IGx(UE,(function dpr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\SpiritWolves.page\\SpiritWolves.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function dqr takes nothing returns boolean set Noe=Idx(Nre) +return true endfunction function dQr takes integer VFx returns nothing set NRe[VFx]=false call EEx(Noe) endfunction function dsr takes integer VFx returns nothing if(NXe[VFx]>0)then return endif if(NOe[VFx]!=Z)then call Vmx("SpiritWolves_Allocation_deallocCustom_confirm","call DebugEx(SpiritWolves.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Nre+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set NOe[VFx]=NOe[(w)] set NOe[(w)]=VFx +call dQr(VFx) endfunction function dSr takes integer VFx returns nothing set NXe[VFx]=NXe[VFx]-1 call dsr(VFx) endfunction function dtr takes nothing returns boolean local integer Eix=(bv) local integer dTr=(Vv[(Eix)]) local integer VFx=Vfx(dTr,Nae) local integer dUr=Nne[VFx] local integer hdx local integer hgx call V0x(dTr,Nae) call cEx(dTr,Nie) call Bvx(dUr,dTr) if(Hbx((dUr),qC))then set hdx=NVe[VFx] +set hgx=NEe[VFx] +call dSr((VFx)) call V0x(hdx,Nae) call HZo(dUr) call h7x(hgx) endif return true endfunction function dwr takes integer VFx returns nothing set WW[VFx]=(WW[(VFx)])+1 endfunction function dWr takes integer VFx returns nothing local integer Vhx=(WW[(VFx)])-1 set WW[VFx]=Vhx if((Vhx==0)and yW[VFx])then call HZo((VFx)) endif endfunction function dyr takes integer VFx returns nothing local integer dUr=Nne[VFx] local integer dTr=(b7x((dUr),qC)) call dwr(dUr) loop +call G1x((dTr),w) set dTr=(b7x((dUr),qC)) exitwhen(dTr==w) +endloop call dWr(dUr) endfunction function dYr takes integer VFx returns integer set NRe[VFx]=true set Nbe[VFx]=false call V1x(Noe) return VFx endfunction function dzr takes nothing returns integer local integer VFx if(NAe==8190)then call Vmx("SpiritWolves_Allocation_allocCustom","call DebugEx(SpiritWolves.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Nre+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(NOe[(w)]==w)then set NNe=NNe+1 set VFx=NNe else +set VFx=NOe[(w)] +set NOe[(w)]=NOe[NOe[(w)]] endif set NOe[VFx]=Z set NXe[VFx]=1 call dYr(VFx) return VFx endfunction function dZr takes integer VFx,integer hbo,real xnr,real xVr,real OMx,integer dUr returns integer local integer dTr=eDr(Nxe,hbo,xnr,xVr,OMx,Nce) call Ejx(dTr,Nae,VFx) call CMx(dTr,Nie) call HDx(dUr,dTr) return dTr endfunction function d_r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=Vfx(hdx,Nae) local integer VBx local integer dUr local real OMx local integer hbo local real xnr local real xVr local integer dTr if(VFx!=w)then call dyr(VFx) endif set VBx=NIe if(VBx>0)then set VFx=dzr() set dUr=Pcx("SpiritWolves_Event_SpellEffect: set summonGroup = UnitList.Create()") set NVe[VFx]=hdx +set Nne[VFx]=dUr +set NEe[VFx]=hCx(hdx,JZv) call Ejx(hdx,Nae,VFx) set OMx=(GetUnitFacing(C[((hdx))])*sK) set hbo=(ze[(hdx)]) set xnr=(GetUnitX(C[((hdx))]))+NBe*(Cos(((((OMx)*1.))*1.))) set xVr=(GetUnitY(C[((hdx))]))+NBe*(Sin(((((OMx)*1.))*1.))) loop +set dTr=dZr(VFx,hbo,xnr,xVr,OMx,dUr) +set VBx=VBx-1 exitwhen(VBx<1) endloop endif return true endfunction function d0r takes nothing returns boolean set Nie=Nlx("SpiritWolves_Init: set SpiritWolves.SUMMON_DEATH_EVENT = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SpiritWolves.Event_Summon_Death)",zu,VB,function dtr) call Sao(JZv,Nlx("SpiritWolves_Init: call SpiritWolves.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SpiritWolves.Event_SpellEffect))",kK,VB,function d_r)) return true endfunction function d1r takes nothing returns boolean call Npr(function d0r,"SpiritWolves_Init") return true endfunction function d2r takes nothing returns boolean call scx('AStb',false) set kmv=s2o('AStb') set orv[(kmv)]=(ovv) +set onv[(kmv)]=(1) set Zl[(kmv)]=("Stormbolt") set PK[(kmv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D007F)))),(((FL)))))) set Vnv[(kmv)]=(4) set n9v[(kmv)]=("spell") +call s3o((kmv),Ll+(1),(($F)*1.)) +call s3o((kmv),zl+(1),((80)*1.)) +call s3o((kmv),Pkv+(1),((700)*1.)) set Qkv[(kmv)]=("ReplaceableTextures\\CommandButtons\\BTNStormBolt.blp") +return true endfunction function d3r takes nothing returns boolean call IGx(UE,(function d2r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\Stormbolt.page\\Stormbolt.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function d4r takes nothing returns boolean set NCe=Idx(Nde) +return true endfunction function d5r takes integer VFx returns integer set NDe[VFx]=true set Nfe[VFx]=false call V1x(NCe) return VFx endfunction function d6r takes integer VFx returns nothing set NDe[VFx]=false call EEx(NCe) endfunction function d7r takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=NFe[VFx] call d6r(VFx) call tDo(tgo) if(csx==w)then return true endif if ALo(csx)then return true endif call d9x((csx),(N0v),(Nge[VFx]),w,((NGe)*1.)) call AYo((hdx),(csx),((Nhe)*1.),(true),(false)) return true endfunction function d8r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local integer tgo=teo() local integer VFx=d5r(tgo) set NFe[VFx]=hdx +set Nge[VFx]=EKx +set qsv[(tgo)]=((10.)*1.) call tio(tgo,'qStb',2.) set quv[(tgo)]=Ntx((function d7r)) set QEv[(tgo)]=(VFx) +call S9o(tgo,700.) call Tvo(tgo,hdx) call t4o((tgo),(csx),.0,.0,.0,(null)) return true endfunction function d9r takes nothing returns boolean call Sao(kmv,Nlx("Stormbolt_Init: call Stormbolt.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Stormbolt.Event_SpellEffect))",kK,VB,function d8r)) +return true endfunction function Dvr takes nothing returns boolean call Npr(function d9r,"Stormbolt_Init") return true endfunction function Der takes nothing returns boolean call scx('ASuM',false) set kGv=s2o('ASuM') set orv[(kGv)]=(ovv) +set onv[(kGv)]=(1) set Zl[(kGv)]=("Summon Minions") +set PK[(kGv)]=((LoadInteger(o[((V[(E[((X))])]))],((((OrderId("summonGrizzly"))))),(((FL)))))) set Vnv[(kGv)]=(0) set n9v[(kGv)]=("spell") +call s3o((kGv),jl+(1),(($A)*1.)) +call s3o((kGv),Ll+(1),((30)*1.)) +call s3o((kGv),zl+(1),((0)*1.)) call s3o((kGv),Pkv+(1),((750)*1.)) set Qkv[(kGv)]=("ReplaceableTextures\\CommandButtons\\BTNMassTeleport.blp") set NHe=jTv set Nje=kov return true endfunction function Dxr takes nothing returns boolean set NJe=u9x(Nke+" (dummyBuff)") return true endfunction function Dor takes nothing returns boolean call IGx(UE,(function Der),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\SummonMinions.page\\SummonMinions.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function Dxr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Act2\\SummonMinions.page\\SummonMinions.struct\\obj_dummyBuff_wc3buff.j")) +return true endfunction function Drr takes nothing returns boolean set NKe=Idx(Nke) +return true endfunction function Dir takes integer VFx,integer Vgx,integer VAx returns integer return(LoadInteger(o[((V[(E[((NQe[(VFx)]))])]))],((((Nse[((VFx))])))),(((Vgx)+(VAx))))) endfunction function Dar takes integer VFx,integer Vgx returns real return(LoadReal(o[((V[(E[((NQe[(VFx)]))])]))],((((Nse[((VFx))])))),(((Vgx))))) endfunction function Dnr takes integer VFx returns integer local integer VBx=q local real Xtr=(GetRandomReal(((.0)*1.),((Nqe[VFx])*1.))) local real DVr=.0 local integer V7x loop +set V7x=Dir(VFx,Nte,VBx) +set DVr=DVr+Dar(VFx,NTe+V7x) +exitwhen(Xtr<=DVr) set VBx=VBx+1 endloop return V7x endfunction function DEr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=VFx local real OMx=(GetRandomReal(((.0)*1.),((TH)*1.))) local integer hbo=(ze[(hdx)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real x=xnr-Npe*(Cos(((((OMx)*1.))*1.))) local real y=xVr-Npe*(Sin(((((OMx)*1.))*1.))) local integer VBx=NPe local integer QRo local integer Qwo loop +exitwhen(VBx<1) set QRo=Dnr(Nue) +set Qwo=eDr(QRo,hbo,x,y,OMx,NUe) +call JVx((Qwo),-((.0)*1.),-((.0)*1.),-((.0)*1.),-(((duv[(QRo)]))*1.)) call JCx(Qwo,.0,.0,.0,(duv[(QRo)]),1.) set VBx=VBx-1 endloop endfunction function DXr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer VFx=hdx local integer TBx=E5x() set Nme[VFx]=TBx +set NMe[VFx]=EKx +set ge[(TBx)]=(VFx) call Xax(TBx,Nle,true,function DEr) return true endfunction function DOr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=hdx local integer TBx=Nme[VFx] call Xbx(TBx) return true endfunction function DRr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),NJe) return true endfunction function DIr takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(NJe),((Mv[(Eix)])),w) return true endfunction function DAr takes integer VFx returns integer set Nze[VFx]=true set NZe[VFx]=false set NQe[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(a7v) return VFx endfunction function DNr takes nothing returns integer local integer VFx if(Nwe==8190)then call Vmx("UnitTypePool_Allocation_allocCustom","call DebugEx(UnitTypePool.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",a8v+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(NWe[(w)]==w)then set Nye=Nye+1 set VFx=Nye else +set VFx=NWe[(w)] +set NWe[(w)]=NWe[NWe[(w)]] endif set NWe[VFx]=Z set NYe[VFx]=1 call DAr(VFx) return VFx endfunction function Dbr takes integer VFx returns nothing set Nse[(VFx)]=(N0e+VFx) +endfunction function DBr takes nothing returns integer local integer VFx=DNr() set Nqe[VFx]=.0 call Dbr(VFx) return VFx endfunction function Dcr takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(NQe[(VFx)],(Nse[((VFx))]),Vgx,Vhx) endfunction function DCr takes integer VFx,integer Vgx,real Vhx returns nothing call SaveReal(o[((V[(E[((NQe[(VFx)]))])]))],((((Nse[((VFx))])))),(((Vgx))),((((((Vhx)*1.))*1.))*1.)) +endfunction function Ddr takes integer VFx,integer V7x,real DDr returns nothing set Nqe[VFx]=Nqe[VFx]+DDr call Dcr(VFx,Nte,V7x) call DCr(VFx,NTe+V7x,DDr) endfunction function Dfr takes nothing returns boolean set Nle=(hDx((kGv),jl+(1)))*1./ NLe-.01 call Ufx(NJe,Nlx("SummonMinions_Init: call SummonMinions.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SummonMinions.Event_BuffGain))",dg,VB,function DXr)) call Ufx(NJe,Nlx("SummonMinions_Init: call SummonMinions.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SummonMinions.Event_BuffLose))",Hf,VB,function DOr)) call Sao(kGv,Nlx("SummonMinions_Init: call SummonMinions.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SummonMinions.Event_EndCast))",VRv,VB,function DRr)) call Sao(kGv,Nlx("SummonMinions_Init: call SummonMinions.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SummonMinions.Event_SpellEffect))",kK,VB,function DIr)) +set Nue=DBr() call Ddr(Nue,kov,N1e) call Ddr(Nue,jTv,N2e) return true endfunction function DFr takes nothing returns boolean call Npr(function Dfr,"SummonMinions_Init") return true endfunction function Dgr takes nothing returns boolean set N3e=LBo('uArS') call Lco(((N3e)),CPv,(cjv)) call Lco(((N3e)),CPv,(cgv)) set vm[(N3e)]=((1.5)*1.) +set div[(N3e)]=(('x')*1.) set dsv[(N3e)]=((60)*1.) +set c5v[(N3e)]=((0)*1.) set Crv[(N3e)]=(3) set djv[(N3e)]=((150000.)*1.) set dHv[(N3e)]=((150000.)*1.) set dGv[(N3e)]=((0)*1.) set dRv[(N3e)]=((500)*1.) set dXv[(N3e)]=((500)*1.) set Csv[(N3e)]=((0)*1.) set CSv[(N3e)]=((0)*1.) set CUv[(N3e)]=(0) set Cyv[(N3e)]=(0) return true endfunction function DGr takes nothing returns boolean call IGx(yE,(function Dgr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\Artifact.page\\Artifact.struct\\obj_thisUnitType_wc3unit.j")) return true endfunction function Dhr takes nothing returns boolean set Usv=Idx(Umv) +return true endfunction function DHr takes nothing returns boolean set Ulv=false return true endfunction function Djr takes nothing returns boolean call PJo(function DHr,"Artifact_Init") return true endfunction function DJr takes nothing returns boolean return true endfunction function Dkr takes nothing returns boolean set N4e=Idx(N5e) +return true endfunction function DKr takes nothing returns boolean set N6e=u9x(N7e+" (eclipseBuff)") set sf[(N6e)]=(true) +return true endfunction function Dlr takes nothing returns boolean set N8e=vEo() set dF[(N8e)]=("Abilities\\Spells\\Undead\\ReplenishMana\\SpiritTouch.wav") set fF[(N8e)]=(xdv) set gF[(N8e)]=(xbv) set hF[(N8e)]=((1)*1.) set jF[(N8e)]=((1)*1.) set kF[(N8e)]=($A) set lF[(N8e)]=((1)*1.) set SF[(N8e)]=(true) +set TF[(N8e)]=((750)*1.) +set UF[(N8e)]=(($186A0)*1.) set WF[(N8e)]=(($7D0)*1.) return true endfunction function DLr takes nothing returns boolean call scx('ABaS',false) set Utv=s2o('ABaS') set orv[(Utv)]=(x5v) +set onv[(Utv)]=(6) set Zl[(Utv)]=("Bat Swarm") set PK[(Utv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0259)))),(((FL)))))) set Vnv[(Utv)]=(4) set n9v[(Utv)]=("spell") +call s3o((Utv),Yhv+(1),((400)*1.)) call s3o((Utv),Ll+(1),(($E)*1.)) +call s3o((Utv),zl+(1),((75)*1.)) +call s3o((Utv),Pkv+(1),((800)*1.)) call s3o((Utv),Yhv+(2),((400)*1.)) call s3o((Utv),Ll+(2),(($E)*1.)) +call s3o((Utv),zl+(2),((85)*1.)) +call s3o((Utv),Pkv+(2),((800)*1.)) call s3o((Utv),Yhv+(3),((400)*1.)) call s3o((Utv),Ll+(3),(($E)*1.)) +call s3o((Utv),zl+(3),((95)*1.)) +call s3o((Utv),Pkv+(3),((800)*1.)) call s3o((Utv),Yhv+(4),((400)*1.)) call s3o((Utv),Ll+(4),(($E)*1.)) +call s3o((Utv),zl+(4),(('i')*1.)) call s3o((Utv),Pkv+(4),((800)*1.)) call s3o((Utv),Yhv+(5),((400)*1.)) call s3o((Utv),Ll+(5),(($E)*1.)) +call s3o((Utv),zl+(5),(('s')*1.)) call s3o((Utv),Pkv+(5),((800)*1.)) call s3o((Utv),Yhv+(6),((400)*1.)) call s3o((Utv),Ll+(6),(($E)*1.)) +call s3o((Utv),zl+(6),(('}')*1.)) call s3o((Utv),Pkv+(6),((800)*1.)) set Qkv[(Utv)]=("ReplaceableTextures\\CommandButtons\\BTNCarrionSwarm.blp") set N9e[1]=7 +set N9e[2]=7 +set N9e[3]=7 +set N9e[4]=7 +set N9e[5]=7 +set N9e[6]=7 +set bve[1]=7 +set bve[2]=7 +set bve[3]=7 +set bve[4]=7 +set bve[5]=7 +set bve[6]=7 +set bee[1]=20 set bee[2]=25 set bee[3]=30 set bee[4]=35 set bee[5]=40 set bee[6]=45 set bxe[1]=3 +set bxe[2]=3 +set bxe[3]=3 +set bxe[4]=3 +set bxe[5]=3 +set bxe[6]=3 +set boe[1]=20 set boe[2]=30 set boe[3]=45 set boe[4]=65 set boe[5]=90 set boe[6]='x' return true endfunction function Dmr takes nothing returns boolean call IGx(tE,(function DKr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\BatSwarm.page\\BatSwarm.struct\\obj_eclipseBuff_wc3buff.j")) call IGx(SE,(function Dlr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\BatSwarm.page\\BatSwarm.struct\\obj_shieldSound_wc3sound.j")) call IGx(UE,(function DLr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\BatSwarm.page\\BatSwarm.struct\\obj_thisSpell_wc3spell.j")) +return true endfunction function DMr takes nothing returns boolean set bre=Idx(N7e) +return true endfunction function Dpr takes code c,string EFx returns nothing +set wX=wX+1 set WX[wX]=CreateTrigger() set yX[wX]=(GetHandleId(Condition((c)))) +set YX[wX]=EFx call TriggerAddCondition(WX[wX],Condition(c)) endfunction function DPr takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if(csx==ej)then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cjv)then return false +endif if Cmx(csx,clv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function Dqr takes integer VFx returns integer set bOe[VFx]=true set bRe[VFx]=false call V1x(bre) return VFx endfunction function DQr takes nothing returns integer local integer VFx if(bne==8190)then call Vmx("BatSwarm_Allocation_allocCustom","call DebugEx(BatSwarm.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",N7e+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(bVe[(w)]==w)then set bEe=bEe+1 set VFx=bEe else +set VFx=bVe[(w)] +set bVe[(w)]=bVe[bVe[(w)]] endif set bVe[VFx]=Z set bXe[VFx]=1 call Dqr(VFx) return VFx endfunction function Dsr takes integer VFx returns nothing set bOe[VFx]=false call EEx(bre) endfunction function DSr takes integer VFx returns nothing if(bXe[VFx]>0)then return endif if(bVe[VFx]!=Z)then call Vmx("BatSwarm_Allocation_deallocCustom_confirm","call DebugEx(BatSwarm.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",N7e+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set bVe[VFx]=bVe[(w)] set bVe[(w)]=VFx +call Dsr(VFx) endfunction function Dtr takes integer VFx returns nothing set bXe[VFx]=bXe[VFx]-1 call DSr(VFx) endfunction function DTr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=bIe[VFx] local real Dur=bNe[VFx] local integer csx=bbe[VFx] call Dtr((VFx)) call tDo(tgo) call s9o(hdx,csx,Dur) return true endfunction function DUr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer Dwr=(Vv[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=bIe[VFx] local integer csx=bbe[VFx] call tDo(tgo) if not Cmx(Dwr,tf)then call cdx((C1x((Dwr),(bBe),(bce),(fV)))) call AYo((hdx),(Dwr),((bAe[VFx])*1.),(false),(false)) endif if not(IsUnitAlly(C[(csx)],vx[((ze[(hdx)]))]))then call Dtr((VFx)) return true endif set tgo=teo() set qQv[((tgo))]=((D6v*((.06)*1.))*1.) set qsv[(tgo)]=((8.)*1.) +call tio(tgo,'qBST',1.5) +set quv[(tgo)]=Ntx((function DTr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,500.) call Tvo(tgo,Dwr) call t4o((tgo),(hdx),.0,.0,.0,(null)) return true endfunction function DWr takes integer hgx returns nothing local integer hdx=(Bl[(hgx)]) local integer EKx=(Dl[(hgx)]) local integer csx=(il[(hgx)]) local integer hbo=(ze[(hdx)]) local integer Dyr=dex(N8e) local real Cao local real h0x local real h1x local integer DYr local integer VBx local integer Dwr local integer VFx local integer tgo call dOx(Dyr,csx) call cJx(Dyr,true) if(IsUnitAlly(C[(csx)],vx[(hbo)]))then call d9x((csx),(Owv),(EKx),w,((bve[EKx])*1.)) else +call d9x((csx),(N6e),(EKx),w,((N9e[EKx])*1.)) endif set Cao=(hDx((Utv),Yhv+(EKx))) set h0x=(GetUnitX(C[((csx))])) set h1x=(GetUnitY(C[((csx))])) set DYr=Pcx("BatSwarm_Start: set enemyGroup = UnitList.Create()") set VBx=bxe[EKx] +loop +exitwhen(VBx<1) set zH=hbo set bae=DYr set ej=csx set Dwr=eMr(h0x,h1x,Cao,bie) +exitwhen(Dwr==w) +set VFx=DQr() set tgo=teo() set bIe[VFx]=hdx +set bAe[VFx]=boe[EKx] set bNe[VFx]=bee[EKx] set bbe[VFx]=csx +call HDx(DYr,Dwr) set qQv[((tgo))]=((D6v*((.06)*1.))*1.) set qsv[(tgo)]=((8.)*1.) +call SetUnitColor(nm[((tio(tgo,'qBaS',.5)))],((ox[(hbo)]))) set quv[(tgo)]=Ntx((function DUr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,500.) call Tvo(tgo,csx) call t4o((tgo),(Dwr),.0,.0,.0,(null)) set VBx=VBx-1 endloop call HZo(DYr) endfunction function Dzr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer hgx=(QEv[(tgo)]) call tDo(tgo) call DWr(hgx) call v0o(hgx) return true endfunction function DZr takes integer hgx returns nothing local integer tgo=teo() call vLo(hgx) set qQv[((tgo))]=((D6v*((.4)*1.))*1.) set qsv[(tgo)]=((32.)*1.) call tio(tgo,'qBSM',1.) set quv[(tgo)]=Ntx((function Dzr)) set QEv[(tgo)]=(hgx) +call S9o(tgo,900.) call Tvo(tgo,(Bl[(hgx)])) call t4o((tgo),((il[(hgx)])),.0,.0,.0,(null)) endfunction function D_r takes nothing returns boolean local integer Eix=(bv) local integer hgx=(oL[(Eix)]) if((il[(hgx)])==(Bl[(hgx)]))then +call DWr(hgx) else +call DZr(hgx) endif return true endfunction function D0r takes nothing returns boolean set bie=Nyx(function DPr) call Sao(Utv,Nlx("BatSwarm_Init: call BatSwarm.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BatSwarm.Event_SpellEffect))",kK,VB,function D_r)) call oio(Ajv,N6e) return true endfunction function D1r takes nothing returns boolean call Dpr(function D0r,"BatSwarm_Init") return true endfunction function D2r takes nothing returns boolean set bCe=vEo() set dF[(bCe)]=("Abilities\\Spells\\Undead\\Curse\\CurseTarget1.wav") +set fF[(bCe)]=(xCv) set gF[(bCe)]=(xbv) set hF[(bCe)]=((1)*1.) set jF[(bCe)]=((1)*1.) set kF[(bCe)]=($A) set lF[(bCe)]=((.7)*1.) set SF[(bCe)]=(true) +set TF[(bCe)]=((900)*1.) +set UF[(bCe)]=(($2710)*1.) set WF[(bCe)]=(($BB8)*1.) return true endfunction function D3r takes nothing returns boolean set bde=u9x(bDe+" (dummyBuff)") set sf[(bde)]=(true) +call Urx(bde,"HawkEye_page\\HawkEye_struct\\buff2.mdx","overhead",EV) set v2v=UEx() call URx(v2v,ROv,-.1) call UIx(((bde)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,ROv,-.1) call UIx(((bde)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,ROv,-.2) call UIx(((bde)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,ROv,-.2) call UIx(((bde)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,ROv,-.3) call UIx(((bde)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,ROv,-.3) call UIx(((bde)),YD+(6),(v2v)) return true endfunction function D4r takes nothing returns boolean set bfe=u9x(bDe+" (bleedingBuff)") return true endfunction function D5r takes nothing returns boolean call scx('AHaE',false) set USv=s2o('AHaE') set orv[(USv)]=(x5v) +set onv[(USv)]=(6) set Zl[(USv)]=("Hawk Eye") set PK[(USv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0259)))),(((FL)))))) set Vnv[(USv)]=(0) set n9v[(USv)]=("spell") +call s3o((USv),Yhv+(1),((750)*1.)) call s3o((USv),Ll+(1),(($A)*1.)) +call s3o((USv),zl+(1),((30)*1.)) +call s3o((USv),Pkv+(1),((750)*1.)) call s3o((USv),Yhv+(2),((750)*1.)) call s3o((USv),Ll+(2),(($A)*1.)) +call s3o((USv),zl+(2),((40)*1.)) +call s3o((USv),Pkv+(2),((750)*1.)) call s3o((USv),Yhv+(3),((750)*1.)) call s3o((USv),Ll+(3),(($A)*1.)) +call s3o((USv),zl+(3),((50)*1.)) +call s3o((USv),Pkv+(3),((750)*1.)) call s3o((USv),Yhv+(4),((750)*1.)) call s3o((USv),Ll+(4),(($A)*1.)) +call s3o((USv),zl+(4),((60)*1.)) +call s3o((USv),Pkv+(4),((750)*1.)) call s3o((USv),Yhv+(5),((750)*1.)) call s3o((USv),Ll+(5),(($A)*1.)) +call s3o((USv),zl+(5),((70)*1.)) +call s3o((USv),Pkv+(5),((750)*1.)) call s3o((USv),Yhv+(6),((750)*1.)) call s3o((USv),Ll+(6),(($A)*1.)) +call s3o((USv),zl+(6),((80)*1.)) +call s3o((USv),Pkv+(6),((750)*1.)) set Qkv[(USv)]=("ReplaceableTextures\\CommandButtons\\BTNScout.blp") +set bFe[1]=$F set bFe[2]=20 set bFe[3]=25 set bFe[4]=30 set bFe[5]=35 set bFe[6]=40 set bge[1]=-.1 set bge[2]=-.1 set bge[3]=-.2 set bge[4]=-.2 set bge[5]=-.3 set bge[6]=-.3 set bGe[1]=$A set bGe[2]=$A set bGe[3]=$A set bGe[4]=$A set bGe[5]=$A set bGe[6]=$A set bhe[1]=3 +set bhe[2]=3 +set bhe[3]=3 +set bhe[4]=3 +set bhe[5]=3 +set bhe[6]=3 +set bHe[1]=5 +set bHe[2]=5 +set bHe[3]=5 +set bHe[4]=5 +set bHe[5]=5 +set bHe[6]=5 +return true endfunction function D6r takes nothing returns boolean set bje=vEo() set dF[(bje)]=("Abilities\\Spells\\Undead\\Possession\\PossessionMissileLaunch1.wav") set fF[(bje)]=(xCv) set gF[(bje)]=(xbv) set hF[(bje)]=((1)*1.) set jF[(bje)]=((1)*1.) set kF[(bje)]=($A) set lF[(bje)]=((.7)*1.) set SF[(bje)]=(true) +set TF[(bje)]=((900)*1.) +set UF[(bje)]=(($2710)*1.) set WF[(bje)]=(($BB8)*1.) return true endfunction function D7r takes nothing returns boolean call IGx(SE,(function D2r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\HawkEye.page\\HawkEye.struct\\obj_hitSound_wc3sound.j")) call IGx(tE,(function D3r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\HawkEye.page\\HawkEye.struct\\obj_dummyBuff_wc3buff.j")) call IGx(tE,(function D4r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\HawkEye.page\\HawkEye.struct\\obj_bleedingBuff_wc3buff.j")) +call IGx(UE,(function D5r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\HawkEye.page\\HawkEye.struct\\obj_thisSpell_wc3spell.j")) call IGx(SE,(function D6r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\HawkEye.page\\HawkEye.struct\\obj_dummySound_wc3sound.j")) return true endfunction function D8r takes nothing returns boolean set bJe=Idx(bDe) +return true endfunction function D9r takes nothing returns boolean local integer Eix=(bv) local integer P9o=(A9v[(Eix)]) local integer csx=(Vv[(Eix)]) local integer EKx=(Vfx(((csx)),Wd+(bde))) call d9x(csx,bfe,EKx,P9o,bHe[EKx]) return true endfunction function fvr takes integer VFx returns integer set bpe[VFx]=true set bPe[VFx]=false call V1x(bJe) return VFx endfunction function fer takes nothing returns integer local integer VFx if(ble==8190)then call Vmx("HawkEye_Allocation_allocCustom","call DebugEx(HawkEye.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",bDe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(bLe[(w)]==w)then set bme=bme+1 set VFx=bme else +set VFx=bLe[(w)] +set bLe[(w)]=bLe[bLe[(w)]] endif set bLe[VFx]=Z set bMe[VFx]=1 call fvr(VFx) return VFx endfunction function fxr takes integer VFx returns nothing set bpe[VFx]=false call EEx(bJe) endfunction function for takes integer VFx returns nothing if(bMe[VFx]>0)then return endif if(bLe[VFx]!=Z)then call Vmx("HawkEye_Allocation_deallocCustom_confirm","call DebugEx(HawkEye.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",bDe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set bLe[VFx]=bLe[(w)] set bLe[(w)]=VFx +call fxr(VFx) endfunction function frr takes integer VFx returns nothing set bMe[VFx]=bMe[VFx]-1 call for(VFx) endfunction function fir takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=(QEv[(tgo)]) local real far=bqe[VFx] call tDo(tgo) call frr((VFx)) if(csx==w)then return true endif call Svo(csx,csx,far) return true endfunction function fnr takes integer VMx,integer csx,real far returns nothing local integer VFx=fer() local integer tgo=teo() set bqe[VFx]=far +set qQv[((tgo))]=((D6v*((.1)*1.))*1.) set qsv[(tgo)]=((32.)*1.) call tio(tgo,'qHaE',1.25) set quv[(tgo)]=Ntx((function fir)) set QEv[(tgo)]=(VFx) +call S9o(tgo,500.) call Tvo(tgo,VMx) call t4o((tgo),(csx),.0,.0,.0,(null)) endfunction function fVr takes nothing returns boolean local integer Eix=(bv) local integer GEx=(Wk[(Eix)]) local integer csx=(Vv[(Eix)]) local integer EKx=(Vfx(((csx)),Wd+(bde))) local integer fEr=(kv[((ze[(GEx)]))]) if((fEr!=w)and not Cmx(fEr,tf))then set GEx=fEr endif call fnr(csx,GEx,bFe[EKx]) return true endfunction function fXr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function fOr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx call CMx(csx,bke) call CMx(csx,bKe) call jGx((((csx))),(Rqv),(1),w) return true endfunction function fRr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx call cEx(csx,bke) call cEx(csx,bKe) call JYx(((csx)),Rqv) return true endfunction function fIr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local string fAr +local integer wKo local integer csx local integer b1r local integer fNr if(FV==EV)then set fAr=bSe else +set fAr=bte endif call Sgo((Sjo(((xnr)*1.),((xVr)*1.),(fAr),(EV)))) set wKo=dex(bje) +call u7o(wKo,xnr,xVr,drx(hdx)) call cJx(wKo,true) set zH=(ze[(hdx)]) call fXo(bQe,xnr,xVr,(hDx((USv),Yhv+(EKx))),bse) +set csx=(SJo((bQe),((xnr)*1.),((xVr)*1.))) if(csx!=w)then set b1r=bhe[EKx] +loop +call GroupRemoveUnit(jd[(bQe)],C[(csx)]) +set fNr=dex(bCe) +call dOx(fNr,csx) call cJx(fNr,true) call d9x((csx),(bde),(EKx),w,((bGe[EKx])*1.)) set b1r=b1r-1 exitwhen(b1r<1) set csx=(SJo((bQe),((xnr)*1.),((xVr)*1.))) exitwhen(csx==w) +endloop endif return true endfunction function fbr takes nothing returns boolean set bke=Nlx("HawkEye_Init: set HawkEye.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.TARGET_EVENT_TYPE, EventPriority.SPELLS, function HawkEye.Event_Damage)",Nvv,VB,function D9r) set bKe=Nlx("HawkEye_Init: set HawkEye.DEATH_EVENT = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function HawkEye.Event_Death)",zu,VB,function fVr) set bQe=Bkx() set bse=Nyx(function fXr) call Ufx(bde,Nlx("HawkEye_Init: call HawkEye.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function HawkEye.Event_BuffGain))",dg,VB,function fOr)) call Ufx(bde,Nlx("HawkEye_Init: call HawkEye.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function HawkEye.Event_BuffLose))",Hf,VB,function fRr)) call Sao(USv,Nlx("HawkEye_Init: call HawkEye.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function HawkEye.Event_SpellEffect))",kK,VB,function fIr)) call oio(AWv,bfe) return true endfunction function fBr takes nothing returns boolean call Dpr(function fbr,"HawkEye_Init") return true endfunction function fcr takes nothing returns boolean set bTe=x6o('BCrM',"Spell Potion",'bCrM') set OOv[(bTe)]=(true) set v_v[(bTe)]=(true) set ORv[(bTe)]=("ReplaceableTextures\\CommandButtons\\BTNMinorRejuvPotion.blp") call Urx(bTe,"Abilities\\Spells\\Human\\MagicSentry\\MagicSentryCaster.mdl","overhead",EV) set v2v=UEx() call URx(v2v,Fnv,30) +call UIx(((bTe)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,Fnv,50) +call UIx(((bTe)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,Fnv,70) +call UIx(((bTe)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,Fnv,90) +call UIx(((bTe)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,Fnv,'n') call UIx(((bTe)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,Fnv,$82) call UIx(((bTe)),YD+(6),(v2v)) return true endfunction function fCr takes nothing returns boolean set bue[1]=30 set bue[2]=50 set bue[3]=70 set bue[4]=90 set bue[5]='n' set bue[6]=$82 set bUe[1]=7.5 set bUe[2]=7.5 set bUe[3]=7.5 set bUe[4]=7.5 set bUe[5]=7.5 set bUe[6]=7.5 return true endfunction function fdr takes nothing returns boolean call IGx(tE,(function fcr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\MagicBottle.page\\MagicBottle.struct\\Buff\\obj_dummyBuff_wc3buff.j")) call IGx(VE,(function fCr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\MagicBottle.page\\MagicBottle.struct\\Buff\\obj_this_wc3obj.j")) return true endfunction function fDr takes nothing returns boolean set bwe=Idx(bWe) +return true endfunction function ffr takes nothing returns boolean call scx('AMaB',false) set Uyv=s2o('AMaB') set orv[(Uyv)]=(x5v) +set onv[(Uyv)]=(6) set Zl[(Uyv)]=("Magic Bottle") set PK[(Uyv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0259)))),(((FL)))))) set Vnv[(Uyv)]=(4) set n9v[(Uyv)]=("spell") +call s3o((Uyv),Ll+(1),(($D)*1.)) +call s3o((Uyv),zl+(1),((55)*1.)) +call s3o((Uyv),Pkv+(1),((700)*1.)) call s3o((Uyv),Ll+(2),(($D)*1.)) +call s3o((Uyv),zl+(2),((75)*1.)) +call s3o((Uyv),Pkv+(2),((700)*1.)) call s3o((Uyv),Ll+(3),(($D)*1.)) +call s3o((Uyv),zl+(3),((95)*1.)) +call s3o((Uyv),Pkv+(3),((700)*1.)) call s3o((Uyv),Ll+(4),(($D)*1.)) +call s3o((Uyv),zl+(4),(('s')*1.)) call s3o((Uyv),Pkv+(4),((700)*1.)) call s3o((Uyv),Ll+(5),(($D)*1.)) +call s3o((Uyv),zl+(5),(('}')*1.)) call s3o((Uyv),Pkv+(5),((700)*1.)) call s3o((Uyv),Ll+(6),(($D)*1.)) +call s3o((Uyv),zl+(6),(($87)*1.)) call s3o((Uyv),Pkv+(6),((700)*1.)) set Qkv[(Uyv)]=("ReplaceableTextures\\CommandButtons\\BTNPotionOfOmniscience.blp") set bye[1]=40 set bye[2]=60 set bye[3]=80 set bye[4]='d' set bye[5]='x' set bye[6]=$8C set bYe[1]=1.5 set bYe[2]=1.5 set bYe[3]=1.5 set bYe[4]=1.5 set bYe[5]=1.5 set bYe[6]=1.5 return true endfunction function fFr takes nothing returns boolean call IGx(UE,(function ffr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\MagicBottle.page\\MagicBottle.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function fgr takes nothing returns boolean set bze=Idx(bZe) +return true endfunction function fGr takes integer VFx returns integer set b3e[VFx]=true set b4e[VFx]=false call V1x(bze) return VFx endfunction function fhr takes nothing returns integer local integer VFx if(b_e==8190)then call Vmx("MagicBottle_Allocation_allocCustom","call DebugEx(MagicBottle.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",bZe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(b0e[(w)]==w)then set b1e=b1e+1 set VFx=b1e else +set VFx=b0e[(w)] +set b0e[(w)]=b0e[b0e[(w)]] endif set b0e[VFx]=Z set b2e[VFx]=1 call fGr(VFx) return VFx endfunction function fHr takes integer VFx returns nothing set b3e[VFx]=false call EEx(bze) endfunction function fjr takes integer VFx returns nothing if(b2e[VFx]>0)then return endif if(b0e[VFx]!=Z)then call Vmx("MagicBottle_Allocation_deallocCustom_confirm","call DebugEx(MagicBottle.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",bZe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set b0e[VFx]=b0e[(w)] set b0e[(w)]=VFx +call fHr(VFx) endfunction function fJr takes integer VFx returns nothing set b2e[VFx]=b2e[VFx]-1 call fjr(VFx) endfunction function fkr takes integer EKx,integer csx returns nothing call d9x((csx),(bTe),(EKx),w,((bUe[EKx])*1.)) endfunction function fKr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=b5e[VFx] local integer EKx=b6e[VFx] local integer csx=b7e[VFx] call fJr((VFx)) call tDo(tgo) call cdx((C1x((csx),(b8e),(b9e),(fV)))) if(IsUnitAlly(C[(csx)],vx[((ze[(hdx)]))]))then call Svo(hdx,csx,bye[EKx]) call fkr(EKx,csx) else +if(ezr(csx,true,true,true)>0)then call Svo(hdx,hdx,bye[EKx]) endif call d9x((((csx))),(AQv),(1),w,((((bYe[EKx])*1.))*1.)) call fkr(EKx,hdx) endif return true endfunction function flr takes integer hdx,integer EKx,integer csx returns nothing local integer VFx=fhr() local integer tgo=teo() set b5e[VFx]=hdx +set b6e[VFx]=EKx +set b7e[VFx]=csx +set qQv[((tgo))]=((D6v*((.06)*1.))*1.) set qsv[(tgo)]=((10.)*1.) call tio(tgo,'qCMP',2.) set quv[(tgo)]=Ntx((function fKr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,900.) call Tvo(tgo,hdx) call t4o((tgo),(csx),.0,.0,.0,(null)) endfunction function fLr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) call flr(hdx,EKx,csx) return true endfunction function fmr takes nothing returns nothing endfunction function fMr takes nothing returns boolean call Sao(Uyv,Nlx("MagicBottle_Init: call MagicBottle.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function MagicBottle.Event_SpellEffect))",kK,VB,function fLr)) call fmr() return true endfunction function fpr takes nothing returns boolean call Dpr(function fMr,"MagicBottle_Init") return true endfunction function fPr takes nothing returns boolean set Bve[1]=$96 set Bve[2]=$96 set Bve[3]=$96 set Bve[4]=$96 set Bve[5]=$96 set Bve[6]=$96 set Bee[1]=60 set Bee[2]=90 set Bee[3]='x' set Bee[4]=$96 set Bee[5]=$B4 set Bee[6]=$D2 return true endfunction function fqr takes nothing returns boolean call IGx(VE,(function fPr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\RedwoodValkyrie.page\\RedwoodValkyrie.struct\\Air\\obj_this_wc3obj.j")) +return true endfunction function fQr takes nothing returns boolean set Bxe=Idx(Boe) +return true endfunction function fsr takes nothing returns boolean call scx('ARwV',false) set Bre=s2o('ARwV') set orv[(Bre)]=(x5v) +set onv[(Bre)]=(6) set Zl[(Bre)]=("Redwood Valkyrie") set PK[(Bre)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0259)))),(((FL)))))) set Vnv[(Bre)]=(3) set n9v[(Bre)]=("attack") call s3o((Bre),Yhv+(1),((80)*1.)) call s3o((Bre),Ll+(1),((4)*1.)) call s3o((Bre),zl+(1),((30)*1.)) +call s3o((Bre),Pkv+(1),(($514)*1.)) call s3o((Bre),Yhv+(2),((80)*1.)) call s3o((Bre),Ll+(2),((4)*1.)) call s3o((Bre),zl+(2),((40)*1.)) +call s3o((Bre),Pkv+(2),(($514)*1.)) call s3o((Bre),Yhv+(3),((80)*1.)) call s3o((Bre),Ll+(3),((4)*1.)) call s3o((Bre),zl+(3),((50)*1.)) +call s3o((Bre),Pkv+(3),(($514)*1.)) call s3o((Bre),Yhv+(4),((80)*1.)) call s3o((Bre),Ll+(4),((4)*1.)) call s3o((Bre),zl+(4),((60)*1.)) +call s3o((Bre),Pkv+(4),(($514)*1.)) call s3o((Bre),Yhv+(5),((80)*1.)) call s3o((Bre),Ll+(5),((4)*1.)) call s3o((Bre),zl+(5),((70)*1.)) +call s3o((Bre),Pkv+(5),(($514)*1.)) call s3o((Bre),Yhv+(6),((80)*1.)) call s3o((Bre),Ll+(6),((4)*1.)) call s3o((Bre),zl+(6),((80)*1.)) +call s3o((Bre),Pkv+(6),(($514)*1.)) set Qkv[(Bre)]=("ReplaceableTextures\\CommandButtons\\BTNFlamingArrows.blp") +set Bie[1]='s' set Bie[2]='s' set Bie[3]='s' set Bie[4]='s' set Bie[5]='s' set Bie[6]='s' set Bae[1]=1.75 set Bae[2]=2 +set Bae[3]=2.25 set Bae[4]=2.5 set Bae[5]=2.75 set Bae[6]=3 +set Bne[1]=20 set Bne[2]=30 set Bne[3]=40 set Bne[4]=50 set Bne[5]=60 set Bne[6]=70 set BVe[1]=5 +set BVe[2]=$F set BVe[3]=30 set BVe[4]=50 set BVe[5]=75 set BVe[6]='i' return true endfunction function fSr takes nothing returns boolean set BEe=u9x(BXe+" (ignitionBuff)") set sf[(BEe)]=(true) +set v_v[(BEe)]=(true) return true endfunction function ftr takes nothing returns boolean call IGx(UE,(function fsr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\RedwoodValkyrie.page\\RedwoodValkyrie.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function fSr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\RedwoodValkyrie.page\\RedwoodValkyrie.struct\\obj_ignitionBuff_wc3buff.j")) +return true endfunction function fTr takes nothing returns boolean set BOe=Idx(BXe) +return true endfunction function fur takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=pKx() local integer VFx local integer hgx if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif set VFx=(QEv[(tgo)]) +if(b8x((BIe[VFx]),qC,(csx)))then +return false +endif set hgx=BAe[VFx] +if(IsUnitAlly(C[(csx)],vx[((ze[((Bl[(hgx)]))]))]))then return false +endif return true return true endfunction function fUr takes integer VFx returns integer set BBe[VFx]=true set Bce[VFx]=false call V1x(Bxe) return VFx endfunction function fwr takes integer VFx returns nothing set BBe[VFx]=false call EEx(Bxe) endfunction function fWr takes integer hdx,real fyr,real fYr,real x,real y returns nothing local integer csx call Sgo((Sjo(((x)*1.),((y)*1.),("Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl"),(fV)))) set zH=(ze[(hdx)]) call fXo(Bfe,x,y,fyr,BFe) set csx=fOo(Bfe) +if(csx!=w)then loop +call AYo((hdx),(csx),((fYr)*1.),(true),(false)) set csx=fOo(Bfe) +exitwhen(csx==w) +endloop endif endfunction function fzr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local real x=(qyv[(tgo)]) local real y=(qYv[(tgo)]) local integer hgx=BCe[VFx] local integer hdx=(Bl[(hgx)]) local integer EKx=(Dl[(hgx)]) call fwr(VFx) call tDo(tgo) call fWr(hdx,Bve[EKx],Bee[EKx]+(Cl[(hgx)])*Bge,x,y) call v0o(hgx) return true endfunction function fZr takes integer hgx returns nothing local integer hdx=(Bl[(hgx)]) local integer EKx=(Dl[(hgx)]) local integer csx=(il[(hgx)]) local integer tgo=teo() local integer VFx=fUr(tgo) set BCe[VFx]=hgx +set qsv[(tgo)]=(((hDx((Bre),Yhv+(EKx))))*1.) +call WTo((tio(tgo,'qRwA',1.5)),(Bde),(BDe),(fV)) +set quv[(tgo)]=Ntx((function fzr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,BGe) call Tvo(tgo,hdx) call t4o((tgo),(csx),.0,.0,.0,(null)) call vLo(hgx) endfunction function f_r takes integer VFx returns integer set Bke[VFx]=true set BKe[VFx]=false call V1x(BOe) return VFx endfunction function f0r takes nothing returns integer local integer VFx if(Bhe==8190)then call Vmx("RedwoodValkyrie_Allocation_allocCustom","call DebugEx(RedwoodValkyrie.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",BXe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(BHe[(w)]==w)then set Bje=Bje+1 set VFx=Bje else +set VFx=BHe[(w)] +set BHe[(w)]=BHe[BHe[(w)]] endif set BHe[VFx]=Z set BJe[VFx]=1 call f_r(VFx) return VFx endfunction function f1r takes integer VFx returns nothing set Bke[VFx]=false call EEx(BOe) endfunction function f2r takes integer VFx returns nothing if(BJe[VFx]>0)then return endif if(BHe[VFx]!=Z)then call Vmx("RedwoodValkyrie_Allocation_deallocCustom_confirm","call DebugEx(RedwoodValkyrie.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",BXe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set BHe[VFx]=BHe[(w)] set BHe[(w)]=VFx +call f1r(VFx) endfunction function f3r takes integer VFx returns nothing set BJe[VFx]=BJe[VFx]-1 call f2r(VFx) endfunction function f4r takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) call HZo(BIe[VFx]) call f3r((VFx)) call tDo(tgo) return true endfunction function f5r takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=(QEv[(tgo)]) local real fCo=Ble[VFx] local integer hgx=BAe[VFx] local integer hdx=(Bl[(hgx)]) local real f6r call HDx(BIe[VFx],csx) if Cmx(csx,rG)then set f6r=Bqe else +set f6r=BQe endif call d9x(csx,BEe,(Dl[(hgx)]),hdx,f6r) call Hro(hdx,csx,true,fCo) return true endfunction function f7r takes integer hgx returns nothing local integer hdx=(Bl[(hgx)]) local integer EKx=(Dl[(hgx)]) local real h0x=(al[(hgx)]) local real h1x=(nl[(hgx)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real Rir=(hDx((Bre),Pkv+(EKx))) local integer VFx=f0r() local integer tgo=teo() local real OMx=(Atan2(((h1x-xVr)*1.),((h0x-xnr)*1.))) set Ble[VFx]=BVe[EKx]+(ak[(hdx)])*Bae[EKx] set BLe[VFx]=Rir +set Bme[VFx]=xnr +set BMe[VFx]=xVr +set BIe[VFx]=Pcx("RedwoodValkyrie_Start: set this.targetGroup = UnitList.Create()") set BAe[VFx]=hgx +set qsv[(tgo)]=(((hDx((Bre),Yhv+(EKx))))*1.) +call WTo((tio(tgo,'qRwV',1.5)),(Bpe),(BPe),(fV)) +set QEv[(tgo)]=(VFx) +set quv[(tgo)]=Ntx((function f4r)) call S9o(tgo,BGe) call Tvo(tgo,hdx) call Okr(tgo,xnr+Rir*(Cos(((((OMx)*1.))*1.))),xVr+Rir*(Sin(((((OMx)*1.))*1.))),bex(h0x,h1x)+60.) +call RXr(tgo,function f5r,BRe) endfunction function f8r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer csx=(aL[(Eix)]) local integer hgx=(oL[(Eix)]) call cdx((C1x((hdx),(BNe),(Bbe),(fV)))) if((csx!=w)and not Cmx(csx,cgv))then +call fZr(hgx) return true endif call f7r(hgx) return true endfunction function f9r takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not Cmx(csx,cEv)then return false +endif if APo(csx)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function Fvr takes nothing returns nothing set Bfe=Bkx() set BFe=Nyx(function f9r) endfunction function Fer takes nothing returns boolean set BRe=Nyx(function fur) call Sao(Bre,Nlx("RedwoodValkyrie_Init: call RedwoodValkyrie.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function RedwoodValkyrie.Event_SpellEffect))",kK,VB,function f8r)) call oio(NVv,BEe) call Fvr() return true endfunction function Fxr takes nothing returns boolean call Dpr(function Fer,"RedwoodValkyrie_Init") return true endfunction function For takes nothing returns boolean set Bse=u9x(BSe+" (frostBuff)") set sf[(Bse)]=(true) +set v_v[(Bse)]=(true) return true endfunction function Frr takes nothing returns boolean call scx('ASaD',false) set UWv=s2o('ASaD') set orv[(UWv)]=(x5v) +set onv[(UWv)]=(6) set Zl[(UWv)]=("Sapphireblue Dagger") set PK[(UWv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0259)))),(((FL)))))) set Vnv[(UWv)]=(2) set n9v[(UWv)]=("spell") +call s3o((UWv),Yhv+(1),(($C8)*1.)) call s3o((UWv),Ll+(1),(($B)*1.)) +call s3o((UWv),zl+(1),((30)*1.)) +call s3o((UWv),Pkv+(1),((99999)*1.)) +call s3o((UWv),Yhv+(2),(($C8)*1.)) call s3o((UWv),Ll+(2),(($B)*1.)) +call s3o((UWv),zl+(2),((30)*1.)) +call s3o((UWv),Pkv+(2),((99999)*1.)) +call s3o((UWv),Yhv+(3),(($C8)*1.)) call s3o((UWv),Ll+(3),(($B)*1.)) +call s3o((UWv),zl+(3),((30)*1.)) +call s3o((UWv),Pkv+(3),((99999)*1.)) +call s3o((UWv),Yhv+(4),(($C8)*1.)) call s3o((UWv),Ll+(4),(($B)*1.)) +call s3o((UWv),zl+(4),((30)*1.)) +call s3o((UWv),Pkv+(4),((99999)*1.)) +call s3o((UWv),Yhv+(5),(($C8)*1.)) call s3o((UWv),Ll+(5),(($B)*1.)) +call s3o((UWv),zl+(5),((30)*1.)) +call s3o((UWv),Pkv+(5),((99999)*1.)) +call s3o((UWv),Yhv+(6),(($C8)*1.)) call s3o((UWv),Ll+(6),(($B)*1.)) +call s3o((UWv),zl+(6),((30)*1.)) +call s3o((UWv),Pkv+(6),((99999)*1.)) +set Qkv[(UWv)]=("ReplaceableTextures\\CommandButtons\\BTNDaggerOfEscape.blp") set Bte[1]=8 +set Bte[2]=8 +set Bte[3]=8 +set Bte[4]=8 +set Bte[5]=8 +set Bte[6]=8 +set BTe[1]=4 +set BTe[2]=4 +set BTe[3]=4 +set BTe[4]=4 +set BTe[5]=4 +set BTe[6]=4 +set Bue[1]=8 +set Bue[2]=$D set Bue[3]=20 set Bue[4]=29 set Bue[5]=40 set Bue[6]=53 set BUe[1]=500 set BUe[2]=500 set BUe[3]=500 set BUe[4]=500 set BUe[5]=500 set BUe[6]=500 return true endfunction function Fir takes nothing returns boolean set Bwe=x6o('BSaD',"Sapphireblue Dagger",'bSaD') +set OOv[(Bwe)]=(true) set sf[(Bwe)]=(true) +set v_v[(Bwe)]=(true) set ORv[(Bwe)]=("ReplaceableTextures\\CommandButtons\\BTNThoriumMelee.blp") call Urx(Bwe,"SapphireblueDagger_page\\SapphireblueDagger_struct\\casterBuff.mdx","weapon",EV) call Urx(Bwe,"SapphireblueDagger_page\\SapphireblueDagger_struct\\casterBuff.mdx","weapon",fV) call Urx(Bwe,"SapphireblueDagger_page\\SapphireblueDagger_struct\\casterBuff.mdx","weapon",fV) call Urx(Bwe,"SapphireblueDagger_page\\SapphireblueDagger_struct\\casterBuff.mdx","weapon",fV) call Urx(Bwe,"SapphireblueDagger_page\\SapphireblueDagger_struct\\casterBuff.mdx","weapon",fV) return true endfunction function Far takes nothing returns boolean call IGx(tE,(function For),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\SapphireblueDagger.page\\SapphireblueDagger.struct\\obj_frostBuff_wc3buff.j")) call IGx(UE,(function Frr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\SapphireblueDagger.page\\SapphireblueDagger.struct\\obj_thisSpell_wc3spell.j")) +call IGx(tE,(function Fir),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\SapphireblueDagger.page\\SapphireblueDagger.struct\\obj_casterBuff_wc3buff.j")) +return true endfunction function Fnr takes nothing returns boolean set BWe=Idx(BSe) +return true endfunction function FVr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer csx=(aL[(Eix)]) local integer EKx=(Vfx(((hdx)),Wd+(Bwe))) call AYo((hdx),(csx),((Bue[EKx])*1.),(true),(false)) +return true endfunction function FEr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if Cmx(csx,rG)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function FXr takes nothing returns boolean local integer Eix=(bv) call CMx((Vv[(Eix)]),Bye) return true endfunction function FOr takes nothing returns boolean local integer Eix=(bv) call cEx((Vv[(Eix)]),Bye) return true endfunction function FRr takes integer VFx,real kKx,real klx,real Vkx,real OMx,real pQx,real psx,integer Wox returns nothing +local real fao=E9x(Vkx,E9x(psx,pQx))+B0e +if(Wox==w)then set Wox=TQ endif set Wox=fVo(NW,Wox) set CW=OMx set cW=Vkx set bW=kKx set BW=klx set DW=psx set dW=pQx call HJo(fW,kKx-fao,klx-fao,kKx+fao,klx+fao) +call GroupEnumUnitsInRect(jd[(VFx)],SQ[fW],Bv[Wox]) endfunction function FIr takes real kKx,real klx,real h0x,real h1x,integer hdx,integer EKx returns nothing local real dX=h0x-kKx local real dY=h1x-klx local real t9x=hyx(hdx,true) +local integer csx local real Xdx set zH=(ze[(hdx)]) call FRr(BYe,kKx,klx,JKx(dX,dY),(Atan2(((dY)*1.),((dX)*1.))),t9x,t9x,Bze) set csx=fOo(BYe) +if(csx!=w)then set Xdx=BTe[EKx] +loop +call d9x((csx),(Bse),(EKx),w,((Xdx)*1.)) +set csx=fOo(BYe) +exitwhen(csx==w) +endloop endif endfunction function FAr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real Cao=(hDx((UWv),Yhv+(EKx))) local integer hbo=(ze[(hdx)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real dX=h0x-xnr local real dY=h1x-xVr local real OMx if(JGx(dX,dY)>BZe[EKx])then set OMx=vPo(hdx,dX,dY) set h0x=xnr+BUe[EKx]*(Cos(((((OMx)*1.))*1.))) set h1x=xVr+BUe[EKx]*(Sin(((((OMx)*1.))*1.))) endif call Sgo((Sjo(((xnr)*1.),((xVr)*1.),(B_e),(fV)))) call FIr(xnr,xVr,h0x,h1x,hdx,EKx) call Sgo((Sjo(((h0x)*1.),((h1x)*1.),(B1e),(EV)))) call SetUnitPosition(C[((hdx))],((h0x)*1.),((h1x)*1.)) call d9x((hdx),(Bwe),(EKx),w,((Bte[EKx])*1.)) call j5x(hdx,EKx) return true endfunction function FNr takes nothing returns boolean local integer VBx set Bye=Nlx("SapphireblueDagger_Init: set SapphireblueDagger.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function SapphireblueDagger.Event_Damage)",Nev,VB,function FVr) set BYe=Bkx() set Bze=Nyx(function FEr) call Ufx(Bwe,Nlx("SapphireblueDagger_Init: call SapphireblueDagger.CASTER_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SapphireblueDagger.Event_BuffGain))",dg,VB,function FXr)) call Ufx(Bwe,Nlx("SapphireblueDagger_Init: call SapphireblueDagger.CASTER_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SapphireblueDagger.Event_BuffLose))",Hf,VB,function FOr)) call Sao(UWv,Nlx("SapphireblueDagger_Init: call SapphireblueDagger.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SapphireblueDagger.Event_SpellEffect))",kK,VB,function FAr)) call oio(Rkv,Bse) set VBx=(onv[(UWv)]) +loop +set BZe[VBx]=Olr(BUe[VBx]) set VBx=VBx-1 exitwhen(VBx<1) endloop return true endfunction function Fbr takes nothing returns boolean call Dpr(function FNr,"SapphireblueDagger_Init") +return true endfunction function FBr takes nothing returns boolean call scx('ASiB',false) set Uuv=s2o('ASiB') set orv[(Uuv)]=(x5v) +set onv[(Uuv)]=(6) set Zl[(Uuv)]=("Silent Boots") set PK[(Uuv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0084)))),(((FL)))))) set Vnv[(Uuv)]=(0) set n9v[(Uuv)]=("spell") +call s3o((Uuv),Ll+(1),(($A)*1.)) +call s3o((Uuv),zl+(1),((50)*1.)) +call s3o((Uuv),Pkv+(1),((750)*1.)) call s3o((Uuv),Ll+(2),((9)*1.)) call s3o((Uuv),zl+(2),((50)*1.)) +call s3o((Uuv),Pkv+(2),((750)*1.)) call s3o((Uuv),Ll+(3),((8)*1.)) call s3o((Uuv),zl+(3),((50)*1.)) +call s3o((Uuv),Pkv+(3),((750)*1.)) call s3o((Uuv),Ll+(4),((7)*1.)) call s3o((Uuv),zl+(4),((50)*1.)) +call s3o((Uuv),Pkv+(4),((750)*1.)) call s3o((Uuv),Ll+(5),((6)*1.)) call s3o((Uuv),zl+(5),((50)*1.)) +call s3o((Uuv),Pkv+(5),((750)*1.)) call s3o((Uuv),Ll+(6),((5)*1.)) call s3o((Uuv),zl+(6),((50)*1.)) +call s3o((Uuv),Pkv+(6),((750)*1.)) set Qkv[(Uuv)]=("ReplaceableTextures\\CommandButtons\\BTNSlippersOfAgility.blp") +set B2e[1]=$A set B2e[2]=20 set B2e[3]=30 set B2e[4]=40 set B2e[5]=50 set B2e[6]=60 set B3e[1]=1 +set B3e[2]=1 +set B3e[3]=1 +set B3e[4]=1 +set B3e[5]=1 +set B3e[6]=1 +set B4e[1]=5 +set B4e[2]=6 +set B4e[3]=7 +set B4e[4]=8 +set B4e[5]=9 +set B4e[6]=$A set B5e[1]=2 +set B5e[2]=2 +set B5e[3]=2 +set B5e[4]=2 +set B5e[5]=2 +set B5e[6]=2 +set B6e[1]=$82 set B6e[2]=$AA set B6e[3]=$D2 set B6e[4]=$FA set B6e[5]=290 set B6e[6]=330 return true endfunction function Fcr takes nothing returns boolean set B7e=x6o('BSiB',"Silent Boots",'bSiB') set OOv[(B7e)]=(true) set sf[(B7e)]=(true) +set v_v[(B7e)]=(true) set ORv[(B7e)]=("ReplaceableTextures\\CommandButtons\\BTNSlippersOfAgility.blp") +call Urx(B7e,"Abilities\\Spells\\Orc\\SpiritLink\\SpiritLinkTarget.mdl","origin",EV) +set v2v=UEx() call nUr(v2v,GFv,true) call UIx(((B7e)),YD+(1),(v2v)) set v2v=UEx() call nUr(v2v,GFv,true) call UIx(((B7e)),YD+(2),(v2v)) set v2v=UEx() call nUr(v2v,GFv,true) call UIx(((B7e)),YD+(3),(v2v)) set v2v=UEx() call nUr(v2v,GFv,true) call UIx(((B7e)),YD+(4),(v2v)) set v2v=UEx() call nUr(v2v,GFv,true) call UIx(((B7e)),YD+(5),(v2v)) set v2v=UEx() call nUr(v2v,GFv,true) call UIx(((B7e)),YD+(6),(v2v)) return true endfunction function FCr takes nothing returns boolean call IGx(UE,(function FBr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\SilentBoots.page\\SilentBoots.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function Fcr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\SilentBoots.page\\SilentBoots.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function Fdr takes nothing returns boolean set B8e=Idx(B9e) +return true endfunction function FDr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local real fCo=(A8v[(Eix)]) local integer csx=(aL[(Eix)]) local integer EKx=(Vfx(((hdx)),Wd+(B7e))) local real Ffr if Cmx(csx,rG)then set Ffr=B3e[EKx] +else +set Ffr=B5e[EKx] +endif call d9x((((csx))),(Vvv),(1),w,((((Ffr)*1.))*1.)) call d9x((((csx))),(NPv),(1),w,((((Ffr)*1.))*1.)) set A8v[(Eix)]=((fCo+B2e[EKx])*1.) return true endfunction function FFr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),B7e) return true endfunction function Fgr takes string EFx,real Nmx returns real if(HaveStoredString(Kv[((vL))],(EFx),("var")))then return(S2R(((hwx(vL,(EFx),"var"))))) +endif return Nmx endfunction function FGr takes integer VFx,integer V7x,integer V8x returns integer return(0+(LoadInteger(o[((V[(E[((iov[VFx]))])]))],((((r7v[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))))))) endfunction function Fhr takes integer VFx,integer V7x,integer V8x,integer VAx returns integer return(LoadInteger(o[((V[(E[((iov[VFx]))])]))],((((r7v[((VFx))])))),((((1+8192*(((V7x)-1)*Iv+((V8x)-1))))+(VAx))))) endfunction function FHr takes integer VFx returns nothing local integer Eix=V4x((r7v[(VFx)])) local integer VBx local integer V8x local integer EBx set r5v[(Eix)]=(VFx) +set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=FGr(VFx,r3v,V8x) +loop +exitwhen(EBx0)then return endif if(cRe[VFx]!=Z)then call Vmx("Ubersplat_Allocation_deallocCustom_confirm","call DebugEx(Ubersplat.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",r2v+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set cRe[VFx]=cRe[(w)] set cRe[(w)]=VFx +call Fkr(VFx) endfunction function Flr takes integer VFx returns nothing set cOe[VFx]=cOe[VFx]-1 call FKr(VFx) endfunction function FLr takes integer VFx returns nothing call FHr(VFx) if(cEe[(VFx)])then call DestroyUbersplat(cXe[VFx]) endif call Flr((VFx)) endfunction function Fmr takes nothing returns nothing local integer VFx=(ge[(XXx())]) call Xbx(cVe[(VFx)]) +call FLr((VFx)) endfunction function FMr takes integer VFx returns nothing if(cEe[(VFx)])then call DestroyUbersplat(cXe[VFx]) endif set cXe[VFx]=CreateUbersplat((cce[(VFx)]),(cCe[(VFx)]),rFv[(cde[(VFx)])],jDx((R2I((((cAe[(VFx)]))*1.))),0,$FF),jDx((R2I((((cNe[(VFx)]))*1.))),0,$FF),jDx((R2I((((cbe[(VFx)]))*1.))),0,$FF),jDx((R2I((((cBe[(VFx)]))*1.))),0,$FF),(cDe[(VFx)]),(cfe[(VFx)])) set cEe[VFx]=(GetHandleId(cXe[VFx])!=-1) +call SetUbersplatRenderAlways(cXe[VFx],true) +endfunction function Fpr takes integer VFx,real XMx,real Xpx,real XPx,real Xqx returns nothing set cAe[(VFx)]=((XMx)*1.) set cNe[(VFx)]=((Xpx)*1.) set cbe[(VFx)]=((XPx)*1.) set cBe[(VFx)]=((Xqx)*1.) call FMr((VFx)) endfunction function FPr takes integer VFx,real XMx,real Xpx,real XPx,real Xqx returns nothing call Fpr(VFx,(cAe[(VFx)])+XMx,(cNe[(VFx)])+Xpx,(cbe[(VFx)])+XPx,(cBe[(VFx)])+Xqx) endfunction function Fqr takes integer VFx returns integer set ixv[VFx]=true set che[VFx]=false call V1x(ruv) return VFx endfunction function FQr takes nothing returns integer local integer VFx if(cge==8190)then call Vmx("FolderUbersplat_FolderColor_StructTimed_Allocation_allocCustom","call DebugEx(FolderUbersplat_FolderColor_StructTimed.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",rUv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(iev[(w)]==w)then set cGe=cGe+1 set VFx=cGe else +set VFx=iev[(w)] +set iev[(w)]=iev[iev[(w)]] endif set iev[VFx]=Z set ivv[VFx]=1 call Fqr(VFx) return VFx endfunction function Fsr takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(r6v[(VFx)],(r7v[((VFx))]),Vgx,Vhx) endfunction function FSr takes integer VFx,integer N8x returns nothing if(iov[VFx]==w)then call Vmx("FolderUbersplat_StructEvent_Add","call DebugEx(\"no table \"+I2S(this)+\";\"+whichEvent.GetName())","no table "+I2S(VFx)+";"+(vc[(N8x)])) set iov[VFx]=X endif call Ehx(iov[VFx],(r7v[((VFx))]),(HB[(N8x)]),N8x) endfunction function Ftr takes integer VFx returns boolean set iav=iav+1 set iiv[iav]=VFx +set irv[VFx]=iav+1 return(iav==0) endfunction function FTr takes nothing returns nothing local integer VBx=iav local integer VFx loop +set VFx=iiv[VBx] +call FPr(cKe[VFx],cHe[VFx],cje[VFx],cJe[VFx],cke[VFx]) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function Fur takes nothing returns nothing local integer Xrx=XXx() local integer VFx=(ge[(Xrx)]) call yHx(VFx,Xrx,cKe[VFx]) endfunction function FUr takes integer VFx,real XMx,real Xpx,real XPx,real Xqx,real Xdx returns nothing local integer ENx=VFx local integer jux local integer Xrx if(Xdx==.0)then call FPr(ENx,XMx,Xpx,XPx,Xqx) return endif set jux=(R2I(((Xdx*1./ cFe)*1.))) set VFx=FQr() set Xrx=E5x() set cHe[VFx]=XMx*1./ jux +set cje[VFx]=Xpx*1./ jux +set cJe[VFx]=XPx*1./ jux +set cke[VFx]=Xqx*1./ jux +set iVv[VFx]=Xrx +set cKe[VFx]=ENx +set ge[(Xrx)]=(VFx) call Fsr(ENx,r9v,VFx) call FSr(ENx,r4v) if Ftr(VFx)then call Xax(inv,cFe,true,function FTr) endif call Xax(Xrx,Xdx,false,function Fur) +endfunction function Fwr takes integer VFx,real XMx,real Xpx,real XPx,real Xqx,real Xdx returns nothing call FUr(VFx,-XMx,-Xpx,-XPx,-Xqx,Xdx) endfunction function FWr takes integer VFx,real Xdx returns nothing local integer Xrx=E5x() set cVe[VFx]=Xrx +set ge[(Xrx)]=(VFx) call Xax(Xrx,Xdx,false,function Fmr) +call Fwr((VFx),.0,.0,.0,(cBe[((VFx))]),Xdx) endfunction function Fyr takes integer VFx returns integer set cIe[VFx]=true set cme[VFx]=false set r6v[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) set iov[((VFx))]=(sb[(GetRandomInt((0),(Qb)))]) call V1x(r1v) return VFx endfunction function FYr takes nothing returns integer local integer VFx if(cle==8190)then call Vmx("Ubersplat_Allocation_allocCustom","call DebugEx(Ubersplat.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",r2v+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(cRe[(w)]==w)then set cLe=cLe+1 set VFx=cLe else +set VFx=cRe[(w)] +set cRe[(w)]=cRe[cRe[(w)]] endif set cRe[VFx]=Z set cOe[VFx]=1 call Fyr(VFx) return VFx endfunction function Fzr takes integer VFx returns nothing set r7v[(VFx)]=(cpe+VFx) +endfunction function FZr takes integer VFx,real XMx,real Xpx,real XPx,real Xqx returns nothing set cAe[(VFx)]=((XMx)*1.) set cNe[(VFx)]=((Xpx)*1.) set cbe[(VFx)]=((XPx)*1.) set cBe[(VFx)]=((Xqx)*1.) endfunction function F_r takes integer VFx,real x,real y returns nothing +set cce[(VFx)]=((x)*1.) set cCe[(VFx)]=((y)*1.) endfunction function F0r takes integer V7x,real x,real y,real XMx,real Xpx,real XPx,real Xqx,boolean F1r,boolean F2r returns integer +local integer VFx=FYr() set cXe[VFx]=null set cEe[VFx]=false call Fzr(VFx) set cDe[(VFx)]=(F1r) +set cfe[(VFx)]=(F2r) +set cde[(VFx)]=(V7x) +call FZr(VFx,XMx,Xpx,XPx,Xqx) call F_r(VFx,x,y) call FMr(VFx) return VFx endfunction function F3r takes integer VFx,integer cSx,integer EKx returns real set VFx=(c7x(E[((X))],(jg),((VFx)),((cSx)),((EKx)),(w))) +if(VFx==w)then return .0 endif return(TimerGetRemaining(Oe[(Pg[VFx])])) +endfunction function F4r takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx local real x=(GetUnitX(C[((csx))])) local real y=(GetUnitY(C[((csx))])) call FWr(F0r(rAv,x,y,$FF,$FF,$FF,F3r(csx,B7e,cxe[VFx])*1./ B4e[cxe[VFx]]*Fgr("snowAlphaFactor",1.5)*$FF,false,false),Fgr("snowDur",5.)) endfunction function F5r takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer F6r=coe[VFx] local integer EKx=cxe[VFx] local integer Acr=cre[VFx]-1 +local integer csx=VFx set cre[VFx]=Acr +call CIx(csx,F6r) call UOx(((F6r)),Ef+(gwv),((B6e[EKx]*(Acr*1./ cie))*1.)) +call CJx(csx,F6r) endfunction function F7r takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer F6r=UEx() local integer F8r=E5x() local integer Adr=E5x() set cxe[VFx]=EKx +set coe[VFx]=F6r +set cre[VFx]=cie +set cae[VFx]=F8r +set cne[VFx]=Adr +set ge[(F8r)]=(VFx) set ge[(Adr)]=(VFx) call CMx(csx,cve) call CMx(csx,cee) call URx(F6r,gwv,B6e[EKx]) call CJx(csx,F6r) call Xax(F8r,Fgr("snow",.125),true,function F4r) +call Xax(Adr,B4e[EKx]*1./ cie,true,function F5r) +return true endfunction function F9r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer F6r=coe[VFx] local integer F8r=cae[VFx] local integer Adr=cne[VFx] call Xbx(F8r) call Xbx(Adr) call cEx(csx,cve) call cEx(csx,cee) call CIx(csx,F6r) call Aqr(F6r) return true endfunction function gvr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) call cdx((C1x((hdx),(cPe),(cqe),(EV)))) call d9x((((hdx))),(RWv),(1),w,((((B4e[EKx])*1.))*1.)) call d9x((hdx),(B7e),(EKx),w,((B4e[EKx])*1.)) return true endfunction function ger takes nothing returns boolean set cve=Nlx("SilentBoots_Init: set SilentBoots.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function SilentBoots.Event_Damage)",Nev,VB,function FDr) set cee=Nlx("SilentBoots_Init: set SilentBoots.INVISIBILITY_EVENT = Event.Create(UNIT.Invisibility.ENDING_EVENT_TYPE, EventPriority.SPELLS, function SilentBoots.Event_InvisibilityEnding)",R_v,VB,function FFr) +call Ufx(B7e,Nlx("SilentBoots_Init: call SilentBoots.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SilentBoots.Event_BuffGain))",dg,VB,function F7r)) call Ufx(B7e,Nlx("SilentBoots_Init: call SilentBoots.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SilentBoots.Event_BuffLose))",Hf,VB,function F9r)) call Sao(Uuv,Nlx("SilentBoots_Init: call SilentBoots.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SilentBoots.Event_SpellEffect))",kK,VB,function gvr)) call oio(RWv,B7e) return true endfunction function gxr takes nothing returns boolean call Dpr(function ger,"SilentBoots_Init") return true endfunction function gor takes nothing returns boolean call scx('AStS',false) set Uwv=s2o('AStS') set orv[(Uwv)]=(x5v) +set onv[(Uwv)]=(6) set Zl[(Uwv)]=("Stone Shield") set PK[(Uwv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0259)))),(((FL)))))) set Vnv[(Uwv)]=(4) set n9v[(Uwv)]=("spell") +call s3o((Uwv),Ll+(1),((8)*1.)) call s3o((Uwv),zl+(1),((35)*1.)) +call s3o((Uwv),Pkv+(1),((700)*1.)) call s3o((Uwv),Ll+(2),((8)*1.)) call s3o((Uwv),zl+(2),((45)*1.)) +call s3o((Uwv),Pkv+(2),((700)*1.)) call s3o((Uwv),Ll+(3),((8)*1.)) call s3o((Uwv),zl+(3),((55)*1.)) +call s3o((Uwv),Pkv+(3),((700)*1.)) call s3o((Uwv),Ll+(4),((8)*1.)) call s3o((Uwv),zl+(4),((65)*1.)) +call s3o((Uwv),Pkv+(4),((700)*1.)) call s3o((Uwv),Ll+(5),((8)*1.)) call s3o((Uwv),zl+(5),((75)*1.)) +call s3o((Uwv),Pkv+(5),((700)*1.)) call s3o((Uwv),Ll+(6),((8)*1.)) call s3o((Uwv),zl+(6),((85)*1.)) +call s3o((Uwv),Pkv+(6),((700)*1.)) set Qkv[(Uwv)]=("ReplaceableTextures\\CommandButtons\\BTNArcaniteArmor.blp") +set cQe[1]=$A set cQe[2]=$F set cQe[3]=20 set cQe[4]=25 set cQe[5]=30 set cQe[6]=35 set cse[1]=$A set cse[2]=$A set cse[3]=$A set cse[4]=$A set cse[5]=$A set cse[6]=$A set cSe[1]=.5 set cSe[2]=.5 set cSe[3]=.5 set cSe[4]=.5 set cSe[5]=.5 set cSe[6]=.5 set cte[1]=2 +set cte[2]=4 +set cte[3]=6 +set cte[4]=8 +set cte[5]=$A set cte[6]=$C set cTe[1]=800 set cTe[2]=800 set cTe[3]=800 set cTe[4]=800 set cTe[5]=800 set cTe[6]=800 return true endfunction function grr takes nothing returns boolean set cue=x6o('BStS',"Stone Shield",'bStS') set OOv[(cue)]=(true) set ORv[(cue)]=("ReplaceableTextures\\CommandButtons\\BTNArcaniteArmor.blp") +call Urx(cue,"Abilities\\Spells\\Items\\AIda\\AIdaTarget.mdl","overhead",EV) +return true endfunction function gir takes nothing returns boolean call IGx(UE,(function gor),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\StoneShield.page\\StoneShield.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function grr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\StoneShield.page\\StoneShield.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function gar takes nothing returns boolean set cUe=Idx(cwe) +return true endfunction function gnr takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function gVr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer MCx=c3e[VFx] local integer csx=VFx local real x=(Rm[(MCx)]) +local real y=(bm[(MCx)]) +local real h0x=(GetUnitX(C[((csx))])) local real h1x=(GetUnitY(C[((csx))])) local real dX=x-h0x local real dY=y-h1x local real OMx=(Atan2(((dY)*1.),((dX)*1.)))+cze[VFx] +local real gEr=hyx(csx,true)*6 set h0x=h0x+gEr*(Cos(((((OMx)*1.))*1.))) +set h1x=h1x+gEr*(Sin(((((OMx)*1.))*1.))) +set dX=h0x-x +set dY=h1x-y +set OMx=(Atan2(((dY)*1.),((dX)*1.))) +set gEr=JKx(dX,dY) if(gEr>c4e[VFx])then +set gEr=c4e[VFx] +endif set x=x+gEr*(Cos(((((OMx)*1.))*1.))) +set y=y+gEr*(Sin(((((OMx)*1.))*1.))) +call stx(MCx,OMx+D6v) call WGo(MCx,x,y) endfunction function gXr takes integer VFx returns nothing local integer hdx=VFx local integer MCx=c3e[VFx] local real x=(Rm[(MCx)]) +local real y=(bm[(MCx)]) +local real z=(hz[(MCx)]) +local integer csx local real fCo call Sgo(N9r(x,y,z,Cve,EV)) set zH=(ze[(hdx)]) call bvr(cWe,x,y,z,Cee,cye) set csx=fOo(cWe) +if(csx!=w)then set fCo=c0e[VFx] +loop +call cdx((C1x((csx),(Cxe),(Coe),(fV)))) call AYo((hdx),(csx),((fCo)*1.),(false),(false)) +set csx=fOo(cWe) +exitwhen(csx==w) +endloop endif endfunction function gOr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer gRr=c_e[VFx] local integer EKx=c5e[VFx] local integer Acr=c6e[VFx]-1 +local integer csx=VFx set c6e[VFx]=Acr +call CIx(csx,gRr) call UOx(((gRr)),Ef+(gVv),((cQe[EKx]*(Acr*1./ c7e))*1.)) +call CJx(csx,gRr) call gXr(VFx) endfunction function gIr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(pf[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local real x=(GetUnitX(C[((hdx))])) local real y=(GetUnitY(C[((hdx))])) local real z=drx(hdx)+khx(csx,true) local real h0x=(GetUnitX(C[((csx))])) local real h1x=(GetUnitY(C[((csx))])) local real dX=h0x-x local real dY=h1x-y local real OMx=(Atan2(((dY)*1.),((dX)*1.))) local integer VFx=csx local integer gRr=UEx() local integer MCx=syx('qStS',x,y,z,OMx) local integer WLo=E5x() local integer Adr=E5x() set cYe[VFx]=OMx +set cze[VFx]=TH*1./ .9*cZe set c_e[VFx]=gRr +set c0e[VFx]=cte[EKx]+cSe[EKx]*(Lj[(hdx)]) set c1e[VFx]=c2e*cZe +set c3e[VFx]=MCx +set c4e[VFx]=cTe[EKx]*cZe set c5e[VFx]=EKx +set c6e[VFx]=c7e +set c8e[VFx]=WLo +set c9e[VFx]=Adr +set ge[(WLo)]=(VFx) set ge[(Adr)]=(VFx) call swx(MCx,1.5) call Odr(MCx,-1,cse[EKx]) call URx(gRr,gVv,cQe[EKx]) call CJx(csx,gRr) call Xax(WLo,cZe,true,function gVr) call Xax(Adr,cse[EKx]*1./ c7e,true,function gOr) +return true endfunction function gAr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer gRr=c_e[VFx] local integer MCx=c3e[VFx] local integer WLo=c8e[VFx] local integer Adr=c9e[VFx] call Szx(MCx) call Xbx(WLo) call Xbx(Adr) call CIx(csx,gRr) call Aqr(gRr) return true endfunction function gNr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) call dpx(csx,cue) call d9x(csx,cue,EKx,hdx,cse[EKx]) return true endfunction function gbr takes nothing returns boolean set cWe=Bkx() set cye=Nyx(function gnr) call Ufx(cue,Nlx("StoneShield_Init: call StoneShield.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function StoneShield.Event_BuffGain))",dg,VB,function gIr)) call Ufx(cue,Nlx("StoneShield_Init: call StoneShield.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function StoneShield.Event_BuffLose))",Hf,VB,function gAr)) call Sao(Uwv,Nlx("StoneShield_Init: call StoneShield.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function StoneShield.Event_SpellEffect))",kK,VB,function gNr)) return true endfunction function gBr takes nothing returns boolean call Dpr(function gbr,"StoneShield_Init") return true endfunction function gcr takes nothing returns boolean set Cre=u9x(Cie+" (sleepBuff)") set sf[(Cre)]=(true) +return true endfunction function gCr takes nothing returns boolean set Cae=u9x(Cie+" (castBuff)") return true endfunction function gdr takes nothing returns boolean set Cne=x6o('BTaL',"Tainted Leaf",'bTaL') set OOv[(Cne)]=(true) set v_v[(Cne)]=(true) set ORv[(Cne)]=("ReplaceableTextures\\CommandButtons\\BTNRejuvenation.blp") set v2v=UEx() call nUr(v2v,GSv,true) call URx(v2v,Fiv,'d') call UXx(((v2v)),ff,(Rvo(cd,$FF,-$7F,$FF,0))) call UIx(((Cne)),YD+(1),(v2v)) set v2v=UEx() call nUr(v2v,GSv,true) call URx(v2v,Fiv,$96) call UXx(((v2v)),ff,(Rvo(cd,$FF,-$7F,$FF,0))) call UIx(((Cne)),YD+(2),(v2v)) set v2v=UEx() call nUr(v2v,GSv,true) call URx(v2v,Fiv,$C8) call UXx(((v2v)),ff,(Rvo(cd,$FF,-$7F,$FF,0))) call UIx(((Cne)),YD+(3),(v2v)) set v2v=UEx() call nUr(v2v,GSv,true) call URx(v2v,Fiv,$FA) call UXx(((v2v)),ff,(Rvo(cd,$FF,-$7F,$FF,0))) call UIx(((Cne)),YD+(4),(v2v)) set v2v=UEx() call nUr(v2v,GSv,true) call URx(v2v,Fiv,300) call UXx(((v2v)),ff,(Rvo(cd,$FF,-$7F,$FF,0))) call UIx(((Cne)),YD+(5),(v2v)) set v2v=UEx() call nUr(v2v,GSv,true) call URx(v2v,Fiv,350) call UXx(((v2v)),ff,(Rvo(cd,$FF,-$7F,$FF,0))) call UIx(((Cne)),YD+(6),(v2v)) return true endfunction function gDr takes nothing returns boolean call scx('ATaL',false) set UYv=s2o('ATaL') set orv[(UYv)]=(x5v) +set onv[(UYv)]=(6) set Zl[(UYv)]=("Tainted Leaf") set PK[(UYv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0259)))),(((FL)))))) set Vnv[(UYv)]=(4) set n9v[(UYv)]=("spell") +call s3o((UYv),Yhv+(1),(($C8)*1.)) call s3o((UYv),Ll+(1),((6)*1.)) call s3o((UYv),zl+(1),((70)*1.)) +call s3o((UYv),Pkv+(1),((800)*1.)) call s3o((UYv),Yhv+(2),(($C8)*1.)) call s3o((UYv),Ll+(2),((6)*1.)) call s3o((UYv),zl+(2),((70)*1.)) +call s3o((UYv),Pkv+(2),((800)*1.)) call s3o((UYv),Yhv+(3),(($C8)*1.)) call s3o((UYv),Ll+(3),((6)*1.)) call s3o((UYv),zl+(3),((70)*1.)) +call s3o((UYv),Pkv+(3),((800)*1.)) call s3o((UYv),Yhv+(4),(($C8)*1.)) call s3o((UYv),Ll+(4),((6)*1.)) call s3o((UYv),zl+(4),((70)*1.)) +call s3o((UYv),Pkv+(4),((800)*1.)) call s3o((UYv),Yhv+(5),(($C8)*1.)) call s3o((UYv),Ll+(5),((6)*1.)) call s3o((UYv),zl+(5),((70)*1.)) +call s3o((UYv),Pkv+(5),((800)*1.)) call s3o((UYv),Yhv+(6),(($C8)*1.)) call s3o((UYv),Ll+(6),((6)*1.)) call s3o((UYv),zl+(6),((70)*1.)) +call s3o((UYv),Pkv+(6),((800)*1.)) set Qkv[(UYv)]=("ReplaceableTextures\\CommandButtons\\BTNRejuvenation.blp") set CVe[1]='d' set CVe[2]=$96 set CVe[3]=$C8 set CVe[4]=$FA set CVe[5]=300 set CVe[6]=350 set CEe[1]=8 +set CEe[2]=8 +set CEe[3]=8 +set CEe[4]=8 +set CEe[5]=8 +set CEe[6]=8 +set CXe[1]=3 +set CXe[2]=3 +set CXe[3]=3 +set CXe[4]=3 +set CXe[5]=3 +set CXe[6]=3 +set COe[1]=3 +set COe[2]=4 +set COe[3]=5 +set COe[4]=6 +set COe[5]=7 +set COe[6]=8 +set CRe[1]=.05 set CRe[2]=.1 set CRe[3]=.15 set CRe[4]=.2 set CRe[5]=.25 set CRe[6]=.3 set CIe[1]=80 set CIe[2]='d' set CIe[3]='x' set CIe[4]=$8C set CIe[5]=$A0 set CIe[6]=$B4 set CAe[1]=25 set CAe[2]=40 set CAe[3]=55 set CAe[4]=70 set CAe[5]=85 set CAe[6]='d' return true endfunction function gfr takes nothing returns boolean call IGx(tE,(function gcr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\TaintedLeaf.page\\TaintedLeaf.struct\\obj_sleepBuff_wc3buff.j")) call IGx(tE,(function gCr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\TaintedLeaf.page\\TaintedLeaf.struct\\obj_castBuff_wc3buff.j")) +call IGx(tE,(function gdr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\TaintedLeaf.page\\TaintedLeaf.struct\\obj_taintedBuff_wc3buff.j")) call IGx(UE,(function gDr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\TaintedLeaf.page\\TaintedLeaf.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function gFr takes nothing returns boolean set CNe=Idx(Cie) +return true endfunction function ggr takes nothing returns boolean local integer csx=pKx() if(csx==ej)then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function gGr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=CBe local integer csx=Cce local real h0x=CCe local real h1x=Cde local integer Wmo=Bkx() local integer VFx=hdx set CDe[VFx]=Wmo +set zH=(ze[(hdx)]) set ej=csx call fXo(Wmo,h0x,h1x,(hDx((UYv),Yhv+(EKx))),Cbe) +return true endfunction function ghr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=hdx local integer Wmo=CDe[VFx] call Bmx(Wmo) return true endfunction function gHr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx local integer hdx=Cfe[VFx] local integer EKx=Cge[VFx] call s9o(hdx,csx,Che[EKx]) endfunction function gjr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(pf[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx local integer TBx return true set VFx=csx set TBx=E5x() set Cfe[VFx]=hdx +set CFe[VFx]=TBx +set Cge[VFx]=EKx +set ge[(TBx)]=(VFx) call Xax(TBx,CGe,true,function gHr) return true endfunction function gJr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=CFe[VFx] local integer EKx=Cge[VFx] call Xbx(TBx) return true endfunction function gkr takes nothing returns boolean local integer Eix=(bv) set CBe=(Mv[(Eix)]) set Cce=(aL[(Eix)]) set CCe=(rL[(Eix)]) set Cde=(iL[(Eix)]) call jGx(((Vv[(Eix)])),(Cae),(1),w) return true endfunction function gKr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local real Cao=(hDx((UYv),Yhv+(EKx))) local real fCo=CAe[EKx] local integer Wmo=CDe[(hdx)] +local integer Dmo=(bj[(csx)]) local real h0x=(GetUnitX(C[((csx))])) local real h1x=(GetUnitY(C[((csx))])) call fxo(fio(h0x,h1x,CHe,fV,Cao*1./ 160.)) if(IsUnitAlly(C[(csx)],vx[((ze[(hdx)]))]))then call d9x((csx),(Cne),(EKx),(hdx),((CEe[EKx])*1.)) call s9o(hdx,csx,(CRe[EKx]*(Jk[(csx)]))*(1.-Cuo(csx==hdx)*(1.-Cje))) +else +if Cmx(csx,rG)then call d9x((csx),(Cre),(EKx),w,((CXe[EKx])*1.)) else +call d9x((csx),(Cre),(EKx),w,((COe[EKx])*1.)) endif set csx=fOo(Wmo) +if(csx!=w)then loop +call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(Wmo) +exitwhen(csx==w) +endloop endif endif return true endfunction function glr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),Cae) return true endfunction function gLr takes nothing returns boolean local integer i set Cbe=Nyx(function ggr) call Ufx(Cae,Nlx("TaintedLeaf_Init: call TaintedLeaf.CAST_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TaintedLeaf.Event_Cast_BuffGain))",dg,VB,function gGr)) call Ufx(Cae,Nlx("TaintedLeaf_Init: call TaintedLeaf.CAST_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TaintedLeaf.Event_Cast_BuffLose))",Hf,VB,function ghr)) call Ufx(Cne,Nlx("TaintedLeaf_Init: call TaintedLeaf.TAINTED_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TaintedLeaf.Event_BuffGain))",dg,VB,function gjr)) call Ufx(Cne,Nlx("TaintedLeaf_Init: call TaintedLeaf.TAINTED_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TaintedLeaf.Event_BuffLose))",Hf,VB,function gJr)) call Sao(UYv,Nlx("TaintedLeaf_Init: call TaintedLeaf.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Begin.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TaintedLeaf.Event_Cast))",gvv,VB,function gkr)) call Sao(UYv,Nlx("TaintedLeaf_Init: call TaintedLeaf.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TaintedLeaf.Event_SpellEffect))",kK,VB,function gKr)) call Sao(UYv,Nlx("TaintedLeaf_Init: call TaintedLeaf.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TaintedLeaf.Event_EndCast))",VRv,VB,function glr)) call oio(Nuv,Cre) set i=(onv[(UYv)]) loop +exitwhen(i<1) set Che[i]=CIe[i]*1./(R2I(((CEe[i]*1./ CGe)*1.))) set i=i-1 endloop return true endfunction function gmr takes nothing returns boolean call Dpr(function gLr,"TaintedLeaf_Init") return true endfunction function gMr takes nothing returns boolean set CJe[1]=2 +set CJe[2]=2 +set CJe[3]=2 +set CJe[4]=2 +set CJe[5]=2 +set Cke[1]=.5 set Cke[2]=.5 set Cke[3]=.5 set Cke[4]=.5 set Cke[5]=.5 set CKe[1]=6 +set CKe[2]=6 +set CKe[3]=6 +set CKe[4]=6 +set CKe[5]=6 +set Cle[1]=2 +set Cle[2]=2 +set Cle[3]=3 +set Cle[4]=3 +set Cle[5]=4 +return true endfunction function gpr takes nothing returns boolean set CLe=u9x(Cme+" (activeBuff)") +call Urx(CLe,"VioletEarring_page\\VioletEarring_struct\\Charge\\WeaponEffectGreen.mdx","weapon",EV) return true endfunction function gPr takes nothing returns boolean call scx('AVEX',false) return true endfunction function gqr takes nothing returns boolean set CMe=u9x(Cme+" (dummyBuff)") return true endfunction function gQr takes nothing returns boolean set Cpe=u9x(Cme+" (banishBuff)") +return true endfunction function gsr takes nothing returns boolean set CPe=u9x(Cme+" (cooldownBuff)") return true endfunction function gSr takes nothing returns boolean call IGx(VE,(function gMr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\VioletEarring.page\\VioletEarring.struct\\Charge\\obj_this_wc3obj.j")) call IGx(tE,(function gpr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\VioletEarring.page\\VioletEarring.struct\\Charge\\obj_activeBuff_wc3buff.j")) call IGx(UE,(function gPr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\VioletEarring.page\\VioletEarring.struct\\Charge\\obj_missileArtSpell_wc3spell.j")) +call IGx(tE,(function gqr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\VioletEarring.page\\VioletEarring.struct\\Charge\\obj_dummyBuff_wc3buff.j")) call IGx(tE,(function gQr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\VioletEarring.page\\VioletEarring.struct\\Charge\\obj_banishBuff_wc3buff.j")) call IGx(tE,(function gsr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\VioletEarring.page\\VioletEarring.struct\\Charge\\obj_cooldownBuff_wc3buff.j")) +return true endfunction function gtr takes nothing returns boolean set Cqe=Idx(Cme) +return true endfunction function gTr takes nothing returns boolean set CQe=u9x(Cse+" (dummyBuff)") call Urx(CQe,"VioletEarring_page\\VioletEarring_struct\\Port\\PortCircle.mdx","origin",EV) return true endfunction function gur takes nothing returns boolean call IGx(tE,(function gTr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\VioletEarring.page\\VioletEarring.struct\\Port\\obj_dummyBuff_wc3buff.j")) return true endfunction function gUr takes nothing returns boolean set CSe=Idx(Cse) +return true endfunction function gwr takes nothing returns boolean call scx('AViE',false) set UUv=s2o('AViE') set orv[(UUv)]=(x5v) +set onv[(UUv)]=(6) set Zl[(UUv)]=("Violet Earring") +set PK[(UUv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0259)))),(((FL)))))) set Vnv[(UUv)]=(4) set n9v[(UUv)]=("spell") +call s3o((UUv),Ll+(1),((40)*1.)) +call s3o((UUv),zl+(1),((0)*1.)) call s3o((UUv),Pkv+(1),(($3E8)*1.)) call s3o((UUv),Ll+(2),((38)*1.)) +call s3o((UUv),zl+(2),((0)*1.)) call s3o((UUv),Pkv+(2),(($3E8)*1.)) call s3o((UUv),Ll+(3),((36)*1.)) +call s3o((UUv),zl+(3),((0)*1.)) call s3o((UUv),Pkv+(3),(($3E8)*1.)) call s3o((UUv),Ll+(4),((34)*1.)) +call s3o((UUv),zl+(4),((0)*1.)) call s3o((UUv),Pkv+(4),(($3E8)*1.)) call s3o((UUv),Ll+(5),((32)*1.)) +call s3o((UUv),zl+(5),((0)*1.)) call s3o((UUv),Pkv+(5),(($3E8)*1.)) call s3o((UUv),Ll+(6),((30)*1.)) +call s3o((UUv),zl+(6),((0)*1.)) call s3o((UUv),Pkv+(6),(($3E8)*1.)) set Qkv[(UUv)]=("ReplaceableTextures\\CommandButtons\\BTNHeartOfAszune.blp") +set Cte[1]=$A0 set Cte[2]=$FA set Cte[3]=340 set Cte[4]=430 set Cte[5]=520 set Cte[6]=610 return true endfunction function gWr takes nothing returns boolean call IGx(UE,(function gwr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\VioletEarring.page\\VioletEarring.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function gyr takes nothing returns boolean set CTe=Idx(Cue) +return true endfunction function gYr takes integer VFx returns integer set CZe[VFx]=true set C_e[VFx]=false call V1x(CSe) return VFx endfunction function gzr takes nothing returns integer local integer VFx if(CWe==8190)then call Vmx("FolderVioletEarring_StructPort_Allocation_allocCustom","call DebugEx(FolderVioletEarring_StructPort.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Cse+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Cye[(w)]==w)then set CYe=CYe+1 set VFx=CYe else +set VFx=Cye[(w)] +set Cye[(w)]=Cye[Cye[(w)]] endif set Cye[VFx]=Z set Cze[VFx]=1 call gYr(VFx) return VFx endfunction function gZr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer ENx=C0e[VFx] local integer hdx=(Bl[(ENx)]) local integer EKx=(Dl[(ENx)]) local real xnr local real xVr call tDo(tgo) set xnr=(GetUnitX(C[((hdx))])) set xVr=(GetUnitY(C[((hdx))])) call cdx((C1x((hdx),(C2e),(C3e),(EV)))) call KCx(hdx,(GetUnitX(C[((csx))])),(GetUnitY(C[((csx))]))) call cdx((C1x((csx),(C2e),(C3e),(EV)))) call KCx(csx,xnr,xVr) call JYx(hdx,CQe) call JYx(csx,CQe) return true endfunction function g_r takes integer ENx returns nothing local integer hdx=(Bl[(ENx)]) local integer csx=(il[(ENx)]) local integer VFx=gzr() local integer tgo=teo() set C0e[VFx]=ENx +call vLo(ENx) call jGx((hdx),(CQe),(1),w) call jGx((csx),(CQe),(1),w) call Skx(tgo,C1e) set qQv[((tgo))]=((D6v*((.0)*1.))*1.) set qsv[(tgo)]=((10.)*1.) set quv[(tgo)]=Ntx((function gZr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,600.) call Tvo(tgo,hdx) call t4o((tgo),(csx),.0,.0,.0,(function t6o)) call tio(tgo,'qViE',1.) endfunction function g0r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local integer hgx=(oL[(Eix)]) call cdx((C1x((hdx),(CUe),(Cwe),(EV)))) call H2x((hdx),(JVv)) call H2x((hdx),(JEv)) call gxx(hdx,Cte[EKx]) if(hdx!=csx)then +call g_r(hgx) endif return true endfunction function g1r takes nothing returns boolean local integer Eix=(bv) local real R9x=(A8v[(Eix)]) local integer hdx=(A9v[(Eix)]) local integer csx=(Vv[(Eix)]) local integer EKx=(Vfx(((hdx)),Wd+(CLe))) local real g2r if((GetUnitAbilityLevel(C[((csx))],('BVEX')))==0)then return true endif call UnitRemoveAbility(C[((csx))],('BVEX')) if Cmx(csx,rG)then set g2r=Cke[EKx] +else +set g2r=CJe[EKx] +endif call d9x((csx),(Cpe),(EKx),w,((g2r)*1.)) +call d9x((hdx),(CPe),(EKx),w,((CKe[EKx])*1.)) set A8v[(Eix)]=((R9x*Cle[EKx])*1.) return true endfunction function g3r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) call CMx(hdx,C4e) call Egx(hdx,'AVEX') +return true endfunction function g4r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Gf[(Eix)]) call cEx(hdx,C4e) call UnitRemoveAbility(C[((hdx))],('AVEX')) return true endfunction function g5r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) call dpx(hdx,CLe) return true endfunction function g6r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer VFx=hdx if C5e[VFx]then call jGx((hdx),(CLe),(EKx),w) endif return true endfunction function g7r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer VFx=hdx set C5e[VFx]=true call jGx((hdx),(CLe),(EKx),w) return true endfunction function g8r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=hdx set C5e[VFx]=false call dpx(hdx,CLe) call dpx(hdx,CPe) return true endfunction function g9r takes nothing returns boolean local integer Eix=(bv) call WMo((Vv[(Eix)]),CMe,(Mv[(Eix)])) return true endfunction function Gvr takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(CMe),((Mv[(Eix)])),w) return true endfunction function Ger takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),CMe) return true endfunction function Gxr takes nothing returns nothing set C4e=Nlx("FolderVioletEarring_StructCharge_Init: set FolderVioletEarring_StructCharge.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function FolderVioletEarring_StructCharge.Event_Damage)",Nev,VB,function g1r) +call Ufx(CLe,Nlx("FolderVioletEarring_StructCharge_Init: call FolderVioletEarring_StructCharge.ACTIVE_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderVioletEarring_StructCharge.Event_ActiveBuffGain))",dg,VB,function g3r)) call Ufx(CLe,Nlx("FolderVioletEarring_StructCharge_Init: call FolderVioletEarring_StructCharge.ACTIVE_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderVioletEarring_StructCharge.Event_ActiveBuffLose))",Hf,VB,function g4r)) call Ufx(CPe,Nlx("FolderVioletEarring_StructCharge_Init: call FolderVioletEarring_StructCharge.COOLDOWN_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderVioletEarring_StructCharge.Event_CooldownBuffGain))",dg,VB,function g5r)) call Ufx(CPe,Nlx("FolderVioletEarring_StructCharge_Init: call FolderVioletEarring_StructCharge.COOLDOWN_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderVioletEarring_StructCharge.Event_CooldownBuffLose))",Hf,VB,function g6r)) call Ufx(CMe,Nlx("FolderVioletEarring_StructCharge_Init: call FolderVioletEarring_StructCharge.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderVioletEarring_StructCharge.Event_BuffGain))",dg,VB,function g7r)) +call Ufx(CMe,Nlx("FolderVioletEarring_StructCharge_Init: call FolderVioletEarring_StructCharge.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderVioletEarring_StructCharge.Event_BuffLose))",Hf,VB,function g8r)) +call Sao(UUv,Nlx("FolderVioletEarring_StructCharge_Init: call VioletEarring.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.CHANGE_LEVEL_EVENT_TYPE, EventPriority.SPELLS, function FolderVioletEarring_StructCharge.Event_ChangeLevel))",Pv,VB,function g9r)) +call Sao(UUv,Nlx("FolderVioletEarring_StructCharge_Init: call VioletEarring.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderVioletEarring_StructCharge.Event_Learn))",pv,VB,function Gvr)) call Sao(UUv,Nlx("FolderVioletEarring_StructCharge_Init: call VioletEarring.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderVioletEarring_StructCharge.Event_Unlearn))",Av,VB,function Ger)) call oio(ACv,Cpe) endfunction function Gor takes integer VFx returns nothing set CZe[VFx]=false call EEx(CSe) endfunction function Grr takes integer VFx returns nothing if(Cze[VFx]>0)then return endif if(Cye[VFx]!=Z)then call Vmx("FolderVioletEarring_StructPort_Allocation_deallocCustom_confirm","call DebugEx(FolderVioletEarring_StructPort.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Cse+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Cye[VFx]=Cye[(w)] set Cye[(w)]=VFx +call Gor(VFx) endfunction function Gir takes integer VFx returns nothing set Cze[VFx]=Cze[VFx]-1 call Grr(VFx) endfunction function Gar takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer ENx=C0e[VFx] call Scx(tgo,C1e) call v0o(ENx) call Gir((VFx)) return true endfunction function Gnr takes nothing returns boolean call Sao(UUv,Nlx("VioletEarring_Init: call VioletEarring.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function VioletEarring.Event_SpellEffect))",kK,VB,function g0r)) +call Gxr() set C1e=Nlx("FolderVioletEarring_StructPort_Init: set FolderVioletEarring_StructPort.MISSILE_DESTROY_EVENT = Event.Create(Missile.DESTROY_EVENT_TYPE, EventPriority.SPELLS, function FolderVioletEarring_StructPort.Event_Missile_Destroy)",D3,VB,function Gar) return true endfunction function GVr takes nothing returns boolean call Dpr(function Gnr,"VioletEarring_Init") return true endfunction function GEr takes nothing returns boolean set C6e[1]=5 +set C6e[2]=6 +set C6e[3]=7 +set C6e[4]=8 +set C6e[5]=9 +set C6e[6]=$A set C7e[1]=30 set C7e[2]=40 set C7e[3]=50 set C7e[4]=60 set C7e[5]=70 set C7e[6]=80 set C8e[1]=2.5 set C8e[2]=3 +set C8e[3]=3.5 set C8e[4]=4 +set C8e[5]=4.5 set C8e[6]=5 +return true endfunction function GXr takes nothing returns boolean set C9e=u9x(dve+" (poisonBuff)") +set sf[(C9e)]=(true) +set v_v[(C9e)]=(true) return true endfunction function GOr takes nothing returns boolean call IGx(VE,(function GEr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\Vomit.page\\Vomit.struct\\Target\\obj_this_wc3obj.j")) call IGx(tE,(function GXr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\Vomit.page\\Vomit.struct\\Target\\obj_poisonBuff_wc3buff.j")) return true endfunction function GRr takes nothing returns boolean set dee=Idx(dve) +return true endfunction function GIr takes nothing returns boolean call scx('AVom',false) set dxe=s2o('AVom') set orv[(dxe)]=(x5v) +set onv[(dxe)]=(6) set Zl[(dxe)]=("Vomit") set PK[(dxe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0259)))),(((FL)))))) set Vnv[(dxe)]=(4) set n9v[(dxe)]=("spell") +call s3o((dxe),Yhv+(1),(('}')*1.)) call s3o((dxe),Ll+(1),((3)*1.)) call s3o((dxe),zl+(1),((25)*1.)) +call s3o((dxe),Pkv+(1),((700)*1.)) call s3o((dxe),Yhv+(2),(('}')*1.)) call s3o((dxe),Ll+(2),((3)*1.)) call s3o((dxe),zl+(2),((30)*1.)) +call s3o((dxe),Pkv+(2),((700)*1.)) call s3o((dxe),Yhv+(3),(('}')*1.)) call s3o((dxe),Ll+(3),((3)*1.)) call s3o((dxe),zl+(3),((35)*1.)) +call s3o((dxe),Pkv+(3),((700)*1.)) call s3o((dxe),Yhv+(4),(('}')*1.)) call s3o((dxe),Ll+(4),((3)*1.)) call s3o((dxe),zl+(4),((40)*1.)) +call s3o((dxe),Pkv+(4),((700)*1.)) call s3o((dxe),Yhv+(5),(('}')*1.)) call s3o((dxe),Ll+(5),((3)*1.)) call s3o((dxe),zl+(5),((45)*1.)) +call s3o((dxe),Pkv+(5),((700)*1.)) call s3o((dxe),Yhv+(6),(('}')*1.)) call s3o((dxe),Ll+(6),((3)*1.)) call s3o((dxe),zl+(6),((50)*1.)) +call s3o((dxe),Pkv+(6),((700)*1.)) set Qkv[(dxe)]=("ReplaceableTextures\\CommandButtons\\BTNCorrosiveBreath.blp") set doe[1]=$A set doe[2]=20 set doe[3]=30 set doe[4]=40 set doe[5]=50 set doe[6]=60 return true endfunction function GAr takes nothing returns boolean call IGx(UE,(function GIr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\Vomit.page\\Vomit.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function GNr takes nothing returns boolean set dre=Idx(die) +return true endfunction function Gbr takes integer csx returns boolean return( not(Cmx(csx,tf)))and( not((Cmx(ej,cgv)!=Cmx(csx,tf))and(Cmx(ej,cEv)!=Cmx(csx,cEv))))and( not(Cmx(csx,cjv)))and( not(IsUnitAlly(C[(csx)],vx[(zH)]))) endfunction function GBr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=pKx() local integer VFx=(QEv[(tgo)]) if(b8x((dVe[VFx]),qC,(csx)))then +return false +endif if not Gbr(csx)then return false +endif return true return true endfunction function Gcr takes nothing returns boolean return Gbr(pKx()) return true endfunction function GCr takes integer VFx returns integer set dAe[VFx]=true set dNe[VFx]=false call V1x(dre) return VFx endfunction function Gdr takes nothing returns integer local integer VFx if(dXe==8190)then call Vmx("Vomit_Allocation_allocCustom","call DebugEx(Vomit.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",die+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(dOe[(w)]==w)then set dRe=dRe+1 set VFx=dRe else +set VFx=dOe[(w)] +set dOe[(w)]=dOe[dOe[(w)]] endif set dOe[VFx]=Z set dIe[VFx]=1 call GCr(VFx) return VFx endfunction function GDr takes integer VFx returns nothing set dAe[VFx]=false call EEx(dre) endfunction function Gfr takes integer VFx returns nothing if(dIe[VFx]>0)then return endif if(dOe[VFx]!=Z)then call Vmx("Vomit_Allocation_deallocCustom_confirm","call DebugEx(Vomit.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",die+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set dOe[VFx]=dOe[(w)] set dOe[(w)]=VFx +call GDr(VFx) endfunction function GFr takes integer VFx returns nothing set dIe[VFx]=dIe[VFx]-1 call Gfr(VFx) endfunction function Ggr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=dbe[VFx] local integer EKx=dBe[VFx] local integer csx=dCe[VFx] local integer hgx=dde[VFx] local real fCo call GFr((VFx)) call tDo(tgo) set zH=(ze[(hdx)]) set ej=csx call fXo(dae,(GetUnitX(C[((csx))])),(GetUnitY(C[((csx))])),(hDx((dxe),Yhv+(EKx)))*dce[VFx],dEe) call GroupRemoveUnit(jd[(dae)],C[(csx)]) +set csx=fOo(dae) +if(csx!=w)then set fCo=doe[EKx] +loop +call AYo((hdx),(csx),((fCo)*1.),(false),(false)) +set csx=fOo(dae) +exitwhen(csx==w) +endloop endif call h7x(hgx) return true endfunction function GGr takes integer VFx,integer EKx,integer csx returns nothing local real Xdx if Cmx(csx,rG)then set Xdx=C8e[EKx] +else +set Xdx=C6e[EKx] +endif call d9x(csx,C9e,EKx,dFe[VFx],Xdx) endfunction function Ghr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=(QEv[(tgo)]) call HDx(dVe[VFx],csx) call GGr((w),dBe[VFx],csx) return true endfunction function GHr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real kJx=bex(h0x,h1x)+60. local real Dfx=(JC[(hdx)]) local integer VFx=Gdr() local integer tgo=teo() local integer hgx=hCx(hdx,dxe) set dbe[VFx]=hdx +set dBe[VFx]=(Dl[(hgx)]) +set dce[VFx]=Dfx +set dCe[VFx]=dCe[VFx] set dde[VFx]=hgx +set dDe[VFx]=(GetUnitX(C[((hdx))])) set dfe[VFx]=(GetUnitY(C[((hdx))])) set qQv[((tgo))]=((D6v*((.06)*1.))*1.) set qsv[(tgo)]=(((hDx((dxe),Yhv+(dBe[VFx]))))*1.) call tio(tgo,'qVom',Dfx) +set quv[(tgo)]=Ntx((function Ggr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,900.) call Tvo(tgo,hdx) call Okr(tgo,h0x,h1x,kJx) call RXr(tgo,function Ghr,dne) return true endfunction function Gjr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx call AYo((dFe[VFx]),(csx),((dGe[VFx])*1.),(false),(false)) endfunction function GJr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(pf[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local real Xdx local integer jux local integer VFx local integer TBx if Cmx(csx,rG)then set Xdx=C8e[EKx] +else +set Xdx=C6e[EKx] +endif set jux=(R2I(((Xdx*1./ dge)*1.))) set VFx=csx set TBx=E5x() set dFe[VFx]=hdx +set dGe[VFx]=C7e[EKx]*1./ jux set dhe[VFx]=TBx +set ge[(TBx)]=(VFx) call Xax(TBx,dge,true,function Gjr) return true endfunction function Gkr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=dhe[VFx] call Xbx(TBx) return true endfunction function GKr takes nothing returns nothing call Ufx(C9e,Nlx("FolderVomit_StructTarget_Init: call FolderVomit_StructTarget.POISON_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderVomit_StructTarget.BuffGain))",dg,VB,function GJr)) call Ufx(C9e,Nlx("FolderVomit_StructTarget_Init: call FolderVomit_StructTarget.POISON_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderVomit_StructTarget.BuffLose))",Hf,VB,function Gkr)) call oio(Njv,C9e) endfunction function Glr takes nothing returns boolean set dae=Bkx() set dne=Nyx(function GBr) set dEe=Nyx(function Gcr) call Sao(dxe,Nlx("Vomit_Init: call Vomit.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Vomit.Event_SpellEffect))",kK,VB,function GHr)) +call GKr() return true endfunction function GLr takes nothing returns boolean call Dpr(function Glr,"Vomit_Init") return true endfunction function Gmr takes nothing returns boolean set dHe[1]=30 set dHe[2]=40 set dHe[3]=50 set dHe[4]=60 set dHe[5]=70 set dHe[6]=80 return true endfunction function GMr takes nothing returns boolean set dje=x6o('BWhS',"White Staff",'bWhS') +set OOv[(dje)]=(true) set ORv[(dje)]=("ReplaceableTextures\\CommandButtons\\BTNAdvancedStrengthOfTheMoon.blp") +call Urx(dje,"Abilities\\Spells\\Items\\AIil\\AIilTarget.mdl","origin",EV) set v2v=UEx() call URx(v2v,f6v,30) +call UIx(((dje)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,f6v,40) +call UIx(((dje)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,f6v,50) +call UIx(((dje)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,f6v,60) +call UIx(((dje)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,f6v,70) +call UIx(((dje)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,f6v,80) +call UIx(((dje)),YD+(6),(v2v)) return true endfunction function Gpr takes nothing returns boolean call IGx(VE,(function Gmr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\WhiteStaff.page\\WhiteStaff.struct\\Target\\obj_this_wc3obj.j")) call IGx(tE,(function GMr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\WhiteStaff.page\\WhiteStaff.struct\\Target\\obj_dummyBuff_wc3buff.j")) return true endfunction function GPr takes nothing returns boolean set dJe=Idx(dke) +return true endfunction function Gqr takes nothing returns boolean set dKe=vEo() set dF[(dKe)]=("Abilities\\Spells\\Other\\Drain\\SiphonManaLoop.wav") set fF[(dKe)]=(xdv) set gF[(dKe)]=(xbv) set hF[(dKe)]=((1)*1.) set jF[(dKe)]=((1)*1.) set kF[(dKe)]=($A) set lF[(dKe)]=((1)*1.) set PF[(dKe)]=(true) +set SF[(dKe)]=(true) +set TF[(dKe)]=((600)*1.) +set UF[(dKe)]=(($186A0)*1.) set WF[(dKe)]=(($7D0)*1.) return true endfunction function GQr takes nothing returns boolean set dle=IJx("OWhS") return true endfunction function Gsr takes nothing returns boolean call scx('AWhS',false) set UTv=s2o('AWhS') set orv[(UTv)]=(x5v) +set onv[(UTv)]=(6) set Zl[(UTv)]=("White Staff") set PK[(UTv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0259)))),(((FL)))))) set Vnv[(UTv)]=(4) set n9v[(UTv)]=("spell") +call s3o((UTv),jl+(1),((5)*1.)) call s3o((UTv),Ll+(1),(($A)*1.)) +call s3o((UTv),zl+(1),((5)*1.)) call s3o((UTv),Pkv+(1),((700)*1.)) call s3o((UTv),jl+(2),((4.75)*1.)) call s3o((UTv),Ll+(2),(($A)*1.)) +call s3o((UTv),zl+(2),((5)*1.)) call s3o((UTv),Pkv+(2),((700)*1.)) call s3o((UTv),jl+(3),((4.5)*1.)) call s3o((UTv),Ll+(3),(($A)*1.)) +call s3o((UTv),zl+(3),((5)*1.)) call s3o((UTv),Pkv+(3),((700)*1.)) call s3o((UTv),jl+(4),((4.25)*1.)) call s3o((UTv),Ll+(4),(($A)*1.)) +call s3o((UTv),zl+(4),((5)*1.)) call s3o((UTv),Pkv+(4),((700)*1.)) call s3o((UTv),jl+(5),((4)*1.)) call s3o((UTv),Ll+(5),(($A)*1.)) +call s3o((UTv),zl+(5),((5)*1.)) call s3o((UTv),Pkv+(5),((700)*1.)) call s3o((UTv),jl+(6),((3.75)*1.)) call s3o((UTv),Ll+(6),(($A)*1.)) +call s3o((UTv),zl+(6),((5)*1.)) call s3o((UTv),Pkv+(6),((700)*1.)) set Qkv[(UTv)]=("ReplaceableTextures\\CommandButtons\\BTNAdvancedStrengthOfTheMoon.blp") +set dLe[1]=8 +set dLe[2]=$C set dLe[3]=16 set dLe[4]=20 set dLe[5]=24 set dLe[6]=28 return true endfunction function GSr takes nothing returns boolean call IGx(SE,(function Gqr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\WhiteStaff.page\\WhiteStaff.struct\\obj_dummySound_wc3sound.j")) call IGx(mE,(function GQr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\WhiteStaff.page\\WhiteStaff.struct\\obj_bolt_wc3bolt.j")) call IGx(UE,(function Gsr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Artifacts\\WhiteStaff.page\\WhiteStaff.struct\\obj_thisSpell_wc3spell.j")) +return true endfunction function Gtr takes nothing returns boolean set dme=Idx(dMe) +return true endfunction function GTr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=VFx call Svo(hdx,hdx,dse[VFx]) endfunction function Gur takes integer hdx,integer EKx,integer csx returns nothing local integer VFx=hdx local integer Kax=kAx(dle) local integer TBx=E5x() set dpe[VFx]=true set dPe[VFx]=dex(dKe) set dqe[VFx]=Kax +set dQe[VFx]=TBx +set dse[VFx]=dSe[EKx] set dte[VFx]=csx +set ge[(TBx)]=(VFx) call dOx(dPe[VFx],hdx) call bur(Kax,hdx,csx) if Cmx(csx,cJv)then set dTe[VFx]=true call jGx((((csx))),(XXv),(1),w) call jTx(csx,due*(vm[((bj[(csx)]))]),(hDx((UTv),jl+(EKx)))) else +set dTe[VFx]=false endif call Xax(TBx,dUe,true,function GTr) if(IsUnitAlly(C[(csx)],vx[((ze[(hdx)]))]))then set dwe[VFx]=ddx(csx,dje,EKx,w) else +set dwe[VFx]=w endif endfunction function GUr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) call Gur(hdx,EKx,csx) return true endfunction function Gwr takes integer hdx returns nothing local integer VFx=hdx local integer Kax=dqe[VFx] local integer TBx=dQe[VFx] local boolean GWr=dTe[VFx] local integer csx=dte[VFx] local integer Gyr=dwe[VFx] call cJx(dPe[VFx],true) call Kxx(Kax) call Xbx(TBx) if(Gyr!=w)then call dkx(Gyr) endif if GWr then call G1x((csx),(hdx)) call JYx(((csx)),XXv) endif endfunction function GYr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=(hdx) if not dpe[VFx]then return true endif set dpe[VFx]=false call Gwr(hdx) return true endfunction function Gzr takes nothing returns nothing endfunction function GZr takes nothing returns boolean local integer EKx call Sao(UTv,Nlx("WhiteStaff_Init: call WhiteStaff.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function WhiteStaff.Event_SpellEffect))",kK,VB,function GUr)) call Sao(UTv,Nlx("WhiteStaff_Init: call WhiteStaff.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function WhiteStaff.Event_EndCast))",VRv,VB,function GYr)) +set EKx=(onv[(UTv)]) +loop +exitwhen(EKx<1) set dSe[EKx]=dLe[EKx]*dUe set EKx=EKx-1 endloop call Gzr() return true endfunction function G_r takes nothing returns boolean call Dpr(function GZr,"WhiteStaff_Init") +return true endfunction function G0r takes nothing returns boolean set dWe=u9x(dye+" (dummyBuff)") return true endfunction function G1r takes nothing returns boolean call IGx(tE,(function G0r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Barrier.page\\Barrier.struct\\Knockback\\obj_dummyBuff_wc3buff.j")) +return true endfunction function G2r takes nothing returns boolean set dYe=Idx(dye) +return true endfunction function G3r takes nothing returns boolean set dze=x6o('BBar',"Strong",'bBar') set OOv[(dze)]=(true) set ORv[(dze)]=("ReplaceableTextures\\CommandButtons\\BTNFrostMourne.blp") return true endfunction function G4r takes nothing returns boolean set dZe[1]=LBo('uBar') call Lco(((dZe[1])),CPv,(cjv)) set vm[(dZe[1])]=((1)*1.) set div[(dZe[1])]=((60)*1.) set dsv[(dZe[1])]=((60)*1.) set Cp[(dZe[1])]=((1)*1.) set c5v[(dZe[1])]=((5)*1.) set Crv[(dZe[1])]=(3) set djv[(dZe[1])]=(('}')*1.) +set dHv[(dZe[1])]=(('}')*1.) +set dGv[(dZe[1])]=((0)*1.) set dCv[(dZe[1])]=((60)*1.) set Csv[(dZe[1])]=((0)*1.) set CSv[(dZe[1])]=((0)*1.) set CUv[(dZe[1])]=(0) set Cyv[(dZe[1])]=(0) set CQv[(dZe[1])]=((40)*1.) return true endfunction function G5r takes integer EAx,integer G6r,integer G7r,integer G8r,integer G9r,integer hvr returns nothing local integer clo=(orv[(EAx)]) local integer her=(G8r+(x1v[(clo)])) +local integer hxr=(x2v[(clo)]) local integer EKx=(G7r-1) call scx(G9r,false) call scx(hvr,false) call w6x(Ge,her,false) call w6x(Ge,G9r,false) call w6x(Ge,hvr,false) set d0e[((EAx))]=(G9r) set c0v[((EAx))]=(hvr) set oiv[((EAx))]=(G6r) set oov[((EAx))]=(G8r) call Sao(EAx,oxv) call Sao(EAx,oVv) call Sao(EAx,oEv) loop +exitwhen(EKx<0) set her=(hxr+G6r+EKx) call SaveInteger(o[((V[(E[((X))])]))],(((her))),(((oRv))),(((EAx)))) +call scx(her,false) set EKx=EKx-1 endloop endfunction function hor takes nothing returns boolean call scx('ABar',false) set d_e=s2o('ABar') set orv[(d_e)]=(x6v) +set onv[(d_e)]=(6) set Zl[(d_e)]=("Barrier") set PK[(d_e)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D02B2)))),(((FL)))))) set Vnv[(d_e)]=(0) set n9v[(d_e)]=("spell") +call s3o((d_e),Ll+(1),((8)*1.)) call s3o((d_e),zl+(1),((20)*1.)) +call s3o((d_e),Pkv+(1),((750)*1.)) call s3o((d_e),Ll+(2),((8)*1.)) call s3o((d_e),zl+(2),((30)*1.)) +call s3o((d_e),Pkv+(2),((750)*1.)) call s3o((d_e),Ll+(3),((8)*1.)) call s3o((d_e),zl+(3),((40)*1.)) +call s3o((d_e),Pkv+(3),((750)*1.)) call s3o((d_e),Ll+(4),((8)*1.)) call s3o((d_e),zl+(4),((50)*1.)) +call s3o((d_e),Pkv+(4),((750)*1.)) call s3o((d_e),Ll+(5),((8)*1.)) call s3o((d_e),zl+(5),((60)*1.)) +call s3o((d_e),Pkv+(5),((750)*1.)) call s3o((d_e),Ll+(6),((8)*1.)) call s3o((d_e),zl+(6),((70)*1.)) +call s3o((d_e),Pkv+(6),((750)*1.)) set Qkv[(d_e)]=("ReplaceableTextures\\CommandButtons\\BTNFrostMourne.blp") call G5r(d_e,'FBA0',6,'VBA0','LPBA','LRBA') set d1e[1]=3 +set d1e[2]=3 +set d1e[3]=4 +set d1e[4]=4 +set d1e[5]=5 +set d1e[6]=5 +set d2e[1]=3 +set d2e[2]=3.5 set d2e[3]=4 +set d2e[4]=4.5 set d2e[5]=5 +set d2e[6]=5.5 return true endfunction function hrr takes nothing returns boolean set dZe[3]=LBo('uBa3') call Lco(((dZe[3])),CPv,(cjv)) set vm[(dZe[3])]=((1)*1.) set div[(dZe[3])]=((60)*1.) set dsv[(dZe[3])]=((60)*1.) set c5v[(dZe[3])]=((7)*1.) set Crv[(dZe[3])]=(3) set djv[(dZe[3])]=(($F0)*1.) +set dHv[(dZe[3])]=(($F0)*1.) +set dGv[(dZe[3])]=((0)*1.) set dCv[(dZe[3])]=((80)*1.) set Csv[(dZe[3])]=((0)*1.) set CSv[(dZe[3])]=((0)*1.) set CUv[(dZe[3])]=(0) set Cyv[(dZe[3])]=(0) set CQv[(dZe[3])]=((40)*1.) return true endfunction function hir takes nothing returns boolean set dZe[2]=LBo('uBa2') call Lco(((dZe[2])),CPv,(cjv)) set vm[(dZe[2])]=((1)*1.) set div[(dZe[2])]=((60)*1.) set dsv[(dZe[2])]=((60)*1.) set c5v[(dZe[2])]=((6)*1.) set Crv[(dZe[2])]=(3) set djv[(dZe[2])]=(($B4)*1.) +set dHv[(dZe[2])]=(($B4)*1.) +set dGv[(dZe[2])]=((0)*1.) set dCv[(dZe[2])]=((70)*1.) set Csv[(dZe[2])]=((0)*1.) set CSv[(dZe[2])]=((0)*1.) set CUv[(dZe[2])]=(0) set Cyv[(dZe[2])]=(0) set CQv[(dZe[2])]=((40)*1.) return true endfunction function har takes nothing returns boolean set dZe[4]=LBo('uBa4') call Lco(((dZe[4])),CPv,(cjv)) set vm[(dZe[4])]=((1)*1.) set div[(dZe[4])]=((60)*1.) set dsv[(dZe[4])]=((60)*1.) set c5v[(dZe[4])]=((8)*1.) set Crv[(dZe[4])]=(3) set djv[(dZe[4])]=((310)*1.) +set dHv[(dZe[4])]=((310)*1.) +set dGv[(dZe[4])]=((0)*1.) set dCv[(dZe[4])]=((90)*1.) set Csv[(dZe[4])]=((0)*1.) set CSv[(dZe[4])]=((0)*1.) set CUv[(dZe[4])]=(0) set Cyv[(dZe[4])]=(0) set CQv[(dZe[4])]=((40)*1.) return true endfunction function hnr takes nothing returns boolean set dZe[5]=LBo('uBa5') call Lco(((dZe[5])),CPv,(cjv)) set vm[(dZe[5])]=((1)*1.) set div[(dZe[5])]=((60)*1.) set dsv[(dZe[5])]=((60)*1.) set c5v[(dZe[5])]=((9)*1.) set Crv[(dZe[5])]=(3) set djv[(dZe[5])]=((400)*1.) +set dHv[(dZe[5])]=((400)*1.) +set dGv[(dZe[5])]=((0)*1.) set dCv[(dZe[5])]=(('d')*1.) +set Csv[(dZe[5])]=((0)*1.) set CSv[(dZe[5])]=((0)*1.) set CUv[(dZe[5])]=(0) set Cyv[(dZe[5])]=(0) set CQv[(dZe[5])]=((40)*1.) return true endfunction function hVr takes nothing returns boolean set dZe[6]=LBo('uBa6') call Lco(((dZe[6])),CPv,(cjv)) set vm[(dZe[6])]=((1)*1.) set div[(dZe[6])]=((60)*1.) set dsv[(dZe[6])]=((60)*1.) set c5v[(dZe[6])]=(($A)*1.) set Crv[(dZe[6])]=(3) set djv[(dZe[6])]=((500)*1.) +set dHv[(dZe[6])]=((500)*1.) +set dGv[(dZe[6])]=((0)*1.) set dCv[(dZe[6])]=(('n')*1.) +set Csv[(dZe[6])]=((0)*1.) set CSv[(dZe[6])]=((0)*1.) set CUv[(dZe[6])]=(0) set Cyv[(dZe[6])]=(0) set CQv[(dZe[6])]=((40)*1.) return true endfunction function hEr takes nothing returns boolean call IGx(tE,(function G3r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Barrier.page\\Barrier.struct\\obj_dummyBuff_wc3buff.j")) call IGx(yE,(function G4r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Barrier.page\\Barrier.struct\\obj_summonUnitType[1]_wc3unit.j")) call IGx(UE,(function hor),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Barrier.page\\Barrier.struct\\obj_thisSpell_wc3spell.j")) call IGx(yE,(function hrr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Barrier.page\\Barrier.struct\\obj_summonUnitType[3]_wc3unit.j")) call IGx(yE,(function hir),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Barrier.page\\Barrier.struct\\obj_summonUnitType[2]_wc3unit.j")) call IGx(yE,(function har),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Barrier.page\\Barrier.struct\\obj_summonUnitType[4]_wc3unit.j")) call IGx(yE,(function hnr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Barrier.page\\Barrier.struct\\obj_summonUnitType[5]_wc3unit.j")) call IGx(yE,(function hVr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Barrier.page\\Barrier.struct\\obj_summonUnitType[6]_wc3unit.j")) return true endfunction function hXr takes nothing returns boolean set d3e=Idx(d4e) +return true endfunction function hOr takes code c,string EFx returns nothing +set zX=zX+1 set ZX[zX]=CreateTrigger() set vO[zX]=(GetHandleId(Condition((c)))) +set eO[zX]=EFx call TriggerAddCondition(ZX[zX],Condition(c)) endfunction function hRr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real OMx=(GetUnitFacing(C[((hdx))])*sK) local integer hbo=(ze[(hdx)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real hIr=(Cos(((((OMx)*1.))*1.))) local real hAr=(Sin(((((OMx)*1.))*1.))) local real Xdx=d2e[EKx] local integer VBx=d1e[EKx] local integer hNr=dZe[EKx] local real h0x=xnr+d5e*hIr local real h1x=xVr+d5e*hAr local real hbr=VBx*d6e local integer hBr set OMx=OMx-hbr*1./ 2. loop +set hBr=f8x(hNr,hbo,h0x,h1x,oj) call d9x((hBr),(dze),(EKx),w,((Xdx)*1.)) +call Tlo((C1x((hBr),(d7e),(d8e),(fV))),2.) call doo(hBr) call jGx((((hBr))),(NDv),(1),w) call Kcx(hBr,h0x) call J4x(hBr,h1x) call C6r((hBr),((d9e*(Cos(((((OMx)*1.))*1.))))*1.),((d9e*(Sin(((((OMx)*1.))*1.))))*1.),((.0)*1.),((Dve)*1.)) +call eCr((hBr),((Xdx)*1.)) call d9x(((hBr)),(dWe),(1),w,((Dve)*1.)) +set VBx=VBx-1 exitwhen(VBx<1) set OMx=OMx+d6e endloop return true endfunction function hcr takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif return true return true endfunction function hCr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx local integer Wmo=Doe[VFx] local real h0x=(GetUnitX(C[((csx))])) local real h1x=(GetUnitY(C[((csx))])) local integer xFr set bae=Wmo call fXo(Dee,h0x,h1x,Die,Dxe) set xFr=fOo(Dee) +if(xFr!=w)then loop +call HDx(Wmo,xFr) call CRr((xFr),((1000.)*1.),((-520.)*1.),(((Atan2((((GetUnitY(C[((xFr))]))-h1x)*1.),(((GetUnitX(C[((xFr))]))-h0x)*1.))))*1.),((.35)*1.)) +set xFr=fOo(Dee) +exitwhen(xFr==w) +endloop endif endfunction function hdr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer WLo=E5x() set Doe[VFx]=Pcx("FolderBarrier_StructKnockback_Event_BuffGain: set this.targetGroup = UnitList.Create()") set Dre[VFx]=WLo +set ge[(WLo)]=(VFx) call Xax(WLo,.1,true,function hCr) return true endfunction function hDr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer Wmo=Doe[VFx] local integer WLo=Dre[VFx] call Bmx(Wmo) call Xbx(WLo) return true endfunction function hfr takes nothing returns nothing set Dee=Bkx() set Dxe=Nyx(function hcr) call Ufx(dWe,Nlx("FolderBarrier_StructKnockback_Init: call FolderBarrier_StructKnockback.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderBarrier_StructKnockback.Event_BuffGain))",dg,VB,function hdr)) call Ufx(dWe,Nlx("FolderBarrier_StructKnockback_Init: call FolderBarrier_StructKnockback.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderBarrier_StructKnockback.Event_BuffLose))",Hf,VB,function hDr)) endfunction function hFr takes nothing returns boolean call Sao(d_e,Nlx("Barrier_Init: call Barrier.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Barrier.Event_SpellEffect))",kK,VB,function hRr)) call hfr() return true endfunction function hgr takes nothing returns boolean call hOr(function hFr,"Barrier_Init") return true endfunction function hGr takes nothing returns boolean set Dae[1]=20 set Dae[2]=30 set Dae[3]=40 set Dae[4]=50 set Dae[5]=60 set Dne[1]=5 +set Dne[2]=6 +set Dne[3]=7 +set Dne[4]=8 +set Dne[5]=9 +return true endfunction function hhr takes nothing returns boolean call IGx(VE,(function hGr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Blizzard.page\\Blizzard.struct\\Wave\\obj_this_wc3obj.j")) return true endfunction function hHr takes nothing returns boolean set DVe=Idx(DEe) +return true endfunction function hjr takes nothing returns boolean set DXe=u9x(DOe+" (dummyBuff)") return true endfunction function hJr takes nothing returns boolean call scx('ABlz',false) set DRe=s2o('ABlz') set orv[(DRe)]=(x6v) +set onv[(DRe)]=(6) set Zl[(DRe)]=("Blizzard") set PK[(DRe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0079)))),(((FL)))))) set Vnv[(DRe)]=(2) set n9v[(DRe)]=("spell") +call s3o((DRe),Yhv+(1),((275)*1.)) call s3o((DRe),jl+(1),((5)*1.)) call s3o((DRe),Ll+(1),((0)*1.)) call s3o((DRe),zl+(1),((40)*1.)) +call s3o((DRe),Pkv+(1),((600)*1.)) call s3o((DRe),Yhv+(2),((325)*1.)) call s3o((DRe),jl+(2),((5)*1.)) call s3o((DRe),Ll+(2),((0)*1.)) call s3o((DRe),zl+(2),((55)*1.)) +call s3o((DRe),Pkv+(2),((600)*1.)) call s3o((DRe),Yhv+(3),((375)*1.)) call s3o((DRe),jl+(3),((5)*1.)) call s3o((DRe),Ll+(3),((0)*1.)) call s3o((DRe),zl+(3),((70)*1.)) +call s3o((DRe),Pkv+(3),((600)*1.)) call s3o((DRe),Yhv+(4),((425)*1.)) call s3o((DRe),jl+(4),((5)*1.)) call s3o((DRe),Ll+(4),((0)*1.)) call s3o((DRe),zl+(4),((85)*1.)) +call s3o((DRe),Pkv+(4),((600)*1.)) call s3o((DRe),Yhv+(5),((475)*1.)) call s3o((DRe),jl+(5),((5)*1.)) call s3o((DRe),Ll+(5),((0)*1.)) call s3o((DRe),zl+(5),(('d')*1.)) call s3o((DRe),Pkv+(5),((600)*1.)) call s3o((DRe),Yhv+(6),((525)*1.)) call s3o((DRe),jl+(6),((5)*1.)) call s3o((DRe),Ll+(6),((0)*1.)) call s3o((DRe),zl+(6),(('s')*1.)) call s3o((DRe),Pkv+(6),((600)*1.)) set Qkv[(DRe)]=("ReplaceableTextures\\CommandButtons\\BTNBlizzard.blp") call G5r(DRe,'FBZ0',6,'VBZ0','LPBZ','LRBZ') return true endfunction function hkr takes nothing returns boolean call IGx(tE,(function hjr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Blizzard.page\\Blizzard.struct\\obj_dummyBuff_wc3buff.j")) call IGx(UE,(function hJr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Blizzard.page\\Blizzard.struct\\obj_thisSpell_wc3spell.j")) +return true endfunction function hKr takes nothing returns boolean set DIe=Idx(DOe) +return true endfunction function hlr takes integer VFx returns integer set DGe[VFx]=true set Dhe[VFx]=false call V1x(DVe) return VFx endfunction function hLr takes nothing returns integer local integer VFx if(DDe==8190)then call Vmx("FolderBlizzard_StructWave_Allocation_allocCustom","call DebugEx(FolderBlizzard_StructWave.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",DEe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Dfe[(w)]==w)then set DFe=DFe+1 set VFx=DFe else +set VFx=Dfe[(w)] +set Dfe[(w)]=Dfe[Dfe[(w)]] endif set Dfe[VFx]=Z set Dge[VFx]=1 call hlr(VFx) return VFx endfunction function hmr takes integer VFx returns nothing set DGe[VFx]=false call EEx(DVe) endfunction function hMr takes integer VFx returns nothing if(Dge[VFx]>0)then return endif if(Dfe[VFx]!=Z)then call Vmx("FolderBlizzard_StructWave_Allocation_deallocCustom_confirm","call DebugEx(FolderBlizzard_StructWave.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",DEe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Dfe[VFx]=Dfe[(w)] set Dfe[(w)]=VFx +call hmr(VFx) endfunction function hpr takes integer VFx returns nothing set Dge[VFx]=Dge[VFx]-1 call hMr(VFx) endfunction function hPr takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local real Cao=DHe[VFx] local integer hdx=Dje[VFx] local real fCo=DJe[VFx] local real h0x=Dke[VFx] local real h1x=DKe[VFx] local integer hgx=hCx(hdx,DRe) local integer csx call hpr((VFx)) call Xbx(Xrx) call h7x(hgx) call fXo(Dme,h0x,h1x,Cao,DMe) loop +set csx=fOo(Dme) +exitwhen(csx==w) +call AYo((hdx),(csx),((fCo)*1.),(true),(false)) endloop endfunction function hqr takes integer hdx,integer EKx,real h0x,real h1x returns nothing +local real Cao=(hDx((DRe),Yhv+(EKx))) local integer VFx=hLr() local integer u9o=wNx("Abilities\\Spells\\Human\\Blizzard\\BlizzardTarget"+(I2S(((GetRandomInt((1),(3))))))+".wav",false,true,false,$A,$A,xbv) local integer Xrx=E5x() local integer VBx local real OMx local real Iox set DHe[VFx]=Cao +set Dje[VFx]=hdx +set DJe[VFx]=Dae[EKx] set Dke[VFx]=h0x +set DKe[VFx]=h1x +set ge[(Xrx)]=(VFx) set Cao=Cao*.75 set VBx=Dne[EKx] +loop +exitwhen(VBx<1) set OMx=(GetRandomReal(((.0)*1.),((TH)*1.))) +set Iox=(GetRandomReal(((.0)*1.),((Cao)*1.))) call Sgo((Sjo(((h0x+Iox*(Cos(((((OMx)*1.))*1.))))*1.),((h1x+Iox*(Sin(((((OMx)*1.))*1.))))*1.),(Dle),(EV)))) set VBx=VBx-1 endloop call Xax(Xrx,DLe,false,function hPr) +call u7o(u9o,h0x,h1x,bex(h0x,h1x)) call cJx(u9o,true) endfunction function hQr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx call hqr(csx,DBe[VFx],Dce[VFx],DCe[VFx]) +endfunction function hsr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer hgx=DAe local integer csx=(Bl[(hgx)]) local real h0x=(al[(hgx)]) local real h1x=(nl[(hgx)]) local integer VFx=csx local integer wKo=wNx("Abilities\\Spells\\Human\\Blizzard\\BlizzardLoop1.wav",true,true,false,$A,$A,xbv) +local integer TBx=E5x() set DNe[VFx]=wKo +set Dbe[VFx]=TBx +set DBe[VFx]=EKx +set Dce[VFx]=h0x +set DCe[VFx]=h1x +set ge[(TBx)]=(VFx) call Xax(TBx,Dde,true,function hQr) call u7o(wKo,h0x,h1x,bex(h0x,h1x)) call hqr(csx,EKx,h0x,h1x) return true endfunction function hSr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer wKo=DNe[VFx] local integer TBx=Dbe[VFx] call cJx(wKo,true) call Xbx(TBx) return true endfunction function htr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),DXe) return true endfunction function hTr takes nothing returns boolean local integer Eix=(bv) set DAe=(oL[(Eix)]) call jGx(((Vv[(Eix)])),(DXe),((Mv[(Eix)])),w) return true endfunction function hur takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if ALo(csx)then return false +endif return true return true endfunction function hUr takes nothing returns nothing set Dme=Bkx() set DMe=Nyx(function hur) endfunction function hwr takes nothing returns boolean call Ufx(DXe,Nlx("Blizzard_Init: call Blizzard.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Blizzard.Event_BuffGain))",dg,VB,function hsr)) +call Ufx(DXe,Nlx("Blizzard_Init: call Blizzard.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Blizzard.Event_BuffLose))",Hf,VB,function hSr)) +call Sao(DRe,Nlx("Blizzard_Init: call Blizzard.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Blizzard.Event_EndCast))",VRv,VB,function htr)) call Sao(DRe,Nlx("Blizzard_Init: call Blizzard.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Blizzard.Event_SpellEffect))",kK,VB,function hTr)) call hUr() return true endfunction function hWr takes nothing returns boolean call hOr(function hwr,"Blizzard_Init") return true endfunction function hyr takes nothing returns boolean set Dpe[1]=8 +set Dpe[2]=9 +set Dpe[3]=$A set Dpe[4]=$B set Dpe[5]=$C set Dpe[6]=$D return true endfunction function hYr takes nothing returns boolean set DPe=x6o('BChB',"Cold and slowed",'bChB') +set sf[(DPe)]=(true) +set v_v[(DPe)]=(true) set ORv[(DPe)]=("ReplaceableTextures\\CommandButtons\\BTNBreathOfFrost.blp") +call Urx(DPe,"Abilities\\Spells\\Undead\\FrostArmor\\FrostArmorDamage.mdl","chest",fV) set v2v=UEx() call URx(v2v,gwv,-25) call UIx(((DPe)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,gwv,-35) call UIx(((DPe)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,gwv,-45) call UIx(((DPe)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,gwv,-55) call UIx(((DPe)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,gwv,-65) call UIx(((DPe)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,gwv,-75) call UIx(((DPe)),YD+(6),(v2v)) return true endfunction function hzr takes nothing returns boolean call IGx(VE,(function hyr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\ChillyBreath.page\\ChillyBreath.struct\\Buff\\obj_this_wc3obj.j")) call IGx(tE,(function hYr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\ChillyBreath.page\\ChillyBreath.struct\\Buff\\obj_dummyBuff_wc3buff.j")) return true endfunction function hZr takes nothing returns boolean set Dqe=Idx(DQe) +return true endfunction function h_r takes nothing returns boolean call scx('AChB',false) set Dse=s2o('AChB') set orv[(Dse)]=(x6v) +set onv[(Dse)]=(6) set Zl[(Dse)]=("Chilly Breath") set PK[(Dse)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0250)))),(((FL)))))) set Vnv[(Dse)]=(2) set n9v[(Dse)]=("spell") +call s3o((Dse),jl+(1),((2)*1.)) call s3o((Dse),Ll+(1),(($E)*1.)) +call s3o((Dse),zl+(1),((20)*1.)) +call s3o((Dse),Pkv+(1),((500)*1.)) call s3o((Dse),jl+(2),((2)*1.)) call s3o((Dse),Ll+(2),(($E)*1.)) +call s3o((Dse),zl+(2),((30)*1.)) +call s3o((Dse),Pkv+(2),((550)*1.)) call s3o((Dse),jl+(3),((2)*1.)) call s3o((Dse),Ll+(3),(($E)*1.)) +call s3o((Dse),zl+(3),((40)*1.)) +call s3o((Dse),Pkv+(3),((600)*1.)) call s3o((Dse),jl+(4),((2)*1.)) call s3o((Dse),Ll+(4),(($E)*1.)) +call s3o((Dse),zl+(4),((50)*1.)) +call s3o((Dse),Pkv+(4),((650)*1.)) call s3o((Dse),jl+(5),((2)*1.)) call s3o((Dse),Ll+(5),(($E)*1.)) +call s3o((Dse),zl+(5),((60)*1.)) +call s3o((Dse),Pkv+(5),((700)*1.)) call s3o((Dse),jl+(6),((2)*1.)) call s3o((Dse),Ll+(6),(($E)*1.)) +call s3o((Dse),zl+(6),((70)*1.)) +call s3o((Dse),Pkv+(6),((750)*1.)) set Qkv[(Dse)]=("ReplaceableTextures\\CommandButtons\\BTNBreathOfFrost.blp") +call G5r(Dse,'FCB0',6,'VCB0','LPCB','LRCB') set DSe[1]=800 set DSe[2]=850 set DSe[3]=900 set DSe[4]=950 set DSe[5]=$3E8 set DSe[6]=$41A set Dte[1]=35 set Dte[2]=60 set Dte[3]=85 set Dte[4]='n' set Dte[5]=$87 set Dte[6]=$A0 return true endfunction function h0r takes nothing returns boolean set DTe=vEo() set dF[(DTe)]=("Abilities\\Spells\\Other\\BreathOfFrost\\BreathOfFrost1.wav") set fF[(DTe)]=(xCv) set gF[(DTe)]=(xbv) set hF[(DTe)]=((1)*1.) set jF[(DTe)]=((1)*1.) set kF[(DTe)]=($A) set lF[(DTe)]=((1)*1.) set mF[(DTe)]=(($A)*1.) set pF[(DTe)]=(($A)*1.) set SF[(DTe)]=(true) +set TF[(DTe)]=((600)*1.) +set UF[(DTe)]=(($186A0)*1.) set WF[(DTe)]=(($7D0)*1.) return true endfunction function h1r takes nothing returns boolean call IGx(UE,(function h_r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\ChillyBreath.page\\ChillyBreath.struct\\obj_thisSpell_wc3spell.j")) +call IGx(SE,(function h0r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\ChillyBreath.page\\ChillyBreath.struct\\obj_effectSound_wc3sound.j")) return true endfunction function h2r takes nothing returns boolean set Due=Idx(DUe) +return true endfunction function h3r takes nothing returns boolean local integer csx=pKx() if sho(Ose,csx)then return false +endif if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function h4r takes real pLx,real pmx returns real return FMx(pLx-(R2I(((pLx*1./ pmx)*1.)))*pmx) endfunction function h5r takes real h6r,real TNx returns real local real d +local real d2 if(TNx==0)then return .0 endif set d=h4r(h6r,TNx) set d2=FMx(TNx)-d if(d20)then return endif if(foe[VFx]!=Z)then call Vmx("Tile_Allocation_deallocCustom_confirm","call DebugEx(Tile.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",rVv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set foe[VFx]=foe[(w)] set foe[(w)]=VFx +call Hvr(VFx) endfunction function Hxr takes integer VFx returns nothing set fie[VFx]=fie[VFx]-1 call Her(VFx) endfunction function Hor takes integer VFx returns nothing if(fVe[VFx]==1)then call SaveInteger(o[(((rEv)))],(((R2I((((fEe[(VFx)]))*1.)))/ $80)),(((R2I((((fXe[(VFx)]))*1.)))/ $80)),(0)) call Hxr((VFx)) return endif set fVe[VFx]=fVe[VFx]-1 endfunction function Hrr takes integer VFx,integer el returns boolean local integer cix local integer cax if(t3x(VFx,el)==false)then return false +endif if((J3[(VFx)])==el)then call SDx(VFx) return((J3[((VFx))])==w) +endif set cix=SCx(X,el,k3+VFx) +set cax=SCx(X,el,L3+VFx) +if(cax!=w)then call Sdx(X,el,L3+VFx,w) call Sdx(X,cax,k3+VFx,cix) endif if(cix==w)then set K3[VFx]=cax else +call Sdx(X,el,k3+VFx,w) call Sdx(X,cix,L3+VFx,cax) endif return((J3[((VFx))])==w) +endfunction function Hir takes integer VFx,integer Vsx returns nothing call SetTerrainType((fEe[((VFx))]),(fXe[((VFx))]),o0v[Vsx],-1,1,0) endfunction function Har takes integer VFx,integer Vsx returns nothing if(fOe[VFx]==w)then call Vmx("FolderTile_StructType_Remove","call DebugEx(FolderTile_StructType.NAME + \" tile \" + I2S(this) + \" has not \" + I2S(val))",rav+" tile "+I2S(VFx)+" has not "+I2S(Vsx)) return endif call Hrr(fOe[VFx],Vsx) if((J3[((fOe[VFx]))])==w)then call Shx(fOe[VFx]) set fOe[VFx]=w call Hir(VFx,fAe[VFx]) else +set Vsx=(K3[(fOe[VFx])]) +call Hir(VFx,(fNe[(Vsx)])) endif endfunction function Hnr takes integer VFx returns nothing set fce[VFx]=false call EEx(rRv) endfunction function HVr takes integer VFx returns nothing if(fbe[VFx]>0)then return endif if(fBe[VFx]!=Z)then call Vmx("TileTypeMod_Allocation_deallocCustom_confirm","call DebugEx(TileTypeMod.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",rIv+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set fBe[VFx]=fBe[(w)] set fBe[(w)]=VFx +call Hnr(VFx) endfunction function HEr takes integer VFx returns nothing set fbe[VFx]=fbe[VFx]-1 call HVr(VFx) endfunction function HXr takes integer VFx returns nothing local integer HOr=(fIe[(VFx)]) call Har(HOr,VFx) call Hor(HOr) call HEr((VFx)) endfunction function HRr takes nothing returns nothing local integer VFx=(ge[(XXx())]) call Xbx(fRe[(VFx)]) +call HXr((VFx)) endfunction function HIr takes integer VFx,real Xdx returns nothing local integer Xrx=E5x() set fRe[VFx]=Xrx +set ge[(Xrx)]=(VFx) call Xax(Xrx,Xdx,false,function HRr) +endfunction function HAr takes integer VFx returns integer set fce[VFx]=true set fDe[VFx]=false call V1x(rRv) return VFx endfunction function HNr takes nothing returns integer local integer VFx if(fCe==8190)then call Vmx("TileTypeMod_Allocation_allocCustom","call DebugEx(TileTypeMod.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",rIv+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(fBe[(w)]==w)then set fde=fde+1 set VFx=fde else +set VFx=fBe[(w)] +set fBe[(w)]=fBe[fBe[(w)]] endif set fBe[VFx]=Z set fbe[VFx]=1 call HAr(VFx) return VFx endfunction function Hbr takes integer VFx returns integer return(LoadInteger(o[((V[(E[((X))])]))],((((GetTerrainType((fEe[((VFx))]),(fXe[((VFx))])))))),(((o2v))))) endfunction function HBr takes integer VFx,integer Vsx returns nothing if(fOe[VFx]==w)then set fAe[VFx]=Hbr(VFx) set fOe[VFx]=tBx() endif call yao(fOe[VFx],Vsx) call Hir(VFx,(fNe[(Vsx)])) endfunction function Hcr takes real x,real y,integer Vsx returns integer +local integer HOr=h9r(x,y) local integer VFx=HNr() set fIe[(VFx)]=(HOr) +set fNe[(VFx)]=(Vsx) +call HBr(HOr,VFx) return VFx endfunction function HCr takes integer VFx,real x,real y returns nothing +local integer Vsx=h9r(x,y) if t3x(D5e[VFx],Vsx)then +call Hor(Vsx) return endif call yao(D5e[VFx],Vsx) call HIr(Hcr(x,y,ouv),4.) endfunction function Hdr takes integer EKx,integer csx returns nothing call d9x((csx),(DPe),(EKx),w,((Dpe[EKx])*1.)) endfunction function HDr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local real OMx=Dye[VFx] local integer hdx=DYe[VFx] local integer MCx=DZe[VFx] local real Hfr=D0e[VFx] local real Rir=D3e[VFx] local real HFr=D_e[VFx] local integer Wmo=D4e[VFx] local real Vkx=HFr+Hfr local real x=(Rm[(MCx)])+D7e[VFx] local real y=(bm[(MCx)])+D8e[VFx] local real psx=fve+(fee-fve)*(HFr*1./ Rir) local real pQx=fve+(fee-fve)*(Vkx*1./ Rir) local integer csx local real fCo local integer EKx call HCr(VFx,x,y) call HCr(VFx,(qyv[(ffe[VFx])]),(qYv[(ffe[VFx])])) call HCr(VFx,(qyv[(fFe[VFx])]),(qYv[(fFe[VFx])])) set D_e[VFx]=Vkx +call WGo(MCx,x,y) set zH=(ze[(hdx)]) set Ose=Wmo call FRr(Dwe,x,y,Hfr,OMx,pQx,psx,DWe) set csx=fOo(Dwe) +if(csx!=w)then set fCo=Dze[VFx]*(1+Vkx*1./ Rir*fge) +set EKx=D2e[VFx] +loop +call GroupAddUnit(jd[(Wmo)],C[(csx)]) call Hdr(EKx,csx) call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(Dwe) +exitwhen(csx==w) +endloop endif endfunction function Hgr takes nothing returns boolean local integer Eix=(bv) return true endfunction function HGr takes integer VFx,integer VMx,real Vkx,real fdx,real OMx,real Hhr returns nothing local real kKx=(GetUnitX(C[((VMx))])) local real klx=(GetUnitY(C[((VMx))])) local integer tgo=teo() local real h0x local real h1x local integer MCx set fFe[VFx]=tgo +set OMx=OMx-D6v*1./ 3 set h0x=kKx+Vkx*(Cos(((((OMx)*1.))*1.))) +set h1x=klx+Vkx*(Sin(((((OMx)*1.))*1.))) +set qsv[(tgo)]=((10.)*1.) call tio(tgo,'qChB',.4) set quv[(tgo)]=Ntx((function Hgr)) call S9o(tgo,fdx) call Tvo(tgo,VMx) set MCx=(S3[(tgo)]) call SetUnitTimeScale(nm[(MCx)],((Hhr)*1.)) call Okr(tgo,h0x,h1x,bex(h0x,h1x)) set OMx=OMx+2*D6v*1./ 3 set tgo=teo() set h0x=kKx+Vkx*(Cos(((((OMx)*1.))*1.))) +set h1x=klx+Vkx*(Sin(((((OMx)*1.))*1.))) +set ffe[VFx]=tgo +set qsv[(tgo)]=((10.)*1.) call SetUnitTimeScale(nm[(tio(tgo,'qChB',.4))],((Hhr)*1.)) set quv[(tgo)]=Ntx((function Hgr)) call S9o(tgo,fdx) call Tvo(tgo,VMx) set MCx=(S3[(tgo)]) call SetUnitTimeScale(nm[(MCx)],((Hhr)*1.)) call Okr(tgo,h0x,h1x,bex(h0x,h1x)) endfunction function HHr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real dX=h0x-xnr local real dY=h1x-xVr local real Hhr=.35*1./(hDx((Dse),jl+(EKx))) local real OMx=vPo(hdx,dX,dY) local integer VFx=hdx local integer MCx=syx('qChB',xnr,xVr,bzx(hdx,xnr,xVr)+bZx(hdx,true),OMx) +local integer wKo=dex(DTe) local integer WLo=E5x() call Vmx("ChillyBreath_Event_SpellEffect","call DebugEx(\"create \"+I2S(this)+\";\"+I2S(updateTimer))","create "+I2S(VFx)+";"+I2S(WLo)) set Dye[VFx]=OMx +set DYe[VFx]=hdx +set Dze[VFx]=Dte[EKx] set DZe[VFx]=MCx +set D_e[VFx]=.0 set D0e[VFx]=D1e[EKx] set D2e[VFx]=EKx +set D3e[VFx]=DSe[EKx] set D4e[VFx]=Bkx() set D5e[VFx]=tBx() set D6e[VFx]=WLo +set D7e[VFx]=(Cos(((((OMx)*1.))*1.)))*D1e[EKx] set D8e[VFx]=(Sin(((((OMx)*1.))*1.)))*D1e[EKx] set ge[(WLo)]=(VFx) call Pyo(MCx,.75) call SetUnitTimeScale(nm[(MCx)],((Hhr)*1.)) call u7o(wKo,xnr,xVr,bex(xnr,xVr)) call cJx(wKo,true) call Xax(WLo,D9e,true,function HDr) call HGr(VFx,hdx,DSe[EKx],fGe[EKx],OMx,Hhr) call NFr(hdx) return true endfunction function Hjr takes integer VFx returns nothing local integer MCx=DZe[VFx] local integer Wmo=D4e[VFx] local integer WLo=D6e[VFx] call Vmx("ChillyBreath_Ending","call DebugEx(\"destroy \"+I2S(this)+\";\"+I2S(updateTimer))","destroy "+I2S(VFx)+";"+I2S(WLo)) call SetUnitTimeScale(nm[(MCx)],((1.)*1.)) call Szx(MCx) call Bmx(Wmo) call Shx(D5e[VFx]) call Xbx(WLo) call SetUnitTimeScale(nm[((S3[(ffe[VFx])]))],((1.)*1.)) call tDo(ffe[VFx]) call SetUnitTimeScale(nm[((S3[(fFe[VFx])]))],((1.)*1.)) call tDo(fFe[VFx]) endfunction function HJr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local boolean bYo=(VOv[(Eix)]) local integer VFx=hdx call Hjr(VFx) if bYo then call H2x((hdx),(JCv)) endif return true endfunction function Hkr takes nothing returns nothing call oio(RIv,DPe) call oio(Ahv,DPe) endfunction function HKr takes nothing returns boolean local integer VBx set Dwe=Bkx() set DWe=Nyx(function h3r) call Sao(Dse,Nlx("ChillyBreath_Init: call ChillyBreath.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ChillyBreath.Event_SpellEffect))",kK,VB,function HHr)) call Sao(Dse,Nlx("ChillyBreath_Init: call ChillyBreath.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ChillyBreath.Event_EndCast))",VRv,VB,function HJr)) set VBx=(onv[(Dse)]) +loop +set fGe[VBx]=DSe[VBx]*1./(hDx((Dse),jl+(VBx))) set D1e[VBx]=fGe[VBx]*D9e set VBx=VBx-1 exitwhen(VBx<1) endloop call Hkr() return true endfunction function Hlr takes nothing returns boolean call hOr(function HKr,"ChillyBreath_Init") return true endfunction function HLr takes nothing returns boolean set fhe=Idx(fHe) +return true endfunction function Hmr takes code c,string EFx returns nothing +set aO=aO+1 set nO[aO]=CreateTrigger() set VO[aO]=(GetHandleId(Condition((c)))) +set EO[aO]=EFx call TriggerAddCondition(nO[aO],Condition(c)) endfunction function HMr takes nothing returns boolean local integer Eix=(bv) local integer VFx=UHx((frv[(Eix)]),fJe) local integer b3x=(Vv[(Eix)]) call cKo(fke[VFx],b3x) call EMx(((b3x)),((fke[VFx])),(1)) return true endfunction function Hpr takes integer VFx returns integer set fpe[VFx]=true set fPe[VFx]=false call V1x(fhe) return VFx endfunction function HPr takes nothing returns integer local integer VFx if(fle==8190)then call Vmx("ElementalSpellToHero_Allocation_allocCustom","call DebugEx(ElementalSpellToHero.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",fHe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(fLe[(w)]==w)then set fme=fme+1 set VFx=fme else +set VFx=fLe[(w)] +set fLe[(w)]=fLe[fLe[(w)]] endif set fLe[VFx]=Z set fMe[VFx]=1 call Hpr(VFx) return VFx endfunction function Hqr takes nothing returns boolean local integer Eix=(bv) local integer b3x=Bwx() local integer VFx=UHx((bj[(b3x)]),fJe) call cKo(fke[VFx],b3x) call EMx(((b3x)),((fke[VFx])),(1)) return true endfunction function HQr takes integer QRo,integer EAx returns integer local integer VFx=HPr() set fke[VFx]=EAx +call Lfo(QRo,fJe,VFx) call YMo(QRo,fje) call Pko(QRo,function Hqr) return VFx endfunction function Hsr takes nothing returns boolean set fje=Nlx("ElementalSpellToHero_Init: set ElementalSpellToHero.CREATE_EVENT = Event.Create(Unit.CREATE_EVENT_TYPE, EventPriority.MISC, function ElementalSpellToHero.Event_Create)",cLv,iB,function HMr) set fKe=Bkx() call HQr(J3v,fqe) call HQr(JBv,Dse) call HQr(JQv,fQe) call HQr(jYv,fse) call HQr(Jnv,U2v) call HQr(khv,fSe) call HQr(JKv,fte) call HQr(krv,Jwv) call HQr(j9v,fTe) return true endfunction function HSr takes nothing returns boolean call Hmr(function Hsr,"ElementalSpellToHero_Init") return true endfunction function Htr takes nothing returns boolean set fue=u9x(fUe+" (ignitionBuff)") return true endfunction function HTr takes nothing returns boolean set fwe[1]=4 +set fwe[2]=4 +set fwe[3]=5 +set fwe[4]=5 +set fwe[5]=6 +set fwe[6]=6 +set fWe[1]=$A set fWe[2]=$F set fWe[3]=20 set fWe[4]=25 set fWe[5]=30 set fWe[6]=35 return true endfunction function Hur takes nothing returns boolean call IGx(tE,(function Htr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Fireburst.page\\Fireburst.struct\\Shot\\obj_ignitionBuff_wc3buff.j")) call IGx(VE,(function HTr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Fireburst.page\\Fireburst.struct\\Shot\\obj_this_wc3obj.j")) return true endfunction function HUr takes nothing returns boolean set fye=Idx(fUe) +return true endfunction function Hwr takes nothing returns boolean call scx('AFiB',false) set U2v=s2o('AFiB') set orv[(U2v)]=(x6v) +set onv[(U2v)]=(6) set Zl[(U2v)]=("Fireburst") set PK[(U2v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0107)))),(((FL)))))) set Vnv[(U2v)]=(4) set n9v[(U2v)]=("spell") +call s3o((U2v),Yhv+(1),(($96)*1.)) call s3o((U2v),Ll+(1),((6)*1.)) call s3o((U2v),zl+(1),((45)*1.)) +call s3o((U2v),Pkv+(1),((700)*1.)) call s3o((U2v),Yhv+(2),(($AF)*1.)) call s3o((U2v),Ll+(2),((6)*1.)) call s3o((U2v),zl+(2),((65)*1.)) +call s3o((U2v),Pkv+(2),((700)*1.)) call s3o((U2v),Yhv+(3),(($C8)*1.)) call s3o((U2v),Ll+(3),((6)*1.)) call s3o((U2v),zl+(3),((90)*1.)) +call s3o((U2v),Pkv+(3),((700)*1.)) call s3o((U2v),Yhv+(4),(($E1)*1.)) call s3o((U2v),Ll+(4),((6)*1.)) call s3o((U2v),zl+(4),(('x')*1.)) call s3o((U2v),Pkv+(4),((700)*1.)) call s3o((U2v),Yhv+(5),(($FA)*1.)) call s3o((U2v),Ll+(5),((6)*1.)) call s3o((U2v),zl+(5),(($9B)*1.)) call s3o((U2v),Pkv+(5),((700)*1.)) call s3o((U2v),Yhv+(6),((275)*1.)) call s3o((U2v),Ll+(6),((6)*1.)) call s3o((U2v),zl+(6),(($C3)*1.)) call s3o((U2v),Pkv+(6),((700)*1.)) set Qkv[(U2v)]=("ReplaceableTextures\\CommandButtons\\BTNFireForTheCannon.blp") call G5r(U2v,'FFB0',6,'VFB0','LPFB','LRFB') set fYe[1]=3 +set fYe[2]=3 +set fYe[3]=4 +set fYe[4]=4 +set fYe[5]=5 +set fYe[6]=5 +return true endfunction function HWr takes nothing returns boolean set fze=u9x(fZe+" (dummyBuff)") set sf[(fze)]=(true) +return true endfunction function Hyr takes nothing returns boolean call IGx(UE,(function Hwr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Fireburst.page\\Fireburst.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function HWr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Fireburst.page\\Fireburst.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function HYr takes nothing returns boolean set f_e=Idx(fZe) +return true endfunction function Hzr takes integer VFx returns integer set f4e[VFx]=true set f5e[VFx]=false call V1x(f_e) return VFx endfunction function HZr takes nothing returns integer local integer VFx if(f0e==8190)then call Vmx("Fireburst_Allocation_allocCustom","call DebugEx(Fireburst.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",fZe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(f1e[(w)]==w)then set f2e=f2e+1 set VFx=f2e else +set VFx=f1e[(w)] +set f1e[(w)]=f1e[f1e[(w)]] endif set f1e[VFx]=Z set f3e[VFx]=1 call Hzr(VFx) return VFx endfunction function H_r takes integer VFx returns integer set Fbe[VFx]=true set FBe[VFx]=false call V1x(fye) return VFx endfunction function H0r takes nothing returns integer local integer VFx if(FRe==8190)then call Vmx("FolderFireburst_StructShot_Allocation_allocCustom","call DebugEx(FolderFireburst_StructShot.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",fUe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(FIe[(w)]==w)then set FAe=FAe+1 set VFx=FAe else +set VFx=FIe[(w)] +set FIe[(w)]=FIe[FIe[(w)]] endif set FIe[VFx]=Z set FNe[VFx]=1 call H_r(VFx) return VFx endfunction function H1r takes integer VFx returns nothing set Fee[VFx]=Fee[VFx]+1 endfunction function H2r takes real x1,real y1,real x2,real y2,real Iox returns real +local real m=(y2-y1)*1./(x2-x1) local real n=y1-m*x1 +return(m*Iox+n) endfunction function H3r takes integer VFx returns nothing set f4e[VFx]=false call EEx(f_e) endfunction function H4r takes integer VFx returns nothing if(f3e[VFx]>0)then return endif if(f1e[VFx]!=Z)then call Vmx("Fireburst_Allocation_deallocCustom_confirm","call DebugEx(Fireburst.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",fZe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set f1e[VFx]=f1e[(w)] set f1e[(w)]=VFx +call H3r(VFx) endfunction function H5r takes integer VFx returns nothing set f3e[VFx]=f3e[VFx]-1 call H4r(VFx) endfunction function H6r takes integer VFx returns nothing if not f7e[VFx]then return endif if(Fee[VFx]>0)then return endif call H5r((VFx)) endfunction function H7r takes integer VFx returns nothing set Fee[VFx]=Fee[VFx]-1 call H6r(VFx) endfunction function H8r takes integer VFx returns nothing set Fbe[VFx]=false call EEx(fye) endfunction function H9r takes integer VFx returns nothing if(FNe[VFx]>0)then return endif if(FIe[VFx]!=Z)then call Vmx("FolderFireburst_StructShot_Allocation_deallocCustom_confirm","call DebugEx(FolderFireburst_StructShot.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",fUe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set FIe[VFx]=FIe[(w)] set FIe[(w)]=VFx +call H8r(VFx) endfunction function jvr takes integer VFx returns nothing set FNe[VFx]=FNe[VFx]-1 call H9r(VFx) endfunction function jer takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer ENx=Fce[VFx] local integer hdx=f6e[ENx] local integer EKx=Fve[ENx] local integer csx=Foe[ENx] local real h0x=(qyv[(tgo)]) local real h1x=(qYv[(tgo)]) call tDo(tgo) call d9x(csx,fue,EKx,hdx,fwe[EKx]) call AYo((hdx),(csx),((FGe[VFx])*1.),(true),(false)) +call H7r(ENx) call jvr((VFx)) return true endfunction function jxr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer ENx=Fce[VFx] local integer hdx=f6e[ENx] local integer EKx=Fve[ENx] local real h0x=(qyv[(tgo)]) local real h1x=(qYv[(tgo)]) local real xnr local real xVr local real jor local real fCo local real d +local real jrr call tDo(tgo) call Sgo((Sjo(((h0x)*1.),((h1x)*1.),("Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl"),(fV)))) if(csx!=w)then call d9x(csx,fue,EKx,hdx,fwe[EKx]) endif set zH=(ze[(hdx)]) call fXo(FCe,h0x,h1x,(hDx((U2v),Yhv+(EKx))),Fde) +set csx=fOo(FCe) +if(csx!=w)then set xnr=Fie[ENx] +set xVr=Fae[ENx] +set jor=hyx(hdx,true) set fCo=fWe[EKx] +loop +set d=JKx((GetUnitX(C[((csx))]))-xnr,(GetUnitY(C[((csx))]))-xVr) +set jrr=H2r(jor,FDe,(hDx((U2v),Pkv+(EKx))),Ffe,d) set jrr=FCx(jrr,FDe,Ffe) +call GroupAddUnit(jd[(FFe)],C[(csx)]) call AYo((hdx),(csx),((fCo*jrr)*1.),(true),(false)) set csx=fOo(FCe) +exitwhen(csx==w) +endloop endif set zH=(ze[(hdx)]) call fXo(FCe,h0x,h1x,(hDx((U2v),Pkv+(EKx))),Fde) +call GroupRemoveUnit(jd[(FCe)],C[(Foe[ENx])]) loop +set csx=fOo(FFe) +exitwhen(csx==w) +call GroupRemoveUnit(jd[(FCe)],C[(csx)]) +endloop set csx=(x8r((FCe),((h0x)*1.),((h1x)*1.))) if((csx==w)or not(Vfx((((hdx))),(Ud+(Fge)))>0))then call H7r(ENx) call jvr((VFx)) return true endif set FGe[VFx]=fWe[EKx]*Fhe[(Vfx(((hdx)),Wd+(Fge)))] set tgo=teo() set qQv[((tgo))]=((D6v*((.06)*1.))*1.) set qsv[(tgo)]=((10.)*1.) set quv[(tgo)]=Ntx((function jer)) set QEv[(tgo)]=(VFx) +call S9o(tgo,900.) call Tvo(tgo,hdx) call t4o((tgo),(csx),.0,.0,.0,(null)) call tio(tgo,'qFiE',.75) +return true endfunction function jir takes integer ENx returns nothing local integer hdx=f6e[ENx] local integer MCx=f8e[ENx] local integer csx=Foe[ENx] local integer tgo=teo() local integer VFx=H0r() local real kKx local real klx local real OMx set Fce[VFx]=ENx +call H1r(ENx) set kKx=(Rm[(MCx)]) set klx=(bm[(MCx)]) set OMx=(Atan2((((GetUnitY(C[((csx))]))-klx)*1.),(((GetUnitX(C[((csx))]))-kKx)*1.))) +call stx(MCx,OMx) set qQv[((tgo))]=((D6v*((.2)*1.))*1.) set qsv[(tgo)]=((10.)*1.) set quv[(tgo)]=Ntx((function jxr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,1000.) call t4o((tgo),(csx),.0,.0,.0,(null)) call tio(tgo,'qFiS',1.) call RXr(tgo,function jxr,FHe) call tTo(tgo,kKx+Fje*(Cos(((((OMx)*1.))*1.))),klx+Fje*(Sin(((((OMx)*1.))*1.))),(hz[(MCx)])) endfunction function jar takes integer VFx returns nothing local integer MCx=f8e[VFx] local integer TBx=f9e[VFx] local integer hgx=Fre[VFx] call Szx(MCx) call Xbx(TBx) if V_x(f6e[VFx],FXe,VFx)then +call dpx(f6e[VFx],fze) endif set f7e[VFx]=true call H6r(VFx) endfunction function jnr takes integer VFx returns nothing call jir(VFx) if(Fxe[VFx]==1)then call jar(VFx) else +set Fxe[VFx]=Fxe[VFx]-1 endif endfunction function jVr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call jnr(VFx) endfunction function jEr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call Xax(f9e[VFx],FOe,true,function jVr) +call jnr(VFx) endfunction function jXr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local integer hgx=(oL[(Eix)]) local real x=(GetUnitX(C[((hdx))])) local real y=(GetUnitY(C[((hdx))])) local real z=drx(hdx)+bZx(hdx,true)*3 local integer VFx=HZr() local integer MCx=syx('qFiB',x,y,z,(bl[(hgx)])) local integer TBx=E5x() set f6e[VFx]=hdx +set f7e[VFx]=false set f8e[VFx]=MCx +set f9e[VFx]=TBx +set Fve[VFx]=EKx +set Fee[VFx]=0 set Fxe[VFx]=fYe[EKx] set Foe[VFx]=csx +set Fre[VFx]=hgx +set Fie[VFx]=x set Fae[VFx]=y set ge[(TBx)]=(VFx) call Mcx((WTo((MCx),(Fne),(FVe),(fV)))) call SetUnitAnimation(nm[((MCx))],("spell")) +call SetUnitColor(nm[((MCx))],((xx[(hdx)]))) +call sWx(MCx,0,0,0,0) call Wdo(MCx,$FF,$FF,$FF,$FF,FEe) if EHx(hdx,FXe,VFx)then call jGx((hdx),(fze),(EKx),w) endif call Xax(TBx,FEe,false,function jEr) +return true endfunction function jOr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) return true endfunction function jRr takes integer hdx returns nothing local integer VBx=Bex(hdx,FXe) local integer VFx loop +exitwhen(VBx0)then return endif if(Fte[VFx]!=Z)then call Vmx("FlameTongue_Allocation_deallocCustom_confirm","call DebugEx(FlameTongue.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Fqe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Fte[VFx]=Fte[(w)] set Fte[(w)]=VFx +call jlr(VFx) endfunction function jmr takes integer VFx returns nothing set Fue[VFx]=Fue[VFx]-1 call jLr(VFx) endfunction function jMr takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer TBx=F6e[VFx] local integer Wmo=gxe[VFx] local integer hgx=gne[VFx] call jmr((VFx)) call Xbx(Xrx) call Xbx(TBx) call HZo(Wmo) call h7x(hgx) endfunction function jpr takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) set F8e[VFx]=-F8e[VFx] set gre[VFx]=-gre[VFx] set gae[VFx]=-gae[VFx] call HJx((gxe[VFx]),qC) call Xax(F6e[VFx],gVe,true,function jkr) +call Xax(Xrx,gOe[gve[VFx]],false,function jMr) endfunction function jPr takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) call XNx(F6e[VFx]) call Xax(Xrx,.15,false,function jpr) +endfunction function jqr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real dX=h0x-xnr local real dY=h1x-xVr local real OMx=vPo(hdx,dX,dY) local real d=JKx(dX,dY) local real jQr=OMx-D6v local integer VFx=jgr() local integer Xrx=E5x() local integer TBx=E5x() local integer hgx=hCx(hdx,FJe) set FWe[VFx]=OMx +set Fye[VFx]=(hDx((FJe),Yhv+(EKx))) set FYe[VFx]=hdx +set Fze[VFx]=Fpe[EKx]+(ak[(hdx)])*FZe set F_e[VFx]=(1.+FKe[EKx]) set F0e[VFx]=F1e[EKx] set F2e[VFx]=(Cos(((((jQr)*1.))*1.))) set F3e[VFx]=(Sin(((((jQr)*1.))*1.))) set F4e[VFx]=F5e[EKx] set F6e[VFx]=TBx +set F7e[VFx]=.0 set F8e[VFx]=F9e[EKx] set gve[VFx]=EKx +set gee[VFx]=Fke[EKx] set gxe[VFx]=Pcx("FlameTongue_Event_SpellEffect: set this.targetGroup = UnitList.Create()") set goe[VFx]=h0x +set gre[VFx]=F9e[EKx]*(Cos(((((OMx)*1.))*1.))) set gie[VFx]=h1x +set gae[VFx]=F9e[EKx]*(Sin(((((OMx)*1.))*1.))) set gne[VFx]=hgx +set ge[(Xrx)]=(VFx) set ge[(TBx)]=(VFx) call Xax(TBx,gVe,true,function jkr) call Xax(Xrx,gOe[EKx],false,function jPr) return true endfunction function jsr takes nothing returns boolean local integer VBx set FQe=Bkx() set Fse=Nyx(function jfr) call Sao(FJe,Nlx("FlameTongue_Init: call FlameTongue.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FlameTongue.Event_SpellEffect))",kK,VB,function jqr)) set VBx=(onv[(FJe)]) +loop +set gOe[VBx]=(R2I((((Fle[VBx]*1./ Fme[VBx])*1./ gVe)*1.)))*gVe set gRe[VBx]=FMe[VBx]*Fle[VBx] set F9e[VBx]=Fme[VBx]*gVe set F1e[VBx]=FLe[VBx]*1./ gRe[VBx]*1./(gRe[VBx]+Fle[VBx]) set F5e[VBx]=-F1e[VBx]*Fle[VBx] set VBx=VBx-1 exitwhen(VBx<1) endloop return true endfunction function jSr takes nothing returns boolean call hOr(function jsr,"FlameTongue_Init") return true endfunction function jtr takes nothing returns boolean set gIe[1]=-90 set gIe[2]=-90 set gIe[3]=-90 set gIe[4]=-90 set gIe[5]=-90 set gIe[6]=-90 set gAe[1]=5 +set gAe[2]=8 +set gAe[3]=$B set gAe[4]=$E set gAe[5]=17 set gAe[6]=20 return true endfunction function jTr takes nothing returns boolean set gNe=x6o('BFrS',"Frozen Star",'bFrS') +set sf[(gNe)]=(true) +set ORv[(gNe)]=("ReplaceableTextures\\CommandButtons\\BTNBreathOfFrost.blp") +set v2v=UEx() call URx(v2v,gwv,-90) call UIx(((gNe)),YD+(1),(v2v)) return true endfunction function jur takes nothing returns boolean call IGx(VE,(function jtr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\FrozenStar.page\\FrozenStar.struct\\Target\\obj_this_wc3obj.j")) call IGx(tE,(function jTr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\FrozenStar.page\\FrozenStar.struct\\Target\\obj_dummyBuff_wc3buff.j")) return true endfunction function jUr takes nothing returns boolean set gbe=Idx(gBe) +return true endfunction function jwr takes nothing returns boolean set gce[1]=30 set gce[2]=40 set gce[3]=60 set gce[4]=70 set gce[5]=80 set gce[6]=90 return true endfunction function jWr takes nothing returns boolean call IGx(VE,(function jwr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\FrozenStar.page\\FrozenStar.struct\\Explosion\\obj_this_wc3obj.j")) +return true endfunction function jyr takes nothing returns boolean set gCe=Idx(gde) +return true endfunction function jYr takes nothing returns boolean call scx('AFrS',false) set gDe=s2o('AFrS') set orv[(gDe)]=(x6v) +set onv[(gDe)]=(6) set Zl[(gDe)]=("Frozen Star") set PK[(gDe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00FA)))),(((FL)))))) set Vnv[(gDe)]=(2) set n9v[(gDe)]=("spell") +call s3o((gDe),Yhv+(1),((400)*1.)) call s3o((gDe),Ll+(1),((9)*1.)) call s3o((gDe),zl+(1),((55)*1.)) +call s3o((gDe),Pkv+(1),((700)*1.)) call s3o((gDe),Yhv+(2),((500)*1.)) call s3o((gDe),Ll+(2),((9)*1.)) call s3o((gDe),zl+(2),((75)*1.)) +call s3o((gDe),Pkv+(2),((700)*1.)) call s3o((gDe),Yhv+(3),((600)*1.)) call s3o((gDe),Ll+(3),((9)*1.)) call s3o((gDe),zl+(3),((95)*1.)) +call s3o((gDe),Pkv+(3),((700)*1.)) call s3o((gDe),Yhv+(4),((700)*1.)) call s3o((gDe),Ll+(4),((9)*1.)) call s3o((gDe),zl+(4),(('s')*1.)) call s3o((gDe),Pkv+(4),((700)*1.)) call s3o((gDe),Yhv+(5),((800)*1.)) call s3o((gDe),Ll+(5),((9)*1.)) call s3o((gDe),zl+(5),(($87)*1.)) call s3o((gDe),Pkv+(5),((700)*1.)) call s3o((gDe),Yhv+(6),((900)*1.)) call s3o((gDe),Ll+(6),((9)*1.)) call s3o((gDe),zl+(6),(($9B)*1.)) call s3o((gDe),Pkv+(6),((700)*1.)) set Qkv[(gDe)]=("ReplaceableTextures\\CommandButtons\\BTNStaffOfNegation.blp") set gfe[1]=700 set gfe[2]=700 set gfe[3]=700 set gfe[4]=700 set gfe[5]=700 set gfe[6]=700 set gFe[1]=$C8 set gFe[2]=$C8 set gFe[3]=$C8 set gFe[4]=$C8 set gFe[5]=$C8 set gFe[6]=$C8 set gge[1]=600 set gge[2]=600 set gge[3]=600 set gge[4]=600 set gge[5]=600 set gge[6]=600 return true endfunction function jzr takes nothing returns boolean call IGx(UE,(function jYr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\FrozenStar.page\\FrozenStar.struct\\obj_thisSpell_wc3spell.j")) +return true endfunction function jZr takes nothing returns boolean set gGe=Idx(ghe) +return true endfunction function j_r takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function j0r takes real a,real b returns boolean +set a=plx(a,TH) set b=plx(b,TH) if(a0)then return endif if(gLe[VFx]!=Z)then call Vmx("FrozenStar_Allocation_deallocCustom_confirm","call DebugEx(FrozenStar.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",ghe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set gLe[VFx]=gLe[(w)] set gLe[(w)]=VFx +call j5r(VFx) endfunction function j7r takes integer VFx returns nothing set gMe[VFx]=gMe[VFx]-1 call j6r(VFx) endfunction function j8r takes integer VFx,integer hdx,real fCo,integer EKx,real x,real y returns nothing local integer ENx=VFx local integer csx call Sgo((Sjo(((x)*1.),((y)*1.),(g8e),(EV)))) set zH=(ze[(hdx)]) call fXo(g9e,x,y,(hDx((gDe),Yhv+(EKx))),Gve) +set csx=fOo(g9e) +if(csx!=w)then loop +call j3r(EKx,csx) call CRr((csx),((Gee)*1.),((.0)*1.),(((Atan2((((GetUnitY(C[((csx))]))-y)*1.),(((GetUnitX(C[((csx))]))-x)*1.)))+3.141592654)*1.),((Gxe)*1.)) call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(g9e) +exitwhen(csx==w) +endloop endif endfunction function j9r takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer hdx=gse[VFx] local real fCo=gSe[VFx] local integer MCx=gte[VFx] local integer EKx=gze[VFx] local integer Wmo=gZe[VFx] local integer WLo=g_e[VFx] local real x=g0e[VFx] local real y=g2e[VFx] local integer hgx=g4e[VFx] call j7r((VFx)) call Szx(MCx) call Xbx(Xrx) call HZo(Wmo) call Xbx(WLo) call h7x(hgx) call j8r((w),hdx,fCo,EKx,x,y) endfunction function Jvr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real Jer=(GetUnitFacing(C[((hdx))])*sK) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real dX=h0x-xnr local real dY=h1x-xVr local real OMx=vPo(hdx,dX,dY) local real Jxr=gfe[EKx]*gJe local real d=JKx(dX,dY) local real pSx=Xkx(pMx(Jer,OMx)*gke,gKe) +local real jQr=OMx-D6v+2*D6v*Cuo(j0r(Jer,OMx)) local real Vkx=Jxr*(Cos(((((pSx)*1.))*1.))) local real Jor=((Sin(((((pSx)*1.))*1.)))*Jxr)*1./(Vkx*(Vkx-gfe[EKx])) local integer VFx=j2r() local integer Xrx=E5x() local integer WLo=E5x() local integer hgx=hCx(hdx,gDe) set gqe[VFx]=OMx +set gQe[VFx]=gFe[EKx] set gse[VFx]=hdx +set gSe[VFx]=gce[EKx] set gte[VFx]=syx('qFrS',xnr,xVr,bzx(hdx,xnr,xVr)+bZx(hdx,true),OMx) set gTe[VFx]=Jor +set gue[VFx]=jQr*(Cos(((((jQr)*1.))*1.))) set gUe[VFx]=jQr*(Sin(((((jQr)*1.))*1.))) set gwe[VFx]=-Jor*gfe[EKx] set gWe[VFx]=.0 set gye[VFx]=gYe[EKx] set gze[VFx]=EKx +set gZe[VFx]=Pcx("FrozenStar_Event_SpellEffect: set this.targetGroup = UnitList.Create()") set g_e[VFx]=WLo +set g0e[VFx]=xnr +set g1e[VFx]=gYe[EKx]*(Cos(((((OMx)*1.))*1.))) set g2e[VFx]=xVr +set g3e[VFx]=gYe[EKx]*(Sin(((((OMx)*1.))*1.))) set g4e[VFx]=hgx +set ge[(Xrx)]=(VFx) set ge[(WLo)]=(VFx) call Xax(WLo,g5e,true,function j4r) call Xax(Xrx,g7e[EKx],false,function j9r) return true endfunction function Jrr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true endfunction function Jir takes nothing returns nothing set g9e=Bkx() set Gve=Nyx(function Jrr) endfunction function Jar takes nothing returns boolean local integer VBx set gHe=Bkx() set gje=Nyx(function j_r) call Sao(gDe,Nlx("FrozenStar_Init: call FrozenStar.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FrozenStar.Event_SpellEffect))",kK,VB,function Jvr)) set VBx=(onv[(gDe)]) +loop +set g7e[VBx]=gfe[VBx]*1./ gge[VBx] set gYe[VBx]=gge[VBx]*g5e set VBx=VBx-1 exitwhen(VBx<1) endloop call Jir() call oio(RIv,gNe) return true endfunction function Jnr takes nothing returns boolean call hOr(function Jar,"FrozenStar_Init") +return true endfunction function JVr takes nothing returns boolean set Goe[4]=LBo('uGh4') call Lco(((Goe[4])),CPv,(cgv)) set vm[(Goe[4])]=((1)*1.) set div[(Goe[4])]=((60)*1.) set dsv[(Goe[4])]=((60)*1.) set Cp[(Goe[4])]=(($DC)*1.) set c5v[(Goe[4])]=((1)*1.) set Crv[(Goe[4])]=(1) set djv[(Goe[4])]=((350)*1.) +set dHv[(Goe[4])]=((350)*1.) +set dGv[(Goe[4])]=((0)*1.) set dRv[(Goe[4])]=(($578)*1.) set dXv[(Goe[4])]=(($578)*1.) set dCv[(Goe[4])]=((60)*1.) set Cbv[(Goe[4])]=(jtv) set CDv[(Goe[4])]=((153.6)*1.) set Cfv[((Goe[4]))]=((1.*1./((1.7)*1.))*1.) set CTv[(Goe[4])]=((.3)*1.) set Csv[(Goe[4])]=(($A)*1.) set CSv[(Goe[4])]=(($A)*1.) set CUv[(Goe[4])]=(2) set Cyv[(Goe[4])]=(2) set CZv[(Goe[4])]=(0) set CQv[(Goe[4])]=((20)*1.) return true endfunction function JEr takes nothing returns boolean set Goe[1]=LBo('uGho') call Lco(((Goe[1])),CPv,(cgv)) set vm[(Goe[1])]=((1)*1.) set div[(Goe[1])]=((60)*1.) set dsv[(Goe[1])]=((60)*1.) set Cp[(Goe[1])]=(($DC)*1.) set c5v[(Goe[1])]=((1)*1.) set Crv[(Goe[1])]=(1) set djv[(Goe[1])]=(($C8)*1.) +set dHv[(Goe[1])]=(($C8)*1.) +set dGv[(Goe[1])]=((0)*1.) set dRv[(Goe[1])]=(($578)*1.) set dXv[(Goe[1])]=(($578)*1.) set dCv[(Goe[1])]=((40)*1.) set Cbv[(Goe[1])]=(juv) set CDv[(Goe[1])]=((480)*1.) +set Cfv[((Goe[1]))]=((1.*1./((1.7)*1.))*1.) set CTv[(Goe[1])]=((.3)*1.) set GCv[(Goe[1])]=((600)*1.) +set Csv[(Goe[1])]=((7)*1.) set CSv[(Goe[1])]=((7)*1.) set CUv[(Goe[1])]=(2) set Cyv[(Goe[1])]=(2) set CZv[(Goe[1])]=(3) set CQv[(Goe[1])]=((20)*1.) return true endfunction function JXr takes nothing returns boolean set Goe[2]=LBo('uGh2') call Lco(((Goe[2])),CPv,(cgv)) set vm[(Goe[2])]=((1)*1.) set div[(Goe[2])]=((60)*1.) set dsv[(Goe[2])]=((60)*1.) set Cp[(Goe[2])]=(($DC)*1.) set c5v[(Goe[2])]=((1)*1.) set Crv[(Goe[2])]=(1) set djv[(Goe[2])]=((275)*1.) +set dHv[(Goe[2])]=((275)*1.) +set dGv[(Goe[2])]=((0)*1.) set dRv[(Goe[2])]=(($578)*1.) set dXv[(Goe[2])]=(($578)*1.) set dCv[(Goe[2])]=((40)*1.) set Cbv[(Goe[2])]=(jtv) set CDv[(Goe[2])]=((153.6)*1.) set Cfv[((Goe[2]))]=((1.*1./((1.7)*1.))*1.) set CTv[(Goe[2])]=((.3)*1.) set Csv[(Goe[2])]=((5)*1.) set CSv[(Goe[2])]=((5)*1.) set CUv[(Goe[2])]=(2) set Cyv[(Goe[2])]=(2) set CZv[(Goe[2])]=(0) set CQv[(Goe[2])]=((20)*1.) return true endfunction function JOr takes nothing returns boolean set Goe[3]=LBo('uGh3') call Lco(((Goe[3])),CPv,(cgv)) set vm[(Goe[3])]=((1)*1.) set div[(Goe[3])]=((60)*1.) set dsv[(Goe[3])]=((60)*1.) set Cp[(Goe[3])]=(($DC)*1.) set c5v[(Goe[3])]=((1)*1.) set Crv[(Goe[3])]=(1) set djv[(Goe[3])]=((275)*1.) +set dHv[(Goe[3])]=((275)*1.) +set dGv[(Goe[3])]=((0)*1.) set dRv[(Goe[3])]=(($578)*1.) set dXv[(Goe[3])]=(($578)*1.) set dCv[(Goe[3])]=((60)*1.) set Cbv[(Goe[3])]=(jtv) set CDv[(Goe[3])]=((153.6)*1.) set Cfv[((Goe[3]))]=((1.*1./((1.7)*1.))*1.) set CTv[(Goe[3])]=((.3)*1.) set Csv[(Goe[3])]=((5)*1.) set CSv[(Goe[3])]=((5)*1.) set CUv[(Goe[3])]=(2) set Cyv[(Goe[3])]=(2) set CZv[(Goe[3])]=(0) set CQv[(Goe[3])]=((20)*1.) return true endfunction function JRr takes nothing returns boolean set Gre=u9x(Gie+" (dummyBuff)") call Urx(Gre,"GhostSword_page\\GhostSword_struct\\Sword\\ScimitarAttachment.mdx","weapon",EV) return true endfunction function JIr takes nothing returns boolean set Gae[1]=.5 set Gae[2]=.75 set Gae[3]=1 +set Gae[4]=1.25 set Gae[5]=1.5 set Gae[6]=1.75 set Gne[1]=5 +set Gne[2]=7.5 set Gne[3]=7.5 set Gne[4]=$A set Gne[5]=$A set Gne[6]=12.5 set GVe[1]=.25 set GVe[2]=.25 set GVe[3]=.25 set GVe[4]=.25 set GVe[5]=.25 set GVe[6]=.25 set GEe[1]=2 +set GEe[2]=2 +set GEe[3]=2 +set GEe[4]=2 +set GEe[5]=2 +set GEe[6]=2 +return true endfunction function JAr takes nothing returns boolean set Goe[5]=LBo('uGh5') call Lco(((Goe[5])),CPv,(cgv)) set vm[(Goe[5])]=((1)*1.) set div[(Goe[5])]=((60)*1.) set dsv[(Goe[5])]=((60)*1.) set Cp[(Goe[5])]=(($DC)*1.) set c5v[(Goe[5])]=((1)*1.) set Crv[(Goe[5])]=(1) set djv[(Goe[5])]=((350)*1.) +set dHv[(Goe[5])]=((350)*1.) +set dGv[(Goe[5])]=((0)*1.) set dRv[(Goe[5])]=(($578)*1.) set dXv[(Goe[5])]=(($578)*1.) set dCv[(Goe[5])]=((80)*1.) set Cbv[(Goe[5])]=(jtv) set CDv[(Goe[5])]=((153.6)*1.) set Cfv[((Goe[5]))]=((1.*1./((1.7)*1.))*1.) set CTv[(Goe[5])]=((.3)*1.) set Csv[(Goe[5])]=(($A)*1.) set CSv[(Goe[5])]=(($A)*1.) set CUv[(Goe[5])]=(2) set Cyv[(Goe[5])]=(2) set CZv[(Goe[5])]=(0) set CQv[(Goe[5])]=((20)*1.) return true endfunction function JNr takes nothing returns boolean set Goe[6]=LBo('uGh6') call Lco(((Goe[6])),CPv,(cgv)) set vm[(Goe[6])]=((1)*1.) set div[(Goe[6])]=((60)*1.) set dsv[(Goe[6])]=((60)*1.) set Cp[(Goe[6])]=(($DC)*1.) set c5v[(Goe[6])]=((1)*1.) set Crv[(Goe[6])]=(1) set djv[(Goe[6])]=((350)*1.) +set dHv[(Goe[6])]=((350)*1.) +set dGv[(Goe[6])]=((0)*1.) set dRv[(Goe[6])]=(($578)*1.) set dXv[(Goe[6])]=(($578)*1.) set dCv[(Goe[6])]=(('d')*1.) +set Cbv[(Goe[6])]=(jtv) set CDv[(Goe[6])]=((153.6)*1.) set Cfv[((Goe[6]))]=((1.*1./((1.7)*1.))*1.) set CTv[(Goe[6])]=((.3)*1.) set Csv[(Goe[6])]=(($A)*1.) set CSv[(Goe[6])]=(($A)*1.) set CUv[(Goe[6])]=(2) set Cyv[(Goe[6])]=(2) set CZv[(Goe[6])]=(0) set CQv[(Goe[6])]=((20)*1.) return true endfunction function Jbr takes nothing returns boolean call IGx(yE,(function JVr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\Sword\\obj_summonUnitType[4]_wc3unit.j")) call IGx(yE,(function JEr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\Sword\\obj_summonUnitType[1]_wc3unit.j")) call IGx(yE,(function JXr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\Sword\\obj_summonUnitType[2]_wc3unit.j")) call IGx(yE,(function JOr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\Sword\\obj_summonUnitType[3]_wc3unit.j")) call IGx(tE,(function JRr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\Sword\\obj_dummyBuff_wc3buff.j")) call IGx(VE,(function JIr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\Sword\\obj_this_wc3obj.j")) +call IGx(yE,(function JAr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\Sword\\obj_summonUnitType[5]_wc3unit.j")) call IGx(yE,(function JNr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\Sword\\obj_summonUnitType[6]_wc3unit.j")) return true endfunction function JBr takes nothing returns boolean set GXe=Idx(Gie) +return true endfunction function Jcr takes nothing returns boolean call scx('AGhS',false) set fse=s2o('AGhS') set orv[(fse)]=(x6v) +set onv[(fse)]=(6) set Zl[(fse)]=("Ghost Sword") set PK[(fse)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0274)))),(((FL)))))) set Vnv[(fse)]=(4) set n9v[(fse)]=("spell") +call s3o((fse),Ll+(1),(($C)*1.)) +call s3o((fse),zl+(1),((40)*1.)) +call s3o((fse),Pkv+(1),((750)*1.)) call s3o((fse),Ll+(2),(($C)*1.)) +call s3o((fse),zl+(2),((50)*1.)) +call s3o((fse),Pkv+(2),((750)*1.)) call s3o((fse),Ll+(3),(($C)*1.)) +call s3o((fse),zl+(3),((60)*1.)) +call s3o((fse),Pkv+(3),((750)*1.)) call s3o((fse),Ll+(4),(($C)*1.)) +call s3o((fse),zl+(4),((70)*1.)) +call s3o((fse),Pkv+(4),((750)*1.)) call s3o((fse),Ll+(5),(($C)*1.)) +call s3o((fse),zl+(5),((80)*1.)) +call s3o((fse),Pkv+(5),((750)*1.)) call s3o((fse),Ll+(6),(($C)*1.)) +call s3o((fse),zl+(6),((90)*1.)) +call s3o((fse),Pkv+(6),((750)*1.)) set Qkv[(fse)]=("ReplaceableTextures\\CommandButtons\\BTNThoriumMelee.blp") call G5r(fse,'FGS0',6,'VGS0','LPGS','LRGS') set GOe[1]=2 +set GOe[2]=2 +set GOe[3]=3 +set GOe[4]=3 +set GOe[5]=4 +set GOe[6]=4 +set GRe[1]=25 set GRe[2]=25 set GRe[3]=25 set GRe[4]=25 set GRe[5]=25 set GRe[6]=25 return true endfunction function JCr takes nothing returns boolean set GIe=u9x(GAe+" (dummyBuff)") set sf[(GIe)]=(true) +return true endfunction function Jdr takes nothing returns boolean call IGx(UE,(function Jcr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\obj_thisSpell_wc3spell.j")) +call IGx(tE,(function JCr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function JDr takes nothing returns boolean set GNe=Idx(GAe) +return true endfunction function Jfr takes integer VFx returns boolean if((GBe[((VFx))])>0)then +return false +endif set Gce=Gce+1 set GCe[Gce]=VFx +set GBe[VFx]=Gce+1 return(Gce==0) endfunction function JFr takes nothing returns nothing local integer VBx=Gce loop +exitwhen(VBx<0) set Gfe[VBx]=GCe[VBx] set VBx=VBx-1 endloop set GFe=Gce endfunction function Jgr takes nothing returns integer local integer Vtx if(GFe<0)then return w +endif set Vtx=Gfe[0] set Gfe[0]=Gfe[GFe] set GFe=GFe-1 return Vtx endfunction function JGr takes nothing returns nothing local integer VFx local real OMx local real Rur local integer csx local real jor local integer VBx local integer Jhr call JFr() loop +set VFx=Jgr() exitwhen(VFx==w) +set OMx=Gge[VFx] +set Rur=GGe[VFx] +set csx=VFx set jor=hyx(csx,true) set Gge[VFx]=OMx+Ghe*GDe +set VBx=Bex(csx,GHe) +loop +exitwhen(VBx0)then +return false +endif set GBe[GCe[Gce]]=GBe[VFx] set GCe[GBe[VFx]-1]=GCe[Gce] +set GBe[VFx]=0 set Gce=Gce-1 return(Gce==F) endfunction function JJr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer VBx local integer Jhr if Jjr(VFx)then call XNx(Gde) endif set VBx=Bex(csx,GHe) +loop +exitwhen(VBx.0)then call cdx((C1x((csx),(GMe),(Gpe),(EV)))) call rzr(csx,Jpr) call AYo((Jhr),(csx),((Jpr*GPe[VFx])*1.),(true),(false)) +endif return true endfunction function JPr takes integer VFx returns boolean if((GTe[((VFx))])>0)then +return false +endif set Gue=Gue+1 set GUe[Gue]=VFx +set GTe[VFx]=Gue+1 return(Gue==0) endfunction function Jqr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer JQr=E5x() set GQe[VFx]=true set Gse[VFx]=JQr +set GPe[VFx]=Gae[EKx] set Gle[VFx]=EKx +set Gme[VFx]=Gne[EKx] set ge[(JQr)]=(VFx) call cdx((C1x((csx),(GSe),(Gte),(EV)))) call CMx(csx,GKe) call CMx(csx,GLe) if JPr(VFx)then endif return true endfunction function Jsr takes integer VFx returns boolean if not((GTe[((VFx))])>0)then +return false +endif set GTe[GUe[Gue]]=GTe[VFx] set GUe[GTe[VFx]-1]=GUe[Gue] +set GTe[VFx]=0 set Gue=Gue-1 return(Gue==F) endfunction function JSr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer JQr=Gse[VFx] call cdx((C1x((csx),(Gwe),(GWe),(EV)))) call Xbx(JQr) call cEx(csx,GKe) call cEx(csx,GLe) if GQe[VFx]then if Jsr(VFx)then call XNx(Gqe) endif endif return true endfunction function Jtr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function JTr takes nothing returns nothing set GKe=Nlx("FolderGhostSword_StructSword_Init: set FolderGhostSword_StructSword.CRIT_EVENT = Event.Create(UNIT.CriticalChance.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderGhostSword_StructSword.Event_Crit)",fRv,VB,function Jmr) set GLe=Nlx("FolderGhostSword_StructSword_Init: set FolderGhostSword_StructSword.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function FolderGhostSword_StructSword.Event_Damage)",Nev,VB,function JMr) +set Gqe=E5x() call Ufx(Gre,Nlx("FolderGhostSword_StructSword_Init: call FolderGhostSword_StructSword.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderGhostSword_StructSword.Event_BuffGain))",dg,VB,function Jqr)) +call Ufx(Gre,Nlx("FolderGhostSword_StructSword_Init: call FolderGhostSword_StructSword.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderGhostSword_StructSword.Event_BuffLose))",Hf,VB,function JSr)) +set Gye=Bkx() set GYe=Nyx(function Jtr) endfunction function Jur takes nothing returns boolean set Gbe=Nlx("GhostSword_Init: set GhostSword.TRANSPORT_ENDING_EVENT = Event.Create(UNIT.Transport.ENDING_EVENT_TYPE, EventPriority.SPELLS, function GhostSword.Event_TransportEnding)",Biv,VB,function JHr) set GJe=Nlx("GhostSword_Init: set GhostSword.TRANSPORT_START_EVENT = Event.Create(UNIT.Transport.START_EVENT_TYPE, EventPriority.SPELLS, function GhostSword.Event_TransportStart)",Brv,VB,function JJr) +set Gde=E5x() call Ufx(GIe,Nlx("GhostSword_Init: call GhostSword.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function GhostSword.Event_BuffGain))",dg,VB,function JKr)) call Ufx(GIe,Nlx("GhostSword_Init: call GhostSword.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function GhostSword.Event_BuffLose))",Hf,VB,function Jlr)) call Sao(fse,Nlx("GhostSword_Init: call GhostSword.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function GhostSword.Event_SpellEffect))",kK,VB,function JLr)) call JTr() return true endfunction function JUr takes nothing returns boolean call hOr(function Jur,"GhostSword_Init") +return true endfunction function Jwr takes nothing returns boolean set Gze[1]=20 set Gze[2]=30 set Gze[3]=40 set Gze[4]=50 set Gze[5]=60 set Gze[6]=70 set GZe[1]=.2 set GZe[2]=.3 set GZe[3]=.4 set GZe[4]=.5 set GZe[5]=.6 set GZe[6]=.7 return true endfunction function JWr takes nothing returns boolean set G_e=x6o('BHnS',"Hack'n'Slay",'bHnS') +set ORv[(G_e)]=("ReplaceableTextures\\CommandButtons\\BTNCriticalStrike.blp") set v2v=UEx() call URx(v2v,RRv,.2) +call URx(v2v,fIv,20) +call UIx(((G_e)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,RRv,.3) +call URx(v2v,fIv,30) +call UIx(((G_e)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,RRv,.4) +call URx(v2v,fIv,40) +call UIx(((G_e)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,RRv,.5) +call URx(v2v,fIv,50) +call UIx(((G_e)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,RRv,.6) +call URx(v2v,fIv,60) +call UIx(((G_e)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,RRv,.7) +call URx(v2v,fIv,70) +call UIx(((G_e)),YD+(6),(v2v)) return true endfunction function Jyr takes nothing returns boolean call IGx(VE,(function Jwr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\Sword\\HackNSlay.page\\HackNSlay.struct\\Target\\obj_this_wc3obj.j")) call IGx(tE,(function JWr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\Sword\\HackNSlay.page\\HackNSlay.struct\\Target\\obj_dummyBuff_wc3buff.j")) +return true endfunction function JYr takes nothing returns boolean set G0e=Idx(G1e) +return true endfunction function Jzr takes nothing returns boolean set G2e=u9x(G3e+" (dummyBuff)") set OOv[(G2e)]=(true) return true endfunction function JZr takes nothing returns boolean call scx('AHnS',false) set Gke=s2o('AHnS') set orv[(Gke)]=(ovv) +set onv[(Gke)]=(1) set Zl[(Gke)]=("Hack'n'Slay") set n9v[(Gke)]=("spell") +call s3o((Gke),Yhv+(1),((400)*1.)) call s3o((Gke),Pkv+(1),((750)*1.)) set Qkv[(Gke)]=("ReplaceableTextures\\PassiveButtons\\PASBTNCriticalStrike.blp") +return true endfunction function J_r takes nothing returns boolean call IGx(tE,(function Jzr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\Sword\\HackNSlay.page\\HackNSlay.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function JZr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\GhostSword.page\\GhostSword.struct\\Sword\\HackNSlay.page\\HackNSlay.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function J0r takes nothing returns boolean set G4e=Idx(G3e) +return true endfunction function J1r takes code c,string EFx returns nothing +set xO=xO+1 set oO[xO]=CreateTrigger() set rO[xO]=(GetHandleId(Condition((c)))) +set iO[xO]=EFx call TriggerAddCondition(oO[xO],Condition(c)) endfunction function J2r takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cjv)then return false +endif if((IsUnitAlly(C[(csx)],vx[(zH)]))==false)then return false +endif return true return true endfunction function J3r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer VFx=hdx local integer cIr=cVr(hdx) set G6e[VFx]=cIr +set G7e[VFx]=hdx +set G8e[VFx]=EKx +set IKe[(cIr)]=(VFx) +set iee[(cIr)]=(((hDx((Gke),Yhv+(EKx))))*1.) +set ixe[(cIr)]=(G5e) +call cEr(cIr,G9e) call cEr(cIr,hve) call cOr(cIr) return true endfunction function J4r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=hdx local integer cIr=G6e[VFx] call cDr(cIr) return true endfunction function J5r takes nothing returns boolean local integer Eix=(bv) call WMo((Vv[(Eix)]),G2e,(Mv[(Eix)])) return true endfunction function J6r takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),G2e) return true endfunction function J7r takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer ENx=(IKe[(cIr)]) call JYx(csx,G_e) return true endfunction function J8r takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer hdx=(r3e[(cIr)]) local integer ENx=(IKe[(cIr)]) local integer EKx=G8e[ENx] call jGx((csx),(G_e),(EKx),w) return true endfunction function J9r takes nothing returns nothing set G9e=Nlx("FolderHackNSlay_StructTarget_Init: set FolderHackNSlay_StructTarget.ENDING_EVENT = Event.Create(AURA.Target.ENDING_EVENT_TYPE, EventPriority.SPELLS, function FolderHackNSlay_StructTarget.Event_Ending)",iae,VB,function J7r) set hve=Nlx("FolderHackNSlay_StructTarget_Init: set FolderHackNSlay_StructTarget.START_EVENT = Event.Create(AURA.Target.START_EVENT_TYPE, EventPriority.SPELLS, function FolderHackNSlay_StructTarget.Event_Start)",ine,VB,function J8r) +endfunction function kvr takes nothing returns boolean set G5e=Nyx(function J2r) call Ufx(G2e,Nlx("HackNSlay_Init: call HackNSlay.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function HackNSlay.Event_BuffGain))",dg,VB,function J3r)) call Ufx(G2e,Nlx("HackNSlay_Init: call HackNSlay.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function HackNSlay.Event_BuffLose))",Hf,VB,function J4r)) call Sao(Gke,Nlx("HackNSlay_Init: call HackNSlay.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.CHANGE_LEVEL_EVENT_TYPE, EventPriority.SPELLS, function HackNSlay.Event_Learn))",Pv,VB,function J5r)) +call Sao(Gke,Nlx("HackNSlay_Init: call HackNSlay.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function HackNSlay.Event_Learn))",pv,VB,function J5r)) call Sao(Gke,Nlx("HackNSlay_Init: call HackNSlay.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function HackNSlay.Event_Unlearn))",Av,VB,function J6r)) call J9r() return true endfunction function ker takes nothing returns boolean call J1r(function kvr,"HackNSlay_Init") return true endfunction function kxr takes nothing returns boolean call scx('AIcB',false) set hee=s2o('AIcB') set orv[(hee)]=(x6v) +set onv[(hee)]=(6) set Zl[(hee)]=("Ice Block") set PK[(hee)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0216)))),(((FL)))))) set Vnv[(hee)]=(0) set n9v[(hee)]=("spell") +call s3o((hee),Ll+(1),(($F)*1.)) +call s3o((hee),zl+(1),((30)*1.)) +call s3o((hee),Pkv+(1),((750)*1.)) call s3o((hee),Ll+(2),(($F)*1.)) +call s3o((hee),zl+(2),((35)*1.)) +call s3o((hee),Pkv+(2),((750)*1.)) call s3o((hee),Ll+(3),(($F)*1.)) +call s3o((hee),zl+(3),((40)*1.)) +call s3o((hee),Pkv+(3),((750)*1.)) call s3o((hee),Ll+(4),(($F)*1.)) +call s3o((hee),zl+(4),((45)*1.)) +call s3o((hee),Pkv+(4),((750)*1.)) call s3o((hee),Ll+(5),(($F)*1.)) +call s3o((hee),zl+(5),((50)*1.)) +call s3o((hee),Pkv+(5),((750)*1.)) set Qkv[(hee)]=("ReplaceableTextures\\CommandButtons\\BTNIcyTreasureBox.blp") set hxe[1]=5 +set hxe[2]=$A set hxe[3]=$F set hxe[4]=20 set hxe[5]=25 set hoe[1]=5 +set hoe[2]=5.5 set hoe[3]=6 +set hoe[4]=6.5 set hoe[5]=7 +return true endfunction function kor takes nothing returns boolean set hre=x6o('BIcB',"Ice Block",'bIcB') set OOv[(hre)]=(true) set v_v[(hre)]=(true) set ORv[(hre)]=("ReplaceableTextures\\CommandButtons\\BTNIcyTreasureBox.blp") call Urx(hre,"Abilities\\Spells\\Undead\\FreezingBreath\\FreezingBreathTargetArt.mdl","origin",EV) call Urx(hre,"Abilities\\Spells\\Items\\StaffOfSanctuary\\Staff_Sanctuary_Target.mdl","chest",fV) set v2v=UEx() call URx(v2v,GQv,5) call nUr(v2v,Ggv,true) call nUr(v2v,GSv,true) call nUr(v2v,GUv,true) call UIx(((hre)),YD+(1),(v2v)) return true endfunction function krr takes nothing returns boolean call IGx(UE,(function kxr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\IceBlock.page\\IceBlock.struct\\obj_thisSpell_wc3spell.j")) +call IGx(tE,(function kor),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\IceBlock.page\\IceBlock.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function kir takes nothing returns boolean set hie=Idx(hae) +return true endfunction function kar takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Mv[(Eix)]) call d9x(((Vv[(Eix)])),(hre),(EKx),w,((hoe[EKx])*1.)) return true endfunction function knr takes nothing returns boolean call Sao(hee,Nlx("IceBlock_Init: call IceBlock.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function IceBlock.Event_SpellEffect))",kK,VB,function kar)) return true endfunction function kVr takes nothing returns boolean call hOr(function knr,"IceBlock_Init") return true endfunction function kEr takes nothing returns boolean set hne=u9x(hVe+" (frostBuff)") return true endfunction function kXr takes nothing returns boolean set hEe=u9x(hVe+" (coldnessBuff)") return true endfunction function kOr takes nothing returns boolean call scx('AIcS',false) set fQe=s2o('AIcS') set orv[(fQe)]=(x6v) +set onv[(fQe)]=(6) set Zl[(fQe)]=("Ice Shock") set PK[(fQe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0108)))),(((FL)))))) set Vnv[(fQe)]=(4) set n9v[(fQe)]=("spell") +call s3o((fQe),Yhv+(1),(($C8)*1.)) call s3o((fQe),Ll+(1),(($F)*1.)) +call s3o((fQe),zl+(1),((70)*1.)) +call s3o((fQe),Pkv+(1),((600)*1.)) call s3o((fQe),Yhv+(2),(($C8)*1.)) call s3o((fQe),Ll+(2),(($F)*1.)) +call s3o((fQe),zl+(2),((70)*1.)) +call s3o((fQe),Pkv+(2),((600)*1.)) call s3o((fQe),Yhv+(3),(($C8)*1.)) call s3o((fQe),Ll+(3),(($F)*1.)) +call s3o((fQe),zl+(3),((70)*1.)) +call s3o((fQe),Pkv+(3),((600)*1.)) call s3o((fQe),Yhv+(4),(($C8)*1.)) call s3o((fQe),Ll+(4),(($F)*1.)) +call s3o((fQe),zl+(4),((70)*1.)) +call s3o((fQe),Pkv+(4),((600)*1.)) call s3o((fQe),Yhv+(5),(($C8)*1.)) call s3o((fQe),Ll+(5),(($F)*1.)) +call s3o((fQe),zl+(5),((70)*1.)) +call s3o((fQe),Pkv+(5),((600)*1.)) call s3o((fQe),Yhv+(6),(($C8)*1.)) call s3o((fQe),Ll+(6),(($F)*1.)) +call s3o((fQe),zl+(6),((70)*1.)) +call s3o((fQe),Pkv+(6),((600)*1.)) set Qkv[(fQe)]=("ReplaceableTextures\\CommandButtons\\BTNGlacier.blp") call G5r(fQe,'FIS0',6,'VIS0','LPIS','LRIS') set hXe[1]=1 +set hXe[2]=1 +set hXe[3]=1 +set hXe[4]=1 +set hXe[5]=1 +set hXe[6]=1 +set hOe[1]=4 +set hOe[2]=4 +set hOe[3]=4 +set hOe[4]=4 +set hOe[5]=4 +set hOe[6]=4 +set hRe[1]=1 +set hRe[2]=1 +set hRe[3]=1 +set hRe[4]=1 +set hRe[5]=1 +set hRe[6]=1 +set hIe[1]=25 set hIe[2]=50 set hIe[3]=75 set hIe[4]='d' set hIe[5]='}' set hIe[6]=$96 set hAe[1]=$A set hAe[2]=25 set hAe[3]=40 set hAe[4]=55 set hAe[5]=70 set hAe[6]=85 set hNe[1]=4 +set hNe[2]=4 +set hNe[3]=4 +set hNe[4]=4 +set hNe[5]=4 +set hNe[6]=4 +return true endfunction function kRr takes nothing returns boolean call IGx(tE,(function kEr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\IceShock.page\\IceShock.struct\\obj_frostBuff_wc3buff.j")) call IGx(tE,(function kXr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\IceShock.page\\IceShock.struct\\obj_coldnessBuff_wc3buff.j")) call IGx(UE,(function kOr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\IceShock.page\\IceShock.struct\\obj_thisSpell_wc3spell.j")) +return true endfunction function kIr takes nothing returns boolean set hbe=Idx(hVe) +return true endfunction function kAr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function kNr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local integer hbo local real Xdx local real fCo call Sgo((Sjo(((h0x)*1.),((h1x)*1.),(hCe),(EV)))) set hbo=(ze[(hdx)]) set zH=hbo call fXo(hBe,h0x,h1x,(hDx((fQe),Yhv+(EKx))),hce) +call GroupRemoveUnit(jd[(hBe)],C[(csx)]) +if Cmx(csx,rG)then set Xdx=hXe[EKx] +else +set Xdx=hNe[EKx] +endif call d9x((csx),(hne),(EKx),w,((Xdx)*1.)) +call AYo((hdx),(csx),((hIe[EKx])*1.),(true),(false)) +set csx=fOo(hBe) +if(csx!=w)then set fCo=hAe[EKx] +loop +if Cmx(csx,rG)then set Xdx=hRe[EKx] +else +set Xdx=hOe[EKx] +endif call d9x((csx),(hEe),(EKx),w,((Xdx)*1.)) +call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(hBe) +exitwhen(csx==w) +endloop endif return true endfunction function kbr takes nothing returns boolean set hBe=Bkx() set hce=Nyx(function kAr) call Sao(fQe,Nlx("IceShock_Init: call IceShock.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function IceShock.Event_SpellEffect))",kK,VB,function kNr)) call oio(RIv,hEe) call oio(Rkv,hne) return true endfunction function kBr takes nothing returns boolean call J1r(function kbr,"IceShock_Init") return true endfunction function kcr takes nothing returns boolean set hde[1]=$A set hde[2]=$F set hde[3]=20 set hde[4]=25 set hde[5]=30 set hde[6]=35 return true endfunction function kCr takes nothing returns boolean set hDe=x6o('BIFo',"Inner Force",'bIFo') +set OOv[(hDe)]=(true) set sf[(hDe)]=(true) +set ORv[(hDe)]=("ReplaceableTextures\\CommandButtons\\BTNImmolationOn.blp") call Urx(hDe,"Abilities\\Spells\\NightElf\\Immolation\\ImmolationTarget.mdl","origin",EV) set v2v=UEx() call URx(v2v,fIv,$A) +call UIx(((hDe)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,fIv,$F) +call UIx(((hDe)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,fIv,20) +call UIx(((hDe)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,fIv,25) +call UIx(((hDe)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,fIv,30) +call UIx(((hDe)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,fIv,35) +call UIx(((hDe)),YD+(6),(v2v)) return true endfunction function kdr takes nothing returns boolean call IGx(VE,(function kcr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\InnerForce.page\\InnerForce.struct\\Crit\\obj_this_wc3obj.j")) call IGx(tE,(function kCr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\InnerForce.page\\InnerForce.struct\\Crit\\obj_dummyBuff_wc3buff.j")) return true endfunction function kDr takes nothing returns boolean set hfe=Idx(hFe) +return true endfunction function kfr takes nothing returns boolean call scx('AIFo',false) set fte=s2o('AIFo') set orv[(fte)]=(x6v) +set onv[(fte)]=(6) set Zl[(fte)]=("Inner Force") set PK[(fte)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0108)))),(((FL)))))) set Vnv[(fte)]=(0) set n9v[(fte)]=("spell") +call s3o((fte),Yhv+(1),(($E1)*1.)) call s3o((fte),Ll+(1),(($D)*1.)) +call s3o((fte),zl+(1),((40)*1.)) +call s3o((fte),Pkv+(1),((750)*1.)) call s3o((fte),Yhv+(2),(($E1)*1.)) call s3o((fte),Ll+(2),(($D)*1.)) +call s3o((fte),zl+(2),((50)*1.)) +call s3o((fte),Pkv+(2),((750)*1.)) call s3o((fte),Yhv+(3),(($E1)*1.)) call s3o((fte),Ll+(3),(($D)*1.)) +call s3o((fte),zl+(3),((60)*1.)) +call s3o((fte),Pkv+(3),((750)*1.)) call s3o((fte),Yhv+(4),(($E1)*1.)) call s3o((fte),Ll+(4),(($D)*1.)) +call s3o((fte),zl+(4),((70)*1.)) +call s3o((fte),Pkv+(4),((750)*1.)) call s3o((fte),Yhv+(5),(($E1)*1.)) call s3o((fte),Ll+(5),(($D)*1.)) +call s3o((fte),zl+(5),((80)*1.)) +call s3o((fte),Pkv+(5),((750)*1.)) call s3o((fte),Yhv+(6),(($E1)*1.)) call s3o((fte),Ll+(6),(($D)*1.)) +call s3o((fte),zl+(6),((90)*1.)) +call s3o((fte),Pkv+(6),((750)*1.)) set Qkv[(fte)]=("ReplaceableTextures\\CommandButtons\\BTNImmolationOn.blp") call G5r(fte,'FIF0',6,'VIF0','LPIF','LRIF') set hge[1]=25 set hge[2]=34 set hge[3]=43 set hge[4]=52 set hge[5]=61 set hge[6]=70 set hGe[1]=30 set hGe[2]=50 set hGe[3]=70 set hGe[4]=90 set hGe[5]='x' set hGe[6]=$96 return true endfunction function kFr takes nothing returns boolean call IGx(UE,(function kfr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\InnerForce.page\\InnerForce.struct\\obj_thisSpell_wc3spell.j")) +return true endfunction function kgr takes nothing returns boolean set hhe=Idx(hHe) +return true endfunction function kGr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if((IsUnitAlly(C[(csx)],vx[(zH)]))==false)then return false +endif return true return true endfunction function khr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function kHr takes integer VFx returns integer set hMe[VFx]=true set hpe[VFx]=false call V1x(hhe) return VFx endfunction function kjr takes nothing returns integer local integer VFx if(hKe==8190)then call Vmx("InnerForce_Allocation_allocCustom","call DebugEx(InnerForce.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",hHe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(hle[(w)]==w)then set hLe=hLe+1 set VFx=hLe else +set VFx=hle[(w)] +set hle[(w)]=hle[hle[(w)]] endif set hle[VFx]=Z set hme[VFx]=1 call kHr(VFx) return VFx endfunction function kJr takes integer VFx returns nothing local integer hdx=hse[VFx] local real Cao=hyx(hdx,true)+hQe[VFx] local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local integer csx local real Dur local real fCo call cdx((C1x((hdx),(hze),(hZe),(fV)))) set zH=(ze[(hdx)]) call fXo(hje,xnr,xVr,Cao,hJe) set csx=fOo(hje) +if(csx!=w)then set Dur=hte[VFx] +loop +call s9o(hdx,csx,Dur) set csx=fOo(hje) +exitwhen(csx==w) +endloop endif set zH=(ze[(hdx)]) call fXo(hje,xnr,xVr,Cao,hke) set csx=fOo(hje) +if(csx!=w)then set fCo=hSe[VFx] +loop +call CRr((csx),((h_e)*1.),((h0e)*1.),(((Atan2((((GetUnitY(C[((csx))]))-xVr)*1.),(((GetUnitX(C[((csx))]))-xnr)*1.))))*1.),((h1e)*1.)) +call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(hje) +exitwhen(csx==w) +endloop endif endfunction function kkr takes nothing returns nothing local integer bUx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(bUx)]) call kJr(VFx) endfunction function kKr takes integer VFx returns nothing local integer bUx call cdx((C1x((hse[VFx]),(hWe),(hye),(EV)))) +set bUx=E5x() set hqe[VFx]=hqe[VFx]+1 set ge[(bUx)]=(VFx) call Xax(bUx,hYe,false,function kkr) +endfunction function klr takes nothing returns nothing call kKr(((ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]))) endfunction function kLr takes integer VFx returns nothing set hMe[VFx]=false call EEx(hhe) endfunction function kmr takes integer VFx returns nothing if(hme[VFx]>0)then return endif if(hle[VFx]!=Z)then call Vmx("InnerForce_Allocation_deallocCustom_confirm","call DebugEx(InnerForce.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",hHe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set hle[VFx]=hle[(w)] set hle[(w)]=VFx +call kLr(VFx) endfunction function kMr takes integer VFx returns nothing set hme[VFx]=hme[VFx]-1 call kmr(VFx) endfunction function kpr takes integer VFx returns nothing if not hPe[VFx]then return endif if(hqe[VFx]>0)then return endif call kMr((VFx)) endfunction function kPr takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer TBx=hTe[VFx] local integer hgx=hUe[VFx] call Xbx(Xrx) call Xbx(TBx) call h7x(hgx) set hPe[VFx]=true call kpr(VFx) endfunction function kqr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real Cao=(hDx((fte),Yhv+(EKx))) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local integer VFx=kjr() local integer Xrx=E5x() local integer TBx=E5x() local integer hgx=hCx(hdx,fte) set hPe[VFx]=false set hqe[VFx]=0 set hQe[VFx]=Cao +set hse[VFx]=hdx +set hSe[VFx]=hGe[EKx] set hte[VFx]=hge[EKx] set hTe[VFx]=TBx +set hue[VFx]=EKx +set hUe[VFx]=hgx +set ge[(Xrx)]=(VFx) set ge[(TBx)]=(VFx) call Xax(TBx,hwe,true,function klr) call Xax(Xrx,(h2e-1)*hwe,false,function kPr) +call kKr(VFx) return true endfunction function kQr takes nothing returns boolean local integer Eix=(bv) call WMo((Vv[(Eix)]),hDe,(Mv[(Eix)])) return true endfunction function ksr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),hDe) return true endfunction function kSr takes nothing returns nothing call Sao(fte,Nlx("FolderInnerForce_StructCrit_Init: call InnerForce.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.CHANGE_LEVEL_EVENT_TYPE, EventPriority.SPELLS, function FolderInnerForce_StructCrit.Event_Learn))",Pv,VB,function kQr)) call Sao(fte,Nlx("FolderInnerForce_StructCrit_Init: call InnerForce.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderInnerForce_StructCrit.Event_Learn))",pv,VB,function kQr)) call Sao(fte,Nlx("FolderInnerForce_StructCrit_Init: call InnerForce.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderInnerForce_StructCrit.Event_Unlearn))",Av,VB,function ksr)) endfunction function ktr takes nothing returns boolean set hje=Bkx() set hJe=Nyx(function kGr) set hke=Nyx(function khr) call Sao(fte,Nlx("InnerForce_Init: call InnerForce.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function InnerForce.Event_SpellEffect))",kK,VB,function kqr)) call kSr() return true endfunction function kTr takes nothing returns boolean call hOr(function ktr,"InnerForce_Init") +return true endfunction function kur takes nothing returns boolean call scx('AMon',false) set fSe=s2o('AMon') set orv[(fSe)]=(x6v) +set onv[(fSe)]=(6) set Zl[(fSe)]=("Monolith") set PK[(fSe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0089)))),(((FL)))))) set Vnv[(fSe)]=(2) set n9v[(fSe)]=("spell") +call s3o((fSe),Yhv+(1),((350)*1.)) call s3o((fSe),Ll+(1),((20)*1.)) +call s3o((fSe),zl+(1),((40)*1.)) +call s3o((fSe),Pkv+(1),((99999)*1.)) +call s3o((fSe),Yhv+(2),((350)*1.)) call s3o((fSe),Ll+(2),((20)*1.)) +call s3o((fSe),zl+(2),((50)*1.)) +call s3o((fSe),Pkv+(2),((99999)*1.)) +call s3o((fSe),Yhv+(3),((350)*1.)) call s3o((fSe),Ll+(3),((20)*1.)) +call s3o((fSe),zl+(3),((60)*1.)) +call s3o((fSe),Pkv+(3),((99999)*1.)) +call s3o((fSe),Yhv+(4),((350)*1.)) call s3o((fSe),Ll+(4),((20)*1.)) +call s3o((fSe),zl+(4),((70)*1.)) +call s3o((fSe),Pkv+(4),((99999)*1.)) +call s3o((fSe),Yhv+(5),((350)*1.)) call s3o((fSe),Ll+(5),((20)*1.)) +call s3o((fSe),zl+(5),((80)*1.)) +call s3o((fSe),Pkv+(5),((99999)*1.)) +call s3o((fSe),Yhv+(6),((350)*1.)) call s3o((fSe),Ll+(6),((20)*1.)) +call s3o((fSe),zl+(6),((90)*1.)) +call s3o((fSe),Pkv+(6),((99999)*1.)) +set Qkv[(fSe)]=("ReplaceableTextures\\CommandButtons\\BTNResStone.blp") call G5r(fSe,'FMo0',6,'VMo0','LPMo','LRMo') set h3e[1]=$F set h3e[2]=$F set h3e[3]=$F set h3e[4]=$F set h3e[5]=$F set h3e[6]=$F set h4e[1]=650 set h4e[2]=650 set h4e[3]=650 set h4e[4]=650 set h4e[5]=650 set h4e[6]=650 set h5e[1]=$F set h5e[2]=25 set h5e[3]=35 set h5e[4]=45 set h5e[5]=55 set h5e[6]=65 return true endfunction function kUr takes nothing returns boolean set h6e=LBo('uMon') call Lco(((h6e)),CPv,(cjv)) set vm[(h6e)]=((1)*1.) call LCo(h6e,$FF,$FF,$FF,$FF) set div[(h6e)]=(('d')*1.) set dsv[(h6e)]=(('d')*1.) set c5v[(h6e)]=((0)*1.) set Crv[(h6e)]=(3) set djv[(h6e)]=(($C8)*1.) set dHv[(h6e)]=(($C8)*1.) set dGv[(h6e)]=((0)*1.) set dkv[(h6e)]=((0)*1.) set dJv[(h6e)]=((0)*1.) set dhv[(h6e)]=((0)*1.) set dRv[(h6e)]=((800)*1.) set dXv[(h6e)]=((800)*1.) set dCv[(h6e)]=((0)*1.) set Csv[(h6e)]=((0)*1.) set CSv[(h6e)]=((0)*1.) set CUv[(h6e)]=(0) set Cyv[(h6e)]=(0) set CQv[(h6e)]=((64)*1.) +call LFo((h6e),(h7e),1) return true endfunction function kwr takes nothing returns boolean call IGx(UE,(function kur),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Monolith.page\\Monolith.struct\\obj_thisSpell_wc3spell.j")) +call IGx(yE,(function kUr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Monolith.page\\Monolith.struct\\obj_MonolithType_wc3unit.j")) return true endfunction function kWr takes nothing returns boolean set h8e=Idx(h9e) +return true endfunction function kyr takes code c,string EFx returns nothing +set tX=tX+1 set TX[tX]=CreateTrigger() set uX[tX]=(GetHandleId(Condition((c)))) +set UX[tX]=EFx call TriggerAddCondition(TX[tX],Condition(c)) endfunction function kYr takes nothing returns boolean local integer csx=pKx() if(csx==ej)then return false +endif if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif return true return true endfunction function kzr takes integer VFx returns integer set Hae[VFx]=true set Hne[VFx]=false call V1x(h8e) return VFx endfunction function kZr takes nothing returns integer local integer VFx if(Hxe==8190)then call Vmx("Monolith_Allocation_allocCustom","call DebugEx(Monolith.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",h9e+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Hoe[(w)]==w)then set Hre=Hre+1 set VFx=Hre else +set VFx=Hoe[(w)] +set Hoe[(w)]=Hoe[Hoe[(w)]] endif set Hoe[VFx]=Z set Hie[VFx]=1 call kzr(VFx) return VFx endfunction function k_r takes integer VFx returns nothing set Hae[VFx]=false call EEx(h8e) endfunction function k0r takes integer VFx returns nothing if(Hie[VFx]>0)then return endif if(Hoe[VFx]!=Z)then call Vmx("Monolith_Allocation_deallocCustom_confirm","call DebugEx(Monolith.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",h9e+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Hoe[VFx]=Hoe[(w)] set Hoe[(w)]=VFx +call k_r(VFx) endfunction function k1r takes integer VFx returns nothing set Hie[VFx]=Hie[VFx]-1 call k0r(VFx) endfunction function k2r takes integer k3r,integer hdx,integer EKx returns nothing call SetUnitAnimation(C[((k3r))],("work")) call jGx(k3r,HBe,EKx,hdx) endfunction function k4r takes integer hdx,integer EKx,real x,real y returns nothing +local integer k3r=eDr(h6e,(ze[(hdx)]),x,y,oj,h3e[EKx]) call k2r(k3r,hdx,EKx) endfunction function k5r takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=HVe[VFx] local integer EKx=HOe[VFx] local integer WLo=HNe[VFx] local real x=(qyv[(tgo)]) local real y=(qYv[(tgo)]) call k1r((VFx)) call tDo(tgo) call Xbx(WLo) call k4r(hdx,EKx,x,y) return true endfunction function k6r takes integer VFx,real Vsx returns nothing set Qav[VFx]=Vsx +set qSv[VFx]=true call tYo(VFx) endfunction function k7r takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=HVe[VFx] local integer tgo=HXe[VFx] local integer Wmo=HRe[VFx] local integer hbo=(ze[(hdx)]) local real x=(qyv[(tgo)]) local real y=(qYv[(tgo)]) local integer csx local real fCo set ej=hdx set zH=hbo set bae=Wmo call bvr(Hve,(qyv[(tgo)]),(qYv[(tgo)]),(qzv[(tgo)]),(qsv[(tgo)]),Hee) set csx=fOo(Hve) +if(csx!=w)then set fCo=HEe[VFx] +loop +call HDx(Wmo,csx) call cdx((C1x((csx),(HCe),(Hde),(fV)))) call CRr((csx),(((q1v[(tgo)]))*1.),(((qHv[(tgo)]))*1.),(((Atan2((((GetUnitY(C[((csx))]))-y)*1.),(((GetUnitX(C[((csx))]))-x)*1.))))*1.),((1.)*1.)) if not(IsUnitAlly(C[(csx)],vx[(hbo)]))then call AYo((hdx),(csx),((fCo)*1.),(false),(false)) +endif set csx=fOo(Hve) +exitwhen(csx==w) +endloop endif endfunction function k8r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real Rir=h4e[EKx] local real OMx=vPo(hdx,h0x-xnr,h1x-xVr) local integer VFx local integer tgo local integer WLo local real k9r local real fdx local real Ngr set h0x=xnr+Rir*(Cos(((((OMx)*1.))*1.))) +set h1x=xVr+Rir*(Sin(((((OMx)*1.))*1.))) +set VFx=kZr() set tgo=teo() set WLo=E5x() set HVe[VFx]=hdx +set HEe[VFx]=h5e[EKx] set HXe[VFx]=tgo +set HOe[VFx]=EKx +set HRe[VFx]=Pcx("Monolith_Event_SpellEffect: set this.targetGroup = UnitList.Create()") +set HIe[VFx]=h0x +set HAe[VFx]=h1x +set HNe[VFx]=WLo +set ge[(WLo)]=(VFx) set k9r=1. set fdx=800. +set Ngr=-fdx*fdx*1./(2*(Rir+k9r)) call S2o(tgo,Ngr) set qsv[(tgo)]=((Hbe)*1.) set quv[(tgo)]=Ntx((function k5r)) set QEv[(tgo)]=(VFx) +call S9o(tgo,fdx) call Tvo(tgo,hdx) call Okr(tgo,h0x,h1x,bex(h0x,h1x)+60.) call k6r(tgo,oj) +call tio(tgo,'qMon',.75) +call Xax(WLo,Hce,true,function k7r) return true endfunction function Kvr takes nothing returns boolean set Hve=Bkx() set Hee=Nyx(function kYr) call Sao(fSe,Nlx("Monolith_Init: call Monolith.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Monolith.Event_SpellEffect))",kK,VB,function k8r)) return true endfunction function Ker takes nothing returns boolean call kyr(function Kvr,"Monolith_Init") return true endfunction function Kxr takes nothing returns boolean set HDe=x6o('BMoM',"Monolith - Mana Regen",'bMoM') set OOv[(HDe)]=(true) set ORv[(HDe)]=("ReplaceableTextures\\CommandButtons\\BTNResStone.blp") call Urx(HDe,"Abilities\\Spells\\Other\\GeneralAuraTarget\\GeneralAuraTarget.mdl","origin",EV) set v2v=UEx() call URx(v2v,Gtv,5) call UIx(((HDe)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,Gtv,6.5) call UIx(((HDe)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,Gtv,8) call UIx(((HDe)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,Gtv,9.5) call UIx(((HDe)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,Gtv,$B) +call UIx(((HDe)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,Gtv,12.5) call UIx(((HDe)),YD+(6),(v2v)) return true endfunction function Kor takes nothing returns boolean set Hfe[1]=5 +set Hfe[2]=6.5 set Hfe[3]=8 +set Hfe[4]=9.5 set Hfe[5]=$B set Hfe[6]=12.5 return true endfunction function Krr takes nothing returns boolean call IGx(tE,(function Kxr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Monolith.page\\Monolith.struct\\SacredAura.page\\SacredAura.struct\\Target\\obj_dummyBuff_wc3buff.j")) call IGx(VE,(function Kor),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Monolith.page\\Monolith.struct\\SacredAura.page\\SacredAura.struct\\Target\\obj_this_wc3obj.j")) return true endfunction function Kir takes nothing returns boolean set HFe=Idx(Hge) +return true endfunction function Kar takes nothing returns boolean call scx('ASaA',false) set HGe=s2o('ASaA') set orv[(HGe)]=(ovv) +set onv[(HGe)]=(1) set Zl[(HGe)]=("Sacred Aura") set n9v[(HGe)]=("spell") +call s3o((HGe),Yhv+(1),((350)*1.)) call s3o((HGe),Pkv+(1),((750)*1.)) set Qkv[(HGe)]=("ReplaceableTextures\\PassiveButtons\\PASBTNBrilliance.blp") +return true endfunction function Knr takes nothing returns boolean set HBe=x6o('BMoA',"Monolith Aura",'bMoA') set OOv[(HBe)]=(true) set ORv[(HBe)]=("ReplaceableTextures\\CommandButtons\\BTNResStone.blp") call Urx(HBe,"Monolith_page\\Monolith_struct\\SacredAura_page\\SacredAura_struct\\Aura.mdx","origin",EV) +call Urx(HBe,"Monolith_page\\Monolith_struct\\SacredAura_page\\SacredAura_struct\\AuraHead.mdx","overhead",fV) return true endfunction function KVr takes nothing returns boolean call IGx(UE,(function Kar),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Monolith.page\\Monolith.struct\\SacredAura.page\\SacredAura.struct\\obj_thisSpell_wc3spell.j")) +call IGx(tE,(function Knr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Monolith.page\\Monolith.struct\\SacredAura.page\\SacredAura.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function KEr takes nothing returns boolean set Hhe=Idx(HHe) +return true endfunction function KXr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cjv)then return false +endif if not(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function KOr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(pf[(Eix)]) local integer k3r=(Vv[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer VFx=k3r local integer cIr=cVr(k3r) set HJe[VFx]=cIr +set Hke[VFx]=hdx +set HKe[VFx]=EKx +set IKe[(cIr)]=(VFx) +set iee[(cIr)]=(((hDx((fSe),Yhv+(EKx))))*1.) +set ixe[(cIr)]=(Hje) +call cEr(cIr,Hle) call cEr(cIr,HLe) call cOr(cIr) return true endfunction function KRr takes nothing returns boolean local integer Eix=(bv) local integer k3r=(Vv[(Eix)]) local integer VFx=k3r local integer cIr=HJe[VFx] call cDr(cIr) return true endfunction function KIr takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer ENx=(IKe[(cIr)]) call JYx(csx,HDe) return true endfunction function KAr takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer hdx=(r3e[(cIr)]) local integer ENx=(IKe[(cIr)]) local integer EKx=HKe[ENx] call jGx((csx),(HDe),(EKx),w) return true endfunction function KNr takes nothing returns nothing set Hle=Nlx("FolderSacredAura_StructTarget_Init: set FolderSacredAura_StructTarget.ENDING_EVENT = Event.Create(AURA.Target.ENDING_EVENT_TYPE, EventPriority.SPELLS, function FolderSacredAura_StructTarget.Event_Ending)",iae,VB,function KIr) set HLe=Nlx("FolderSacredAura_StructTarget_Init: set FolderSacredAura_StructTarget.START_EVENT = Event.Create(AURA.Target.START_EVENT_TYPE, EventPriority.SPELLS, function FolderSacredAura_StructTarget.Event_Start)",ine,VB,function KAr) endfunction function Kbr takes nothing returns boolean set Hje=Nyx(function KXr) call Ufx(HBe,Nlx("SacredAura_Init: call SacredAura.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SacredAura.Event_BuffGain))",dg,VB,function KOr)) call Ufx(HBe,Nlx("SacredAura_Init: call SacredAura.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SacredAura.Event_BuffLose))",Hf,VB,function KRr)) call KNr() return true endfunction function KBr takes nothing returns boolean call kyr(function Kbr,"SacredAura_Init") +return true endfunction function Kcr takes nothing returns boolean set Hme=x6o('BSev',"Severance",'bSev') set v_v[(Hme)]=(true) set ORv[(Hme)]=("ReplaceableTextures\\CommandButtons\\BTNAcidBomb.blp") call Urx(Hme,"Abilities\\Spells\\Undead\\UnholyFrenzy\\UnholyFrenzyTarget.mdl","overhead",EV) set v2v=UEx() call URx(v2v,gVv,-3) +call URx(v2v,gwv,-30) call UIx(((Hme)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,gVv,-6) +call URx(v2v,gwv,-40) call UIx(((Hme)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,gVv,-9) +call URx(v2v,gwv,-50) call UIx(((Hme)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,gVv,-$C) call URx(v2v,gwv,-60) call UIx(((Hme)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,gVv,-$F) call URx(v2v,gwv,-70) call UIx(((Hme)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,gVv,-18) call URx(v2v,gwv,-80) call UIx(((Hme)),YD+(6),(v2v)) return true endfunction function KCr takes nothing returns boolean set HMe[1]=-3 set HMe[2]=-6 set HMe[3]=-9 set HMe[4]=-$C set HMe[5]=-$F set HMe[6]=-18 set Hpe[1]=-30 set Hpe[2]=-40 set Hpe[3]=-50 set Hpe[4]=-60 set Hpe[5]=-70 set Hpe[6]=-80 set HPe[1]=$A set HPe[2]=$A set HPe[3]=$A set HPe[4]=$A set HPe[5]=$A set HPe[6]=$A return true endfunction function Kdr takes nothing returns boolean call IGx(tE,(function Kcr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Severance.page\\Severance.struct\\Buff\\obj_dummyBuff_wc3buff.j")) call IGx(VE,(function KCr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Severance.page\\Severance.struct\\Buff\\obj_this_wc3obj.j")) return true endfunction function KDr takes nothing returns boolean set Hqe=Idx(HQe) +return true endfunction function Kfr takes nothing returns boolean call scx('ASev',false) set Jwv=s2o('ASev') set orv[(Jwv)]=(x6v) +set onv[(Jwv)]=(6) set Zl[(Jwv)]=("Severance") set PK[(Jwv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D026C)))),(((FL)))))) set Vnv[(Jwv)]=(4) set n9v[(Jwv)]=("spell") +call s3o((Jwv),Yhv+(1),((500)*1.)) call s3o((Jwv),Ll+(1),(($C)*1.)) +call s3o((Jwv),zl+(1),((40)*1.)) +call s3o((Jwv),Pkv+(1),((800)*1.)) call s3o((Jwv),Yhv+(2),((500)*1.)) call s3o((Jwv),Ll+(2),(($C)*1.)) +call s3o((Jwv),zl+(2),((50)*1.)) +call s3o((Jwv),Pkv+(2),((800)*1.)) call s3o((Jwv),Yhv+(3),((500)*1.)) call s3o((Jwv),Ll+(3),(($C)*1.)) +call s3o((Jwv),zl+(3),((65)*1.)) +call s3o((Jwv),Pkv+(3),((800)*1.)) call s3o((Jwv),Yhv+(4),((500)*1.)) call s3o((Jwv),Ll+(4),(($C)*1.)) +call s3o((Jwv),zl+(4),((85)*1.)) +call s3o((Jwv),Pkv+(4),((800)*1.)) call s3o((Jwv),Yhv+(5),((500)*1.)) call s3o((Jwv),Ll+(5),(($C)*1.)) +call s3o((Jwv),zl+(5),(('n')*1.)) call s3o((Jwv),Pkv+(5),((800)*1.)) call s3o((Jwv),Yhv+(6),((500)*1.)) call s3o((Jwv),Ll+(6),(($C)*1.)) +call s3o((Jwv),zl+(6),(($8C)*1.)) call s3o((Jwv),Pkv+(6),((800)*1.)) set Qkv[(Jwv)]=("ReplaceableTextures\\CommandButtons\\BTNAcidBomb.blp") call G5r(Jwv,'FSV0',6,'VSV0','LPSV','LRSV') set Hse[1]=5 +set Hse[2]=6 +set Hse[3]=7 +set Hse[4]=8 +set Hse[5]=9 +set Hse[6]=$A set HSe[1]=20 set HSe[2]=30 set HSe[3]=40 set HSe[4]=50 set HSe[5]=60 set HSe[6]=70 return true endfunction function KFr takes nothing returns boolean call IGx(UE,(function Kfr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Severance.page\\Severance.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Kgr takes nothing returns boolean set Hte=Idx(HTe) +return true endfunction function KGr takes integer csx returns boolean return( not(Cmx(csx,tf)))and( not(Cmx(csx,chv)))and( not(IsUnitAlly(C[(csx)],vx[(zH)])))and( not(ALo(csx))) endfunction function Khr takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if not KGr(csx)then return false +endif return true return true endfunction function KHr takes integer VFx returns integer set Hze[VFx]=true set HZe[VFx]=false call V1x(Hte) return VFx endfunction function Kjr takes nothing returns integer local integer VFx if(Hwe==8190)then call Vmx("Severance_Allocation_allocCustom","call DebugEx(Severance.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",HTe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(HWe[(w)]==w)then set Hye=Hye+1 set VFx=Hye else +set VFx=HWe[(w)] +set HWe[(w)]=HWe[HWe[(w)]] endif set HWe[VFx]=Z set HYe[VFx]=1 call KHr(VFx) return VFx endfunction function KJr takes integer EKx,integer csx returns nothing call d9x((csx),(Hme),(EKx),w,((HPe[EKx])*1.)) endfunction function Kkr takes integer VFx returns nothing set Hze[VFx]=false call EEx(Hte) endfunction function KKr takes integer VFx returns nothing if(HYe[VFx]>0)then return endif if(HWe[VFx]!=Z)then call Vmx("Severance_Allocation_deallocCustom_confirm","call DebugEx(Severance.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",HTe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set HWe[VFx]=HWe[(w)] set HWe[(w)]=VFx +call Kkr(VFx) endfunction function Klr takes integer VFx returns nothing set HYe[VFx]=HYe[VFx]-1 call KKr(VFx) endfunction function KLr takes integer VFx returns nothing call Klr((VFx)) call HZo(H4e[VFx]) endfunction function Kmr takes integer VFx,real kKx,real klx,real kLx,integer csx returns nothing set kf=VFx set Yp=kKx set Zp=klx set QFv=kLx set Kf=csx call TriggerEvaluate(H8e) endfunction function KMr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=H0e[VFx] local integer b0r=H3e[VFx] local integer b1r=H5e[VFx] local integer csx=H6e[VFx] local integer Wmo=H4e[VFx] local real h0x=(qyv[(tgo)]) local real h1x=(qYv[(tgo)]) local real kJx=(qzv[(tgo)]) local real fCo call tDo(tgo) if(csx!=w)then set zH=(ze[(hdx)]) if KGr(csx)then set fCo=H1e[VFx] +call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set H1e[VFx]=fCo*(1.-H7e) call KJr(H2e[VFx],csx) endif endif if(b1r==b0r)then +call KLr(VFx) else +set bae=Wmo set zH=(ze[(hdx)]) call fXo(Hue,h0x,h1x,H_e[VFx],HUe) if(csx!=w)then call GroupRemoveUnit(jd[(Hue)],C[(csx)]) +call Bvx(Wmo,csx) endif set csx=(SJo((Hue),((h0x)*1.),((h1x)*1.))) if(csx==w)then call KLr(VFx) else +set H5e[VFx]=b1r+1 call Kmr(VFx,h0x,h1x,kJx,csx) endif endif return true endfunction function Kpr takes integer VFx,real kKx,real klx,real kLx,integer csx returns nothing local integer tgo=teo() set H6e[VFx]=csx +call HDx(H4e[VFx],csx) set qsv[(tgo)]=((10.)*1.) call tio(tgo,'qSev',2.) set quv[(tgo)]=Ntx((function KMr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,900.) call tTo(tgo,kKx,klx,kLx) call t4o((tgo),(csx),.0,.0,.0,(null)) endfunction function KPr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local integer VFx=Kjr() set H_e[VFx]=(hDx((Jwv),Yhv+(EKx))) set H0e[VFx]=hdx +set H1e[VFx]=HSe[EKx] set H2e[VFx]=EKx +set H3e[VFx]=Hse[EKx] set H4e[VFx]=Pcx("Severance_Event_SpellEffect: set this.targetGroup = UnitList.Create()") set H5e[VFx]=1 call Kpr(VFx,xnr,xVr,bzx(hdx,xnr,xVr)+bZx(hdx,true),csx) +return true endfunction function Kqr takes nothing returns boolean set Hue=Bkx() set HUe=Nyx(function Khr) call Sao(Jwv,Nlx("Severance_Init: call Severance.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Severance.Event_SpellEffect))",kK,VB,function KPr)) +call oio(Ahv,Hme) return true endfunction function KQr takes nothing returns boolean call hOr(function Kqr,"Severance_Init") return true endfunction function Ksr takes nothing returns boolean set H9e[1]=700 set H9e[2]=700 set H9e[3]=700 set H9e[4]=700 set H9e[5]=700 set H9e[6]=700 set jve[1]=7 +set jve[2]=$D set jve[3]=21 set jve[4]=31 set jve[5]=43 set jve[6]=57 set jee[1]=50 set jee[2]=50 set jee[3]=50 set jee[4]=50 set jee[5]=50 set jee[6]=50 set jxe[1]=400 set jxe[2]=500 set jxe[3]=600 set jxe[4]=700 set jxe[5]=800 set jxe[6]=900 return true endfunction function KSr takes nothing returns boolean call IGx(VE,(function Ksr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\SnowySphere.page\\SnowySphere.struct\\Particle\\obj_this_wc3obj.j")) return true endfunction function Ktr takes nothing returns boolean set joe=Idx(jre) +return true endfunction function KTr takes nothing returns boolean call scx('ASnS',false) set jie=s2o('ASnS') set orv[(jie)]=(x6v) +set onv[(jie)]=(6) set Zl[(jie)]=("Snowy Sphere") set PK[(jie)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D02B6)))),(((FL)))))) set Vnv[(jie)]=(2) set n9v[(jie)]=("spell") +call s3o((jie),Yhv+(1),((75)*1.)) call s3o((jie),Ll+(1),(($F)*1.)) +call s3o((jie),Pkv+(1),((500)*1.)) call s3o((jie),Yhv+(2),((75)*1.)) call s3o((jie),Ll+(2),(($F)*1.)) +call s3o((jie),Pkv+(2),((500)*1.)) call s3o((jie),Yhv+(3),((75)*1.)) call s3o((jie),Ll+(3),(($F)*1.)) +call s3o((jie),Pkv+(3),((500)*1.)) call s3o((jie),Yhv+(4),((75)*1.)) call s3o((jie),Ll+(4),(($F)*1.)) +call s3o((jie),Pkv+(4),((500)*1.)) call s3o((jie),Yhv+(5),((75)*1.)) call s3o((jie),Ll+(5),(($F)*1.)) +call s3o((jie),Pkv+(5),((500)*1.)) call s3o((jie),Yhv+(6),((75)*1.)) call s3o((jie),Ll+(6),(($F)*1.)) +call s3o((jie),Pkv+(6),((500)*1.)) set Qkv[(jie)]=("ReplaceableTextures\\CommandButtons\\BTNTornado.blp") set jae[1]=$E set jae[2]=$E set jae[3]=$E set jae[4]=$E set jae[5]=$E set jae[6]=$E set jne[1]=800 set jne[2]=800 set jne[3]=800 set jne[4]=800 set jne[5]=800 set jne[6]=800 set jVe[1]=800 set jVe[2]=800 set jVe[3]=800 set jVe[4]=800 set jVe[5]=800 set jVe[6]=800 set jEe[1]=20 set jEe[2]=30 set jEe[3]=40 set jEe[4]=50 set jEe[5]=60 set jEe[6]=70 return true endfunction function Kur takes nothing returns boolean call IGx(UE,(function KTr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\SnowySphere.page\\SnowySphere.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function KUr takes nothing returns boolean set jXe=Idx(jOe) +return true endfunction function Kwr takes integer VFx returns integer set jbe[VFx]=true set jBe[VFx]=false call V1x(jXe) return VFx endfunction function KWr takes nothing returns integer local integer VFx if(jRe==8190)then call Vmx("SnowySphere_Allocation_allocCustom","call DebugEx(SnowySphere.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",jOe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(jIe[(w)]==w)then set jAe=jAe+1 set VFx=jAe else +set VFx=jIe[(w)] +set jIe[(w)]=jIe[jIe[(w)]] endif set jIe[VFx]=Z set jNe[VFx]=1 call Kwr(VFx) return VFx endfunction function Kyr takes integer VFx returns integer set jQe[VFx]=true set jse[VFx]=false call V1x(joe) return VFx endfunction function KYr takes nothing returns integer local integer VFx if(jMe==8190)then call Vmx("FolderSnowySphere_StructParticle_Allocation_allocCustom","call DebugEx(FolderSnowySphere_StructParticle.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",jre+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(jpe[(w)]==w)then set jPe=jPe+1 set VFx=jPe else +set VFx=jpe[(w)] +set jpe[(w)]=jpe[jpe[(w)]] endif set jpe[VFx]=Z set jqe[VFx]=1 call Kyr(VFx) return VFx endfunction function Kzr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=jte[VFx] local integer MCx=jue[VFx] local integer Wmo=jUe[VFx] local real x=(Rm[(MCx)])+jWe[VFx] local real y=(bm[(MCx)])+jYe[VFx] local integer csx local real fCo call tKo(MCx,x,y,(hz[(MCx)])) set bae=Wmo set zH=(ze[(hdx)]) call fXo(j_e,x,y,jSe[VFx],j0e) set csx=fOo(j_e) +if(csx!=w)then set fCo=jTe[VFx] +loop +call HDx(Wmo,csx) call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(j_e) +exitwhen(csx==w) +endloop endif endfunction function KZr takes integer VFx returns nothing set jQe[VFx]=false call EEx(joe) endfunction function K_r takes integer VFx returns nothing if(jqe[VFx]>0)then return endif if(jpe[VFx]!=Z)then call Vmx("FolderSnowySphere_StructParticle_Allocation_deallocCustom_confirm","call DebugEx(FolderSnowySphere_StructParticle.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",jre+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set jpe[VFx]=jpe[(w)] set jpe[(w)]=VFx +call KZr(VFx) endfunction function K0r takes integer VFx returns nothing set jqe[VFx]=jqe[VFx]-1 call K_r(VFx) endfunction function K1r takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer MCx=jue[VFx] local integer Wmo=jUe[VFx] local integer WLo=jwe[VFx] local integer hgx=jze[VFx] call K0r((VFx)) call SWx(MCx) call Xbx(Xrx) call HZo(Wmo) call Xbx(WLo) call v0o(hgx) endfunction function K2r takes real OMx,integer hdx,real fCo,integer EKx,integer hgx,real x,real y,real z returns nothing local integer VFx=KYr() local integer Xrx=E5x() local integer MCx=syx('qSnP',x,y,z,OMx) local integer WLo=E5x() set jSe[VFx]=jee[EKx] set jte[VFx]=hdx +set jTe[VFx]=fCo +set jue[VFx]=MCx +set jUe[VFx]=Pcx("FolderSnowySphere_StructParticle_Start: set this.targetGroup = UnitList.Create()") +set jwe[VFx]=WLo +set jWe[VFx]=jye[EKx]*(Cos(((((OMx)*1.))*1.))) set jYe[VFx]=jye[EKx]*(Sin(((((OMx)*1.))*1.))) set jze[VFx]=hgx +set ge[(Xrx)]=(VFx) set ge[(WLo)]=(VFx) call vLo(hgx) call Xax(WLo,jZe,true,function Kzr) call Xax(Xrx,j1e[EKx],false,function K1r) endfunction function K3r takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local real OMx=jFe[VFx]+jge[VFx] +local integer MCx=jde[VFx] set jFe[VFx]=OMx +call K2r(OMx,jce[VFx],jCe[VFx],jfe[VFx],jke[VFx],(Rm[(MCx)])+jhe[VFx],(bm[(MCx)])+jje[VFx],(hz[(MCx)])) endfunction function K4r takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer MCx=jde[VFx] call tKo(MCx,(Rm[(MCx)])+jKe[VFx],(bm[(MCx)])+jLe[VFx],(hz[(MCx)])) endfunction function K5r takes integer VFx returns nothing set jbe[VFx]=false call EEx(jXe) endfunction function K6r takes integer VFx returns nothing if(jNe[VFx]>0)then return endif if(jIe[VFx]!=Z)then call Vmx("SnowySphere_Allocation_deallocCustom_confirm","call DebugEx(SnowySphere.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",jOe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set jIe[VFx]=jIe[(w)] set jIe[(w)]=VFx +call K5r(VFx) endfunction function K7r takes integer VFx returns nothing set jNe[VFx]=jNe[VFx]-1 call K6r(VFx) endfunction function K8r takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer MCx=jde[VFx] local integer TBx=jDe[VFx] local integer WLo=jJe[VFx] local integer hgx=jke[VFx] call K7r((VFx)) call Szx(MCx) call Xbx(Xrx) call Xbx(TBx) call Xbx(WLo) call h7x(hgx) endfunction function K9r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real brr=drx(hdx)+bZx(hdx,true) local real OMx=vPo(hdx,h0x-xnr,h1x-xVr) local real Doo=(Cos(((((OMx)*1.))*1.))) local real Dro=(Sin(((((OMx)*1.))*1.))) local integer VFx=KWr() local integer MCx=syx('qSnS',xnr,xVr,brr,OMx) local integer Xrx=E5x() local integer TBx=E5x() local integer WLo=E5x() local integer hgx=hCx(hdx,jie) set jce[VFx]=hdx +set jCe[VFx]=jve[EKx] set jde[VFx]=MCx +set jDe[VFx]=TBx +set jfe[VFx]=EKx +set jFe[VFx]=OMx +set jge[VFx]=jGe[EKx] set jhe[VFx]=jHe*Doo +set jje[VFx]=jHe*Dro +set jJe[VFx]=WLo +set jke[VFx]=hgx +set jKe[VFx]=jle[EKx]*Doo set jLe[VFx]=jle[EKx]*Dro set ge[(Xrx)]=(VFx) set ge[(TBx)]=(VFx) set ge[(WLo)]=(VFx) call Xax(TBx,jme[EKx],true,function K3r) +call Xax(WLo,j2e,true,function K4r) call Xax(Xrx,j3e[EKx],false,function K8r) return true endfunction function lvr takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if Cmx(csx,chv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function ler takes nothing returns nothing local integer VBx set j_e=Bkx() set j0e=Nyx(function lvr) set VBx=(onv[(jie)]) +loop +set j1e[VBx]=jxe[VBx]*1./ H9e[VBx] set jye[VBx]=H9e[VBx]*jZe set VBx=VBx-1 exitwhen(VBx<1) endloop endfunction function lxr takes nothing returns boolean local integer VBx call Sao(jie,Nlx("SnowySphere_Init: call SnowySphere.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SnowySphere.Event_SpellEffect))",kK,VB,function K9r)) set VBx=(onv[(jie)]) +loop +set j3e[VBx]=jne[VBx]*1./ jVe[VBx] set jle[VBx]=jVe[VBx]*j2e set jme[VBx]=j3e[VBx]*1./ jEe[VBx] set jGe[VBx]=jae[VBx]*jme[VBx]*1./ j3e[VBx] set VBx=VBx-1 exitwhen(VBx<1) endloop call ler() return true endfunction function lor takes nothing returns boolean call hOr(function lxr,"SnowySphere_Init") return true endfunction function lrr takes nothing returns boolean call scx('AThS',false) set fTe=s2o('AThS') set orv[(fTe)]=(x6v) +set onv[(fTe)]=(6) set Zl[(fTe)]=("Thunderstrike") set PK[(fTe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0080)))),(((FL)))))) set Vnv[(fTe)]=(2) set n9v[(fTe)]=("spell") +call s3o((fTe),Yhv+(1),((350)*1.)) call s3o((fTe),Ll+(1),(($E)*1.)) +call s3o((fTe),zl+(1),((90)*1.)) +call s3o((fTe),Pkv+(1),(($3E8)*1.)) call s3o((fTe),Yhv+(2),((400)*1.)) call s3o((fTe),Ll+(2),(($E)*1.)) +call s3o((fTe),zl+(2),(('i')*1.)) call s3o((fTe),Pkv+(2),(($3E8)*1.)) call s3o((fTe),Yhv+(3),((450)*1.)) call s3o((fTe),Ll+(3),(($E)*1.)) +call s3o((fTe),zl+(3),(('x')*1.)) call s3o((fTe),Pkv+(3),(($3E8)*1.)) call s3o((fTe),Yhv+(4),((500)*1.)) call s3o((fTe),Ll+(4),(($E)*1.)) +call s3o((fTe),zl+(4),(($87)*1.)) call s3o((fTe),Pkv+(4),(($3E8)*1.)) call s3o((fTe),Yhv+(5),((550)*1.)) call s3o((fTe),Ll+(5),(($E)*1.)) +call s3o((fTe),zl+(5),(($96)*1.)) call s3o((fTe),Pkv+(5),(($3E8)*1.)) call s3o((fTe),Yhv+(6),((600)*1.)) call s3o((fTe),Ll+(6),(($E)*1.)) +call s3o((fTe),zl+(6),(($A5)*1.)) call s3o((fTe),Pkv+(6),(($3E8)*1.)) set Qkv[(fTe)]=("ReplaceableTextures\\CommandButtons\\BTNMonsoon.blp") call G5r(fTe,'FTh0',6,'VTh0','LPTh','LRTh') set j4e[1]=2 +set j4e[2]=2.25 set j4e[3]=2.5 set j4e[4]=2.75 set j4e[5]=3 +set j4e[6]=3.25 set j5e[1]=1.5 set j5e[2]=1.75 set j5e[3]=2 +set j5e[4]=2.25 set j5e[5]=2.5 set j5e[6]=2.75 set j6e[1]=50 set j6e[2]=75 set j6e[3]='d' set j6e[4]='}' set j6e[5]=$96 set j6e[6]=$AF return true endfunction function lir takes nothing returns boolean call IGx(UE,(function lrr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\Thunderstrike.page\\Thunderstrike.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function lar takes nothing returns boolean set j7e=Idx(j8e) +return true endfunction function lnr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function lVr takes integer VFx returns integer set Jie[VFx]=true set Jae[VFx]=false call V1x(j7e) return VFx endfunction function lEr takes nothing returns integer local integer VFx if(Jee==8190)then call Vmx("Thunderstrike_Allocation_allocCustom","call DebugEx(Thunderstrike.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",j8e+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Jxe[(w)]==w)then set Joe=Joe+1 set VFx=Joe else +set VFx=Jxe[(w)] +set Jxe[(w)]=Jxe[Jxe[(w)]] endif set Jxe[VFx]=Z set Jre[VFx]=1 call lVr(VFx) return VFx endfunction function lXr takes integer VFx,real Dio,real Xdx returns nothing +if(Xdx>0)then call SetUnitFlyHeight(nm[(VFx)],Dio,(Dio-(GetUnitFlyHeight(nm[((VFx))])))*1./ Xdx) else +call SetUnitFlyHeight(nm[(VFx)],Dio,.0) endif endfunction function lOr takes integer VFx returns nothing set Jie[VFx]=false call EEx(j7e) endfunction function lRr takes integer VFx returns nothing if(Jre[VFx]>0)then return endif if(Jxe[VFx]!=Z)then call Vmx("Thunderstrike_Allocation_deallocCustom_confirm","call DebugEx(Thunderstrike.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",j8e+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Jxe[VFx]=Jxe[(w)] set Jxe[(w)]=VFx +call lOr(VFx) endfunction function lIr takes integer VFx returns nothing set Jre[VFx]=Jre[VFx]-1 call lRr(VFx) endfunction function lAr takes nothing returns nothing local integer bUx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(bUx)]) local real h0x=JIe[VFx] local real h1x=JAe[VFx] local integer hgx=Jbe[VFx] local integer EKx=(Dl[(hgx)]) local integer lNr=syx('qTSN',h0x,h1x,bex(h0x,h1x),.0) call lIr((VFx)) call Xbx(bUx) call SWx(JRe[VFx]) call h7x(hgx) call swx(lNr,(hDx((fTe),Yhv+(EKx)))*1./(100.)) call JRo(lNr,2.) +endfunction function lbr takes nothing returns nothing local integer bUx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(bUx)]) local real Cao=Jne[VFx] local integer hdx=JVe[VFx] local integer lBr=JEe[VFx] local real fCo=JXe[VFx] local real h0x=JIe[VFx] local real h1x=JAe[VFx] local integer hgx=Jbe[VFx] local integer EKx=(Dl[(hgx)]) local integer csx local real lcr local real lCr local real ldr call SWx(lBr) call wgo((Sjo(((h0x)*1.),((h1x)*1.),(Jde),(EV))),.5) +set zH=(ze[(hdx)]) call fXo(j9e,h0x,h1x,Cao,Jve) set csx=fOo(j9e) +if(csx!=w)then set lcr=j5e[EKx] +set lCr=j4e[EKx] +loop +if Cmx(csx,rG)then set ldr=lcr else +set ldr=lCr endif call d9x((csx),(N0v),(EKx),w,((ldr)*1.)) +call AYo((hdx),(csx),((fCo)*1.),(true),(true)) set csx=fOo(j9e) +exitwhen(csx==w) +endloop endif call Xax(bUx,.15,false,function lAr) +endfunction function lDr takes integer hdx,integer EKx,real h0x,real h1x,integer hgx returns nothing +local real Cao=(hDx((fTe),Yhv+(EKx))) local real kJx=bex(h0x,h1x) local integer VFx=lEr() local integer lBr=syx('qThS',h0x,h1x,kJx,oj) +local integer bUx=E5x() local integer lfr=syx('qTSA',h0x,h1x,kJx,oj) +set Jne[VFx]=Cao +set JVe[VFx]=hdx +set JEe[VFx]=lBr +set JXe[VFx]=j6e[EKx] set JOe[VFx]=bUx +set JRe[VFx]=lfr +set JIe[VFx]=h0x +set JAe[VFx]=h1x +set JNe[VFx]=kJx +set Jbe[VFx]=hgx +set ge[(bUx)]=(VFx) call Pyo(lfr,Cao*1./(256.*1./ 5)) call sWx(lfr,$FF,$FF,$FF,$7F) call lXr(lBr,JBe,Jce-JCe) call Odr(lBr,Cao*1./ 128.-1.,Jce) call Xax(bUx,Jce,false,function lbr) +endfunction function lFr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) call lDr(hdx,(Mv[(Eix)]),(rL[(Eix)]),(iL[(Eix)]),hCx(hdx,fTe)) return true endfunction function lgr takes nothing returns boolean set j9e=Bkx() set Jve=Nyx(function lnr) call Sao(fTe,Nlx("Thunderstrike_Init: call Thunderstrike.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Thunderstrike.Event_SpellEffect))",kK,VB,function lFr)) +return true endfunction function lGr takes nothing returns boolean call hOr(function lgr,"Thunderstrike_Init") return true endfunction function lhr takes nothing returns boolean set JDe[6]=LBo('uTW6') call Lco(((JDe[6])),CPv,(cgv)) set vm[(JDe[6])]=((1.4)*1.) call LCo(JDe[6],$C8,$C8,$C8,$FF) +set div[(JDe[6])]=((60)*1.) set dsv[(JDe[6])]=((60)*1.) set Cp[(JDe[6])]=((320)*1.) set c5v[(JDe[6])]=((3)*1.) set Crv[(JDe[6])]=(2) set djv[(JDe[6])]=((620)*1.) +set dHv[(JDe[6])]=((620)*1.) +set dGv[(JDe[6])]=((0)*1.) set dkv[(JDe[6])]=((0)*1.) set dJv[(JDe[6])]=((0)*1.) set dhv[(JDe[6])]=((0)*1.) set dRv[(JDe[6])]=(($578)*1.) set dXv[(JDe[6])]=(($578)*1.) set dCv[(JDe[6])]=(('n')*1.) +set Cbv[(JDe[6])]=(jtv) set CDv[(JDe[6])]=(('l')*1.) +set Cfv[((JDe[6]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(JDe[6])]=((.33)*1.) +set Csv[(JDe[6])]=((35)*1.) set CSv[(JDe[6])]=((35)*1.) set CUv[(JDe[6])]=(4) set Cyv[(JDe[6])]=(5) set CZv[(JDe[6])]=(0) set CQv[(JDe[6])]=((33)*1.) return true endfunction function lHr takes nothing returns boolean set JDe[1]=LBo('uTW1') call Lco(((JDe[1])),CPv,(cgv)) set vm[(JDe[1])]=((.9)*1.) call LCo(JDe[1],$C8,$C8,$C8,$FF) +set div[(JDe[1])]=((60)*1.) set dsv[(JDe[1])]=((60)*1.) set Cp[(JDe[1])]=((320)*1.) set c5v[(JDe[1])]=((0)*1.) set Crv[(JDe[1])]=(2) set djv[(JDe[1])]=((90)*1.) set dHv[(JDe[1])]=((90)*1.) set dGv[(JDe[1])]=((0)*1.) set dkv[(JDe[1])]=((0)*1.) set dJv[(JDe[1])]=((0)*1.) set dhv[(JDe[1])]=((0)*1.) set dRv[(JDe[1])]=(($578)*1.) set dXv[(JDe[1])]=(($578)*1.) set dCv[(JDe[1])]=((50)*1.) set Cbv[(JDe[1])]=(jtv) set CDv[(JDe[1])]=(('l')*1.) +set Cfv[((JDe[1]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(JDe[1])]=((.33)*1.) +set Csv[(JDe[1])]=((8)*1.) set CSv[(JDe[1])]=((8)*1.) set CUv[(JDe[1])]=(1) set Cyv[(JDe[1])]=(5) set CZv[(JDe[1])]=(0) set CQv[(JDe[1])]=((33)*1.) return true endfunction function ljr takes nothing returns boolean set JDe[2]=LBo('uTW2') call Lco(((JDe[2])),CPv,(cgv)) set vm[(JDe[2])]=((1)*1.) call LCo(JDe[2],$C8,$C8,$C8,$FF) +set div[(JDe[2])]=((60)*1.) set dsv[(JDe[2])]=((60)*1.) set Cp[(JDe[2])]=((320)*1.) set c5v[(JDe[2])]=((1)*1.) set Crv[(JDe[2])]=(2) set djv[(JDe[2])]=(($87)*1.) +set dHv[(JDe[2])]=(($87)*1.) +set dGv[(JDe[2])]=((0)*1.) set dkv[(JDe[2])]=((0)*1.) set dJv[(JDe[2])]=((0)*1.) set dhv[(JDe[2])]=((0)*1.) set dRv[(JDe[2])]=(($578)*1.) set dXv[(JDe[2])]=(($578)*1.) set dCv[(JDe[2])]=((80)*1.) set Cbv[(JDe[2])]=(jtv) set CDv[(JDe[2])]=(('l')*1.) +set Cfv[((JDe[2]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(JDe[2])]=((.33)*1.) +set Csv[(JDe[2])]=(($C)*1.) set CSv[(JDe[2])]=(($C)*1.) set CUv[(JDe[2])]=(2) set Cyv[(JDe[2])]=(3) set CZv[(JDe[2])]=(0) set CQv[(JDe[2])]=((33)*1.) return true endfunction function lJr takes nothing returns boolean call scx('ATwW',false) set fqe=s2o('ATwW') set orv[(fqe)]=(x6v) +set onv[(fqe)]=(6) set Zl[(fqe)]=("Twin Wolves") set PK[(fqe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D009E)))),(((FL)))))) set Vnv[(fqe)]=(0) set n9v[(fqe)]=("spell") +call s3o((fqe),Ll+(1),(($F)*1.)) +call s3o((fqe),zl+(1),(('d')*1.)) call s3o((fqe),Pkv+(1),((750)*1.)) call s3o((fqe),Ll+(2),(($F)*1.)) +call s3o((fqe),zl+(2),(('d')*1.)) call s3o((fqe),Pkv+(2),((750)*1.)) call s3o((fqe),Ll+(3),(($F)*1.)) +call s3o((fqe),zl+(3),(('d')*1.)) call s3o((fqe),Pkv+(3),((750)*1.)) call s3o((fqe),Ll+(4),(($F)*1.)) +call s3o((fqe),zl+(4),(('d')*1.)) call s3o((fqe),Pkv+(4),((750)*1.)) call s3o((fqe),Ll+(5),(($F)*1.)) +call s3o((fqe),zl+(5),(('d')*1.)) call s3o((fqe),Pkv+(5),((750)*1.)) call s3o((fqe),Ll+(6),(($F)*1.)) +call s3o((fqe),zl+(6),(('d')*1.)) call s3o((fqe),Pkv+(6),((750)*1.)) set Qkv[(fqe)]=("ReplaceableTextures\\CommandButtons\\BTNWolf.blp") call G5r(fqe,'FAW0',6,'VAW0','LPAW','LRAW') return true endfunction function lkr takes nothing returns boolean set JDe[3]=LBo('uTW3') call Lco(((JDe[3])),CPv,(cgv)) set vm[(JDe[3])]=((1.1)*1.) call LCo(JDe[3],$C8,$C8,$C8,$FF) +set div[(JDe[3])]=((60)*1.) set dsv[(JDe[3])]=((60)*1.) set Cp[(JDe[3])]=((320)*1.) set c5v[(JDe[3])]=((1)*1.) set Crv[(JDe[3])]=(2) set djv[(JDe[3])]=(($C8)*1.) +set dHv[(JDe[3])]=(($C8)*1.) +set dGv[(JDe[3])]=((0)*1.) set dkv[(JDe[3])]=((0)*1.) set dJv[(JDe[3])]=((0)*1.) set dhv[(JDe[3])]=((0)*1.) set dRv[(JDe[3])]=(($578)*1.) set dXv[(JDe[3])]=(($578)*1.) set dCv[(JDe[3])]=(('n')*1.) +set Cbv[(JDe[3])]=(jtv) set CDv[(JDe[3])]=(('l')*1.) +set Cfv[((JDe[3]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(JDe[3])]=((.33)*1.) +set Csv[(JDe[3])]=((16)*1.) set CSv[(JDe[3])]=((16)*1.) set CUv[(JDe[3])]=(3) set Cyv[(JDe[3])]=(3) set CZv[(JDe[3])]=(0) set CQv[(JDe[3])]=((33)*1.) return true endfunction function lKr takes nothing returns boolean set JDe[4]=LBo('uTW4') call Lco(((JDe[4])),CPv,(cgv)) set vm[(JDe[4])]=((1.2)*1.) call LCo(JDe[4],$C8,$C8,$C8,$FF) +set div[(JDe[4])]=((60)*1.) set dsv[(JDe[4])]=((60)*1.) set Cp[(JDe[4])]=((320)*1.) set c5v[(JDe[4])]=((2)*1.) set Crv[(JDe[4])]=(2) set djv[(JDe[4])]=((315)*1.) +set dHv[(JDe[4])]=((315)*1.) +set dGv[(JDe[4])]=((0)*1.) set dkv[(JDe[4])]=((0)*1.) set dJv[(JDe[4])]=((0)*1.) set dhv[(JDe[4])]=((0)*1.) set dRv[(JDe[4])]=(($578)*1.) set dXv[(JDe[4])]=(($578)*1.) set dCv[(JDe[4])]=(('n')*1.) +set Cbv[(JDe[4])]=(jtv) set CDv[(JDe[4])]=(('l')*1.) +set Cfv[((JDe[4]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(JDe[4])]=((.33)*1.) +set Csv[(JDe[4])]=((22)*1.) set CSv[(JDe[4])]=((22)*1.) set CUv[(JDe[4])]=(3) set Cyv[(JDe[4])]=(4) set CZv[(JDe[4])]=(0) set CQv[(JDe[4])]=((33)*1.) return true endfunction function llr takes nothing returns boolean set Jfe[1]=20 set Jfe[2]=20 set Jfe[3]=20 set Jfe[4]=20 set Jfe[5]=20 set Jfe[6]=20 set JFe[1]=2 +set JFe[2]=2 +set JFe[3]=2 +set JFe[4]=2 +set JFe[5]=2 +set JFe[6]=2 +return true endfunction function lLr takes nothing returns boolean set JDe[5]=LBo('uTW5') call Lco(((JDe[5])),CPv,(cgv)) set vm[(JDe[5])]=((1.3)*1.) call LCo(JDe[5],$C8,$C8,$C8,$FF) +set div[(JDe[5])]=((60)*1.) set dsv[(JDe[5])]=((60)*1.) set Cp[(JDe[5])]=((320)*1.) set c5v[(JDe[5])]=((2)*1.) set Crv[(JDe[5])]=(2) set djv[(JDe[5])]=((450)*1.) +set dHv[(JDe[5])]=((450)*1.) +set dGv[(JDe[5])]=((0)*1.) set dkv[(JDe[5])]=((0)*1.) set dJv[(JDe[5])]=((0)*1.) set dhv[(JDe[5])]=((0)*1.) set dRv[(JDe[5])]=(($578)*1.) set dXv[(JDe[5])]=(($578)*1.) set dCv[(JDe[5])]=(('n')*1.) +set Cbv[(JDe[5])]=(jtv) set CDv[(JDe[5])]=(('l')*1.) +set Cfv[((JDe[5]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(JDe[5])]=((.33)*1.) +set Csv[(JDe[5])]=((31)*1.) set CSv[(JDe[5])]=((31)*1.) set CUv[(JDe[5])]=(4) set Cyv[(JDe[5])]=(4) set CZv[(JDe[5])]=(0) set CQv[(JDe[5])]=((33)*1.) return true endfunction function lmr takes nothing returns boolean call IGx(yE,(function lhr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\obj_summonUnitType[6]_wc3unit.j")) call IGx(yE,(function lHr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\obj_summonUnitType[1]_wc3unit.j")) call IGx(yE,(function ljr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\obj_summonUnitType[2]_wc3unit.j")) call IGx(UE,(function lJr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\obj_thisSpell_wc3spell.j")) +call IGx(yE,(function lkr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\obj_summonUnitType[3]_wc3unit.j")) call IGx(yE,(function lKr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\obj_summonUnitType[4]_wc3unit.j")) call IGx(VE,(function llr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\obj_this_wc3obj.j")) call IGx(yE,(function lLr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\obj_summonUnitType[5]_wc3unit.j")) return true endfunction function lMr takes nothing returns boolean set Jge=Idx(JGe) +return true endfunction function lpr takes integer EKx,integer hdx,real x,real y,real OMx returns integer local integer hbo=(ze[(hdx)]) local integer lPr=eDr(JDe[EKx],hbo,x,y,OMx,Jfe[EKx]) +call EMx((lPr),(JJe),(EKx)) call JVx((lPr),-((.0)*1.),-((.0)*1.),-((.0)*1.),-((255.)*1.)) call JCx(lPr,.0,.0,.0,255.,Jke) return lPr endfunction function lqr takes integer lQr,integer EKx,integer lsr returns nothing set Jle=lsr call EMx((lQr),(JLe),(EKx)) endfunction function lSr takes integer csx,integer EKx returns nothing call d9x((csx),(Jme),(EKx),w,((JMe[EKx])*1.)) endfunction function ltr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real lTr=(GetUnitFacing(C[((hdx))])*sK) local real lur=hyx(hdx,true)+Jhe +local real kKx=(GetUnitX(C[((hdx))]))+lur*(Cos(((((lTr)*1.))*1.))) local real klx=(GetUnitY(C[((hdx))]))+lur*(Sin(((((lTr)*1.))*1.))) local integer lUr=JFe[EKx] local real lwr=lTr-JHe*1./ 2 +local real lWr=JHe*1./(lUr-1) local integer array lyr local real OMx local real x +local real y +loop +exitwhen(lUr<1) set OMx=lwr+(lUr-1)*lWr set x=kKx+Jje*(Cos(((((OMx)*1.))*1.))) set y=klx+Jje*(Sin(((((OMx)*1.))*1.))) set lyr[lUr]=lpr(EKx,hdx,x,y,OMx) call hxx(lyr[lUr],B8,x+JKe*(Cos(((((OMx)*1.))*1.))),y+JKe*(Sin(((((OMx)*1.))*1.)))) set lUr=lUr-1 endloop call lqr(lyr[1],EKx,lyr[2]) call lqr(lyr[2],EKx,lyr[1]) call lSr(hdx,EKx) return true endfunction function lYr takes nothing returns boolean call Sao(fqe,Nlx("TwinWolves_Init: call TwinWolves.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TwinWolves.Event_SpellEffect))",kK,VB,function ltr)) return true endfunction function lzr takes nothing returns boolean call kyr(function lYr,"TwinWolves_Init") +return true endfunction function lZr takes nothing returns boolean set Jpe=x6o('BBrh',"Brotherhood",'bBrh') +set ORv[(Jpe)]=("ReplaceableTextures\\PassiveButtons\\PASBTNGnollCommandAura.blp") return true endfunction function l_r takes nothing returns boolean call scx('ABrh',false) set JLe=s2o('ABrh') set orv[(JLe)]=(ovv) +set onv[(JLe)]=(1) set Zl[(JLe)]=("Brotherhood") set n9v[(JLe)]=("spell") +call s3o((JLe),Pkv+(1),((750)*1.)) set Qkv[(JLe)]=("ReplaceableTextures\\PassiveButtons\\PASBTNGnollCommandAura.blp") return true endfunction function l0r takes nothing returns boolean call IGx(tE,(function lZr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\Brotherhood.page\\Brotherhood.struct\\obj_dummyBuff_wc3buff.j")) call IGx(UE,(function l_r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\Brotherhood.page\\Brotherhood.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function l1r takes nothing returns boolean set JPe=Idx(Jqe) +return true endfunction function l2r takes nothing returns boolean local integer Eix=(bv) local integer P9o=(A9v[(Eix)]) local real l3r=(A8v[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer l4r=Jse[VFx] local real l5r if((Qf[(l4r)])or Cmx(l4r,tf))then return true endif set l5r=l3r*JSe*1./ 2 if(l5r<=.0)then return true endif call Ato((P9o),(l4r),((l5r)*1.),(false)) +set A8v[(Eix)]=((l3r-l5r)*1.) return true endfunction function l6r takes nothing returns boolean local integer Eix=(bv) local integer l4r=Jle local integer csx=(Vv[(Eix)]) local integer VFx=csx set Jse[VFx]=l4r +call CMx(csx,JQe) call kgx(l4r) return true endfunction function l7r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer l4r=Jse[VFx] call cEx(csx,JQe) call qQx(l4r) return true endfunction function l8r takes nothing returns boolean local integer Eix=(bv) call WMo((Vv[(Eix)]),Jpe,(Mv[(Eix)])) return true endfunction function l9r takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),Jpe) return true endfunction function Lvr takes nothing returns boolean set JQe=Nlx("Brotherhood_Init: set Brotherhood.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.TARGET_EVENT_TYPE, EventPriority.SPELLS, function Brotherhood.Event_Damage)",Nvv,VB,function l2r) call Ufx(Jpe,Nlx("Brotherhood_Init: call Brotherhood.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Brotherhood.Event_BuffGain))",dg,VB,function l6r)) call Ufx(Jpe,Nlx("Brotherhood_Init: call Brotherhood.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Brotherhood.Event_BuffLose))",Hf,VB,function l7r)) call Sao(JLe,Nlx("Brotherhood_Init: call Brotherhood.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Brotherhood.Event_Learn))",pv,VB,function l8r)) call Sao(JLe,Nlx("Brotherhood_Init: call Brotherhood.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Brotherhood.Event_Unlearn))",Av,VB,function l9r)) return true endfunction function Ler takes nothing returns boolean call kyr(function Lvr,"Brotherhood_Init") return true endfunction function Lxr takes nothing returns boolean call scx('ACar',false) set JJe=s2o('ACar') set orv[(JJe)]=(ovv) +set onv[(JJe)]=(1) set Zl[(JJe)]=("Carnivore") set n9v[(JJe)]=("spell") +call s3o((JJe),Pkv+(1),((750)*1.)) set Qkv[(JJe)]=("ReplaceableTextures\\PassiveButtons\\PASBTNVampiricAura.blp") return true endfunction function Lor takes nothing returns boolean set Jte=x6o('BCar',"Carnivore",'bCar') set ORv[(Jte)]=("ReplaceableTextures\\PassiveButtons\\PASBTNVampiricAura.blp") call Urx(Jte,"Abilities\\Spells\\NightElf\\BattleRoar\\RoarTarget.mdl","overhead",EV) set v2v=UEx() call URx(v2v,fIv,20) +call URx(v2v,Fov,5) call UIx(((Jte)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,fIv,30) +call URx(v2v,Fov,$A) +call UIx(((Jte)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,fIv,40) +call URx(v2v,Fov,$F) +call UIx(((Jte)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,fIv,50) +call URx(v2v,Fov,20) +call UIx(((Jte)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,fIv,60) +call URx(v2v,Fov,25) +call UIx(((Jte)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,fIv,70) +call URx(v2v,Fov,30) +call UIx(((Jte)),YD+(6),(v2v)) return true endfunction function Lrr takes nothing returns boolean set JTe[1]=5 +set JTe[2]=$A set JTe[3]=$F set JTe[4]=20 set JTe[5]=25 set JTe[6]=30 set Jue[1]=20 set Jue[2]=30 set Jue[3]=40 set Jue[4]=50 set Jue[5]=60 set Jue[6]=70 return true endfunction function Lir takes nothing returns boolean call IGx(UE,(function Lxr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\Carnivore.page\\Carnivore.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function Lor),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\Carnivore.page\\Carnivore.struct\\obj_dummyBuff_wc3buff.j")) call IGx(VE,(function Lrr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\Carnivore.page\\Carnivore.struct\\obj_this_wc3obj.j")) return true endfunction function Lar takes nothing returns boolean set JUe=Idx(Jwe) +return true endfunction function Lnr takes nothing returns boolean local integer Eix=(bv) call WMo((Vv[(Eix)]),Jte,(Mv[(Eix)])) return true endfunction function LVr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),Jte) return true endfunction function LEr takes nothing returns boolean call Sao(JJe,Nlx("Carnivore_Init: call Carnivore.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Carnivore.Event_Learn))",pv,VB,function Lnr)) call Sao(JJe,Nlx("Carnivore_Init: call Carnivore.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Carnivore.Event_Unlearn))",Av,VB,function LVr)) return true endfunction function LXr takes nothing returns boolean call kyr(function LEr,"Carnivore_Init") return true endfunction function LOr takes nothing returns boolean set Jme=x6o('BWoM',"Wolf's Mark",'bWoM') +set sf[(Jme)]=(true) +set ORv[(Jme)]=("ReplaceableTextures\\PassiveButtons\\PASBTNVampiricAura.blp") call Urx(Jme,"Abilities\\Spells\\NightElf\\BattleRoar\\RoarTarget.mdl","overhead",EV) set v2v=UEx() call URx(v2v,fIv,'d') call URx(v2v,f7v,'d') call URx(v2v,Fov,5) call UIx(((Jme)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,fIv,'}') call URx(v2v,f7v,'}') call URx(v2v,Fov,$A) +call UIx(((Jme)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,fIv,$96) call URx(v2v,f7v,$96) call URx(v2v,Fov,$F) +call UIx(((Jme)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,fIv,$AF) call URx(v2v,f7v,$AF) call URx(v2v,Fov,20) +call UIx(((Jme)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,fIv,$C8) call URx(v2v,f7v,$C8) call URx(v2v,Fov,25) +call UIx(((Jme)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,fIv,$E1) call URx(v2v,f7v,$E1) call URx(v2v,Fov,30) +call UIx(((Jme)),YD+(6),(v2v)) return true endfunction function LRr takes nothing returns boolean set JWe[1]='d' set JWe[2]='}' set JWe[3]=$96 set JWe[4]=$AF set JWe[5]=$C8 set JWe[6]=$E1 set JMe[1]=5 +set JMe[2]=5 +set JMe[3]=5 +set JMe[4]=5 +set JMe[5]=5 +set JMe[6]=5 +set Jye[1]='d' set Jye[2]='}' set Jye[3]=$96 set Jye[4]=$AF set Jye[5]=$C8 set Jye[6]=$E1 set JYe[1]=5 +set JYe[2]=$A set JYe[3]=$F set JYe[4]=20 set JYe[5]=25 set JYe[6]=30 return true endfunction function LIr takes nothing returns boolean call IGx(tE,(function LOr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\WolfsMark.page\\WolfsMark.struct\\obj_dummyBuff_wc3buff.j")) call IGx(VE,(function LRr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\TwinWolves.page\\TwinWolves.struct\\WolfsMark.page\\WolfsMark.struct\\obj_this_wc3obj.j")) return true endfunction function LAr takes nothing returns boolean set Jze=Idx(JZe) +return true endfunction function LNr takes nothing returns boolean return true endfunction function Lbr takes nothing returns boolean call kyr(function LNr,"WolfsMark_Init") return true endfunction function LBr takes nothing returns boolean return true endfunction function Lcr takes nothing returns boolean set J_e=Idx(J0e) +return true endfunction function LCr takes nothing returns boolean call scx('AViM',false) set J1e=s2o('AViM') set orv[(J1e)]=(x6v) +set onv[(J1e)]=(6) set Zl[(J1e)]=("Vivid Meteor") set PK[(J1e)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D026F)))),(((FL)))))) set Vnv[(J1e)]=(2) set n9v[(J1e)]=("spell") +call s3o((J1e),Yhv+(1),((300)*1.)) call s3o((J1e),Ll+(1),(($A)*1.)) +call s3o((J1e),zl+(1),((80)*1.)) +call s3o((J1e),Pkv+(1),(($578)*1.)) call s3o((J1e),Yhv+(2),((300)*1.)) call s3o((J1e),Ll+(2),(($A)*1.)) +call s3o((J1e),zl+(2),(('d')*1.)) call s3o((J1e),Pkv+(2),(($578)*1.)) call s3o((J1e),Yhv+(3),((300)*1.)) call s3o((J1e),Ll+(3),(($A)*1.)) +call s3o((J1e),zl+(3),(('x')*1.)) call s3o((J1e),Pkv+(3),(($578)*1.)) call s3o((J1e),Yhv+(4),((300)*1.)) call s3o((J1e),Ll+(4),(($A)*1.)) +call s3o((J1e),zl+(4),(($8C)*1.)) call s3o((J1e),Pkv+(4),(($578)*1.)) call s3o((J1e),Yhv+(5),((300)*1.)) call s3o((J1e),Ll+(5),(($A)*1.)) +call s3o((J1e),zl+(5),(($A0)*1.)) call s3o((J1e),Pkv+(5),(($578)*1.)) call s3o((J1e),Yhv+(6),((300)*1.)) call s3o((J1e),Ll+(6),(($A)*1.)) +call s3o((J1e),zl+(6),(($B4)*1.)) call s3o((J1e),Pkv+(6),(($578)*1.)) set Qkv[(J1e)]=("ReplaceableTextures\\CommandButtons\\BTNFireRocks.blp") +call G5r(J1e,'FVM0',6,'VVM0','LPVM','LRVM') set J2e[1]='}' set J2e[2]=$C8 set J2e[3]=275 set J2e[4]=350 set J2e[5]=425 set J2e[6]=500 set J3e[1]=3 +set J3e[2]=4 +set J3e[3]=5 +set J3e[4]=6 +set J3e[5]=7 +set J3e[6]=8 +set J4e[1]=65 set J4e[2]='i' set J4e[3]=$91 set J4e[4]=$B9 set J4e[5]=$E1 set J4e[6]=265 set J5e[1]=2 +set J5e[2]=2.5 set J5e[3]=3 +set J5e[4]=3.5 set J5e[5]=4 +set J5e[6]=4.5 return true endfunction function Ldr takes nothing returns boolean set J6e=u9x(J7e+" (poisonBuff)") +set sf[(J6e)]=(true) +set v_v[(J6e)]=(true) return true endfunction function LDr takes nothing returns boolean call IGx(UE,(function LCr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\VividMeteor.page\\VividMeteor.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function Ldr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Elemental\\VividMeteor.page\\VividMeteor.struct\\obj_poisonBuff_wc3buff.j")) return true endfunction function Lfr takes nothing returns boolean set J8e=Idx(J7e) +return true endfunction function LFr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if Cmx(csx,cHv)then return false +endif if ALo(csx)then return false +endif return true return true endfunction function Lgr takes integer VFx returns integer set kie[VFx]=true set kae[VFx]=false call V1x(J8e) return VFx endfunction function LGr takes nothing returns integer local integer VFx if(kee==8190)then call Vmx("VividMeteor_Allocation_allocCustom","call DebugEx(VividMeteor.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",J7e+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(kxe[(w)]==w)then set koe=koe+1 set VFx=koe else +set VFx=kxe[(w)] +set kxe[(w)]=kxe[kxe[(w)]] endif set kxe[VFx]=Z set kre[VFx]=1 call Lgr(VFx) return VFx endfunction function Lhr takes integer VFx returns boolean set kHe=kHe+1 set kje[kHe]=VFx +set kJe[VFx]=kHe+1 return(kHe==0) endfunction function LHr takes nothing returns nothing local integer VBx=kHe local integer VFx local real Rur local integer EBx local real Iox local real x +local real y +local real OMx local integer MCx loop +set VFx=kje[VBx] +set Rur=kbe[VFx]+kle +set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((kge+VFx))),(((kGe)))))) set Iox=kce[VFx]+kLe +set x=kde[VFx] set y=kDe[VFx] set kbe[VFx]=Rur +set kce[VFx]=Iox +set OMx=kNe[VFx]+Rur +set kNe[VFx]=OMx +loop +set OMx=OMx+kFe set MCx=(LoadInteger(o[((V[(E[((X))])]))],(((kge+VFx))),(((kGe)+(EBx))))) call stx(MCx,OMx+D6v) call WGo(MCx,x+Iox*(Cos(((((OMx)*1.))*1.))),y+Iox*(Sin(((((OMx)*1.))*1.)))) set EBx=EBx-1 exitwhen(EBx0)then return endif if(kxe[VFx]!=Z)then call Vmx("VividMeteor_Allocation_deallocCustom_confirm","call DebugEx(VividMeteor.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",J7e+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set kxe[VFx]=kxe[(w)] set kxe[(w)]=VFx +call LJr(VFx) endfunction function LKr takes integer VFx returns nothing set kre[VFx]=kre[VFx]-1 call Lkr(VFx) endfunction function Llr takes integer VFx returns boolean local integer VAx=(kJe[(VFx)]) set kJe[kje[kHe]]=VAx set kje[VAx-1]=kje[kHe] set kJe[VFx]=0 set kHe=kHe-1 return(kHe==F) endfunction function LLr takes integer VFx returns nothing local integer VBx local integer MCx if Llr(VFx)then call XNx(kke) endif set VBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((kge+VFx))),(((kGe)))))) loop +set MCx=(LoadInteger(o[((V[(E[((X))])]))],(((kge+VFx))),(((kGe)+(VBx))))) call VYx(X,kge+VFx,kGe,MCx) if(VBx!=q)then call SWx(MCx) endif set VBx=VBx-1 exitwhen(VBx0)then return false +endif return true return true endfunction function mor takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx local integer ePr local real fCo call fXo(Kae,KRe[VFx],KIe[VFx],KVe[VFx],Kne) +set ePr=fOo(Kae) +if(ePr!=w)then set fCo=KEe[VFx] +loop +call d9x(((ePr)),(k7e),(1),w,((KNe)*1.)) +if Cmx(ePr,cgv)then call AYo((csx),(ePr),((fCo)*1.),(false),(false)) +else +call AYo((csx),(ePr),((fCo*Kbe)*1.),(false),(false)) +endif set ePr=fOo(Kae) +exitwhen(ePr==w) +endloop endif endfunction function mrr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local real h0x=(GetUnitX(C[((csx))])) local real h1x=(GetUnitY(C[((csx))])) local integer VFx=csx local integer TBx=E5x() set KVe[VFx]=(hDx((Kxe),Yhv+(EKx))) set KEe[VFx]=KXe[EKx] set KOe[VFx]=TBx +set KRe[VFx]=h0x +set KIe[VFx]=h1x +set ge[(TBx)]=(VFx) call Xax(TBx,KAe,true,function mor) return true endfunction function mir takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=KOe[VFx] call Xbx(TBx) return true endfunction function mar takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),Kve) return true endfunction function mnr takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(Kve),((Mv[(Eix)])),w) return true endfunction function mVr takes nothing returns nothing endfunction function mEr takes nothing returns boolean local integer VBx set Kae=Bkx() set Kne=Nyx(function mxr) call Ufx(Kve,Nlx("Amaterasu_Init: call Amaterasu.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Amaterasu.Event_BuffGain))",dg,VB,function mrr)) call Ufx(Kve,Nlx("Amaterasu_Init: call Amaterasu.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Amaterasu.Event_BuffLose))",Hf,VB,function mir)) call Sao(Kxe,Nlx("Amaterasu_Init: call Amaterasu.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Amaterasu.Event_EndCast))",VRv,VB,function mar)) call Sao(Kxe,Nlx("Amaterasu_Init: call Amaterasu.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Amaterasu.Event_SpellEffect))",kK,VB,function mnr)) +set VBx=(onv[(Kxe)]) +loop +set KXe[VBx]=Kre[VBx]*1./(R2I((((hDx((Kxe),jl+(VBx)))*1./ KNe)*1.))) +set VBx=VBx-1 exitwhen(VBx<1) endloop call mVr() return true endfunction function mXr takes nothing returns boolean call kyr(function mEr,"Amaterasu_Init") return true endfunction function mOr takes nothing returns boolean set KBe=IJx("OCrp") return true endfunction function mRr takes nothing returns boolean set Kce=x6o('BCrp',"Crippled",'bCrp') set v_v[(Kce)]=(true) set ORv[(Kce)]=("ReplaceableTextures\\CommandButtons\\BTNDispelMagic.blp") call Urx(Kce,"ArcaneAttractor_page\\ArcaneAttractor_struct\\Target\\Target.mdx","origin",EV) +set v2v=UEx() call URx(v2v,RRv,-.3) call URx(v2v,gGv,-.3) call UIx(((Kce)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,RRv,-.35) call URx(v2v,gGv,-.3) call UIx(((Kce)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,RRv,-.4) call URx(v2v,gGv,-.3) call UIx(((Kce)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,RRv,-.45) call URx(v2v,gGv,-.3) call UIx(((Kce)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,RRv,-.5) call URx(v2v,gGv,-.3) call UIx(((Kce)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,RRv,-.55) call URx(v2v,gGv,-.3) call UIx(((Kce)),YD+(6),(v2v)) return true endfunction function mIr takes nothing returns boolean set KCe[1]=-.3 set KCe[2]=-.3 set KCe[3]=-.3 set KCe[4]=-.3 set KCe[5]=-.3 set KCe[6]=-.3 set Kde[1]=5 +set Kde[2]=5 +set Kde[3]=5 +set Kde[4]=5 +set Kde[5]=5 +set Kde[6]=5 +set KDe[1]=-.3 set KDe[2]=-.35 set KDe[3]=-.4 set KDe[4]=-.45 set KDe[5]=-.5 set KDe[6]=-.55 return true endfunction function mAr takes nothing returns boolean call IGx(mE,(function mOr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ArcaneAttractor.page\\ArcaneAttractor.struct\\Target\\obj_bolt_wc3bolt.j")) call IGx(tE,(function mRr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ArcaneAttractor.page\\ArcaneAttractor.struct\\Target\\obj_dummyBuff_wc3buff.j")) +call IGx(VE,(function mIr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ArcaneAttractor.page\\ArcaneAttractor.struct\\Target\\obj_this_wc3obj.j")) return true endfunction function mNr takes nothing returns boolean set Kfe=Idx(KFe) +return true endfunction function mbr takes nothing returns boolean call scx('ACrp',false) set JEv=s2o('ACrp') set orv[(JEv)]=(x4v) +set onv[(JEv)]=(6) set Zl[(JEv)]=("Arcane Attractor") set PK[(JEv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00DD)))),(((FL)))))) set Vnv[(JEv)]=(2) set n9v[(JEv)]=("spell") +call s3o((JEv),Yhv+(1),((300)*1.)) call s3o((JEv),Ll+(1),((20)*1.)) +call s3o((JEv),zl+(1),((85)*1.)) +call s3o((JEv),Pkv+(1),((650)*1.)) call s3o((JEv),Yhv+(2),((300)*1.)) call s3o((JEv),Ll+(2),((19)*1.)) +call s3o((JEv),zl+(2),(('n')*1.)) call s3o((JEv),Pkv+(2),((650)*1.)) call s3o((JEv),Yhv+(3),((300)*1.)) call s3o((JEv),Ll+(3),((18)*1.)) +call s3o((JEv),zl+(3),(($87)*1.)) call s3o((JEv),Pkv+(3),((650)*1.)) call s3o((JEv),Yhv+(4),((300)*1.)) call s3o((JEv),Ll+(4),((17)*1.)) +call s3o((JEv),zl+(4),(($A0)*1.)) call s3o((JEv),Pkv+(4),((650)*1.)) call s3o((JEv),Yhv+(5),((300)*1.)) call s3o((JEv),Ll+(5),((16)*1.)) +call s3o((JEv),zl+(5),(($B9)*1.)) call s3o((JEv),Pkv+(5),((650)*1.)) call s3o((JEv),Yhv+(6),((300)*1.)) call s3o((JEv),Ll+(6),(($F)*1.)) +call s3o((JEv),zl+(6),(($D2)*1.)) call s3o((JEv),Pkv+(6),((650)*1.)) set Qkv[(JEv)]=("ReplaceableTextures\\CommandButtons\\BTNDispelMagic.blp") call G5r(JEv,'FCp0',6,'VCp0','LPCp','LRCp') set Kge[1]=.06 set Kge[2]=.07 set Kge[3]=.08 set Kge[4]=.09 set Kge[5]=.1 set Kge[6]=.11 set KGe[1]=$A set KGe[2]=$A set KGe[3]=$A set KGe[4]=$A set KGe[5]=$A set KGe[6]=$A set Khe[1]=20 set Khe[2]=30 set Khe[3]=40 set Khe[4]=50 set Khe[5]=60 set Khe[6]=70 return true endfunction function mBr takes nothing returns boolean set KHe=LBo('uCrp') call Lco(((KHe)),CPv,(cEv)) set vm[(KHe)]=((1)*1.) set div[(KHe)]=(($B)*1.) +set dsv[(KHe)]=(($B)*1.) +set Cp[(KHe)]=(($96)*1.) +set Crv[(KHe)]=(5) set djv[(KHe)]=((150000.)*1.) set dHv[(KHe)]=((150000.)*1.) set dGv[(KHe)]=((0)*1.) set dRv[(KHe)]=((750)*1.) set dXv[(KHe)]=((750)*1.) set dCv[(KHe)]=((50)*1.) +set Csv[(KHe)]=((0)*1.) set CSv[(KHe)]=((0)*1.) set CUv[(KHe)]=(0) set Cyv[(KHe)]=(0) set CQv[(KHe)]=((8)*1.) call LFo((KHe),(j2v),1) return true endfunction function mcr takes nothing returns boolean call IGx(UE,(function mbr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ArcaneAttractor.page\\ArcaneAttractor.struct\\obj_thisSpell_wc3spell.j")) call IGx(yE,(function mBr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ArcaneAttractor.page\\ArcaneAttractor.struct\\obj_summonUnitType_wc3unit.j")) return true endfunction function mCr takes nothing returns boolean set Kje=Idx(KJe) +return true endfunction function mdr takes integer VFx returns nothing local integer Xrx=Kle[VFx] local integer TBx=KLe[VFx] local integer dTr=Kme[VFx] call Xbx(Xrx) call Xbx(TBx) call cEx(dTr,KKe) call Bcx(dTr) endfunction function mDr takes nothing returns boolean local integer Eix=(bv) local integer dTr=(Vv[(Eix)]) local integer VFx=dTr call mdr(VFx) return true endfunction function mfr takes nothing returns boolean local integer csx=pKx() if(Vfx((((csx))),(Ud+(Kce)))>0)then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif if((GetRandomReal(((.0)*1.),((1.)*1.)))>Kpe)then +return false +endif return true return true endfunction function mFr takes integer VFx,integer hdx,integer EKx,integer csx returns nothing local integer ENx=VFx local integer mgr=kAx(KBe) call bur(mgr,Kme[ENx],csx) call Krx(mgr,1.) +set ej=hdx call d9x((csx),(Kce),(EKx),w,((Kde[EKx])*1.)) endfunction function mGr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hgx=KPe[VFx] local integer hdx=(Bl[(hgx)]) local integer EKx=(Dl[(hgx)]) local integer dTr=Kme[VFx] local real x=(GetUnitX(C[((dTr))])) local real y=(GetUnitY(C[((dTr))])) local integer csx local real fCo local real mhr set zH=(ze[(hdx)]) call fXo(Kke,x,y,(hDx((JEv),Yhv+(EKx))),KMe) +set csx=(SJo((Kke),((x)*1.),((y)*1.))) if(csx!=w)then set fCo=Khe[EKx] +set mhr=Kge[EKx] +call mFr(VFx,hdx,EKx,csx) call NFr(csx) call CRr((csx),((450.)*1.),((.0)*1.),(((Atan2((((GetUnitY(C[((csx))]))-y)*1.),(((GetUnitX(C[((csx))]))-x)*1.)))+3.141592654)*1.),((1.)*1.)) if(Vfx((((hdx))),(Ud+(Fge)))>0)then call d9x((((csx))),((N0v)),(1),w,((((KTe[(Vfx(((hdx)),Wd+(Fge)))])*1.))*1.)) +endif call cdx((C1x((csx),(Kue),(KUe),(fV)))) call AYo((hdx),(csx),((fCo+mhr*(jk[(csx)]))*1.),(true),(false)) endif endfunction function mHr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call mdr(VFx) endfunction function mjr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local integer hgx=(oL[(Eix)]) local integer dTr=eDr(KHe,(ze[(hdx)]),h0x,h1x,(bl[(hgx)]),KGe[EKx]) local integer VFx=dTr local integer Xrx=E5x() local integer TBx=E5x() set Kle[VFx]=Xrx +set KLe[VFx]=TBx +set Kme[VFx]=dTr +set KPe[VFx]=hgx +set ge[(Xrx)]=(VFx) set ge[(TBx)]=(VFx) call CMx(dTr,KKe) call cdx((C1x((dTr),(Kqe),(KQe),(fV)))) call SetUnitAnimation(C[((dTr))],("channel")) call Oax(dTr,(xx[(hdx)])) call SetUnitFlyHeight(C[((dTr))],((Kse)*1.),.0) call Jnx(dTr,0,0,0,0) call JCx(dTr,$FF,$FF,$FF,$FF,1.) +call Sgo((Sjo(((h0x)*1.),((h1x)*1.),(KSe),(EV)))) call Xax(TBx,Kte,true,function mGr) call Xax(Xrx,KGe[EKx],false,function mHr) return true endfunction function mJr takes nothing returns nothing endfunction function mkr takes nothing returns boolean set Kke=Bkx() set KKe=Nlx("ArcaneAttractor_Init: set ArcaneAttractor.SUMMON_DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.SPELLS, function ArcaneAttractor.Event_Summon_Destroy)",TC,VB,function mDr) set KMe=Nyx(function mfr) call Sao(JEv,Nlx("ArcaneAttractor_Init: call ArcaneAttractor.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ArcaneAttractor.Event_SpellEffect))",kK,VB,function mjr)) call mJr() return true endfunction function mKr takes nothing returns boolean call kyr(function mkr,"ArcaneAttractor_Init") return true endfunction function mlr takes nothing returns boolean set Kwe[1]=0 +set Kwe[2]=0 +set Kwe[3]=0 +set KWe[1]=60 set KWe[2]=60 set KWe[3]=60 set Kye[1]=3 +set Kye[2]=4 +set Kye[3]=5 +set KYe[1]=1 +set KYe[2]=2 +set KYe[3]=3 +set Kze[1]='d' set Kze[2]=$AF set Kze[3]=$FA return true endfunction function mLr takes nothing returns boolean set KZe[2]=LBo('uAW2') call Lco(((KZe[2])),CPv,(cgv)) set vm[(KZe[2])]=((1.375)*1.) call LCo(KZe[2],$96,'x',$FF,$FF) +set div[(KZe[2])]=((60)*1.) set dsv[(KZe[2])]=((60)*1.) call mHo(KZe[2],"Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl","hand left",fV) +call mHo(KZe[2],"Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl","hand right",fV) call mHo(KZe[2],"Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl","foot left",fV) +call mHo(KZe[2],"Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl","foot right",fV) set Cp[(KZe[2])]=((320)*1.) set c5v[(KZe[2])]=((2)*1.) set Crv[(KZe[2])]=(2) set djv[(KZe[2])]=((750)*1.) +set dHv[(KZe[2])]=((750)*1.) +set dGv[(KZe[2])]=((0)*1.) set dkv[(KZe[2])]=((300)*1.) +set dJv[(KZe[2])]=((300)*1.) +set dhv[(KZe[2])]=((0)*1.) set dRv[(KZe[2])]=(($578)*1.) set dXv[(KZe[2])]=(($578)*1.) set dCv[(KZe[2])]=((80)*1.) set Cbv[(KZe[2])]=(jtv) set CDv[(KZe[2])]=(('l')*1.) +set Cfv[((KZe[2]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(KZe[2])]=((.33)*1.) +set Csv[(KZe[2])]=((48)*1.) set CSv[(KZe[2])]=((48)*1.) set CUv[(KZe[2])]=(2) set Cyv[(KZe[2])]=($B) set CZv[(KZe[2])]=(0) set CQv[(KZe[2])]=((33)*1.) return true endfunction function mmr takes nothing returns boolean call scx('AArw',false) set K_e=s2o('AArw') set orv[(K_e)]=(x7v) +set onv[(K_e)]=(3) set Zl[(K_e)]=("Arctic Wolf") set PK[(K_e)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D009E)))),(((FL)))))) set Vnv[(K_e)]=(2) set n9v[(K_e)]=("spell") +call s3o((K_e),Yhv+(1),((300)*1.)) call s3o((K_e),Ll+(1),((60)*1.)) +call s3o((K_e),zl+(1),(($96)*1.)) call s3o((K_e),Pkv+(1),((750)*1.)) call s3o((K_e),Yhv+(2),((300)*1.)) call s3o((K_e),Ll+(2),((60)*1.)) +call s3o((K_e),zl+(2),(($96)*1.)) call s3o((K_e),Pkv+(2),((750)*1.)) call s3o((K_e),Yhv+(3),((300)*1.)) call s3o((K_e),Ll+(3),((60)*1.)) +call s3o((K_e),zl+(3),(($96)*1.)) call s3o((K_e),Pkv+(3),((750)*1.)) set Qkv[(K_e)]=("ReplaceableTextures\\CommandButtons\\BTNWolf.blp") call G5r(K_e,'FAW0',3,'VAW0','LPAW','LRAW') return true endfunction function mMr takes nothing returns boolean set KZe[1]=LBo('uArW') call Lco(((KZe[1])),CPv,(cgv)) set vm[(KZe[1])]=((1.25)*1.) +call LCo(KZe[1],$96,'x',$FF,$C8) +set div[(KZe[1])]=((60)*1.) set dsv[(KZe[1])]=((60)*1.) call mHo(KZe[1],"Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl","hand left",fV) +call mHo(KZe[1],"Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl","hand right",fV) call mHo(KZe[1],"Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl","foot left",fV) +call mHo(KZe[1],"Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl","foot right",fV) set Cp[(KZe[1])]=((320)*1.) set c5v[(KZe[1])]=((2)*1.) set Crv[(KZe[1])]=(2) set djv[(KZe[1])]=((750)*1.) +set dHv[(KZe[1])]=((750)*1.) +set dGv[(KZe[1])]=((0)*1.) set dkv[(KZe[1])]=((300)*1.) +set dJv[(KZe[1])]=((300)*1.) +set dhv[(KZe[1])]=((0)*1.) set dRv[(KZe[1])]=(($578)*1.) set dXv[(KZe[1])]=(($578)*1.) set dCv[(KZe[1])]=((50)*1.) set Cbv[(KZe[1])]=(jtv) set CDv[(KZe[1])]=(('l')*1.) +set Cfv[((KZe[1]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(KZe[1])]=((.33)*1.) +set Csv[(KZe[1])]=((30)*1.) set CSv[(KZe[1])]=((30)*1.) set CUv[(KZe[1])]=(2) set Cyv[(KZe[1])]=(9) set CZv[(KZe[1])]=(0) set CQv[(KZe[1])]=((33)*1.) return true endfunction function mpr takes nothing returns boolean set KZe[3]=LBo('uAW3') call Lco(((KZe[3])),CPv,(cgv)) set vm[(KZe[3])]=((1.5)*1.) call LCo(KZe[3],$96,'x',$FF,$FF) +set div[(KZe[3])]=((60)*1.) set dsv[(KZe[3])]=((60)*1.) call mHo(KZe[3],"Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl","hand left",fV) +call mHo(KZe[3],"Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl","hand right",fV) call mHo(KZe[3],"Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl","foot left",fV) +call mHo(KZe[3],"Abilities\\Weapons\\SpiritOfVengeanceMissile\\SpiritOfVengeanceMissile.mdl","foot right",fV) set Cp[(KZe[3])]=((320)*1.) set c5v[(KZe[3])]=((2)*1.) set Crv[(KZe[3])]=(2) set djv[(KZe[3])]=((750)*1.) +set dHv[(KZe[3])]=((750)*1.) +set dGv[(KZe[3])]=((0)*1.) set dkv[(KZe[3])]=((300)*1.) +set dJv[(KZe[3])]=((300)*1.) +set dhv[(KZe[3])]=((0)*1.) set dRv[(KZe[3])]=(($578)*1.) set dXv[(KZe[3])]=(($578)*1.) set dCv[(KZe[3])]=(('n')*1.) +set Cbv[(KZe[3])]=(jtv) set CDv[(KZe[3])]=(('l')*1.) +set Cfv[((KZe[3]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(KZe[3])]=((.33)*1.) +set Csv[(KZe[3])]=((70)*1.) set CSv[(KZe[3])]=((70)*1.) set CUv[(KZe[3])]=(2) set Cyv[(KZe[3])]=(22) set CZv[(KZe[3])]=(0) set CQv[(KZe[3])]=((33)*1.) return true endfunction function mPr takes nothing returns boolean call IGx(VE,(function mlr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ArcticWolf.page\\ArcticWolf.struct\\obj_this_wc3obj.j")) +call IGx(yE,(function mLr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ArcticWolf.page\\ArcticWolf.struct\\obj_summonUnitType[2]_wc3unit.j")) call IGx(UE,(function mmr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ArcticWolf.page\\ArcticWolf.struct\\obj_thisSpell_wc3spell.j")) call IGx(yE,(function mMr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ArcticWolf.page\\ArcticWolf.struct\\obj_summonUnitType[1]_wc3unit.j")) call IGx(yE,(function mpr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ArcticWolf.page\\ArcticWolf.struct\\obj_summonUnitType[3]_wc3unit.j")) return true endfunction function mqr takes nothing returns boolean set K0e=Idx(K1e) +return true endfunction function mQr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function msr takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function mSr takes integer VFx returns integer set loe[VFx]=true set lre[VFx]=false call V1x(K0e) return VFx endfunction function mtr takes nothing returns integer local integer VFx if(K9e==8190)then call Vmx("ArcticWolf_Allocation_allocCustom","call DebugEx(ArcticWolf.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",K1e+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(lve[(w)]==w)then set lee=lee+1 set VFx=lee else +set VFx=lve[(w)] +set lve[(w)]=lve[lve[(w)]] endif set lve[VFx]=Z set lxe[VFx]=1 call mSr(VFx) return VFx endfunction function mTr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local real Cao=lne[VFx] local integer hdx=lVe[VFx] local real fCo=lDe[VFx] local integer MCx=lEe[VFx] local integer Wmo=lde[VFx] local real x=(Rm[(MCx)]) +local real y=(bm[(MCx)]) +local integer csx local integer EKx local real ldr set zH=(ze[(hdx)]) set bae=Wmo call fXo(K2e,x,y,Cao,K7e) set csx=fOo(K2e) +if(csx!=w)then set EKx=lbe[VFx] +set ldr=lBe[VFx] +loop +call d9x((csx),(N0v),(EKx),w,((ldr)*1.)) +call HDx(Wmo,csx) call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(K2e) +exitwhen(csx==w) +endloop endif endfunction function mur takes integer VFx,real x,real y returns nothing +call WGo(VFx,(Rm[(VFx)])+x,(bm[(VFx)])+y) endfunction function mUr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call mur(lEe[VFx],lge[VFx],lGe[VFx]) +endfunction function mwr takes integer VFx returns nothing set loe[VFx]=false call EEx(K0e) endfunction function mWr takes integer VFx returns nothing if(lxe[VFx]>0)then return endif if(lve[VFx]!=Z)then call Vmx("ArcticWolf_Allocation_deallocCustom_confirm","call DebugEx(ArcticWolf.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",K1e+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set lve[VFx]=lve[(w)] set lve[(w)]=VFx +call mwr(VFx) endfunction function myr takes integer VFx returns nothing set lxe[VFx]=lxe[VFx]-1 call mWr(VFx) endfunction function mYr takes real x,real y,real Cao,integer hdx,real fCo returns nothing local integer csx call Sjo(x,y,lHe,EV) +set zH=(ze[(hdx)]) call fXo(K2e,x,y,Cao,K3e) set csx=fOo(K2e) +if(csx!=w)then loop +call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(K2e) +exitwhen(csx==w) +endloop endif endfunction function mzr takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local real OMx=lae[VFx] local integer hdx=lVe[VFx] local integer MCx=lEe[VFx] local integer mZr=lXe[VFx] local real m_r=lAe[VFx] local integer TBx=lNe[VFx] local integer lUr=lce[VFx] local real m0r=lCe[VFx] local integer Wmo=lde[VFx] local integer m1r=lfe[VFx] local integer WLo=lFe[VFx] local integer hbo=(ze[(hdx)]) local real x=(Rm[(MCx)]) +local real y=(bm[(MCx)]) +local integer lPr call myr((VFx)) call Mcx(mZr) call Xbx(Xrx) call Xbx(TBx) call HZo(Wmo) call Xbx(WLo) call JRo(MCx,lhe) call Wdo((MCx),-((.0)*1.),-((.0)*1.),-((.0)*1.),-((127.)*1.),((lhe)*1.)) +call mYr(x,y,lne[VFx],hdx,m_r) loop +exitwhen(lUr<1) set lPr=eDr(m1r,hbo,x,y,OMx,m0r) +set lUr=lUr-1 endloop endfunction function m2r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real OMx=vPo(hdx,h0x-xnr,h1x-xVr) local real Xdx=JKx(h0x-xnr,h1x-xVr)*1./ K5e local real m3r=(Cos(((((OMx)*1.))*1.))) local real m4r=(Sin(((((OMx)*1.))*1.))) local real Bzr=xnr+K8e*m3r local real BZr=xVr+K8e*m4r local integer VFx=mtr() local integer MCx=syx('qArW',Bzr,BZr,bex(Bzr,BZr)+lie,OMx) local integer Xrx=E5x() local integer TBx=E5x() local integer WLo=E5x() set lae[VFx]=OMx +set lne[VFx]=(hDx((K_e),Yhv+(EKx))) set lVe[VFx]=hdx +set lEe[VFx]=MCx +set lXe[VFx]=WTo(MCx,lOe,lRe,fV) +set lIe[VFx]=Xrx +set lAe[VFx]=Kze[EKx] set lNe[VFx]=TBx +set lbe[VFx]=EKx +set lBe[VFx]=Kye[EKx] set lce[VFx]=KYe[EKx] set lCe[VFx]=KWe[EKx] set lde[VFx]=Pcx("ArcticWolf_Event_SpellEffect: set this.targetGroup = UnitList.Create()") set lDe[VFx]=Kwe[EKx] set lfe[VFx]=KZe[EKx] set lFe[VFx]=WLo +set lge[VFx]=K4e*m3r +set lGe[VFx]=K4e*m4r +set ge[(Xrx)]=(VFx) set ge[(TBx)]=(VFx) set ge[(WLo)]=(VFx) call SetUnitAnimationByIndex(nm[((MCx))],(2)) call swx(MCx,2.) +call sWx(MCx,255.,255.,255.,127.) call Xax(TBx,.25,true,function mTr) call Xax(WLo,K6e,true,function mUr) call Xax(Xrx,Xdx,false,function mzr) +return true endfunction function m5r takes nothing returns boolean set K2e=Bkx() set K3e=Nyx(function mQr) set K4e=K5e*K6e set K7e=Nyx(function msr) call Sao(K_e,Nlx("ArcticWolf_Init: call ArcticWolf.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ArcticWolf.Event_SpellEffect))",kK,VB,function m2r)) return true endfunction function m6r takes nothing returns boolean call kyr(function m5r,"ArcticWolf_Init") +return true endfunction function m7r takes nothing returns boolean set lje=u9x(lJe+" (dummyBuff)") call Urx(lje,"BoulderCrash_page\\BoulderCrash_struct\\Visuals\\Area2.mdx","origin",EV) return true endfunction function m8r takes nothing returns boolean call IGx(tE,(function m7r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\BoulderCrash.page\\BoulderCrash.struct\\Visuals\\obj_dummyBuff_wc3buff.j")) return true endfunction function m9r takes nothing returns boolean set lke=Idx(lJe) +return true endfunction function Mvr takes nothing returns boolean set lKe=u9x(lle+" (dummyBuff)") return true endfunction function Mer takes nothing returns boolean call scx('ABoC',false) set kkv=s2o('ABoC') set orv[(kkv)]=(x8v) +set onv[(kkv)]=(3) set Zl[(kkv)]=("Boulder Crash") set PK[(kkv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00FD)))),(((FL)))))) set Vnv[(kkv)]=(0) set n9v[(kkv)]=("morph") +call s3o((kkv),Yhv+(1),((450)*1.)) call s3o((kkv),jl+(1),(($F)*1.)) +call s3o((kkv),Ll+(1),((90)*1.)) +call s3o((kkv),zl+(1),(($91)*1.)) call s3o((kkv),Pkv+(1),((750)*1.)) call s3o((kkv),Yhv+(2),((600)*1.)) call s3o((kkv),jl+(2),(($F)*1.)) +call s3o((kkv),Ll+(2),((90)*1.)) +call s3o((kkv),zl+(2),(($D2)*1.)) call s3o((kkv),Pkv+(2),((750)*1.)) call s3o((kkv),Yhv+(3),((850)*1.)) call s3o((kkv),jl+(3),(($F)*1.)) +call s3o((kkv),Ll+(3),((90)*1.)) +call s3o((kkv),zl+(3),((275)*1.)) call s3o((kkv),Pkv+(3),((750)*1.)) set Qkv[(kkv)]=("ReplaceableTextures\\CommandButtons\\BTNDizzy.blp") +call G5r(kkv,'FBC0',3,'VBC0','LPBC','LRBC') set lLe[1]=40 set lLe[2]=60 set lLe[3]=80 set lme[1]=50 set lme[2]=75 set lme[3]='d' return true endfunction function Mxr takes nothing returns boolean call IGx(tE,(function Mvr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\BoulderCrash.page\\BoulderCrash.struct\\obj_dummyBuff_wc3buff.j")) call IGx(UE,(function Mer),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\BoulderCrash.page\\BoulderCrash.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Mor takes nothing returns boolean set lMe=Idx(lle) +return true endfunction function Mrr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function Mir takes integer csx,real fdx,real OMx,real Xdx returns integer return C7r(csx,fdx*(Cos(((((OMx)*1.))*1.))),fdx*(Sin(((((OMx)*1.))*1.))),.0,Xdx) +endfunction function Mar takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=VFx local integer EKx=lQe[VFx] local real Cao=(hDx((kkv),Yhv+(EKx))) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real jor=hyx(hdx,true) +local real Mnr=jor local integer csx local real fCo local real d +local real jrr local real MVr set zH=(ze[(hdx)]) call fXo(lpe,xnr,xVr,Cao,lPe) set csx=fOo(lpe) +if(csx!=w)then set fCo=lSe[EKx] +loop +set d=JKx((GetUnitX(C[((csx))]))-xnr,(GetUnitY(C[((csx))]))-xVr) +set jrr=H2r(jor,lte,Cao,lTe,d) set MVr=fcx(d-Mnr,lme[EKx],.0) call Mir((csx),((lme[EKx])*1.),(((Atan2(((xVr-(GetUnitY(C[((csx))])))*1.),((xnr-(GetUnitX(C[((csx))])))*1.))))*1.),((MVr)*1.)) call AYo((hdx),(csx),((fCo*jrr)*1.),(true),(false)) set csx=fOo(lpe) +exitwhen(csx==w) +endloop endif endfunction function MEr takes integer VFx,integer hdx,integer EKx returns nothing call jGx((hdx),(lje),(EKx),w) endfunction function MXr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=E5x() set lqe[VFx]=TBx +set lQe[VFx]=EKx +set ge[(TBx)]=(VFx) call Xax(TBx,lse,true,function Mar) call MEr((w),csx,EKx) return true endfunction function MOr takes integer VFx,integer hdx returns nothing call dpx(hdx,lje) endfunction function MRr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=lqe[VFx] call Xbx(TBx) call MOr((w),csx) return true endfunction function MIr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),lKe) return true endfunction function MAr takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(lKe),((Mv[(Eix)])),w) return true endfunction function MNr takes integer VFx returns boolean set K1=K1+1 set k1[K1]=VFx set J1[VFx]=K1+1 +return(K1==0) endfunction function Mbr takes nothing returns nothing local integer VBx=K1 +local integer VFx local real hux local real hUx local real tQo local integer csx local real Dfx loop +set VFx=k1[VBx] set hux=lWe[VFx] +set hUx=lye[VFx] +set tQo=lYe[VFx] +set csx=L1[VFx] if lze[VFx]then set hux=hux+t8o(csx,false) set hUx=hUx+t9o(csx,false) set tQo=tQo+bZx(csx,false) endif if lZe[VFx]then set Dfx=(JC[(csx)]) set hux=hux*Dfx set hUx=hUx*Dfx set tQo=tQo*Dfx endif call tKo((VFx),dxx(csx)+hux,dox(csx)+hUx,drx(csx)+tQo) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function MBr takes integer VFx,integer csx,boolean spo,boolean b_x,real hux,real hUx,real tQo returns nothing set lWe[VFx]=hux +set lye[VFx]=hUx +set lYe[VFx]=tQo +set L1[VFx]=csx set lze[VFx]=spo +set lZe[VFx]=b_x +call Slx((VFx),h1) if MNr(VFx)then call Xax(l1,l_e,true,function Mbr) endif endfunction function Mcr takes nothing returns nothing local integer VFx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) call TimerStart(Oe[VFx],(GetRandomReal((((l2e[(VFx)]))*1.),(((l1e[(VFx)]))*1.))),false,function Mcr) +call Eox((l0e[(VFx)])) endfunction function MCr takes integer VFx,real Mdr,real MDr,code XEx returns nothing local real Xnx=(GetRandomReal(((Mdr)*1.),((MDr)*1.))) set l0e[(VFx)]=(Ntx(XEx)) set Je[(VFx)]=((GetHandleId(Condition((XEx))))) set Be[(VFx)]=((LoadStr(j,(GetHandleId(Condition(((XEx))))),0))) +set ce[(VFx)]=((Xnx)*1.) +set l1e[(VFx)]=((MDr)*1.) set l2e[(VFx)]=((Mdr)*1.) call TimerStart(Oe[VFx],Xnx,false,function Mcr) call Xix(VFx) endfunction function Mfr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) call tDo(tgo) return true endfunction function MFr takes integer VFx,real Vsx returns nothing set qZv[VFx]=Vsx +set q_v[VFx]=true set q0v[VFx]=Vsx*Vsx +endfunction function Mgr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=VFx local integer EKx=lwe[VFx] local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real brr=drx(hdx) local real fDx=S2R(hWx("acc","200.")) local real OMx=(GetRandomReal(((.0)*1.),((TH)*1.))) local real gEr=(hDx((kkv),Yhv+(EKx)))*S2R(hWx("distFactor","0.75")) local real Dio=(GetRandomReal(((330.)*1.),((520.)*1.))) local real Dfx=(GetRandomReal(((.5)*1.),((1.)*1.))) local real fdx=S2R(hWx("speed","300.")) local real Xdx=fcx(gEr,fdx,fDx) local integer tgo=teo() local integer MCx call S2o(tgo,fDx) set quv[(tgo)]=Ntx((function Mfr)) call S9o(tgo,fdx) call MFr(tgo,100.) call tTo(tgo,xnr+gEr*(Cos(((((OMx)*1.))*1.))),xVr+gEr*(Sin(((((OMx)*1.))*1.))),brr+Dio) call Okr(tgo,xnr,xVr,brr) call k6r(tgo,oj) +if((GetRandomInt((0),(1)))==0)then set MCx=tio(tgo,'qBoC',Dfx) else +set MCx=tio(tgo,'qBCS',Dfx) endif set qsv[(tgo)]=((64.)*1.) call sWx(MCx,255.,255.,255.,S2R(hWx("alpha","200."))) call Wdo((MCx),-((0)*1.),-((0)*1.),-((0)*1.),-(((X2[(MCx)]))*1.),((Xdx*S2R(hWx("durFactor","0.9")))*1.)) +endfunction function MGr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer Mhr=syx('qBCA',(GetUnitX(C[((csx))])),(GetUnitY(C[((csx))])),drx(csx),(GetUnitFacing(C[((csx))])*sK)) local integer TBx=E5x() set lue[VFx]=Mhr +set lUe[VFx]=TBx +set lwe[VFx]=EKx +set ge[(TBx)]=(VFx) call MBr(Mhr,csx,false,false,.0,.0,.0) call MCr(TBx,l3e,l4e,function Mgr) return true endfunction function MHr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer Mhr=lue[VFx] local integer TBx=lUe[VFx] call Szx(Mhr) call Xbx(TBx) return true endfunction function Mjr takes nothing returns nothing call Ufx(lje,Nlx("FolderBoulderCrash_StructVisuals_Init: call FolderBoulderCrash_StructVisuals.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderBoulderCrash_StructVisuals.Event_BuffGain))",dg,VB,function MGr)) +call Ufx(lje,Nlx("FolderBoulderCrash_StructVisuals_Init: call FolderBoulderCrash_StructVisuals.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderBoulderCrash_StructVisuals.Event_BuffLose))",Hf,VB,function MHr)) +endfunction function MJr takes nothing returns boolean local integer EKx set lpe=Bkx() set lPe=Nyx(function Mrr) call Ufx(lKe,Nlx("BoulderCrash_Init: call BoulderCrash.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BoulderCrash.Event_BuffGain))",dg,VB,function MXr)) +call Ufx(lKe,Nlx("BoulderCrash_Init: call BoulderCrash.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BoulderCrash.Event_BuffLose))",Hf,VB,function MRr)) +call Sao(kkv,Nlx("BoulderCrash_Init: call BoulderCrash.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BoulderCrash.Event_EndCast))",VRv,VB,function MIr)) call Sao(kkv,Nlx("BoulderCrash_Init: call BoulderCrash.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BoulderCrash.Event_SpellEffect))",kK,VB,function MAr)) set EKx=(onv[(kkv)]) +loop +exitwhen(EKx<1) set lSe[EKx]=lLe[EKx]*lse set EKx=EKx-1 endloop call Mjr() return true endfunction function Mkr takes nothing returns boolean call kyr(function MJr,"BoulderCrash_Init") return true endfunction function MKr takes nothing returns boolean set l5e=u9x(l6e+" (eclipseBuff)") set sf[(l5e)]=(true) +set v_v[(l5e)]=(true) return true endfunction function Mlr takes nothing returns boolean call scx('ACon',false) set l7e=s2o('ACon') set orv[(l7e)]=(xWv) +set onv[(l7e)]=(6) set Zl[(l7e)]=("Conflagration") set PK[(l7e)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0264)))),(((FL)))))) set Vnv[(l7e)]=(2) set n9v[(l7e)]=("spell") +call s3o((l7e),Ll+(1),((9)*1.)) call s3o((l7e),zl+(1),(('}')*1.)) call s3o((l7e),Pkv+(1),((500)*1.)) call s3o((l7e),Ll+(2),((9)*1.)) call s3o((l7e),zl+(2),(($96)*1.)) call s3o((l7e),Pkv+(2),((550)*1.)) call s3o((l7e),Ll+(3),((9)*1.)) call s3o((l7e),zl+(3),(($AF)*1.)) call s3o((l7e),Pkv+(3),((600)*1.)) call s3o((l7e),Ll+(4),((9)*1.)) call s3o((l7e),zl+(4),(($C8)*1.)) call s3o((l7e),Pkv+(4),((650)*1.)) call s3o((l7e),Ll+(5),((9)*1.)) call s3o((l7e),zl+(5),(($E1)*1.)) call s3o((l7e),Pkv+(5),((700)*1.)) call s3o((l7e),Ll+(6),((9)*1.)) call s3o((l7e),zl+(6),(($FA)*1.)) call s3o((l7e),Pkv+(6),((750)*1.)) set Qkv[(l7e)]=("ReplaceableTextures\\CommandButtons\\BTNWallOfFire.blp") call G5r(l7e,'FCo0',6,'VCo0','LPCo','LRCo') set l8e[1]=400 set l8e[2]=425 set l8e[3]=450 set l8e[4]=475 set l8e[5]=500 set l8e[6]=525 set l9e[1]=25 set l9e[2]=35 set l9e[3]=45 set l9e[4]=55 set l9e[5]=65 set l9e[6]=75 set Lve[1]=6 +set Lve[2]=7 +set Lve[3]=8 +set Lve[4]=9 +set Lve[5]=$A set Lve[6]=$B set Lee[1]=650 set Lee[2]=650 set Lee[3]=650 set Lee[4]=650 set Lee[5]=650 set Lee[6]=650 set Lxe[1]=3 +set Lxe[2]=3.5 set Lxe[3]=4 +set Lxe[4]=4.5 set Lxe[5]=5 +set Lxe[6]=5.5 return true endfunction function MLr takes nothing returns boolean set Loe=IJx("OCon") return true endfunction function Mmr takes nothing returns boolean set Lre=IJx("OCoT") return true endfunction function MMr takes nothing returns boolean set Lie=u9x(l6e+" (ignitionBuff)") set sf[(Lie)]=(true) +set v_v[(Lie)]=(true) return true endfunction function Mpr takes nothing returns boolean call IGx(tE,(function MKr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Conflagration.page\\Conflagration.struct\\obj_eclipseBuff_wc3buff.j")) call IGx(UE,(function Mlr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Conflagration.page\\Conflagration.struct\\obj_thisSpell_wc3spell.j")) call IGx(mE,(function MLr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Conflagration.page\\Conflagration.struct\\obj_dummyBolt_wc3bolt.j")) +call IGx(mE,(function Mmr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Conflagration.page\\Conflagration.struct\\obj_totalBolt_wc3bolt.j")) +call IGx(tE,(function MMr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Conflagration.page\\Conflagration.struct\\obj_ignitionBuff_wc3buff.j")) return true endfunction function MPr takes nothing returns boolean set Lae=Idx(l6e) +return true endfunction function Mqr takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then endif if ALo(csx)then return false +endif return true return true endfunction function MQr takes integer VFx returns integer set LIe[VFx]=true set LAe[VFx]=false call V1x(Lae) return VFx endfunction function Msr takes nothing returns integer local integer VFx if(LEe==8190)then call Vmx("Conflagration_Allocation_allocCustom","call DebugEx(Conflagration.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",l6e+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(LXe[(w)]==w)then set LOe=LOe+1 set VFx=LOe else +set VFx=LXe[(w)] +set LXe[(w)]=LXe[LXe[(w)]] endif set LXe[VFx]=Z set LRe[VFx]=1 call MQr(VFx) return VFx endfunction function MSr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local real OMx=LNe[VFx] local integer hdx=Lbe[VFx] local integer MCx=Lce[VFx] local real Hfr=Lde[VFx] local real Rir=LFe[VFx] local real HFr=LCe[VFx] local integer Wmo=Lge[VFx] local real Vkx=HFr+Hfr local real x=(Rm[(MCx)])+Lhe[VFx] local real y=(bm[(MCx)])+LHe[VFx] local real psx=Lpe+(LPe-Lpe)*(Vkx*1./ Rir) local real pQx=Lpe+(LPe-Lpe)*(HFr*1./ Rir) local real Mtr=x+pQx*(Cos(((((OMx+D6v)*1.))*1.))) local real MTr=y+pQx*(Sin(((((OMx+D6v)*1.))*1.))) local real Mur=x+pQx*(Cos(((((OMx-D6v)*1.))*1.))) local real MUr=y+pQx*(Sin(((((OMx-D6v)*1.))*1.))) local real Mwr=x+Hfr*(Cos(((((OMx)*1.))*1.))) local real MWr=y+Hfr*(Sin(((((OMx)*1.))*1.))) local real Myr=Mwr+psx*(Cos(((((OMx+D6v)*1.))*1.))) local real MYr=MWr+psx*(Sin(((((OMx+D6v)*1.))*1.))) local real Mzr=Mwr+psx*(Cos(((((OMx-D6v)*1.))*1.))) local real MZr=MWr+psx*(Sin(((((OMx-D6v)*1.))*1.))) local integer csx local real fCo local integer EKx local real M_r call kGx(Lje[VFx],Mtr,MTr,bex(Mtr,MTr),Myr,MYr,bex(Myr,MYr)) +call kGx(LJe[VFx],Mur,MUr,bex(Mur,MUr),Mzr,MZr,bex(Mzr,MZr)) +call kGx(Lke[VFx],Mtr,MTr,bex(Mtr,MTr),Mur,MUr,bex(Mur,MUr)) +call kGx(LKe[VFx],Myr,MYr,bex(Myr,MYr),Mzr,MZr,bex(Mzr,MZr)) +set LCe[VFx]=Vkx +call WGo(MCx,x,y) set zH=(ze[(hdx)]) set bae=Wmo call FRr(Lne,x,y,Hfr,OMx,pQx,psx,LVe) set csx=fOo(Lne) +if(csx!=w)then set fCo=LBe[VFx] +set EKx=Lfe[VFx] +loop +call HDx(Wmo,csx) if Cmx(csx,rG)then set M_r=Lxe[EKx] +else +set M_r=Lve[EKx] +endif call d9x((csx),(l5e),(EKx),w,((M_r)*1.)) +call d9x(csx,Lie,EKx,hdx,M_r) call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(Lne) +exitwhen(csx==w) +endloop endif endfunction function M0r takes integer VFx returns nothing set LIe[VFx]=false call EEx(Lae) endfunction function M1r takes integer VFx returns nothing if(LRe[VFx]>0)then return endif if(LXe[VFx]!=Z)then call Vmx("Conflagration_Allocation_deallocCustom_confirm","call DebugEx(Conflagration.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",l6e+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set LXe[VFx]=LXe[(w)] set LXe[(w)]=VFx +call M0r(VFx) endfunction function M2r takes integer VFx returns nothing set LRe[VFx]=LRe[VFx]-1 call M1r(VFx) endfunction function M3r takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer MCx=Lce[VFx] local integer Wmo=Lge[VFx] local integer WLo=LGe[VFx] call Szx(MCx) call Xbx(Xrx) call HZo(Wmo) call Xbx(WLo) call Kxx(Lje[VFx]) call Kxx(LJe[VFx]) call Kxx(Lke[VFx]) call Kxx(LKe[VFx]) call Kxx(Lle[VFx]) call Kxx(LLe[VFx]) call Kxx(Lme[VFx]) call Kxx(LMe[VFx]) call M2r((VFx)) endfunction function M4r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real Dfx=(JC[(hdx)]) local real dX=h0x-xnr local real dY=h1x-xVr local real OMx=vPo(hdx,dX,dY) local real Rir=l8e[EKx]*Dfx local real Iox=(hyx(hdx,false)+.0)*Dfx local real x=xnr+Iox*(Cos(((((OMx)*1.))*1.))) local real y=xVr+Iox*(Sin(((((OMx)*1.))*1.))) local real d=JKx(dX,dY) local integer VFx=Msr() local integer Xrx=E5x() local integer wKo=wNx("/",true,false,false,$A,$A,xbv) local integer WLo=E5x() local integer M5r=kAx(Lre) local integer M6r=kAx(Lre) local integer M7r=kAx(Lre) local integer M8r=kAx(Lre) local real pQx local real psx local real Mtr local real MTr local real Mur local real MUr local real Mwr local real MWr local real Myr local real MYr local real Mzr local real MZr local real Xdx set LNe[VFx]=OMx +set Lbe[VFx]=hdx +set LBe[VFx]=l9e[EKx] set Lce[VFx]=syx('qCon',x,y,bzx(hdx,x,y)+bZx(hdx,true),OMx) set LCe[VFx]=.0 set Lde[VFx]=LDe[EKx] set Lfe[VFx]=EKx +set LFe[VFx]=Rir +set Lge[VFx]=Pcx("Conflagration_Event_SpellEffect: set this.targetGroup = UnitList.Create()") set LGe[VFx]=WLo +set Lhe[VFx]=dX*1./ d*LDe[EKx] set LHe[VFx]=dY*1./ d*LDe[EKx] set ge[(Xrx)]=(VFx) set ge[(WLo)]=(VFx) set Lje[VFx]=kAx(Loe) set LJe[VFx]=kAx(Loe) set Lke[VFx]=kAx(Loe) set LKe[VFx]=kAx(Loe) set Lle[VFx]=M5r +set LLe[VFx]=M6r +set Lme[VFx]=M7r +set LMe[VFx]=M8r +set pQx=Lpe set psx=LPe set Mtr=x+pQx*(Cos(((((OMx+D6v)*1.))*1.))) set MTr=y+pQx*(Sin(((((OMx+D6v)*1.))*1.))) set Mur=x+pQx*(Cos(((((OMx-D6v)*1.))*1.))) set MUr=y+pQx*(Sin(((((OMx-D6v)*1.))*1.))) set Mwr=x+Rir*(Cos(((((OMx)*1.))*1.))) set MWr=y+Rir*(Sin(((((OMx)*1.))*1.))) set Myr=Mwr+psx*(Cos(((((OMx+D6v)*1.))*1.))) +set MYr=MWr+psx*(Sin(((((OMx+D6v)*1.))*1.))) +set Mzr=Mwr+psx*(Cos(((((OMx-D6v)*1.))*1.))) +set MZr=MWr+psx*(Sin(((((OMx-D6v)*1.))*1.))) +call kGx(M5r,Mtr,MTr,bex(Mtr,MTr),Myr,MYr,bex(Myr,MYr)) call kGx(M6r,Mur,MUr,bex(Mur,MUr),Mzr,MZr,bex(Mzr,MZr)) call kGx(M7r,Mtr,MTr,bex(Mtr,MTr),Mur,MUr,bex(Mur,MUr)) call kGx(M8r,Myr,MYr,bex(Myr,MYr),Mzr,MZr,bex(Mzr,MZr)) set Xdx=fcx(Rir-Lde[VFx],Lee[EKx],.0) call SetUnitTimeScale(nm[(Lce[VFx])],((.5*1./ Xdx)*1.)) call swx(Lce[VFx],Dfx) call u7o(wKo,x,y,bex(x,y)) call cJx(wKo,true) call Xax(WLo,Lqe,true,function MSr) call Xax(Xrx,Xdx,false,function M3r) +return true endfunction function M9r takes nothing returns boolean local integer VBx set Lne=Bkx() set LVe=Nyx(function Mqr) call Sao(l7e,Nlx("Conflagration_Init: call Conflagration.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Conflagration.Event_SpellEffect))",kK,VB,function M4r)) +call oio(Ajv,l5e) call oio(NVv,Lie) set VBx=(onv[(l7e)]) +loop +set LQe[VBx]=l8e[VBx]*1./ Lee[VBx] set LDe[VBx]=Lee[VBx]*Lqe set VBx=VBx-1 exitwhen(VBx<1) endloop return true endfunction function pvr takes nothing returns boolean call kyr(function M9r,"Conflagration_Init") return true endfunction function per takes nothing returns boolean call scx('ACyR',false) set Lse=s2o('ACyR') set orv[(Lse)]=(x8v) +set onv[(Lse)]=(3) set Zl[(Lse)]=("Relocate") set PK[(Lse)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0085)))),(((FL)))))) set Vnv[(Lse)]=(2) set n9v[(Lse)]=("spell") +call s3o((Lse),Ll+(1),((0)*1.)) call s3o((Lse),zl+(1),((0)*1.)) call s3o((Lse),Pkv+(1),((99999)*1.)) +call s3o((Lse),Ll+(2),((0)*1.)) call s3o((Lse),zl+(2),((0)*1.)) call s3o((Lse),Pkv+(2),((99999)*1.)) +set Qkv[(Lse)]=("ReplaceableTextures\\CommandButtons\\BTNUndeadUnLoad.blp") call G5r(Lse,'FCR0',3,'VCR0','LPCR','LRCR') return true endfunction function pxr takes nothing returns boolean call IGx(UE,(function per),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Cyclone.page\\Cyclone.struct\\Relocate\\obj_thisSpell_wc3spell.j")) return true endfunction function por takes nothing returns boolean set LSe=Idx(Lte) +return true endfunction function prr takes nothing returns boolean call scx('ACyc',false) set Jov=s2o('ACyc') set orv[(Jov)]=(x8v) +set onv[(Jov)]=(3) set Zl[(Jov)]=("Cyclone") set PK[(Jov)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D022D)))),(((FL)))))) set Vnv[(Jov)]=(2) set n9v[(Jov)]=("spell") +call s3o((Jov),Yhv+(1),((500)*1.)) call s3o((Jov),Ll+(1),(('x')*1.)) call s3o((Jov),zl+(1),(($96)*1.)) call s3o((Jov),Pkv+(1),(($3E8)*1.)) call s3o((Jov),Yhv+(2),((500)*1.)) call s3o((Jov),Ll+(2),(('x')*1.)) call s3o((Jov),zl+(2),(($C8)*1.)) call s3o((Jov),Pkv+(2),(($3E8)*1.)) call s3o((Jov),Yhv+(3),((500)*1.)) call s3o((Jov),Ll+(3),(('x')*1.)) call s3o((Jov),zl+(3),(($FA)*1.)) call s3o((Jov),Pkv+(3),(($3E8)*1.)) set Qkv[(Jov)]=("ReplaceableTextures\\CommandButtons\\BTNTornado.blp") call G5r(Jov,'FCy0',3,'VCy0','LPCy','LRCy') set LTe[1]=40 set LTe[2]=40 set LTe[3]=40 set Lue[1]=$3E8 set Lue[2]=$3E8 set Lue[3]=$3E8 set LUe[1]=3 +set LUe[2]=3 +set LUe[3]=3 +set Lwe[1]=50 set Lwe[2]=80 set Lwe[3]='x' return true endfunction function pir takes nothing returns boolean set LWe=LBo('uCyc') call Lco(((LWe)),CPv,(cjv)) set vm[(LWe)]=((1)*1.) call LCo(LWe,$FF,$FF,$FF,$FF) set div[(LWe)]=(('d')*1.) set dsv[(LWe)]=(('d')*1.) set Cp[(LWe)]=((350)*1.) +set c5v[(LWe)]=((0)*1.) set Crv[(LWe)]=(3) set djv[(LWe)]=(($C8)*1.) set dHv[(LWe)]=(($C8)*1.) set dGv[(LWe)]=((0)*1.) set dkv[(LWe)]=((0)*1.) set dJv[(LWe)]=((0)*1.) set dhv[(LWe)]=((0)*1.) set dRv[(LWe)]=((800)*1.) set dXv[(LWe)]=((800)*1.) set dCv[(LWe)]=((0)*1.) set Csv[(LWe)]=((0)*1.) set CSv[(LWe)]=((0)*1.) set CUv[(LWe)]=(0) set Cyv[(LWe)]=(0) set CQv[(LWe)]=((64)*1.) +call LFo((LWe),(j2v),1) return true endfunction function par takes nothing returns boolean call IGx(UE,(function prr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Cyclone.page\\Cyclone.struct\\obj_thisSpell_wc3spell.j")) call IGx(yE,(function pir),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Cyclone.page\\Cyclone.struct\\obj_CycloneType_wc3unit.j")) return true endfunction function pnr takes nothing returns boolean set Lye=Idx(LYe) +return true endfunction function pVr takes nothing returns boolean local integer Eix=(bv) local integer pEr=(Vv[(Eix)]) local integer hdx=LZe[(pEr)] +call cEx(pEr,Lze) if V_x(hdx,L_e,pEr)then endif return true endfunction function pXr takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function pOr takes integer VFx returns integer set L7e[VFx]=true set L8e[VFx]=false call V1x(Lye) return VFx endfunction function pRr takes nothing returns integer local integer VFx if(L3e==8190)then call Vmx("Cyclone_Allocation_allocCustom","call DebugEx(Cyclone.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",LYe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(L4e[(w)]==w)then set L5e=L5e+1 set VFx=L5e else +set VFx=L4e[(w)] +set L4e[(w)]=L4e[L4e[(w)]] endif set L4e[VFx]=Z set L6e[VFx]=1 call pOr(VFx) return VFx endfunction function pIr takes integer VFx returns nothing set L7e[VFx]=false call EEx(Lye) endfunction function pAr takes integer VFx returns nothing if(L6e[VFx]>0)then return endif if(L4e[VFx]!=Z)then call Vmx("Cyclone_Allocation_deallocCustom_confirm","call DebugEx(Cyclone.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",LYe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set L4e[VFx]=L4e[(w)] set L4e[(w)]=VFx +call pIr(VFx) endfunction function pNr takes integer VFx returns nothing set L6e[VFx]=L6e[VFx]-1 call pAr(VFx) endfunction function pbr takes integer hdx,integer pEr,integer EKx returns nothing set mVe=hdx call EMx((pEr),(mEe),(EKx)) endfunction function pBr takes integer hdx,integer EKx,real x,real y returns nothing +local integer pEr=eDr(LWe,(ze[(hdx)]),x,y,oj,LTe[EKx]) set LZe[(pEr)]=hdx call CMx(pEr,Lze) if EHx(hdx,L_e,pEr)then endif call pbr(hdx,pEr,EKx) endfunction function pcr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=L9e[VFx] local integer EKx=mxe[VFx] local integer WLo=mae[VFx] local real x=(qyv[(tgo)]) local real y=(qYv[(tgo)]) call pNr((VFx)) call tDo(tgo) call Xbx(WLo) call pBr(hdx,EKx,x,y) return true endfunction function pCr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=L9e[VFx] local integer tgo=mee[VFx] local integer EKx=mxe[VFx] local integer Wmo=moe[VFx] local real x=(qyv[(tgo)]) local real y=(qYv[(tgo)]) local integer csx local real fCo local real pdr set bae=Wmo set zH=(ze[(hdx)]) call fXo(L0e,(qyv[(tgo)]),(qYv[(tgo)]),(qsv[(tgo)]),L1e) +set csx=fOo(L0e) +if(csx!=w)then set fCo=mve[VFx] +set pdr=LUe[EKx] +loop +if not sho(Ose,csx)then call HDx(Wmo,csx) call AYo((hdx),(csx),((fCo)*1.),(false),(false)) +call d9x((((csx))),(AQv),(1),w,((((pdr)*1.))*1.)) endif set csx=fOo(L0e) +exitwhen(csx==w) +endloop endif endfunction function pDr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real Vkx=FCx(JKx(h1x-xVr,h0x-xnr),L2e,Lue[EKx]) local real OMx=vPo(hdx,h0x-xnr,h1x-xVr) local integer VFx local integer tgo local integer WLo set h0x=xnr+Vkx*(Cos(((((OMx)*1.))*1.))) +set h1x=xVr+Vkx*(Sin(((((OMx)*1.))*1.))) +set VFx=pRr() set tgo=teo() set WLo=E5x() set L9e[VFx]=hdx +set mve[VFx]=Lwe[EKx] set mee[VFx]=tgo +set mxe[VFx]=EKx +set moe[VFx]=Pcx("Cyclone_Event_SpellEffect: set this.targetGroup = UnitList.Create()") set mre[VFx]=h0x +set mie[VFx]=h1x +set mae[VFx]=WLo +set ge[(WLo)]=(VFx) call S2o(tgo,.0) +set qsv[(tgo)]=((mne)*1.) set quv[(tgo)]=Ntx((function pcr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,800) call Tvo(tgo,hdx) call Okr(tgo,h0x,h1x,bex(h0x,h1x)+60.) call k6r(tgo,oj) +call tio(tgo,'qCyc',.75) +call Xax(WLo,mXe,true,function pCr) return true endfunction function pfr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local integer pEr=f9o(hdx,L_e) call hxx(pEr,tK,h0x,h1x) +return true endfunction function pFr takes nothing returns boolean set Lze=Nlx("Cyclone_Init: set Cyclone.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.SPELLS, function Cyclone.Event_Destroy)",TC,VB,function pVr) set L0e=Bkx() set L1e=Nyx(function pXr) call Sao(Jov,Nlx("Cyclone_Init: call Cyclone.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Cyclone.Event_SpellEffect))",kK,VB,function pDr)) call Sao(Lse,Nlx("FolderCyclone_StructRelocate_Init: call FolderCyclone_StructRelocate.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderCyclone_StructRelocate.Event_SpellEffect))",kK,VB,function pfr)) return true endfunction function pgr takes nothing returns boolean call kyr(function pFr,"Cyclone_Init") return true endfunction function pGr takes nothing returns boolean set mOe=x6o('BCyT',"Cyclone - Churned",'bCyT') set ORv[(mOe)]=("ReplaceableTextures\\CommandButtons\\BTNCyclone.blp") return true endfunction function phr takes nothing returns boolean call IGx(tE,(function pGr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Cyclone.page\\Cyclone.struct\\WindDance.page\\WindDance.struct\\Target\\obj_dummyBuff_wc3buff.j")) return true endfunction function pHr takes nothing returns boolean set mRe=Idx(mIe) +return true endfunction function pjr takes nothing returns boolean set mAe=x6o('BCyA',"Cyclone Aura",'bCyA') set OOv[(mAe)]=(true) set ORv[(mAe)]=("ReplaceableTextures\\CommandButtons\\BTNTornado.blp") return true endfunction function pJr takes nothing returns boolean set mNe[1]=20 set mNe[2]=30 set mNe[3]=40 return true endfunction function pkr takes nothing returns boolean call scx('AWiD',false) set mEe=s2o('AWiD') set onv[(mEe)]=(3) set Zl[(mEe)]=("Wind Dance") +set n9v[(mEe)]=("spell") +set Qkv[(mEe)]=("ReplaceableTextures\\CommandButtons\\PASBTNWindDance.blp") return true endfunction function pKr takes nothing returns boolean call IGx(tE,(function pjr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Cyclone.page\\Cyclone.struct\\WindDance.page\\WindDance.struct\\obj_dummyBuff_wc3buff.j")) call IGx(VE,(function pJr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Cyclone.page\\Cyclone.struct\\WindDance.page\\WindDance.struct\\obj_this_wc3obj.j")) +call IGx(UE,(function pkr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Cyclone.page\\Cyclone.struct\\WindDance.page\\WindDance.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function plr takes nothing returns boolean set mbe=Idx(mBe) +return true endfunction function pLr takes nothing returns boolean call scx('ADeS',false) set JLv=s2o('ADeS') set orv[(JLv)]=(x4v) +set onv[(JLv)]=(6) set Zl[(JLv)]=("Depriving Shock") set PK[(JLv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0104)))),(((FL)))))) set Vnv[(JLv)]=(4) set n9v[(JLv)]=("spell") +call s3o((JLv),Yhv+(1),(($96)*1.)) call s3o((JLv),jl+(1),((2)*1.)) call s3o((JLv),Ll+(1),((4)*1.)) call s3o((JLv),zl+(1),((30)*1.)) +call s3o((JLv),Pkv+(1),((575)*1.)) call s3o((JLv),Yhv+(2),(($AF)*1.)) call s3o((JLv),jl+(2),((2)*1.)) call s3o((JLv),Ll+(2),((4)*1.)) call s3o((JLv),zl+(2),((45)*1.)) +call s3o((JLv),Pkv+(2),((575)*1.)) call s3o((JLv),Yhv+(3),(($C8)*1.)) call s3o((JLv),jl+(3),((2)*1.)) call s3o((JLv),Ll+(3),((4)*1.)) call s3o((JLv),zl+(3),((60)*1.)) +call s3o((JLv),Pkv+(3),((575)*1.)) call s3o((JLv),Yhv+(4),(($E1)*1.)) call s3o((JLv),jl+(4),((2)*1.)) call s3o((JLv),Ll+(4),((4)*1.)) call s3o((JLv),zl+(4),((75)*1.)) +call s3o((JLv),Pkv+(4),((575)*1.)) call s3o((JLv),Yhv+(5),(($FA)*1.)) call s3o((JLv),jl+(5),((2)*1.)) call s3o((JLv),Ll+(5),((4)*1.)) call s3o((JLv),zl+(5),((90)*1.)) +call s3o((JLv),Pkv+(5),((575)*1.)) call s3o((JLv),Yhv+(6),((275)*1.)) call s3o((JLv),jl+(6),((2)*1.)) call s3o((JLv),Ll+(6),((4)*1.)) call s3o((JLv),zl+(6),(('i')*1.)) call s3o((JLv),Pkv+(6),((575)*1.)) set Qkv[(JLv)]=("ReplaceableTextures\\CommandButtons\\BTNRavenForm.blp") +call G5r(JLv,'FDS0',6,'VDS0','LPDS','LRDS') return true endfunction function pmr takes nothing returns boolean set mce=x6o('BDeS',"Revived",'bDeS') +set ORv[(mce)]=("ReplaceableTextures\\CommandButtons\\BTNAnimateDead.blp") return true endfunction function pMr takes nothing returns boolean set mCe=u9x(mde+" (stunBuff)") return true endfunction function ppr takes nothing returns boolean set mDe=IJx("ODeS") return true endfunction function pPr takes nothing returns boolean set mfe[1]=25 set mfe[2]=25 set mfe[3]=25 set mfe[4]=25 set mfe[5]=25 set mfe[6]=25 set mFe[1]=.5 set mFe[2]=.5 set mFe[3]=.5 set mFe[4]=.5 set mFe[5]=.5 set mFe[6]=.5 set mge[1]=40 set mge[2]=60 set mge[3]=80 set mge[4]='d' set mge[5]='x' set mge[6]=$8C set mGe[1]=65 set mGe[2]='d' set mGe[3]=$8C set mGe[4]=$B9 set mGe[5]=$EB set mGe[6]=290 set mhe[1]=.75 set mhe[2]=.75 set mhe[3]=.75 set mhe[4]=.75 set mhe[5]=.75 set mhe[6]=.75 return true endfunction function pqr takes nothing returns boolean call IGx(UE,(function pLr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\DeprivingShock.page\\DeprivingShock.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function pmr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\DeprivingShock.page\\DeprivingShock.struct\\obj_summonBuff_wc3buff.j")) call IGx(tE,(function pMr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\DeprivingShock.page\\DeprivingShock.struct\\obj_stunBuff_wc3buff.j")) call IGx(mE,(function ppr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\DeprivingShock.page\\DeprivingShock.struct\\obj_bolt_wc3bolt.j")) call IGx(VE,(function pPr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\DeprivingShock.page\\DeprivingShock.struct\\obj_this_wc3obj.j")) +return true endfunction function pQr takes nothing returns boolean set mHe=Idx(mde) +return true endfunction function psr takes integer csx,integer hbo,integer EKx returns nothing if not Cmx(csx,tf)then return endif call cdx((C1x((csx),(mle),(mLe),(EV)))) call I7r(csx) call jGx((csx),(mce),(EKx),w) call OEx(csx,hbo) call edr(csx,mfe[EKx]) set Rmv[(csx)]=(mme) +call JVx(csx,-$80,-$80,-$80,0) endfunction function pSr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VBx local integer VFx local integer hdx call cEx(csx,mje) call cEx(csx,mJe) set VBx=Bex(csx,mke) +loop +set VFx=Bxx(csx,mke,VBx) +set hdx=VFx set mKe[VFx]=false call V_x(csx,mke,VFx) call psr(csx,(ze[(hdx)]),mMe[VFx]) set VBx=VBx-1 exitwhen(VBx0)then return endif if(MUe[VFx]!=Z)then call Vmx("EbonyShot_Allocation_deallocCustom_confirm","call DebugEx(EbonyShot.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",MQe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set MUe[VFx]=MUe[(w)] set MUe[(w)]=VFx +call PSr(VFx) endfunction function PTr takes integer VFx returns nothing set Mue[VFx]=Mue[VFx]-1 call Ptr(VFx) endfunction function Pur takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx local integer VUx call Scx(tgo,MSe) set VFx=(QEv[(tgo)]) +set VUx=Mte[VFx]-1 if(VUx==0)then call HZo(MTe[VFx]) call PTr((VFx)) else +set Mte[VFx]=VUx +endif return true endfunction function PUr takes nothing returns boolean local integer Eix=(bv) local integer csx=pKx() local integer tgo local integer VFx local integer hgx if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif set tgo=(h3[(Eix)]) set VFx=(QEv[(tgo)]) +set hgx=Mye[VFx] +if(IsUnitAlly(C[(csx)],vx[((ze[((Bl[(hgx)]))]))]))then return false +endif if(b8x((MTe[VFx]),qC,(csx)))then +call AYo(((Bl[(hgx)])),(csx),((Fgr("dmgGraze",Mle[(Dl[(hgx)])])*qkv)*1.),(true),(false)) +return false +endif return true return true endfunction function Pwr takes string EFx,integer Nmx returns integer if(HaveStoredString(Kv[((vL))],(EFx),("var")))then return(S2I(((hwx(vL,(EFx),"var"))))) +endif return Nmx endfunction function PWr takes integer VFx returns integer set Mwe[VFx]=true set M0e[VFx]=false call V1x(Mse) return VFx endfunction function Pyr takes nothing returns integer local integer VFx if(MZe==8190)then call Vmx("EbonyShot_Allocation_allocCustom","call DebugEx(EbonyShot.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",MQe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(MUe[(w)]==w)then set M_e=M_e+1 set VFx=M_e else +set VFx=MUe[(w)] +set MUe[(w)]=MUe[MUe[(w)]] endif set MUe[VFx]=Z set Mue[VFx]=1 call PWr(VFx) return VFx endfunction function PYr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) call tDo(tgo) return true endfunction function Pzr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=(QEv[(tgo)]) local real fCo=M1e[VFx] local integer hgx=Mye[VFx] local integer hdx=(Bl[(hgx)]) call HDx(MTe[VFx],csx) call cdx((C1x((csx),(M5e),(M6e),(EV)))) call AYo((hdx),(csx),((fCo)*1.),(false),(true)) return true endfunction function PZr takes integer VFx,integer hgx,real OMx,real P_r returns nothing +local integer hdx=(Bl[(hgx)]) local integer EKx=(Dl[(hgx)]) local real h0x=(al[(hgx)]) local real h1x=(nl[(hgx)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local integer tgo=teo() call Skx(tgo,MSe) set qsv[(tgo)]=(((hDx((J4v),Yhv+(EKx))))*1.) +call WTo((tio(tgo,'qEbS',1.5)),(M2e),(M3e),(fV)) +set QEv[(tgo)]=(VFx) +set quv[(tgo)]=Ntx((function PYr)) call S9o(tgo,M4e) call Tvo(tgo,hdx) call Okr(tgo,xnr+P_r*(Cos(((((OMx)*1.))*1.))),xVr+P_r*(Sin(((((OMx)*1.))*1.))),bex(h0x,h1x)+bZx(hdx,true)) call RXr(tgo,function Pzr,MWe) endfunction function P0r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local integer hgx=(oL[(Eix)]) local real xnr local real xVr local integer EKx local real d +local integer P1r local real P_r local real hbr local real OMx local real Rur local integer VFx local integer VBx call cdx((C1x((hdx),(MYe),(Mze),(fV)))) set xnr=(GetUnitX(C[((hdx))])) set xVr=(GetUnitY(C[((hdx))])) set EKx=(Dl[(hgx)]) set d=JKx(h0x-xnr,h1x-xVr) set P1r=Pwr("missiles",MLe[EKx]) +set P_r=Fgr("range",(hDx((J4v),Pkv+(EKx)))) set hbr=H2r(.0,Fgr("windowClose",Mpe[EKx]),P_r,Fgr("windowFar",MMe[EKx]),d) set OMx=(bl[(hgx)])-hbr*1./ 2 set Rur=hbr*1./(P1r-1) set VFx=Pyr() set Mte[VFx]=P1r +set M1e[VFx]=MPe[EKx]+(ak[(hdx)])*Mme[EKx] set MTe[VFx]=Pcx("EbonyShot_Event_SpellEffect: set this.targetGroup = UnitList.Create()") set Mye[VFx]=hgx +set VBx=P1r loop +exitwhen(VBx<1) call PZr(VFx,hgx,OMx,P_r) set OMx=OMx+Rur set VBx=VBx-1 endloop return true endfunction function P2r takes nothing returns boolean set MSe=Nlx("EbonyShot_Init: set EbonyShot.MISSILE_DESTROY_EVENT = Event.Create(Missile.DESTROY_EVENT_TYPE, EventPriority.SPELLS, function EbonyShot.Event_Missile_Destroy)",D3,VB,function Pur) +set MWe=Nyx(function PUr) call Sao(J4v,Nlx("EbonyShot_Init: call EbonyShot.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EbonyShot.Event_SpellEffect))",kK,VB,function P0r)) +return true endfunction function P3r takes nothing returns boolean call kyr(function P2r,"EbonyShot_Init") return true endfunction function P4r takes nothing returns boolean set M7e=x6o('BEmB',"Emphatic Bite",'bEmB') set OOv[(M7e)]=(true) set ORv[(M7e)]=("ReplaceableTextures\\CommandButtons\\BTNCannibalize.blp") call Urx(M7e,"Abilities\\Spells\\Orc\\Bloodlust\\BloodlustTarget.mdl","weapon",EV) set v2v=UEx() call URx(v2v,gGv,.1) +call UIx(((M7e)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,gGv,.15) call UIx(((M7e)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,gGv,.2) +call UIx(((M7e)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,gGv,.25) call UIx(((M7e)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,gGv,.3) +call UIx(((M7e)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,gGv,.35) call UIx(((M7e)),YD+(6),(v2v)) return true endfunction function P5r takes nothing returns boolean set M8e[1]=.1 set M8e[2]=.15 set M8e[3]=.2 set M8e[4]=.25 set M8e[5]=.3 set M8e[6]=.35 set M9e[1]=8 +set M9e[2]=8 +set M9e[3]=8 +set M9e[4]=8 +set M9e[5]=8 +set M9e[6]=8 +return true endfunction function P6r takes nothing returns boolean call IGx(tE,(function P4r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\EmphaticBite.page\\EmphaticBite.struct\\Buff\\obj_dummyBuff_wc3buff.j")) +call IGx(VE,(function P5r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\EmphaticBite.page\\EmphaticBite.struct\\Buff\\obj_this_wc3obj.j")) return true endfunction function P7r takes nothing returns boolean set pve=Idx(pee) +return true endfunction function P8r takes nothing returns boolean set pxe=u9x(poe+" (targetBuff)") +set sf[(pxe)]=(true) +return true endfunction function P9r takes nothing returns boolean call scx('AEmC',false) set Jcv=s2o('AEmC') set orv[(Jcv)]=(xWv) +set onv[(Jcv)]=(6) set Zl[(Jcv)]=("Emphatic Bite") set PK[(Jcv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00DC)))),(((FL)))))) set Vnv[(Jcv)]=(4) set n9v[(Jcv)]=("spell") +call s3o((Jcv),Ll+(1),(($B)*1.)) +call s3o((Jcv),zl+(1),((75)*1.)) +call s3o((Jcv),Pkv+(1),((700)*1.)) call s3o((Jcv),Ll+(2),(($A)*1.)) +call s3o((Jcv),zl+(2),((85)*1.)) +call s3o((Jcv),Pkv+(2),((700)*1.)) call s3o((Jcv),Ll+(3),((9)*1.)) call s3o((Jcv),zl+(3),(('d')*1.)) call s3o((Jcv),Pkv+(3),((700)*1.)) call s3o((Jcv),Ll+(4),((8)*1.)) call s3o((Jcv),zl+(4),(('s')*1.)) call s3o((Jcv),Pkv+(4),((700)*1.)) call s3o((Jcv),Ll+(5),((7)*1.)) call s3o((Jcv),zl+(5),(($82)*1.)) call s3o((Jcv),Pkv+(5),((700)*1.)) call s3o((Jcv),Ll+(6),((7)*1.)) call s3o((Jcv),zl+(6),(($82)*1.)) call s3o((Jcv),Pkv+(6),((700)*1.)) set Qkv[(Jcv)]=("ReplaceableTextures\\CommandButtons\\BTNCannibalize.blp") call G5r(Jcv,'FEB0',6,'VEB0','LPEB','LREB') set pre[1]=3 +set pre[2]=3 +set pre[3]=3 +set pre[4]=3 +set pre[5]=3 +set pre[6]=3 +set pie[1]=30 set pie[2]=45 set pie[3]=60 set pie[4]=80 set pie[5]='d' set pie[6]='}' set pae[1]=45 set pae[2]=65 set pae[3]=90 set pae[4]='x' set pae[5]=$9B set pae[6]=$C3 set pne[1]=45 set pne[2]=65 set pne[3]=90 set pne[4]='x' set pne[5]=$9B set pne[6]=$C3 return true endfunction function qvr takes nothing returns boolean set pVe=u9x(poe+" (casterBuff)") +set v2v=UEx() call nUr(v2v,GUv,true) call UIx(((pVe)),YD+(1),(v2v)) return true endfunction function qer takes nothing returns boolean call IGx(tE,(function P8r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\EmphaticBite.page\\EmphaticBite.struct\\obj_targetBuff_wc3buff.j")) call IGx(UE,(function P9r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\EmphaticBite.page\\EmphaticBite.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function qvr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\EmphaticBite.page\\EmphaticBite.struct\\obj_casterBuff_wc3buff.j")) return true endfunction function qxr takes nothing returns boolean set pEe=Idx(poe) +return true endfunction function qor takes integer csx,real qrr,real qir,real qar,real qnr,real qVr,real qEr,real Xdx returns integer if not Jlx(csx)then return w +endif return Cir(csx,qrr*dp,qir*dp,qar*dp,qnr*dp*dp,qVr*dp*dp,qEr*dp*dp,Xdx) endfunction function qXr takes integer EKx,integer csx returns nothing call d9x((csx),(M7e),(EKx),w,((M9e[EKx])*1.)) endfunction function qOr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=VFx local integer EKx=pAe[VFx] local integer csx=pce[VFx] local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real h0x local real h1x local real dX local real dY local real d +local real Vkx local real OMx local boolean qRr local real VPr local real Vqr if(csx==w)then set h0x=pde[VFx] +set h1x=pDe[VFx] +else +set h0x=(GetUnitX(C[((csx))])) set h1x=(GetUnitY(C[((csx))])) endif set dX=h0x-xnr set dY=h1x-xVr set d=JKx(dX,dY) +set Vkx=pXe set OMx=(Atan2(((dY)*1.),((dX)*1.))) +set qRr=(d0)then set byx=4*Dio*1./ qAr set qNr=-8*Dio*1./ qAr*1./ qAr call qor((hdx),((.0)*1.),((.0)*1.),((byx)*1.),((.0)*1.),((.0)*1.),((qNr)*1.),((qAr)*1.)) +endif call Xax(L0r,pRe,true,function qOr) return true endfunction function qbr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=hdx local integer L0r=pNe[VFx] local integer csx=pce[VFx] local integer hgx=pCe[VFx] call Xbx(L0r) call h7x(hgx) return true endfunction function qBr takes nothing returns boolean local integer Eix=(bv) call Pbr((Vv[(Eix)]),pVe,(Mv[(Eix)]),(aL[(Eix)])) return true endfunction function qcr takes nothing returns nothing endfunction function qCr takes nothing returns boolean set pXe=pOe*pRe call Ufx(pVe,Nlx("EmphaticBite_Init: call EmphaticBite.CASTER_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EmphaticBite.Event_BuffGain))",dg,VB,function qIr)) call Ufx(pVe,Nlx("EmphaticBite_Init: call EmphaticBite.CASTER_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EmphaticBite.Event_BuffLose))",Hf,VB,function qbr)) call Sao(Jcv,Nlx("EmphaticBite_Init: call EmphaticBite.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function EmphaticBite.Event_SpellEffect))",kK,VB,function qBr)) call oio(NQv,pxe) call oio(AWv,pxe) call qcr() return true endfunction function qdr takes nothing returns boolean call kyr(function qCr,"EmphaticBite_Init") return true endfunction function qDr takes nothing returns boolean call scx('AEnA',false) set J6v=s2o('AEnA') set orv[(J6v)]=(x7v) +set onv[(J6v)]=(3) set Zl[(J6v)]=("Enchanted Arrow") set PK[(J6v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0269)))),(((FL)))))) set Vnv[(J6v)]=(2) set n9v[(J6v)]=("spell") +call s3o((J6v),Yhv+(1),(($C8)*1.)) call s3o((J6v),jl+(1),((1)*1.)) call s3o((J6v),Ll+(1),((60)*1.)) +call s3o((J6v),zl+(1),(($E1)*1.)) call s3o((J6v),Pkv+(1),((99999)*1.)) +call s3o((J6v),Yhv+(2),(($C8)*1.)) call s3o((J6v),jl+(2),((1)*1.)) call s3o((J6v),Ll+(2),((60)*1.)) +call s3o((J6v),zl+(2),(($F0)*1.)) call s3o((J6v),Pkv+(2),((99999)*1.)) +call s3o((J6v),Yhv+(3),(($C8)*1.)) call s3o((J6v),jl+(3),((1)*1.)) call s3o((J6v),Ll+(3),((60)*1.)) +call s3o((J6v),zl+(3),((260)*1.)) call s3o((J6v),Pkv+(3),((99999)*1.)) +set Qkv[(J6v)]=("ReplaceableTextures\\CommandButtons\\BTNImprovedStrengthOfTheMoon.blp") +call G5r(J6v,'FEA0',3,'VEA0','LPEA','LREA') set phe[1]=99999 +set phe[2]=99999 +set phe[3]=99999 +set pHe[1]=3 +set pHe[2]=4 +set pHe[3]=5 +set pje[1]=5 +set pje[2]=5 +set pje[3]=5 +set pJe[1]=300 set pJe[2]=400 set pJe[3]=500 return true endfunction function qfr takes nothing returns boolean call IGx(UE,(function qDr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\EnchantedArrow.page\\EnchantedArrow.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function qFr takes nothing returns boolean set pke=Idx(pKe) +return true endfunction function qgr takes integer VFx returns nothing set pse[VFx]=false call EEx(pke) endfunction function qGr takes integer VFx returns nothing if(pqe[VFx]>0)then return endif if(pQe[VFx]!=Z)then call Vmx("EnchantedArrow_Allocation_deallocCustom_confirm","call DebugEx(EnchantedArrow.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",pKe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set pQe[VFx]=pQe[(w)] set pQe[(w)]=VFx +call qgr(VFx) endfunction function qhr takes integer VFx returns nothing set pqe[VFx]=pqe[VFx]-1 call qGr(VFx) endfunction function qHr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=pMe[VFx] local integer EKx=ppe[VFx] local integer WLo=pPe[VFx] local real x=(qyv[(tgo)]) local real y=(qYv[(tgo)]) call Xbx(WLo) call Scx(tgo,pme) call qhr((VFx)) return true endfunction function qjr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function qJr takes integer VFx returns integer set pse[VFx]=true set pue[VFx]=false call V1x(pke) return VFx endfunction function qkr takes nothing returns integer local integer VFx if(pte==8190)then call Vmx("EnchantedArrow_Allocation_allocCustom","call DebugEx(EnchantedArrow.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",pKe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(pQe[(w)]==w)then set pTe=pTe+1 set VFx=pTe else +set VFx=pQe[(w)] +set pQe[(w)]=pQe[pQe[(w)]] endif set pQe[VFx]=Z set pqe[VFx]=1 call qJr(VFx) return VFx endfunction function qKr takes integer VFx,integer hdx,integer EKx,real x,real y returns nothing +local real Cao=(hDx((J6v),Yhv+(EKx))) local integer csx local real fCo local real ldr call fxo((fio(((x)*1.),((y)*1.),(pZe),(EV),((Cao*1./ p_e)*1.)))) +set zH=(ze[(hdx)]) call fXo(pLe,x,y,2*Cao,pSe) set csx=fOo(pLe) +if(csx!=w)then set fCo=pUe[VFx] +set ldr=pWe[VFx] +loop +call d9x((((csx))),((N0v)),(1),w,((((ldr)*1.))*1.)) call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(pLe) +exitwhen(csx==w) +endloop endif endfunction function qlr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=pMe[VFx] local integer EKx=ppe[VFx] local real x=(qyv[(tgo)]) local real y=(qYv[(tgo)]) call tDo(tgo) call qKr(VFx,hdx,EKx,x,y) return true endfunction function qLr takes integer VFx,integer id,real Dfx,real tao returns integer local integer Vhx=syx(id,(qyv[((VFx))]),(qYv[((VFx))]),(qzv[((VFx))]),tao) call SLx(VFx,Vhx) call swx(Vhx,Dfx) return Vhx endfunction function qmr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real Rir=phe[EKx] local real OMx=vPo(hdx,h0x-xnr,h1x-xVr) local integer VFx local integer tgo local integer WLo set h0x=xnr+Rir*(Cos(((((OMx)*1.))*1.))) +set h1x=xVr+Rir*(Sin(((((OMx)*1.))*1.))) +set VFx=qkr() set tgo=teo() set WLo=E5x() set pMe[VFx]=hdx +set pUe[VFx]=pJe[EKx]+pHe[EKx] set pwe[VFx]=tgo +set ppe[VFx]=EKx +set pWe[VFx]=pje[EKx] set pye[VFx]=Pcx("EnchantedArrow_Event_SpellEffect: set this.targetGroup = UnitList.Create()") set pYe[VFx]=h0x +set pze[VFx]=h1x +set pPe[VFx]=WLo +set ge[(WLo)]=(VFx) call Skx(tgo,pme) call S2o(tgo,400.) set qsv[(tgo)]=(((hDx((J6v),Yhv+(EKx))))*1.) +set quv[(tgo)]=Ntx((function qlr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,1100.) call Tvo(tgo,hdx) call WTo((qLr(tgo,'qEnA',.0,(Atan2(((h1x-xVr)*1.),((h0x-xnr)*1.))))),(p0e),(p1e),(fV)) call WTo(((S3[(tgo)])),(p2e),(p3e),(fV)) +call Odr((S3[(tgo)]),5.,(hDx((J6v),jl+(EKx)))) set p4e[(hdx)]=VFx return true endfunction function qMr takes integer VFx,integer qpr,integer qPr returns nothing local integer VBx=jox(VFx,qC) local integer qqr loop +exitwhen(VBxPbe)then call GroupRemoveUnit(jd[(PIe)],C[(csx)]) +endif return true endfunction function Qar takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local real Cao=PBe[VFx] local integer hdx=VFx local integer EKx=Pde[VFx] local real x=(GetUnitX(C[((hdx))])) local real y=(GetUnitY(C[((hdx))])) local integer csx local real Qnr local real Dur local integer Wmo local integer Kax local real QVr local real r1r set zH=(ze[(hdx)]) set ej=hdx set Pbe=Pge call fXo(PIe,x,y,Cao,PAe) call ForGroup(jd[(PIe)],(function Qir)) set csx=(SJo((PIe),((x)*1.),((y)*1.))) if(csx!=w)then set Qnr=Pce[VFx] +set Dur=PCe[VFx] +set Wmo=PFe[VFx] +call Cpx(hdx,PNe+csx,1) if not sho(Wmo,csx)then call kgx(csx) call GroupAddUnit(jd[(Wmo)],C[(csx)]) endif set Kax=kAx(Pre) +call bur(Kax,hdx,csx) call Krx(Kax,.35) call cdx((C1x((csx),(PGe),(Phe),(EV)))) if not ALo(csx)then if Cmx(csx,rG)then set QVr=POe[EKx] +else +set QVr=PEe[EKx] +endif call d9x((csx),(Pve),(EKx),w,((QVr)*1.)) +set r1r=Xkx((iJ[(csx)]),Qnr) +call rZr(hdx,csx,r1r) call s9o(hdx,hdx,r1r*1./ Qnr*Dur) endif endif endfunction function QEr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer VFx=hdx local integer TBx=E5x() set PBe[VFx]=(hDx((JXv),Yhv+(EKx))) set Pce[VFx]=Pie[EKx] set PCe[VFx]=PVe[EKx] set Pde[VFx]=EKx +set PDe[VFx]=(bj[(hdx)]) +set Pfe[VFx]=TBx +set PFe[VFx]=Bkx() set ge[(TBx)]=(VFx) call Qor(hdx,Pxe,'AFSC') +call Xax(TBx,PXe[EKx],true,function Qar) +if(Vfx((((hdx))),(Ud+(PHe)))>0)then call dpx(hdx,Jl) +endif return true endfunction function QXr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=hdx local integer TBx=Pfe[VFx] local integer QOr=PDe[VFx] local integer Wmo=PFe[VFx] local integer csx call Xbx(TBx) loop +set csx=fOo(Wmo) +exitwhen(csx==w) +call V0x(hdx,PNe+csx) call qQx(csx) endloop call Qor(hdx,QOr,'AFSX') +return true endfunction function QRr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Mv[(Eix)]) call d9x(((Vv[(Eix)])),(Fge),(EKx),w,((Pae[EKx])*1.)) return true endfunction function QIr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local real x=Pje +local real y=PJe +local integer VFx=csx set Pke[VFx]=(Sjo(((x)*1.),((y)*1.),(PKe),(EV))) +set Ple[VFx]=x set PLe[VFx]=y return true endfunction function QAr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer QNr=Pke[VFx] call Sgo(QNr) return true endfunction function Qbr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=hdx local real x=Ple[VFx] local real y=PLe[VFx] call dpx(hdx,p7e) call Sgo((Sjo((((GetUnitX(C[((hdx))])))*1.),(((GetUnitY(C[((hdx))])))*1.),(Pme),(EV)))) call Pnr(hdx,x,y,bex(x,y)) call Sgo((Sjo(((x)*1.),((y)*1.),(PMe),(EV)))) call dpx(hdx,Fge) return true endfunction function QBr takes nothing returns nothing call Ufx(p7e,Nlx("FolderFairyShape_StructRevert_Init: call FolderFairyShape_StructRevert.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderFairyShape_StructRevert.Event_BuffGain))",dg,VB,function QIr)) call Ufx(p7e,Nlx("FolderFairyShape_StructRevert_Init: call FolderFairyShape_StructRevert.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderFairyShape_StructRevert.Event_BuffLose))",Hf,VB,function QAr)) call Sao(p6e,Nlx("FolderFairyShape_StructRevert_Init: call FolderFairyShape_StructRevert.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderFairyShape_StructRevert.Event_SpellEffect))",kK,VB,function Qbr)) +endfunction function Qcr takes nothing returns boolean set PIe=Bkx() set PAe=Nyx(function Qer) call Ufx(Fge,Nlx("FairyShape_Init: call FairyShape.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FairyShape.Event_BuffGain))",dg,VB,function QEr)) call Ufx(Fge,Nlx("FairyShape_Init: call FairyShape.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FairyShape.Event_BuffLose))",Hf,VB,function QXr)) call Sao(JXv,Nlx("FairyShape_Init: call FairyShape.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FairyShape.Event_SpellEffect))",kK,VB,function QRr)) call oio(Ajv,Pve) call QBr() return true endfunction function QCr takes nothing returns boolean call kyr(function Qcr,"FairyShape_Init") +return true endfunction function Qdr takes nothing returns boolean set Ppe[1]=1 +set Ppe[2]=2 +set Ppe[3]=3 +set PPe[1]=$F set PPe[2]=25 set PPe[3]=35 return true endfunction function QDr takes nothing returns boolean set Pqe=u9x(PQe+" (coldnessBuff)") set sf[(Pqe)]=(true) +set v_v[(Pqe)]=(true) return true endfunction function Qfr takes nothing returns boolean set Pse=u9x(PQe+" (dummyBuff)") set sf[(Pse)]=(true) +call Urx(Pse,"Abilities\\Spells\\NightElf\\Starfall\\StarfallTarget.mdl","origin",EV) return true endfunction function QFr takes nothing returns boolean call IGx(VE,(function Qdr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FairysTears.page\\FairysTears.struct\\Target\\obj_this_wc3obj.j")) call IGx(tE,(function QDr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FairysTears.page\\FairysTears.struct\\Target\\obj_coldnessBuff_wc3buff.j")) call IGx(tE,(function Qfr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FairysTears.page\\FairysTears.struct\\Target\\obj_dummyBuff_wc3buff.j")) +return true endfunction function Qgr takes nothing returns boolean set PSe=Idx(PQe) +return true endfunction function QGr takes nothing returns boolean call scx('AFyT',false) set Pte=s2o('AFyT') set orv[(Pte)]=(x7v) +set onv[(Pte)]=(3) set Zl[(Pte)]=("Fairy's Tears") set PK[(Pte)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00D7)))),(((FL)))))) set Vnv[(Pte)]=(0) set n9v[(Pte)]=("spell,channel") +call s3o((Pte),Yhv+(1),((450)*1.)) call s3o((Pte),jl+(1),((24)*1.)) +call s3o((Pte),Ll+(1),((80)*1.)) +call s3o((Pte),zl+(1),(($FA)*1.)) call s3o((Pte),Pkv+(1),((750)*1.)) call s3o((Pte),Yhv+(2),((525)*1.)) call s3o((Pte),jl+(2),((27)*1.)) +call s3o((Pte),Ll+(2),((80)*1.)) +call s3o((Pte),zl+(2),((350)*1.)) call s3o((Pte),Pkv+(2),((750)*1.)) call s3o((Pte),Yhv+(3),((600)*1.)) call s3o((Pte),jl+(3),((30)*1.)) +call s3o((Pte),Ll+(3),((80)*1.)) +call s3o((Pte),zl+(3),((450)*1.)) call s3o((Pte),Pkv+(3),((750)*1.)) set Qkv[(Pte)]=("ReplaceableTextures\\CommandButtons\\BTNStarfall.blp") call G5r(Pte,'FFy0',3,'VFy0','LPFy','LRFy') return true endfunction function Qhr takes nothing returns boolean set PTe=u9x(Pue+" (dummyBuff)") call Urx(PTe,"Abilities\\Spells\\NightElf\\Starfall\\StarfallCaster.mdl","origin",EV) return true endfunction function QHr takes nothing returns boolean call IGx(UE,(function QGr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FairysTears.page\\FairysTears.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function Qhr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FairysTears.page\\FairysTears.struct\\obj_dummyBuff_wc3buff.j")) +return true endfunction function Qjr takes nothing returns boolean set PUe=Idx(Pue) +return true endfunction function QJr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if(Vfx((((csx))),(Ud+(Pse)))>0)then return false +endif return true return true endfunction function Qkr takes integer hdx,real fCo,integer EKx,integer csx returns nothing set WH=fCo set ej=hdx call d9x((csx),(Pse),(EKx),w,((P2e)*1.)) +endfunction function QKr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx local integer ePr set zH=(ze[(csx)]) call fXo(Pwe,(GetUnitX(C[((csx))])),(GetUnitY(C[((csx))])),Pye[VFx],PWe) +set ePr=(XSr((Pwe))) +if(ePr!=w)then call Qkr(csx,PYe[VFx],P0e[VFx],ePr) endif endfunction function Qlr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local real h0x=(GetUnitX(C[((csx))])) local real h1x=(GetUnitY(C[((csx))])) local integer VFx=csx local integer MCx=syx('qStf',h0x,h1x,bex(h0x,h1x),.0) local integer TBx=E5x() set Pye[VFx]=(hDx((Pte),Yhv+(EKx))) set PYe[VFx]=PPe[EKx]+(FJ[(csx)])*Pze set PZe[VFx]=MCx +set P_e[VFx]=TBx +set P0e[VFx]=EKx +set ge[(TBx)]=(VFx) call MBr(MCx,csx,false,false,.0,.0,.0) call Pyo(MCx,(hDx((Pte),Yhv+(EKx)))*4*1./(4*128.)) call Xax(TBx,P1e,true,function QKr) return true endfunction function QLr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer MCx=PZe[VFx] local integer TBx=P_e[VFx] call Szx(MCx) call Xbx(TBx) return true endfunction function Qmr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),PTe) return true endfunction function QMr takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(PTe),((Mv[(Eix)])),w) return true endfunction function Qpr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx call d9x((csx),(Pqe),(P6e[VFx]),w,((Ppe[P6e[VFx]])*1.)) call AYo((P3e[VFx]),(csx),((P4e[VFx])*1.),(true),(false)) endfunction function QPr takes nothing returns boolean local integer Eix=(bv) local integer hdx=ej +local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer pUr=E5x() set P3e[VFx]=hdx +set P4e[VFx]=WH set P5e[VFx]=pUr +set P6e[VFx]=EKx +set ge[(pUr)]=(VFx) call Xax(pUr,P7e,false,function Qpr) +return true endfunction function Qqr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer pUr=P5e[VFx] call Xbx(pUr) return true endfunction function QQr takes nothing returns nothing call Ufx(Pse,Nlx("FolderFairysTears_StructTarget_Init: call FolderFairysTears_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderFairysTears_StructTarget.Event_BuffGain))",dg,VB,function QPr)) call Ufx(Pse,Nlx("FolderFairysTears_StructTarget_Init: call FolderFairysTears_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderFairysTears_StructTarget.Event_BuffLose))",Hf,VB,function Qqr)) call oio(RIv,Pqe) endfunction function Qsr takes nothing returns boolean set Pwe=Bkx() set PWe=Nyx(function QJr) call Ufx(PTe,Nlx("FairysTears_Init: call FairysTears.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FairysTears.Event_BuffGain))",dg,VB,function Qlr)) call Ufx(PTe,Nlx("FairysTears_Init: call FairysTears.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FairysTears.Event_BuffLose))",Hf,VB,function QLr)) call Sao(Pte,Nlx("FairysTears_Init: call FairysTears.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FairysTears.Event_EndCast))",VRv,VB,function Qmr)) call Sao(Pte,Nlx("FairysTears_Init: call FairysTears.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FairysTears.Event_SpellEffect))",kK,VB,function QMr)) call QQr() return true endfunction function QSr takes nothing returns boolean call kyr(function Qsr,"FairysTears_Init") return true endfunction function Qtr takes nothing returns boolean set P8e=LBo('uFLD') call Lco(((P8e)),CPv,(cjv)) set vm[(P8e)]=((1)*1.) call LCo(P8e,$FF,$FF,$FF,$FF) set div[(P8e)]=(('d')*1.) set dsv[(P8e)]=(('d')*1.) set Cp[(P8e)]=((1)*1.) set c5v[(P8e)]=((0)*1.) set Crv[(P8e)]=(3) set djv[(P8e)]=((150000.)*1.) set dHv[(P8e)]=((150000.)*1.) set dGv[(P8e)]=((0)*1.) set dkv[(P8e)]=(($3E8)*1.) set dJv[(P8e)]=(($3E8)*1.) set dhv[(P8e)]=((1)*1.) set dRv[(P8e)]=(($4B0)*1.) set dXv[(P8e)]=(($4B0)*1.) set dCv[(P8e)]=(($3E8)*1.) set Csv[(P8e)]=((0)*1.) set CSv[(P8e)]=((0)*1.) set CUv[(P8e)]=(0) set Cyv[(P8e)]=(0) set CQv[(P8e)]=(($96)*1.) call LFo((P8e),(j2v),1) return true endfunction function QTr takes nothing returns boolean call scx('AFLD',false) set JDv=s2o('AFLD') set orv[(JDv)]=(x8v) +set onv[(JDv)]=(3) set Zl[(JDv)]=("Fountain of Life and Death") +set PK[(JDv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D022D)))),(((FL)))))) set Vnv[(JDv)]=(2) set n9v[(JDv)]=("spell") +call s3o((JDv),Yhv+(1),((500)*1.)) call s3o((JDv),Ll+(1),(('x')*1.)) call s3o((JDv),zl+(1),((300)*1.)) call s3o((JDv),Pkv+(1),((750)*1.)) call s3o((JDv),Yhv+(2),((600)*1.)) call s3o((JDv),Ll+(2),(('n')*1.)) call s3o((JDv),zl+(2),((375)*1.)) call s3o((JDv),Pkv+(2),((750)*1.)) call s3o((JDv),Yhv+(3),((700)*1.)) call s3o((JDv),Ll+(3),(('d')*1.)) call s3o((JDv),zl+(3),((450)*1.)) call s3o((JDv),Pkv+(3),((750)*1.)) set Qkv[(JDv)]=("ReplaceableTextures\\CommandButtons\\BTNFountainOfLife.blp") call G5r(JDv,'FFL0',3,'VFL0','LPFL','LRFL') set P9e[1]=30 set P9e[2]=45 set P9e[3]=60 return true endfunction function Qur takes nothing returns boolean call IGx(yE,(function Qtr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FountainOfLifeAndDeath.page\\FountainOfLifeAndDeath.struct\\obj_FountainType_wc3unit.j")) call IGx(UE,(function QTr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FountainOfLifeAndDeath.page\\FountainOfLifeAndDeath.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function QUr takes nothing returns boolean set qve=Idx(qee) +return true endfunction function Qwr takes integer VFx returns integer set qae[VFx]=true set qne[VFx]=false call V1x(qve) return VFx endfunction function QWr takes nothing returns integer local integer VFx if(qxe==8190)then call Vmx("FountainOfLifeAndDeath_Allocation_allocCustom","call DebugEx(FountainOfLifeAndDeath.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",qee+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(qoe[(w)]==w)then set qre=qre+1 set VFx=qre else +set VFx=qoe[(w)] +set qoe[(w)]=qoe[qoe[(w)]] endif set qoe[VFx]=Z set qie[VFx]=1 call Qwr(VFx) return VFx endfunction function Qyr takes integer VFx,real x,real y,real z,real Xdx returns nothing +call C8r(VFx,x-dxx((VFx)),y-dox((VFx)),z-drx((VFx)),Xdx) +endfunction function QYr takes integer Qzr,integer hdx,integer EKx returns nothing call jGx(Qzr,qXe,EKx,hdx) endfunction function QZr takes integer hdx,integer EKx returns nothing call EMx((hdx),(qOe),(EKx)) call BUx(hdx,qOe) endfunction function Q_r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local integer VFx=QWr() local real OMx=vPo(hdx,h0x-(GetUnitX(C[((hdx))])),h1x-(GetUnitY(C[((hdx))]))) local integer Qzr=eDr(P8e,(ze[(hdx)]),h0x,h1x,OMx,P9e[EKx]) set h0x=(GetUnitX(C[((Qzr))])) set h1x=(GetUnitY(C[((Qzr))])) call Qyr(Qzr,h0x,h1x,bex(h0x,h1x)+qVe,qEe) call QYr(Qzr,hdx,EKx) call QZr(Qzr,EKx) return true endfunction function Q0r takes nothing returns boolean call Sao(JDv,Nlx("FountainOfLifeAndDeath_Init: call FountainOfLifeAndDeath.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FountainOfLifeAndDeath.Event_SpellEffect))",kK,VB,function Q_r)) return true endfunction function Q1r takes nothing returns boolean call kyr(function Q0r,"FountainOfLifeAndDeath_Init") +return true endfunction function Q2r takes nothing returns boolean set qRe=x6o('BFLT',"Fountain of Life and Death - weakened",'bFLT') set ORv[(qRe)]=("ReplaceableTextures\\CommandButtons\\BTNOrbOfDarkness.blp") +call Urx(qRe,"Abilities\\Spells\\Other\\Drain\\DrainTarget.mdl","origin",EV) +set v2v=UEx() call URx(v2v,ROv,-.3) call UIx(((qRe)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,ROv,-.4) call UIx(((qRe)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,ROv,-.5) call UIx(((qRe)),YD+(3),(v2v)) return true endfunction function Q3r takes nothing returns boolean set qIe[1]=-.3 set qIe[2]=-.4 set qIe[3]=-.5 return true endfunction function Q4r takes nothing returns boolean call IGx(tE,(function Q2r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FountainOfLifeAndDeath.page\\FountainOfLifeAndDeath.struct\\DecayAura.page\\DecayAura.struct\\Target\\obj_dummyBuff_wc3buff.j")) +call IGx(VE,(function Q3r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FountainOfLifeAndDeath.page\\FountainOfLifeAndDeath.struct\\DecayAura.page\\DecayAura.struct\\Target\\obj_this_wc3obj.j")) return true endfunction function Q5r takes nothing returns boolean set qAe=Idx(qNe) +return true endfunction function Q6r takes nothing returns boolean call scx('ADkA',false) set qbe=s2o('ADkA') set onv[(qbe)]=(3) set Zl[(qbe)]=("Decay Aura") +set n9v[(qbe)]=("spell") +set Qkv[(qbe)]=("ReplaceableTextures\\PassiveButtons\\PASBTNShadeTrueSight.blp") +return true endfunction function Q7r takes nothing returns boolean set qXe=u9x(qBe+" (dummyBuff)") call Urx(qXe,"Abilities\\Spells\\Undead\\Darksummoning\\DarkSummonTarget.mdl","origin",fV) return true endfunction function Q8r takes nothing returns boolean set qce[1]=30 set qce[2]=40 set qce[3]=50 return true endfunction function Q9r takes nothing returns boolean call IGx(UE,(function Q6r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FountainOfLifeAndDeath.page\\FountainOfLifeAndDeath.struct\\DecayAura.page\\DecayAura.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function Q7r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FountainOfLifeAndDeath.page\\FountainOfLifeAndDeath.struct\\DecayAura.page\\DecayAura.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(VE,(function Q8r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FountainOfLifeAndDeath.page\\FountainOfLifeAndDeath.struct\\DecayAura.page\\DecayAura.struct\\obj_this_wc3obj.j")) return true endfunction function svr takes nothing returns boolean set qCe=Idx(qBe) +return true endfunction function ser takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function sxr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=(uL[(Eix)]) call AYo((qfe[VFx]),(csx),((qFe[VFx])*1.),(true),(false)) return true endfunction function sor takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call jnx((ive[(qDe[VFx])]),function sxr,VFx) +endfunction function srr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(pf[(Eix)]) local integer Qzr=(Vv[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer cIr=cVr(Qzr) local integer TBx=E5x() local integer VFx=Qzr set qDe[VFx]=cIr +set qfe[VFx]=hdx +set qFe[VFx]=qge[EKx] set qGe[VFx]=TBx +set qhe[VFx]=EKx +set IKe[(cIr)]=(VFx) +set ge[(TBx)]=(VFx) set iee[(cIr)]=(((hDx((JDv),Yhv+(EKx))))*1.) +set ixe[(cIr)]=(qde) +call cEr(cIr,qHe) call cEr(cIr,qje) call cOr(cIr) call Xax(TBx,qJe,true,function sor) return true endfunction function sir takes nothing returns boolean local integer Eix=(bv) local integer Qzr=(Vv[(Eix)]) local integer VFx=Qzr local integer cIr=qDe[VFx] local integer TBx=qGe[VFx] call cDr(cIr) call Xbx(TBx) return true endfunction function sar takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer ENx=(IKe[(cIr)]) call JYx(csx,qRe) return true endfunction function snr takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer hdx=(r3e[(cIr)]) local integer ENx=(IKe[(cIr)]) local integer EKx=qhe[ENx] call jGx((csx),(qRe),(EKx),w) return true endfunction function sVr takes nothing returns nothing set qHe=Nlx("FolderDecayAura_StructTarget_Init: set FolderDecayAura_StructTarget.ENDING_EVENT = Event.Create(AURA.Target.ENDING_EVENT_TYPE, EventPriority.SPELLS, function FolderDecayAura_StructTarget.Event_Ending)",iae,VB,function sar) set qje=Nlx("FolderDecayAura_StructTarget_Init: set FolderDecayAura_StructTarget.START_EVENT = Event.Create(AURA.Target.START_EVENT_TYPE, EventPriority.SPELLS, function FolderDecayAura_StructTarget.Event_Start)",ine,VB,function snr) +endfunction function sEr takes nothing returns boolean local integer VBx set qde=Nyx(function ser) call Ufx(qXe,Nlx("DecayAura_Init: call DecayAura.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function DecayAura.Event_BuffGain))",dg,VB,function srr)) call Ufx(qXe,Nlx("DecayAura_Init: call DecayAura.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function DecayAura.Event_BuffLose))",Hf,VB,function sir)) set VBx=(onv[(qbe)]) +loop +exitwhen(VBx<1) set qge[VBx]=qce[VBx]*qJe set VBx=VBx-1 endloop call sVr() return true endfunction function sXr takes nothing returns boolean call kyr(function sEr,"DecayAura_Init") return true endfunction function sOr takes nothing returns boolean set qke=Idx(qKe) +return true endfunction function sRr takes nothing returns boolean local integer Eix=(bv) local integer hdx=QDx((av[(Eix)])) return true return true endfunction function sIr takes nothing returns boolean local integer Eix=(bv) local integer Qhx=Qfx((nv[(Eix)]),qLe) call XNr((Vv[(Eix)]),Qhx) return true endfunction function sAr takes nothing returns boolean local integer Eix=(bv) local integer Qhx=Qfx((nv[(Eix)]),qLe) call Xfr((Vv[(Eix)]),Qhx) return true endfunction function sNr takes integer EAx,code NKx returns integer local integer Qhx=EJr(NKx) set iBe[(Qhx)]=(Nyx(function sRr)) if(EKr(EAx,1)>.0)then call Xxr(Qhx,Wl,MZ,yl,PZ,HZ) +endif if(Qkx(EAx,1)>.0)then call XEr(Qhx,nJ,(R2I(((Qkx(EAx,1))*1.))),GREATER_THAN_OR_EQUAL,qZ) endif call XXr(Qhx,mZ,EAx) +call hjx(EAx,qLe,Qhx) call Sao(EAx,Nlx("AIAutoCast_CreateBasics: call whichSpell.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.AI, function AIAutoCast.Event_Learn))",pv,vB,function sIr)) call Sao(EAx,Nlx("AIAutoCast_CreateBasics: call whichSpell.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.AI, function AIAutoCast.Event_Unlearn))",Av,vB,function sAr)) call Xxr(Qhx,Pd,sZ,Pd,QZ,SZ) +return Qhx endfunction function sbr takes nothing returns boolean local integer Eix=(bv) call BPx(((LoadInteger(o[((V[(E[((X))])]))],(((jZ+(((av[(Eix)])))))),(((JZ)))))),(PK[((qOe))])) return true endfunction function sBr takes nothing returns boolean local integer Qhx=sNr(qOe,function sbr) call X1r(Qhx,1.) +return true endfunction function scr takes nothing returns boolean call EGr(function sBr,"AIPalingenesis_Init") +return true endfunction function sCr takes nothing returns boolean set qme=x6o('BFDL',"Revived",'bFDL') +set ORv[(qme)]=("ReplaceableTextures\\CommandButtons\\BTNAnimateDead.blp") return true endfunction function sdr takes nothing returns boolean call scx('AFLX',false) set qOe=s2o('AFLX') set onv[(qOe)]=(3) set Zl[(qOe)]=("Palingenesis") set PK[(qOe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0251)))),(((FL)))))) set Md[(qOe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0253)))),(((FL)))))) set qd[(qOe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0252)))),(((FL)))))) set n9v[(qOe)]=("spell") +call s3o((qOe),Yhv+(1),((500)*1.)) call s3o((qOe),Ll+(1),((6)*1.)) call s3o((qOe),zl+(1),(('d')*1.)) call s3o((qOe),Yhv+(2),((600)*1.)) call s3o((qOe),Ll+(2),((6)*1.)) call s3o((qOe),zl+(2),(('d')*1.)) call s3o((qOe),Yhv+(3),((700)*1.)) call s3o((qOe),Ll+(3),((6)*1.)) call s3o((qOe),zl+(3),(('d')*1.)) set Qkv[(qOe)]=("ReplaceableTextures\\CommandButtons\\BTNOrbOfDarkness.blp") +set qMe[1]=30 set qMe[2]=30 set qMe[3]=30 return true endfunction function sDr takes nothing returns boolean call IGx(tE,(function sCr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FountainOfLifeAndDeath.page\\FountainOfLifeAndDeath.struct\\Palingenesis.page\\Palingenesis.struct\\obj_summonBuff_wc3buff.j")) call IGx(UE,(function sdr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\FountainOfLifeAndDeath.page\\FountainOfLifeAndDeath.struct\\Palingenesis.page\\Palingenesis.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function sfr takes nothing returns boolean set qpe=Idx(qPe) +return true endfunction function sFr takes nothing returns boolean local integer csx=pKx() if not Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cjv)then return false +endif return true return true endfunction function sgr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=qse[VFx] local integer EKx=qSe[VFx] local integer hbo=(ze[(hdx)]) call tDo(tgo) if(csx==w)then return true endif if not Cmx(csx,tf)then return true endif call cdx((C1x((csx),(qTe),(que),(EV)))) call I7r(csx) call jGx((csx),(qme),(EKx),w) call OEx(csx,hbo) call edr(csx,qMe[EKx]) set Rmv[(csx)]=(qUe) +call JVx(csx,-$80,-$80,-$80,0) return true endfunction function sGr takes integer hdx,integer EKx,integer csx returns nothing local integer tgo=teo() local integer VFx=tgo set qse[VFx]=hdx +set qSe[VFx]=EKx +set qte[VFx]=csx +set qQv[((tgo))]=((D6v*((.06)*1.))*1.) set qsv[(tgo)]=((10.)*1.) call tio(tgo,'qFDM',2.) set quv[(tgo)]=Ntx((function sgr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,500.) call Tvo(tgo,hdx) call t4o((tgo),(csx),.0,.0,.0,(function t6o)) endfunction function shr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx local real x=(GetUnitX(C[((hdx))])) local real y=(GetUnitY(C[((hdx))])) call fXo(qqe,x,y,(hDx((qOe),Yhv+(EKx))),qQe) +set csx=x8r(qqe,x,y) +if(csx==w)then return true endif call sGr(hdx,EKx,csx) return true endfunction function sHr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real x=(GetUnitX(C[((hdx))])) local real y=(GetUnitY(C[((hdx))])) call fXo(qqe,x,y,(hDx((qOe),Yhv+(EKx))),qQe) +return not((OXx(FirstOfGroup(jd[((qqe))])))==w) return true endfunction function sjr takes nothing returns boolean set qqe=Bkx() set qQe=Nyx(function sFr) call Sao(qOe,Nlx("Palingenesis_Init: call Palingenesis.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Palingenesis.Event_SpellEffect))",kK,VB,function shr)) set qK[(qOe)]=(Nyx(function sHr)) return true endfunction function sJr takes nothing returns boolean call kyr(function sjr,"Palingenesis_Init") return true endfunction function skr takes nothing returns boolean set qwe[1]=.5 set qwe[2]=.5 set qwe[3]=.5 set qwe[4]=.5 set qwe[5]=.5 set qwe[6]=.5 return true endfunction function sKr takes nothing returns boolean set qWe=u9x(qye+" (dummyBuff)") return true endfunction function slr takes nothing returns boolean call IGx(VE,(function skr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\GarmentsOfTheSalamander.page\\GarmentsOfTheSalamander.struct\\Regen\\obj_this_wc3obj.j")) call IGx(tE,(function sKr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\GarmentsOfTheSalamander.page\\GarmentsOfTheSalamander.struct\\Regen\\obj_dummyBuff_wc3buff.j")) return true endfunction function sLr takes nothing returns boolean set qYe=Idx(qye) +return true endfunction function smr takes nothing returns boolean call scx('ASaR',false) set qze=s2o('ASaR') set orv[(qze)]=(x4v) +set onv[(qze)]=(6) set Zl[(qze)]=("Revert to Human Form") set PK[(qze)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0089)))),(((FL)))))) set Vnv[(qze)]=(0) set n9v[(qze)]=("spell") +call s3o((qze),Ll+(1),((3)*1.)) call s3o((qze),Pkv+(1),((750)*1.)) call s3o((qze),Ll+(2),((3)*1.)) call s3o((qze),Pkv+(2),((750)*1.)) call s3o((qze),Ll+(3),((3)*1.)) call s3o((qze),Pkv+(3),((750)*1.)) call s3o((qze),Ll+(4),((3)*1.)) call s3o((qze),Pkv+(4),((750)*1.)) call s3o((qze),Ll+(5),((3)*1.)) call s3o((qze),Pkv+(5),((750)*1.)) call s3o((qze),Ll+(6),((3)*1.)) call s3o((qze),Pkv+(6),((750)*1.)) set Qkv[(qze)]=("ReplaceableTextures\\CommandButtons\\BTNHeroBloodElfPrince.blp") call G5r(qze,'FSR0',6,'VSR0','LPSR','LRSR') return true endfunction function sMr takes nothing returns boolean call scx('ASaX',false) return true endfunction function spr takes nothing returns boolean set qZe=LBo('USal') call LFo((qZe),('AInv'),1) call Lco(((qZe)),CPv,(rG)) call Lco(((qZe)),CPv,(cgv)) set vm[(qZe)]=((.95)*1.) +call LCo(qZe,$FF,$96,$AA,$FF) set div[(qZe)]=((110.80332409972)*1.) set dsv[(qZe)]=((22.160664819945)*1.) set Cp[(qZe)]=((280)*1.) +set c5v[(qZe)]=((1)*1.) set Crv[(qZe)]=(4) set djv[(qZe)]=(('d')*1.) set dHv[(qZe)]=(('d')*1.) set dGv[(qZe)]=((0)*1.) set dkv[(qZe)]=(('d')*1.) set dJv[(qZe)]=(('d')*1.) set dhv[(qZe)]=((0)*1.) set dRv[(qZe)]=(($578)*1.) set dXv[(qZe)]=(($578)*1.) set Cbv[(qZe)]=(juv) +set CDv[(qZe)]=((360)*1.) set Cfv[((qZe))]=((1.*1./((1.8)*1.))*1.) +set CTv[(qZe)]=((.5)*1.) +set GCv[(qZe)]=((500)*1.) set Csv[(qZe)]=((29)*1.) +set CSv[(qZe)]=((29)*1.) +set CUv[(qZe)]=(1) set Cyv[(qZe)]=($A) set CZv[(qZe)]=(0) set CQv[(qZe)]=((53.185595567867)*1.) set dev[(qZe)]=(20) set C9v[(qZe)]=($A) set DAv[(qZe)]=((6)*1.) set DDv[(qZe)]=((2.5)*1.) set Dfv[(qZe)]=((.8)*1.) +set DNv[(qZe)]=((16)*1.) +set DFv[(qZe)]=((4.5)*1.) set Dbv[(qZe)]=((9)*1.) set Dgv[(qZe)]=((3.5)*1.) call LFo((qZe),(Jsv),1) call LFo((qZe),(JSv),1) call LFo((qZe),(Jtv),1) call LFo((qZe),(Poe),1) return true endfunction function sPr takes nothing returns boolean call scx('ASaC',false) return true endfunction function sqr takes nothing returns boolean set q_e=u9x(q0e+" (dummyBuff)") call Urx(q_e,"Units\\Aura.mdx","origin",EV) set v2v=UEx() call URx(v2v,GQv,3) call nUr(v2v,GTv,true) call UXx(((v2v)),ff,(q4r(cd,.2,.5))) +call UIx(((q_e)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,GQv,5) call nUr(v2v,GTv,true) call UXx(((v2v)),ff,(q4r(cd,.35,.5))) call UIx(((q_e)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,GQv,7) call nUr(v2v,GTv,true) call UXx(((v2v)),ff,(q4r(cd,.5,.5))) +call UIx(((q_e)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,GQv,9) call nUr(v2v,GTv,true) call UXx(((v2v)),ff,(q4r(cd,.65,.5))) call UIx(((q_e)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,GQv,$B) +call nUr(v2v,GTv,true) call UXx(((v2v)),ff,(q4r(cd,.8,.5))) +call UIx(((q_e)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,GQv,$D) +call nUr(v2v,GTv,true) call UXx(((v2v)),ff,(q4r(cd,.95,.5))) call UIx(((q_e)),YD+(6),(v2v)) return true endfunction function sQr takes nothing returns boolean call scx('ASam',false) set JSv=s2o('ASam') set orv[(JSv)]=(x4v) +set onv[(JSv)]=(6) set Zl[(JSv)]=("Garments of the Salamander") +set PK[(JSv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0089)))),(((FL)))))) set Vnv[(JSv)]=(0) set n9v[(JSv)]=("spell") +call s3o((JSv),Yhv+(1),((500)*1.)) call s3o((JSv),Ll+(1),((5)*1.)) call s3o((JSv),zl+(1),(($F)*1.)) +call s3o((JSv),Pkv+(1),((750)*1.)) call s3o((JSv),Yhv+(2),((500)*1.)) call s3o((JSv),Ll+(2),((5)*1.)) call s3o((JSv),zl+(2),(($F)*1.)) +call s3o((JSv),Pkv+(2),((750)*1.)) call s3o((JSv),Yhv+(3),((500)*1.)) call s3o((JSv),Ll+(3),((5)*1.)) call s3o((JSv),zl+(3),(($F)*1.)) +call s3o((JSv),Pkv+(3),((750)*1.)) call s3o((JSv),Yhv+(4),((500)*1.)) call s3o((JSv),Ll+(4),((5)*1.)) call s3o((JSv),zl+(4),(($F)*1.)) +call s3o((JSv),Pkv+(4),((750)*1.)) call s3o((JSv),Yhv+(5),((500)*1.)) call s3o((JSv),Ll+(5),((5)*1.)) call s3o((JSv),zl+(5),(($F)*1.)) +call s3o((JSv),Pkv+(5),((750)*1.)) call s3o((JSv),Yhv+(6),((500)*1.)) call s3o((JSv),Ll+(6),((5)*1.)) call s3o((JSv),zl+(6),(($F)*1.)) +call s3o((JSv),Pkv+(6),((750)*1.)) set Qkv[(JSv)]=("ReplaceableTextures\\CommandButtons\\BTNThunderLizardSalamander.blp") call G5r(JSv,'FGa0',6,'VGa0','LPGa','LRGa') set q1e[1]=3 +set q1e[2]=5 +set q1e[3]=7 +set q1e[4]=9 +set q1e[5]=$B set q1e[6]=$D return true endfunction function ssr takes nothing returns boolean call IGx(UE,(function smr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\GarmentsOfTheSalamander.page\\GarmentsOfTheSalamander.struct\\obj_revertSpell_wc3spell.j")) call IGx(UE,(function sMr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\GarmentsOfTheSalamander.page\\GarmentsOfTheSalamander.struct\\obj_revertAbility_wc3spell.j")) call IGx(yE,(function spr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\GarmentsOfTheSalamander.page\\GarmentsOfTheSalamander.struct\\obj_thisUnitType_wc3unit.j")) call IGx(UE,(function sPr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\GarmentsOfTheSalamander.page\\GarmentsOfTheSalamander.struct\\obj_changerAbility_wc3spell.j")) call IGx(tE,(function sqr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\GarmentsOfTheSalamander.page\\GarmentsOfTheSalamander.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function sQr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\GarmentsOfTheSalamander.page\\GarmentsOfTheSalamander.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function sSr takes nothing returns boolean set q2e=Idx(q0e) +return true endfunction function str takes integer clo,integer sTr,integer b3x returns nothing if((Vfx((b3x),czv+(clo)))!=w)then call cKo(sTr,b3x) endif endfunction function sur takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx set q3e[VFx]=(bj[(csx)]) +call Qor(csx,qZe,'ASaC') +call cdx((C1x((csx),(q4e),(q5e),(EV)))) call str(x5v,dxe,csx) call str(xWv,l7e,csx) call str(x4v,qze,csx) call jGx(((csx)),(qWe),((EKx)),w) return true endfunction function sUr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer QOr=q3e[VFx] call Qor(csx,QOr,'ASaX') +call cdx((C1x((csx),(q4e),(q5e),(EV)))) call str(x5v,UTv,csx) call str(xWv,Jsv,csx) call str(x4v,JSv,csx) call dpx((csx),qWe) return true endfunction function swr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),q_e) return true endfunction function sWr takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(q_e),((Mv[(Eix)])),w) return true endfunction function syr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cjv)then return false +endif if not(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function sYr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer VMx=VFx local integer szr=q9e[VFx] local integer EKx=(Vfx(((VMx)),N+(qze))) +local real x=(GetUnitX(C[((VMx))])) local real y=(GetUnitY(C[((VMx))])) local integer sZr set zH=(ze[(VMx)]) call fXo(q6e,x,y,(hDx((JSv),Yhv+(EKx))),q7e) +set sZr=(fNo((q6e))) +call CIx(VMx,szr) call UOx(((szr)),Ef+(GQv),((qwe[EKx]*sZr)*1.)) call CJx(VMx,szr) if(EKx!=(Vfx(((VMx)),Wd+(qWe))))then +call dpx(VMx,qWe) call jGx((VMx),(qWe),(EKx),w) endif endfunction function s_r takes nothing returns boolean local integer Eix=(bv) local integer VMx=(Vv[(Eix)]) local integer TBx=E5x() local integer szr=UEx() local integer VFx=VMx set q8e[VFx]=TBx +set q9e[VFx]=szr +set ge[(TBx)]=(VFx) call URx(szr,GQv,.0) +call CJx(VMx,szr) call Xax(TBx,Qve,true,function sYr) return true endfunction function s0r takes nothing returns boolean local integer Eix=(bv) local integer VMx=(Vv[(Eix)]) local integer VFx=VMx local integer TBx=q8e[VFx] local integer szr=q9e[VFx] call Xbx(TBx) call CIx(VMx,szr) call Aqr(szr) return true endfunction function s1r takes nothing returns nothing set q6e=Bkx() set q7e=Nyx(function syr) call Ufx(qWe,Nlx("FolderGarmentsOfTheSalamander_StructRegen_Init: call FolderGarmentsOfTheSalamander_StructRegen.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderGarmentsOfTheSalamander_StructRegen.Event_BuffGain))",dg,VB,function s_r)) call Ufx(qWe,Nlx("FolderGarmentsOfTheSalamander_StructRegen_Init: call FolderGarmentsOfTheSalamander_StructRegen.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderGarmentsOfTheSalamander_StructRegen.Event_BuffLose))",Hf,VB,function s0r)) endfunction function s2r takes nothing returns boolean call Ufx(q_e,Nlx("GarmentsOfTheSalamander_Init: call GarmentsOfTheSalamander.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function GarmentsOfTheSalamander.Event_BuffGain))",dg,VB,function sur)) call Ufx(q_e,Nlx("GarmentsOfTheSalamander_Init: call GarmentsOfTheSalamander.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function GarmentsOfTheSalamander.Event_BuffLose))",Hf,VB,function sUr)) call Sao(qze,Nlx("GarmentsOfTheSalamander_Init: call GarmentsOfTheSalamander.REVERT_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function GarmentsOfTheSalamander.Event_RevertSpellEffect))",kK,VB,function swr)) call Sao(JSv,Nlx("GarmentsOfTheSalamander_Init: call GarmentsOfTheSalamander.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function GarmentsOfTheSalamander.Event_SpellEffect))",kK,VB,function sWr)) call s1r() return true endfunction function s3r takes nothing returns boolean call kyr(function s2r,"GarmentsOfTheSalamander_Init") return true endfunction function s4r takes nothing returns boolean set Qee=Idx(Qxe) +return true endfunction function s5r takes nothing returns boolean set Qoe=Idx(Qre) +return true endfunction function s6r takes nothing returns boolean set Qie=Idx(Qae) +return true endfunction function s7r takes nothing returns boolean set Qne=Idx(QVe) +return true endfunction function s8r takes nothing returns boolean set QEe=x6o('BHNP',"Hand of Nature (Prison)",'bHNP') +set ORv[(QEe)]=("ReplaceableTextures\\CommandButtons\\BTNEntanglingRoots.blp") set v2v=UEx() call nUr(v2v,ghv,true) call UIx(((QEe)),YD+(1),(v2v)) set v2v=UEx() call nUr(v2v,ghv,true) call UIx(((QEe)),YD+(2),(v2v)) set v2v=UEx() call nUr(v2v,ghv,true) call UIx(((QEe)),YD+(3),(v2v)) set v2v=UEx() call nUr(v2v,ghv,true) call UIx(((QEe)),YD+(4),(v2v)) set v2v=UEx() call nUr(v2v,ghv,true) call UIx(((QEe)),YD+(5),(v2v)) set v2v=UEx() call nUr(v2v,ghv,true) call UIx(((QEe)),YD+(6),(v2v)) return true endfunction function s9r takes nothing returns boolean call IGx(tE,(function s8r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\Prison\\obj_dummyBuff_wc3buff.j")) return true endfunction function Svr takes nothing returns boolean set QXe=Idx(QOe) +return true endfunction function Ser takes nothing returns boolean set QRe[1]=-40 set QRe[2]=-50 set QRe[3]=-60 set QRe[4]=-70 set QRe[5]=-80 set QRe[6]=-90 set QIe[1]=3 +set QIe[2]=3.5 set QIe[3]=4 +set QIe[4]=4.5 set QIe[5]=5 +set QIe[6]=5.5 set QAe[1]=40 set QAe[2]=40 set QAe[3]=40 set QAe[4]=40 set QAe[5]=40 set QAe[6]=40 set QNe[1]=1 +set QNe[2]=1 +set QNe[3]=1 +set QNe[4]=1 +set QNe[5]=1 +set QNe[6]=1 +return true endfunction function Sxr takes nothing returns boolean set Qbe=x6o('BHoN',"Hand of Nature",'bHoN') set v_v[(Qbe)]=(true) set ORv[(Qbe)]=("ReplaceableTextures\\CommandButtons\\BTNEntanglingRoots.blp") call Urx(Qbe,"Abilities\\Spells\\NightElf\\EntanglingRoots\\EntanglingRootsTarget.mdl","origin",EV) set v2v=UEx() call URx(v2v,f6v,-40) call UIx(((Qbe)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,f6v,-50) call UIx(((Qbe)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,f6v,-60) call UIx(((Qbe)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,f6v,-70) call UIx(((Qbe)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,f6v,-80) call UIx(((Qbe)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,f6v,-90) call UIx(((Qbe)),YD+(6),(v2v)) return true endfunction function Sor takes nothing returns boolean call IGx(VE,(function Ser),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\Roots\\Buff\\obj_this_wc3obj.j")) call IGx(tE,(function Sxr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\Roots\\Buff\\obj_dummyBuff_wc3buff.j")) return true endfunction function Srr takes nothing returns boolean set QBe=Idx(Qce) +return true endfunction function Sir takes nothing returns boolean return true endfunction function Sar takes nothing returns boolean set QCe=Idx(Qde) +return true endfunction function Snr takes nothing returns boolean return true endfunction function SVr takes nothing returns boolean set QDe=Idx(Qfe) +return true endfunction function SEr takes nothing returns boolean call scx('AHoN',false) set QFe=s2o('AHoN') set orv[(QFe)]=(x4v) +set onv[(QFe)]=(6) set Zl[(QFe)]=("Hand of Nature") +set PK[(QFe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00CB)))),(((FL)))))) set Vnv[(QFe)]=(3) set n9v[(QFe)]=("spell") +call s3o((QFe),Yhv+(1),((350)*1.)) call s3o((QFe),Ll+(1),((8)*1.)) call s3o((QFe),zl+(1),((65)*1.)) +call s3o((QFe),Pkv+(1),((650)*1.)) call s3o((QFe),Yhv+(2),((350)*1.)) call s3o((QFe),Ll+(2),((8)*1.)) call s3o((QFe),zl+(2),((75)*1.)) +call s3o((QFe),Pkv+(2),((650)*1.)) call s3o((QFe),Yhv+(3),((350)*1.)) call s3o((QFe),Ll+(3),((8)*1.)) call s3o((QFe),zl+(3),((85)*1.)) +call s3o((QFe),Pkv+(3),((650)*1.)) call s3o((QFe),Yhv+(4),((350)*1.)) call s3o((QFe),Ll+(4),((8)*1.)) call s3o((QFe),zl+(4),((95)*1.)) +call s3o((QFe),Pkv+(4),((650)*1.)) call s3o((QFe),Yhv+(5),((350)*1.)) call s3o((QFe),Ll+(5),((8)*1.)) call s3o((QFe),zl+(5),(('i')*1.)) call s3o((QFe),Pkv+(5),((650)*1.)) call s3o((QFe),Yhv+(6),((350)*1.)) call s3o((QFe),Ll+(6),((8)*1.)) call s3o((QFe),zl+(6),(('s')*1.)) call s3o((QFe),Pkv+(6),((650)*1.)) set Qkv[(QFe)]=("ReplaceableTextures\\CommandButtons\\BTNEntanglingRoots.blp") call G5r(QFe,'FHN0',6,'VHN0','LPHN','LRHN') set Qge[1]=40 set Qge[2]=40 set Qge[3]=40 set Qge[4]=40 set Qge[5]=40 set Qge[6]=40 set QGe[1]=3 +set QGe[2]=3 +set QGe[3]=3 +set QGe[4]=3 +set QGe[5]=3 +set QGe[6]=3 +set Qhe[1]=2 +set Qhe[2]=2 +set Qhe[3]=2 +set Qhe[4]=2 +set Qhe[5]=2 +set Qhe[6]=2 +return true endfunction function SXr takes nothing returns boolean set QHe[5]=LBo('uCL5') call Lco(((QHe[5])),CPv,(cgv)) set vm[(QHe[5])]=((.9)*1.) call LCo(QHe[5],0,$FF,0,$FF) +set div[(QHe[5])]=(('d')*1.) +set dsv[(QHe[5])]=(($E1)*1.) +call mHo(QHe[5],"Units\\CobraLily\\LightingOrb.mdx","head",fV) set c5v[(QHe[5])]=((2)*1.) set Crv[(QHe[5])]=(2) set djv[(QHe[5])]=((450)*1.) +set dHv[(QHe[5])]=((450)*1.) +set dGv[(QHe[5])]=((0)*1.) set dRv[(QHe[5])]=(($4B0)*1.) set dXv[(QHe[5])]=(($4B0)*1.) set dCv[(QHe[5])]=(($F)*1.) set Cbv[(QHe[5])]=(j4v) set CDv[(QHe[5])]=((600)*1.) +set Cfv[((QHe[5]))]=((1.*1./((1.25)*1.))*1.) +set CTv[(QHe[5])]=((.4)*1.) set GCv[(QHe[5])]=((600)*1.) +set Csv[(QHe[5])]=((32)*1.) set CSv[(QHe[5])]=((32)*1.) set CUv[(QHe[5])]=(3) set Cyv[(QHe[5])]=(4) set CZv[(QHe[5])]=(1) set CQv[(QHe[5])]=((16)*1.) return true endfunction function SOr takes nothing returns boolean set QHe[1]=LBo('uCoL') call Lco(((QHe[1])),CPv,(cgv)) set vm[(QHe[1])]=((.7)*1.) call LCo(QHe[1],0,$FF,0,$FF) +set div[(QHe[1])]=(('d')*1.) +set dsv[(QHe[1])]=(($E1)*1.) +call mHo(QHe[1],"HandOfNature_page\\HandOfNature_struct\\LightingOrb.mdx","head",fV) +set c5v[(QHe[1])]=((0)*1.) set Crv[(QHe[1])]=(2) set djv[(QHe[1])]=(($96)*1.) +set dHv[(QHe[1])]=(($96)*1.) +set dGv[(QHe[1])]=((0)*1.) set dRv[(QHe[1])]=(($4B0)*1.) set dXv[(QHe[1])]=(($4B0)*1.) set dCv[(QHe[1])]=(($F)*1.) set Cbv[(QHe[1])]=(j4v) set CDv[(QHe[1])]=((600)*1.) +set Cfv[((QHe[1]))]=((1.*1./((1.25)*1.))*1.) +set CTv[(QHe[1])]=((.4)*1.) set GCv[(QHe[1])]=((600)*1.) +set Csv[(QHe[1])]=(($C)*1.) set CSv[(QHe[1])]=(($C)*1.) set CUv[(QHe[1])]=(1) set Cyv[(QHe[1])]=(3) set CZv[(QHe[1])]=(1) set CQv[(QHe[1])]=((40)*1.) return true endfunction function SRr takes nothing returns boolean set Qje=u9x(QJe+" (dummyBuff)") return true endfunction function SIr takes nothing returns boolean set QHe[2]=LBo('uCL2') call Lco(((QHe[2])),CPv,(cgv)) set vm[(QHe[2])]=((.75)*1.) call LCo(QHe[2],0,$FF,0,$FF) +set div[(QHe[2])]=(('d')*1.) +set dsv[(QHe[2])]=(($E1)*1.) +call mHo(QHe[2],"Units\\CobraLily\\LightingOrb.mdx","head",fV) set c5v[(QHe[2])]=((1)*1.) set Crv[(QHe[2])]=(2) set djv[(QHe[2])]=(($E1)*1.) +set dHv[(QHe[2])]=(($E1)*1.) +set dGv[(QHe[2])]=((0)*1.) set dRv[(QHe[2])]=(($4B0)*1.) set dXv[(QHe[2])]=(($4B0)*1.) set dCv[(QHe[2])]=(($F)*1.) set Cbv[(QHe[2])]=(j4v) set CDv[(QHe[2])]=((600)*1.) +set Cfv[((QHe[2]))]=((1.*1./((1.25)*1.))*1.) +set CTv[(QHe[2])]=((.4)*1.) set GCv[(QHe[2])]=((600)*1.) +set Csv[(QHe[2])]=((16)*1.) set CSv[(QHe[2])]=((16)*1.) set CUv[(QHe[2])]=(2) set Cyv[(QHe[2])]=(2) set CZv[(QHe[2])]=(1) set CQv[(QHe[2])]=((16)*1.) return true endfunction function SAr takes nothing returns boolean set QHe[3]=LBo('uCL3') call Lco(((QHe[3])),CPv,(cgv)) set vm[(QHe[3])]=((.8)*1.) call LCo(QHe[3],0,$FF,0,$FF) +set div[(QHe[3])]=(('d')*1.) +set dsv[(QHe[3])]=(($E1)*1.) +call mHo(QHe[3],"Units\\CobraLily\\LightingOrb.mdx","head",fV) set c5v[(QHe[3])]=((1)*1.) set Crv[(QHe[3])]=(2) set djv[(QHe[3])]=((300)*1.) +set dHv[(QHe[3])]=((300)*1.) +set dGv[(QHe[3])]=((0)*1.) set dRv[(QHe[3])]=(($4B0)*1.) set dXv[(QHe[3])]=(($4B0)*1.) set dCv[(QHe[3])]=(($F)*1.) set Cbv[(QHe[3])]=(j4v) set CDv[(QHe[3])]=((600)*1.) +set Cfv[((QHe[3]))]=((1.*1./((1.25)*1.))*1.) +set CTv[(QHe[3])]=((.4)*1.) set GCv[(QHe[3])]=((600)*1.) +set Csv[(QHe[3])]=((21)*1.) set CSv[(QHe[3])]=((21)*1.) set CUv[(QHe[3])]=(2) set Cyv[(QHe[3])]=(3) set CZv[(QHe[3])]=(1) set CQv[(QHe[3])]=((16)*1.) return true endfunction function SNr takes nothing returns boolean set QHe[6]=LBo('uCL6') call Lco(((QHe[6])),CPv,(cgv)) set vm[(QHe[6])]=((.95)*1.) call LCo(QHe[6],0,$FF,0,$FF) +set div[(QHe[6])]=(('d')*1.) +set dsv[(QHe[6])]=(($E1)*1.) +call mHo(QHe[6],"Units\\CobraLily\\LightingOrb.mdx","head",fV) set c5v[(QHe[6])]=((2)*1.) set Crv[(QHe[6])]=(2) set djv[(QHe[6])]=((525)*1.) +set dHv[(QHe[6])]=((525)*1.) +set dGv[(QHe[6])]=((0)*1.) set dRv[(QHe[6])]=(($4B0)*1.) set dXv[(QHe[6])]=(($4B0)*1.) set dCv[(QHe[6])]=(($F)*1.) set Cbv[(QHe[6])]=(j4v) set CDv[(QHe[6])]=((600)*1.) +set Cfv[((QHe[6]))]=((1.*1./((1.25)*1.))*1.) +set CTv[(QHe[6])]=((.4)*1.) set GCv[(QHe[6])]=((600)*1.) +set Csv[(QHe[6])]=((38)*1.) set CSv[(QHe[6])]=((38)*1.) set CUv[(QHe[6])]=(3) set Cyv[(QHe[6])]=(5) set CZv[(QHe[6])]=(1) set CQv[(QHe[6])]=((16)*1.) return true endfunction function Sbr takes nothing returns boolean set QHe[4]=LBo('uCL4') call Lco(((QHe[4])),CPv,(cgv)) set vm[(QHe[4])]=((.85)*1.) call LCo(QHe[4],0,$FF,0,$FF) +set div[(QHe[4])]=(('d')*1.) +set dsv[(QHe[4])]=(($E1)*1.) +call mHo(QHe[4],"Units\\CobraLily\\LightingOrb.mdx","head",fV) set c5v[(QHe[4])]=((2)*1.) set Crv[(QHe[4])]=(2) set djv[(QHe[4])]=((375)*1.) +set dHv[(QHe[4])]=((375)*1.) +set dGv[(QHe[4])]=((0)*1.) set dRv[(QHe[4])]=(($4B0)*1.) set dXv[(QHe[4])]=(($4B0)*1.) set dCv[(QHe[4])]=(($F)*1.) set Cbv[(QHe[4])]=(j4v) set CDv[(QHe[4])]=((600)*1.) +set Cfv[((QHe[4]))]=((1.*1./((1.25)*1.))*1.) +set CTv[(QHe[4])]=((.4)*1.) set GCv[(QHe[4])]=((600)*1.) +set Csv[(QHe[4])]=((26)*1.) set CSv[(QHe[4])]=((26)*1.) set CUv[(QHe[4])]=(3) set Cyv[(QHe[4])]=(3) set CZv[(QHe[4])]=(1) set CQv[(QHe[4])]=((16)*1.) return true endfunction function SBr takes nothing returns boolean call IGx(UE,(function SEr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\obj_thisSpell_wc3spell.j")) call IGx(yE,(function SXr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\obj_summonUnitType[5]_wc3unit.j")) call IGx(yE,(function SOr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\obj_summonUnitType[1]_wc3unit.j")) call IGx(tE,(function SRr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\obj_dummyBuff_wc3buff.j")) call IGx(yE,(function SIr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\obj_summonUnitType[2]_wc3unit.j")) call IGx(yE,(function SAr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\obj_summonUnitType[3]_wc3unit.j")) call IGx(yE,(function SNr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\obj_summonUnitType[6]_wc3unit.j")) call IGx(yE,(function Sbr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\obj_summonUnitType[4]_wc3unit.j")) return true endfunction function Scr takes nothing returns boolean set Qke=Idx(QJe) +return true endfunction function SCr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if Cmx(csx,chv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function Sdr takes integer VFx,integer csx returns nothing call JYx(csx,QEe) endfunction function SDr takes integer VFx,integer Vgx,integer Vhx returns boolean return VYx(Qpe[(VFx)],(QPe[((VFx))]),Vgx,Vhx) endfunction function Sfr takes integer VFx returns nothing local integer Xrx=QQe[VFx] local integer TBx=Qse[VFx] local integer SFr=QSe[VFx] local integer Sgr=Qte[VFx] local integer COx call Xbx(Xrx) call Xbx(TBx) call Shx(SFr) set COx=(J3[(Sgr)]) loop +exitwhen(COx==w) +call HIr(COx,QTe[(COx)]) +set COx=t2x(Sgr,COx) +endloop call Shx(Sgr) endfunction function SGr takes integer VFx returns nothing call FlushChildHashtable(o[(V[(E[((Qpe[VFx]))])])],((((QPe[((VFx))]))))) +endfunction function Shr takes integer VFx returns nothing set Qwe[VFx]=false call SGr((VFx)) call EEx(Qke) endfunction function SHr takes integer VFx returns nothing if(Que[VFx]>0)then return endif if(QUe[VFx]!=Z)then call Vmx("HandOfNature_Allocation_deallocCustom_confirm","call DebugEx(HandOfNature.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",QJe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set QUe[VFx]=QUe[(w)] set QUe[(w)]=VFx +call Shr(VFx) endfunction function Sjr takes integer VFx returns nothing set Que[VFx]=Que[VFx]-1 call SHr(VFx) endfunction function SJr takes nothing returns boolean local integer Eix=(bv) local integer dTr=(Vv[(Eix)]) local integer VFx=Vfx(dTr,QLe) if Qme[VFx]then set Qme[VFx]=false call Sdr((w),QMe[VFx]) endif if SDr(VFx,Qqe,dTr)then call Sfr(VFx) call Sjr((VFx)) endif return true endfunction function Skr takes integer VFx returns integer set Qwe[VFx]=true set QYe[VFx]=false set Qpe[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(Qke) return VFx endfunction function SKr takes nothing returns integer local integer VFx if(QWe==8190)then call Vmx("HandOfNature_Allocation_allocCustom","call DebugEx(HandOfNature.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",QJe+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(QUe[(w)]==w)then set Qye=Qye+1 set VFx=Qye else +set VFx=QUe[(w)] +set QUe[(w)]=QUe[QUe[(w)]] endif set QUe[VFx]=Z set Que[VFx]=1 call Skr(VFx) return VFx endfunction function Slr takes integer VFx returns nothing set QPe[(VFx)]=(Qze+VFx) +endfunction function SLr takes integer VFx,integer csx returns nothing call jGx((csx),(QEe),(1),w) endfunction function Smr takes integer VFx,integer Vgx returns integer return(0+(LoadInteger(o[((V[(E[((Qpe[(VFx)]))])]))],((((QPe[((VFx))])))),(((Vgx)))))) endfunction function SMr takes integer VFx,integer Vgx,integer Vhx returns boolean return Ehx(Qpe[(VFx)],(QPe[((VFx))]),Vgx,Vhx) endfunction function Spr takes integer VFx returns integer set Q5e[VFx]=true set Q6e[VFx]=false call V1x(QCe) return VFx endfunction function SPr takes nothing returns integer local integer VFx if(Q1e==8190)then call Vmx("FolderHandOfNature_StructRoots_Allocation_allocCustom","call DebugEx(FolderHandOfNature_StructRoots.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Qde+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Q2e[(w)]==w)then set Q3e=Q3e+1 set VFx=Q3e else +set VFx=Q2e[(w)] +set Q2e[(w)]=Q2e[Q2e[(w)]] endif set Q2e[VFx]=Z set Q4e[VFx]=1 call Spr(VFx) return VFx endfunction function Sqr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer tgo=Q8e[VFx] local integer effectAligment=-Q9e[VFx] call Sgo((Sjo((((qyv[(tgo)])+Q9e[VFx]*(GetRandomReal(((25.)*1.),((50.)*1.))))*1.),(((qYv[(tgo)])+Q9e[VFx]*(GetRandomReal(((25.)*1.),((50.)*1.))))*1.),(sre),(fV)))) set Q9e[VFx]=Q9e[VFx] endfunction function SQr takes integer VFx returns nothing set Q5e[VFx]=false call EEx(QCe) endfunction function Ssr takes integer VFx returns nothing if(Q4e[VFx]>0)then return endif if(Q2e[VFx]!=Z)then call Vmx("FolderHandOfNature_StructRoots_Allocation_deallocCustom_confirm","call DebugEx(FolderHandOfNature_StructRoots.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Qde+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Q2e[VFx]=Q2e[(w)] set Q2e[(w)]=VFx +call SQr(VFx) endfunction function SSr takes integer VFx returns nothing set Q4e[VFx]=Q4e[VFx]-1 call Ssr(VFx) endfunction function Str takes integer hdx,integer EKx,integer csx returns nothing local real Xdx if Cmx(csx,rG)then set Xdx=QNe[EKx] +else +set Xdx=QIe[EKx] +endif set ej=hdx call d9x((csx),(Qbe),(EKx),w,((Xdx)*1.)) +endfunction function STr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=Q7e[VFx] local integer TBx=sve[VFx] local integer EKx=see[VFx] local integer csx=sxe[VFx] call SSr((VFx)) call tDo(tgo) call Xbx(TBx) call Str(hdx,EKx,csx) return true endfunction function Sur takes integer hdx,integer EKx,integer csx returns nothing local integer VFx=SPr() local integer tgo=teo() local integer TBx=E5x() set Q7e[VFx]=hdx +set Q8e[VFx]=tgo +set Q9e[VFx]=-1 set sve[VFx]=TBx +set see[VFx]=EKx +set sxe[VFx]=csx +set ge[(TBx)]=(VFx) call Xax(TBx,soe,true,function Sqr) set qsv[(tgo)]=((10.)*1.) set quv[(tgo)]=Ntx((function STr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,400.) call Tvo(tgo,hdx) call t4o((tgo),(csx),.0,.0,.0,(null)) endfunction function SUr takes integer VFx,real x,real y returns nothing +local integer Vsx=h9r(x,y) local integer COx if t3x(QSe[VFx],Vsx)then +call Hor(Vsx) return endif call yao(QSe[VFx],Vsx) set COx=Hcr(x,y,rrv) +set QTe[(COx)]=(TimerGetRemaining(Oe[(QQe[VFx])]))*2+2 call yao(Qte[VFx],COx) endfunction function Swr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local real kKx=sEe[VFx] local real klx=sXe[VFx] local real Vkx=sne[VFx]+sVe[VFx] +local real OMx set sne[VFx]=Vkx +set OMx=(GetRandomReal(((.0)*1.),((TH)*1.))) +loop +exitwhen(OMx>TH) +call SUr(VFx,kKx+Vkx*(Cos(((((OMx)*1.))*1.))),klx+Vkx*(Sin(((((OMx)*1.))*1.)))) set OMx=OMx+D6v*1./ 2 endloop endfunction function SWr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call XNx(Qse[VFx]) endfunction function Syr takes integer VFx,integer hgx returns nothing local integer EKx=(Dl[(hgx)]) local real Xdx=Qge[EKx] local integer jux=(R2I(((sie*1./ sae)*1.))) local integer Xrx=E5x() local integer TBx=E5x() set QQe[VFx]=Xrx +set Qse[VFx]=TBx +set sne[VFx]=.0 set sVe[VFx]=(hDx((QFe),Yhv+(EKx)))*1./ jux set sEe[VFx]=(al[(hgx)]) +set sXe[VFx]=(nl[(hgx)]) +set QSe[VFx]=tBx() set Qte[VFx]=tBx() set ge[(Xrx)]=(VFx) set ge[(TBx)]=(VFx) call Xax(TBx,sae,true,function Swr) call Xax(Xrx,sie,false,function SWr) +endfunction function SYr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local integer hgx=(oL[(Eix)]) local integer VFx=SKr() local real Iox local real OMx local integer Szr local integer SZr local real x +local real y +local integer dTr local integer b0r local integer b1r call Slr(VFx) set QZe[VFx]=hdx +if(csx==w)then set Iox=2*(CQv[(QHe[EKx])])*(vm[(QHe[EKx])]) +set Qme[VFx]=false else +set Iox=hyx(csx,true)+S2R((hwx(vL,("hon"),"var")))*(CQv[(QHe[EKx])])*(vm[(QHe[EKx])]) set Qme[VFx]=true set QMe[VFx]=csx +call SLr((w),csx) endif call Sgo((Sjo(((h0x)*1.),((h1x)*1.),(Q_e),(fV)))) set OMx=(Atan2(((h1x-(GetUnitY(C[((hdx))])))*1.),((h0x-(GetUnitX(C[((hdx))])))*1.))) +set Szr=QGe[EKx] +set SZr=1 loop +exitwhen(SZr>Szr) set x=h0x+Iox*(Cos(((((OMx)*1.))*1.))) set y=h1x+Iox*(Sin(((((OMx)*1.))*1.))) set dTr=eDr(QHe[EKx],(ze[(hdx)]),x,y,OMx,Qge[EKx]) call Ejx(dTr,QLe,VFx) call Vmx("HandOfNature_Event_SpellEffect","call DebugEx(I2S(this)+\";\"+I2S(this.Id.Get())+\" add \"+I2S(this.Data.Integer.Table.Count(SUMMONS_KEY_ARRAY)))",I2S(VFx)+";"+I2S((QPe[(VFx)]))+" add "+I2S(Smr(VFx,Qqe))) call SMr(VFx,Qqe,dTr) call EMx((dTr),(Q0e),(EKx)) call jGx((dTr),(Qje),(1),w) call KCx(dTr,x,y) call jJx(dTr,.0) +call jTx(dTr,(vm[(QHe[EKx])]),1.) set zH=(ze[(dTr)]) call fXo(QKe,h0x,h1x,(hDx((QFe),Yhv+(EKx))),Qle) +set b0r=Qhe[EKx] +set b1r=1 loop +exitwhen(b1r>b0r) set csx=(SJo((QKe),((h0x)*1.),((h1x)*1.))) exitwhen(csx==w) +call GroupRemoveUnit(jd[(QKe)],C[(csx)]) +if(csx!=w)then call Sur(dTr,EKx,csx) endif set b1r=b1r+1 endloop set OMx=OMx+TH*1./ Szr set SZr=SZr+1 endloop call Syr(VFx,hgx) return true endfunction function S_r takes nothing returns nothing endfunction function S0r takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call AYo((sIe[VFx]),(sbe[VFx]),((sAe[VFx])*1.),(true),(false)) endfunction function S1r takes nothing returns boolean local integer Eix=(bv) local integer hdx=ej +local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=E5x() set sIe[VFx]=hdx +set sAe[VFx]=sOe[EKx] set sNe[VFx]=TBx +set sbe[VFx]=csx +set ge[(TBx)]=(VFx) call Xax(TBx,sRe,true,function S0r) return true endfunction function S2r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=sNe[VFx] call Xbx(TBx) return true endfunction function S3r takes nothing returns nothing local integer VBx=(onv[(QFe)]) loop +set sOe[VBx]=QAe[VBx]*sRe*1./ QIe[VBx] set VBx=VBx-1 exitwhen(VBx<1) endloop call Ufx(Qbe,Nlx("FolderHandOfNature_FolderRoots_StructBuff_Init: call FolderHandOfNature_FolderRoots_StructBuff.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderHandOfNature_FolderRoots_StructBuff.Event_BuffGain))",dg,VB,function S1r)) call Ufx(Qbe,Nlx("FolderHandOfNature_FolderRoots_StructBuff_Init: call FolderHandOfNature_FolderRoots_StructBuff.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderHandOfNature_FolderRoots_StructBuff.Event_BuffLose))",Hf,VB,function S2r)) call oio(RPv,Qbe) endfunction function S4r takes nothing returns boolean set QKe=Bkx() set Qle=Nyx(function SCr) call Ufx(Qje,Nlx("HandOfNature_Init: call HandOfNature.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function HandOfNature.Event_BuffLose))",Hf,VB,function SJr)) +call Sao(QFe,Nlx("HandOfNature_Init: call HandOfNature.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function HandOfNature.Event_SpellEffect))",kK,VB,function SYr)) call S_r() call S3r() return true endfunction function S5r takes nothing returns boolean call kyr(function S4r,"HandOfNature_Init") return true endfunction function S6r takes nothing returns boolean set sBe=x6o('BSlP',"Poisoned",'bSlP') set v_v[(sBe)]=(true) set ORv[(sBe)]=("ReplaceableTextures\\CommandButtons\\BTNPoisonSting.blp") call Urx(sBe,"Abilities\\Weapons\\PoisonSting\\PoisonStingTarget.mdl","origin",EV) return true endfunction function S7r takes nothing returns boolean set sce[1]=-$F set sce[2]=-20 set sce[3]=-25 set sce[4]=-30 set sce[5]=-35 set sce[6]=-40 set sCe[1]=-40 set sCe[2]=-70 set sCe[3]=-95 set sCe[4]=-'s' set sCe[5]=-'x' set sCe[6]=-'}' return true endfunction function S8r takes nothing returns boolean call IGx(tE,(function S6r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\SlowPoison.page\\SlowPoison.struct\\Target\\obj_dummyBuff_wc3buff.j")) call IGx(VE,(function S7r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\SlowPoison.page\\SlowPoison.struct\\Target\\obj_this_wc3obj.j")) +return true endfunction function S9r takes nothing returns boolean set sde=Idx(sDe) +return true endfunction function tvr takes nothing returns boolean call scx('ASlP',false) set Q0e=s2o('ASlP') set orv[(Q0e)]=(ovv) +set onv[(Q0e)]=(1) set Zl[(Q0e)]=("Slow Poison") set n9v[(Q0e)]=("spell") +call s3o((Q0e),Pkv+(1),((750)*1.)) set Qkv[(Q0e)]=("ReplaceableTextures\\PassiveButtons\\PASBTNPoisonSting.blp") return true endfunction function ter takes nothing returns boolean set sfe=u9x(sFe+" (dummyBuff)") return true endfunction function txr takes nothing returns boolean call IGx(UE,(function tvr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\SlowPoison.page\\SlowPoison.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function ter),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HandOfNature.page\\HandOfNature.struct\\SlowPoison.page\\SlowPoison.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function tor takes nothing returns boolean set sge=Idx(sFe) +return true endfunction function trr takes integer csx returns boolean return( not(Cmx(csx,chv)))and( not(Cmx(csx,cjv))) endfunction function tir takes integer hdx,integer EKx,integer csx returns nothing local real Xdx if Cmx(csx,rG)then set Xdx=she else +set Xdx=sHe endif set sje=hdx call d9x((csx),(sBe),(EKx),w,((Xdx)*1.)) +endfunction function tar takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) if not trr(csx)then return true endif call tir((A9v[(Eix)]),(Vfx((((A9v[(Eix)]))),N+(Q0e))),csx) return true endfunction function tnr takes nothing returns boolean local integer Eix=(bv) call CMx((Vv[(Eix)]),sGe) return true endfunction function tVr takes nothing returns boolean local integer Eix=(bv) call cEx((Vv[(Eix)]),sGe) return true endfunction function tEr takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(sfe),((Mv[(Eix)])),w) return true endfunction function tXr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),sfe) return true endfunction function tOr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx call AYo((sle[VFx]),(csx),((Xkx(sLe[VFx],(jk[(csx)])-Uk))*1.),(false),(false)) endfunction function tRr takes nothing returns boolean local integer Eix=(bv) local integer hdx=sje local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=E5x() set sle[VFx]=hdx +set sLe[VFx]=sJe +set sme[VFx]=TBx +set ge[(TBx)]=(VFx) call Xax(TBx,sKe,true,function tOr) return true endfunction function tIr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=sme[VFx] call Xbx(TBx) return true endfunction function tAr takes nothing returns nothing set sJe=ske*sKe call Ufx(sBe,Nlx("FolderSlowPoison_StructTarget_Init: call FolderSlowPoison_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSlowPoison_StructTarget.Event_BuffGain))",dg,VB,function tRr)) call Ufx(sBe,Nlx("FolderSlowPoison_StructTarget_Init: call FolderSlowPoison_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSlowPoison_StructTarget.Event_BuffLose))",Hf,VB,function tIr)) call oio(Njv,sBe) endfunction function tNr takes nothing returns boolean set sGe=Nlx("SlowPoison_Init: set SlowPoison.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function SlowPoison.Event_Damage)",Nev,VB,function tar) call Ufx(sfe,Nlx("SlowPoison_Init: call SlowPoison.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SlowPoison.Event_BuffGain))",dg,VB,function tnr)) call Ufx(sfe,Nlx("SlowPoison_Init: call SlowPoison.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SlowPoison.Event_BuffLose))",Hf,VB,function tVr)) call Sao(Q0e,Nlx("SlowPoison_Init: call SlowPoison.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SlowPoison.Event_Learn))",pv,VB,function tEr)) +call Sao(Q0e,Nlx("SlowPoison_Init: call SlowPoison.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SlowPoison.Event_Unlearn))",Av,VB,function tXr)) +call tAr() return true endfunction function tbr takes nothing returns boolean call kyr(function tNr,"SlowPoison_Init") +return true endfunction function tBr takes nothing returns boolean set sMe=LBo('uTrM') call Lco(((sMe)),CPv,(chv)) call Lco(((sMe)),CPv,(cgv)) set vm[(sMe)]=((1.35)*1.) set div[(sMe)]=((60)*1.) +set dsv[(sMe)]=((60)*1.) +set c5v[(sMe)]=((1)*1.) set Crv[(sMe)]=(1) set djv[(sMe)]=((5)*1.) set dHv[(sMe)]=((5)*1.) set dGv[(sMe)]=((0)*1.) set Csv[(sMe)]=((0)*1.) set CSv[(sMe)]=((0)*1.) set CUv[(sMe)]=(0) set Cyv[(sMe)]=(0) set CQv[(sMe)]=((16)*1.) +return true endfunction function tcr takes nothing returns boolean set spe=x6o('BSMB',"Mine",'bSMB') set OOv[(spe)]=(true) set sf[(spe)]=(true) +set ORv[(spe)]=("ReplaceableTextures\\CommandButtons\\BTNGoblinLandMine.blp") call Urx(spe,"HopNDrop_page\\HopNDrop_struct\\SetMines\\Mine\\PointingArrow.mdx","overhead",EV) return true endfunction function tCr takes nothing returns boolean call IGx(yE,(function tBr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HopNDrop.page\\HopNDrop.struct\\SetMines\\Mine\\obj_summonUnitType_wc3unit.j")) call IGx(tE,(function tcr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HopNDrop.page\\HopNDrop.struct\\SetMines\\Mine\\obj_dummyBuff_wc3buff.j")) return true endfunction function tdr takes nothing returns boolean set sPe=Idx(sqe) +return true endfunction function tDr takes nothing returns boolean set sQe[1]=$C8 set sQe[2]=$DC set sQe[3]=$F0 set sQe[4]=260 set sQe[5]=280 set sQe[6]=300 set sse[1]=30 set sse[2]=45 set sse[3]=60 set sse[4]=80 set sse[5]='i' set sse[6]=$87 return true endfunction function tfr takes nothing returns boolean set sSe=u9x(ste+" (dummyBuff)") set sf[(sSe)]=(true) +call Urx(sSe,"units\\human\\phoenix\\phoenix.mdl","origin",fV) return true endfunction function tFr takes nothing returns boolean call IGx(VE,(function tDr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HopNDrop.page\\HopNDrop.struct\\SetMines\\obj_this_wc3obj.j")) call IGx(tE,(function tfr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HopNDrop.page\\HopNDrop.struct\\SetMines\\obj_dummyBuff_wc3buff.j")) +return true endfunction function tgr takes nothing returns boolean set sTe=Idx(ste) +return true endfunction function tGr takes nothing returns boolean set sue=u9x(sUe+" (dummyBuff)") call Urx(sue,"Abilities\\Spells\\Undead\\OrbOfDeath\\OrbOfDeathMissile.mdl","origin",fV) +call Urx(sue,"units\\human\\phoenix\\phoenix.mdl","origin",fV) return true endfunction function thr takes nothing returns boolean call scx('AHop',false) set J5v=s2o('AHop') set orv[(J5v)]=(x4v) +set onv[(J5v)]=(6) set Zl[(J5v)]=("Hop'n'Drop") +set PK[(J5v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0092)))),(((FL)))))) set Vnv[(J5v)]=(2) set n9v[(J5v)]=("spell") +call s3o((J5v),Ll+(1),((22)*1.)) +call s3o((J5v),zl+(1),(('x')*1.)) call s3o((J5v),Pkv+(1),((900)*1.)) call s3o((J5v),Ll+(2),((21)*1.)) +call s3o((J5v),zl+(2),(($8C)*1.)) call s3o((J5v),Pkv+(2),((900)*1.)) call s3o((J5v),Ll+(3),((20)*1.)) +call s3o((J5v),zl+(3),(($A0)*1.)) call s3o((J5v),Pkv+(3),((900)*1.)) call s3o((J5v),Ll+(4),((19)*1.)) +call s3o((J5v),zl+(4),(($B4)*1.)) call s3o((J5v),Pkv+(4),((900)*1.)) call s3o((J5v),Ll+(5),((18)*1.)) +call s3o((J5v),zl+(5),(($C8)*1.)) call s3o((J5v),Pkv+(5),((900)*1.)) call s3o((J5v),Ll+(6),((17)*1.)) +call s3o((J5v),zl+(6),(($DC)*1.)) call s3o((J5v),Pkv+(6),((900)*1.)) set Qkv[(J5v)]=("ReplaceableTextures\\CommandButtons\\BTNGoblinLandMine.blp") call G5r(J5v,'FHD0',6,'VHD0','LPHD','LRHD') return true endfunction function tHr takes nothing returns boolean call IGx(tE,(function tGr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HopNDrop.page\\HopNDrop.struct\\obj_dummyBuff_wc3buff.j")) call IGx(UE,(function thr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\HopNDrop.page\\HopNDrop.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function tjr takes nothing returns boolean set swe=Idx(sUe) +return true endfunction function tJr takes integer VFx,real x,real y returns nothing +if(not IsTerrainPathable(((x)*1.),((y)*1.),PATHING_TYPE_WALKABILITY))then call Kcx(VFx,x) call J4x(VFx,y) endif endfunction function tkr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx local real Gxx=s4e[VFx]+s6e[VFx] +local real x=(GetUnitX(C[((csx))]))+s1e[VFx] +local real y=(GetUnitY(C[((csx))]))+s3e[VFx] +local real z=drx(csx)+Gxx local real tKr=bex(x,y) set s4e[VFx]=Gxx +call tJr(csx,x,y) if((Gxx<.0)and(z0)then return endif if(tGe[VFx]!=Z)then call Vmx("KhakiRecovery_Allocation_deallocCustom_confirm","call DebugEx(KhakiRecovery.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",tDe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set tGe[VFx]=tGe[(w)] set tGe[(w)]=VFx +call TWr(VFx) endfunction function TYr takes integer VFx returns nothing set tHe[VFx]=tHe[VFx]-1 call Tyr(VFx) endfunction function Tzr takes integer VFx,integer bUx returns nothing call TYr((VFx)) call Xbx(bUx) call HZo(tpe[VFx]) endfunction function TZr takes boolean T_r,integer T0r,integer T1r returns integer if T_r then return kAx(T0r) endif return kAx(T1r) endfunction function T2r takes integer VFx,integer hdx,integer EKx,integer T3r,integer b2r,integer b1r returns nothing local integer Kax=TZr((b1r==0),tCe,tRe) local real Dur=tLe[VFx]*(1.+tte*(b1r-1)) +set tme[VFx]=b2r +call HDx(tpe[VFx],b2r) call cdx((C1x((b2r),(tTe),(tue),(fV)))) call d9x((b2r),(tIe),(EKx),w,((tNe[EKx])*1.)) call s9o(hdx,b2r,Dur) if(b1r!=0)then call SetLightningColor(KP[(Kax)],(0)*1./ 255.,($FF)*1./ 255.,(0)*1./ 255.,($FF)*1./ 255.) endif call bur(Kax,T3r,b2r) call Tlo((C1x((b2r),(tUe),(twe),(EV))),2.) call Krx(Kax,.75) endfunction function T4r takes nothing returns nothing local integer bUx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(bUx)]) local integer Wmo=tpe[VFx] local integer b1r=tPe[VFx]+1 +local integer hdx local integer T3r local real T5r local real T6r local integer b2r if(b1r>tqe[VFx])then +call Tzr(VFx,bUx) else +set hdx=tKe[VFx] +set T3r=tme[VFx] +set T5r=(GetUnitX(C[((T3r))])) set T6r=(GetUnitY(C[((T3r))])) set bae=Wmo set zH=(ze[(hdx)]) call fXo(tfe,T5r,T6r,tke[VFx],tFe) set b2r=(SJo((tfe),((T5r)*1.),((T6r)*1.))) if(b2r==w)then call Tzr(VFx,bUx) else +set tPe[VFx]=b1r +call T2r(VFx,hdx,tMe[VFx],T3r,b2r,b1r-1) +endif endif endfunction function T7r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local integer VFx=Twr() local integer bUx=E5x() local integer Wmo=Pcx("KhakiRecovery_Event_SpellEffect: local UnitList targetGroup = UnitList.Create()") +set tke[VFx]=(hDx((Jvv),Yhv+(EKx))) set tKe[VFx]=hdx +set tle[VFx]=bUx +set tLe[VFx]=tBe[EKx] set tme[VFx]=csx +set tMe[VFx]=EKx +set tpe[VFx]=Wmo +set tPe[VFx]=1 set tqe[VFx]=tAe[EKx] set ge[(bUx)]=(VFx) call cdx((C1x((hdx),(tQe),(tse),(EV)))) call Xax(bUx,tSe,true,function T4r) call T2r(VFx,hdx,EKx,hdx,csx,0) call ezr(csx,true,false,true) return true endfunction function T8r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Wk[(Eix)]) local integer VFx=hdx call Tlo((C1x((hdx),(tye),(tYe),(EV))),2.) call s9o(hdx,hdx,tze[VFx]) call Svo(hdx,hdx,tZe[VFx]) return true endfunction function T9r takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx set tze[VFx]=tne[EKx] set tZe[VFx]=tVe[EKx] call CMx(csx,tWe) return true endfunction function uvr takes nothing returns boolean local integer Eix=(bv) call cEx((Vv[(Eix)]),tWe) return true endfunction function uer takes nothing returns boolean local integer Eix=(bv) call WMo((Vv[(Eix)]),tEe,(Mv[(Eix)])) return true endfunction function uxr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),tEe) return true endfunction function uor takes nothing returns nothing set tWe=Nlx("FolderKhakiRecovery_StructRestoration_Init: set FolderKhakiRecovery_StructRestoration.DEATH_EVENT = Event.Create(UNIT.Death.Events.KILLER_EVENT_TYPE, EventPriority.SPELLS, function FolderKhakiRecovery_StructRestoration.Event_Death)",fGv,VB,function T8r) call Ufx(tEe,Nlx("FolderKhakiRecovery_StructRestoration_Init: call FolderKhakiRecovery_StructRestoration.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderKhakiRecovery_StructRestoration.Event_BuffGain))",dg,VB,function T9r)) call Ufx(tEe,Nlx("FolderKhakiRecovery_StructRestoration_Init: call FolderKhakiRecovery_StructRestoration.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderKhakiRecovery_StructRestoration.Event_BuffLose))",Hf,VB,function uvr)) call Sao(Jvv,Nlx("FolderKhakiRecovery_StructRestoration_Init: call KhakiRecovery.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.CHANGE_LEVEL_EVENT_TYPE, EventPriority.SPELLS, function FolderKhakiRecovery_StructRestoration.Event_Learn))",Pv,VB,function uer)) +call Sao(Jvv,Nlx("FolderKhakiRecovery_StructRestoration_Init: call KhakiRecovery.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderKhakiRecovery_StructRestoration.Event_Learn))",pv,VB,function uer)) call Sao(Jvv,Nlx("FolderKhakiRecovery_StructRestoration_Init: call KhakiRecovery.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderKhakiRecovery_StructRestoration.Event_Unlearn))",Av,VB,function uxr)) endfunction function urr takes nothing returns boolean set tfe=Bkx() set tFe=Nyx(function Tur) call Sao(Jvv,Nlx("KhakiRecovery_Init: call KhakiRecovery.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function KhakiRecovery.Event_SpellEffect))",kK,VB,function T7r)) +call uor() return true endfunction function uir takes nothing returns boolean call kyr(function urr,"KhakiRecovery_Init") return true endfunction function uar takes nothing returns boolean set t_e[1]=60 set t_e[2]=60 set t_e[3]=60 set t_e[4]=60 set t_e[5]=60 set t_e[6]=60 return true endfunction function unr takes nothing returns boolean set t0e[3]=LBo('uMC3') call Lco(((t0e[3])),CPv,(cgv)) set vm[(t0e[3])]=((2)*1.) call LCo(t0e[3],$7F,$A3,$FF,$C8) +set div[(t0e[3])]=((123.45679012346)*1.) +set dsv[(t0e[3])]=((74.074074074074)*1.) +set Rpv[(t0e[3])]=("Units\\Undead\\Abomination\\AbominationExplosion.mdx") set Cp[(t0e[3])]=(($A0)*1.) set c5v[(t0e[3])]=(($A)*1.) set Crv[(t0e[3])]=(2) set djv[(t0e[3])]=(($7D0)*1.) set dHv[(t0e[3])]=(($7D0)*1.) set dGv[(t0e[3])]=((0)*1.) set dRv[(t0e[3])]=(($578)*1.) set dXv[(t0e[3])]=(($578)*1.) set dCv[(t0e[3])]=(($C8)*1.) +set Cbv[(t0e[3])]=(jtv) set CDv[(t0e[3])]=((300)*1.) +set Cfv[((t0e[3]))]=((1.*1./((2.25)*1.))*1.) +set CTv[(t0e[3])]=((.5)*1.) set Csv[(t0e[3])]=((80)*1.) set CSv[(t0e[3])]=((80)*1.) set CUv[(t0e[3])]=(5) set Cyv[(t0e[3])]=($A) set CZv[(t0e[3])]=(0) set CQv[(t0e[3])]=((59.259259259259)*1.) +return true endfunction function uVr takes nothing returns boolean set t0e[2]=LBo('uMC2') call Lco(((t0e[2])),CPv,(cgv)) set vm[(t0e[2])]=((1.8)*1.) call LCo(t0e[2],$7F,$A3,$FF,$C8) +set div[(t0e[2])]=((123.45679012346)*1.) +set dsv[(t0e[2])]=((74.074074074074)*1.) +set Rpv[(t0e[2])]=("Units\\Undead\\Abomination\\AbominationExplosion.mdx") set Cp[(t0e[2])]=(($A0)*1.) set c5v[(t0e[2])]=(($A)*1.) set Crv[(t0e[2])]=(2) set djv[(t0e[2])]=(($5DC)*1.) set dHv[(t0e[2])]=(($5DC)*1.) set dGv[(t0e[2])]=((0)*1.) set dRv[(t0e[2])]=(($578)*1.) set dXv[(t0e[2])]=(($578)*1.) set dCv[(t0e[2])]=(($96)*1.) +set Cbv[(t0e[2])]=(jtv) set CDv[(t0e[2])]=((300)*1.) +set Cfv[((t0e[2]))]=((1.*1./((2.25)*1.))*1.) +set CTv[(t0e[2])]=((.5)*1.) set Csv[(t0e[2])]=((60)*1.) set CSv[(t0e[2])]=((60)*1.) set CUv[(t0e[2])]=(5) set Cyv[(t0e[2])]=(8) set CZv[(t0e[2])]=(0) set CQv[(t0e[2])]=((59.259259259259)*1.) +return true endfunction function uEr takes nothing returns boolean set t0e[1]=LBo('uMC1') call Lco(((t0e[1])),CPv,(cgv)) set vm[(t0e[1])]=((1.6)*1.) call LCo(t0e[1],$7F,$A3,$FF,$C8) +set div[(t0e[1])]=((123.45679012346)*1.) +set dsv[(t0e[1])]=((74.074074074074)*1.) +set Rpv[(t0e[1])]=("Units\\Undead\\Abomination\\AbominationExplosion.mdx") set Cp[(t0e[1])]=(($A0)*1.) set c5v[(t0e[1])]=(($A)*1.) set Crv[(t0e[1])]=(2) set djv[(t0e[1])]=(($3E8)*1.) set dHv[(t0e[1])]=(($3E8)*1.) set dGv[(t0e[1])]=((0)*1.) set dRv[(t0e[1])]=(($578)*1.) set dXv[(t0e[1])]=(($578)*1.) set dCv[(t0e[1])]=(('d')*1.) +set Cbv[(t0e[1])]=(jtv) set CDv[(t0e[1])]=((300)*1.) +set Cfv[((t0e[1]))]=((1.*1./((2.25)*1.))*1.) +set CTv[(t0e[1])]=((.5)*1.) set Csv[(t0e[1])]=((40)*1.) set CSv[(t0e[1])]=((40)*1.) set CUv[(t0e[1])]=(5) set Cyv[(t0e[1])]=(6) set CZv[(t0e[1])]=(0) set CQv[(t0e[1])]=((59.259259259259)*1.) +return true endfunction function uXr takes nothing returns boolean call scx('AMaC',false) set JOv=s2o('AMaC') set orv[(JOv)]=(x8v) +set onv[(JOv)]=(3) set Zl[(JOv)]=("Mana Colossus") set PK[(JOv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0272)))),(((FL)))))) set Vnv[(JOv)]=(0) set n9v[(JOv)]=("spell") +call s3o((JOv),Ll+(1),(('x')*1.)) call s3o((JOv),zl+(1),(($FA)*1.)) call s3o((JOv),Pkv+(1),((750)*1.)) call s3o((JOv),Ll+(2),(('x')*1.)) call s3o((JOv),zl+(2),((350)*1.)) call s3o((JOv),Pkv+(2),((750)*1.)) call s3o((JOv),Ll+(3),(('x')*1.)) call s3o((JOv),zl+(3),((450)*1.)) call s3o((JOv),Pkv+(3),((750)*1.)) set Qkv[(JOv)]=("ReplaceableTextures\\CommandButtons\\BTNAbomination.blp") call G5r(JOv,'FMC0',3,'VMC0','LPMC','LRMC') return true endfunction function uOr takes nothing returns boolean call IGx(VE,(function uar),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaColossus.page\\ManaColossus.struct\\obj_this_wc3obj.j")) +call IGx(yE,(function unr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaColossus.page\\ManaColossus.struct\\obj_thisUnitTypes[3]_wc3unit.j")) call IGx(yE,(function uVr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaColossus.page\\ManaColossus.struct\\obj_thisUnitTypes[2]_wc3unit.j")) call IGx(yE,(function uEr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaColossus.page\\ManaColossus.struct\\obj_thisUnitTypes[1]_wc3unit.j")) call IGx(UE,(function uXr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaColossus.page\\ManaColossus.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function uRr takes nothing returns boolean set t1e=Idx(t2e) +return true endfunction function uIr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer hbo=(ze[(hdx)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real OMx=(GetUnitFacing(C[((hdx))])*sK) local integer dTr=eDr(t0e[EKx],hbo,xnr+t3e*(Cos(((((OMx)*1.))*1.))),xVr+t3e*(Sin(((((OMx)*1.))*1.))),OMx,t_e[EKx]) call EMx((dTr),(t4e),(EKx)) return true endfunction function uAr takes nothing returns boolean call Sao(JOv,Nlx("ManaColossus_Init: call ManaColossus.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ManaColossus.Event_SpellEffect))",kK,VB,function uIr)) return true endfunction function uNr takes nothing returns boolean call kyr(function uAr,"ManaColossus_Init") return true endfunction function ubr takes nothing returns boolean set t5e=x6o('BTVT',"Theurgic Vessel - Target",'bTVT') set OOv[(t5e)]=(true) set ORv[(t5e)]=("ReplaceableTextures\\CommandButtons\\BTNPotionOfVampirism.blp") +call Urx(t5e,"Abilities\\Spells\\Other\\GeneralAuraTarget\\GeneralAuraTarget.mdl","origin",EV) set v2v=UEx() call URx(v2v,ALv,.2) +call URx(v2v,FVv,.2) +call UIx(((t5e)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,ALv,.3) +call URx(v2v,FVv,.3) +call UIx(((t5e)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,ALv,.4) +call URx(v2v,FVv,.4) +call UIx(((t5e)),YD+(3),(v2v)) return true endfunction function uBr takes nothing returns boolean set t6e[1]=.2 set t6e[2]=.3 set t6e[3]=.4 set t7e[1]=.2 set t7e[2]=.3 set t7e[3]=.4 return true endfunction function ucr takes nothing returns boolean call IGx(tE,(function ubr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaColossus.page\\TheurgicVessel.struct\\Target\\obj_dummyBuff_wc3buff.j")) +call IGx(VE,(function uBr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaColossus.page\\TheurgicVessel.struct\\Target\\obj_this_wc3obj.j")) return true endfunction function uCr takes nothing returns boolean set t8e=Idx(t9e) +return true endfunction function udr takes nothing returns boolean set Tve=x6o('BThV',"Theurgic Vessel",'bThV') +set OOv[(Tve)]=(true) set ORv[(Tve)]=("ReplaceableTextures\\CommandButtons\\BTNPotionOfVampirism.blp") +call Urx(Tve,"ManaColossus_page\\TheurgicVessel_struct\\casterEffect.mdx","origin",EV) return true endfunction function uDr takes nothing returns boolean call scx('AThV',false) set t4e=s2o('AThV') set orv[(t4e)]=(ovv) +set onv[(t4e)]=(1) set Zl[(t4e)]=("Theurgic Vessel") set n9v[(t4e)]=("spell") +call s3o((t4e),Yhv+(1),((600)*1.)) call s3o((t4e),Pkv+(1),((750)*1.)) set Qkv[(t4e)]=("ReplaceableTextures\\CommandButtons\\BTNPotionOfVampirism.blp") +return true endfunction function ufr takes nothing returns boolean call IGx(tE,(function udr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaColossus.page\\TheurgicVessel.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function uDr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaColossus.page\\TheurgicVessel.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function uFr takes nothing returns boolean set Tee=Idx(Txe) +return true endfunction function ugr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cjv)then return false +endif if not(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function uGr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer VFx=hdx local integer cIr=cVr(hdx) set Tre[VFx]=cIr +set Tie[VFx]=hdx +set Tae[VFx]=EKx +set IKe[(cIr)]=(VFx) +set iee[(cIr)]=(((hDx((t4e),Yhv+(EKx))))*1.) +set ixe[(cIr)]=(Toe) +call cEr(cIr,Tne) call cEr(cIr,TVe) call cOr(cIr) return true endfunction function uhr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=hdx local integer cIr=Tre[VFx] call cDr(cIr) return true endfunction function uHr takes nothing returns boolean local integer Eix=(bv) call WMo((Vv[(Eix)]),Tve,(Mv[(Eix)])) return true endfunction function ujr takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),Tve) return true endfunction function uJr takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer ENx=(IKe[(cIr)]) call JYx(csx,t5e) return true endfunction function ukr takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer hdx=(r3e[(cIr)]) local integer ENx=(IKe[(cIr)]) local integer EKx=Tae[ENx] call jGx((csx),(t5e),(EKx),w) return true endfunction function uKr takes nothing returns nothing set Tne=Nlx("FolderTheurgicVessel_StructTarget_Init: set FolderTheurgicVessel_StructTarget.ENDING_EVENT = Event.Create(AURA.Target.ENDING_EVENT_TYPE, EventPriority.SPELLS, function FolderTheurgicVessel_StructTarget.Event_Ending)",iae,VB,function uJr) set TVe=Nlx("FolderTheurgicVessel_StructTarget_Init: set FolderTheurgicVessel_StructTarget.START_EVENT = Event.Create(AURA.Target.START_EVENT_TYPE, EventPriority.SPELLS, function FolderTheurgicVessel_StructTarget.Event_Start)",ine,VB,function ukr) endfunction function ulr takes nothing returns boolean set Toe=Nyx(function ugr) call Ufx(Tve,Nlx("TheurgicVessel_Init: call TheurgicVessel.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TheurgicVessel.Event_BuffGain))",dg,VB,function uGr)) call Ufx(Tve,Nlx("TheurgicVessel_Init: call TheurgicVessel.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TheurgicVessel.Event_BuffLose))",Hf,VB,function uhr)) call Sao(t4e,Nlx("TheurgicVessel_Init: call TheurgicVessel.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.CHANGE_LEVEL_EVENT_TYPE, EventPriority.SPELLS, function TheurgicVessel.Event_Learn))",Pv,VB,function uHr)) call Sao(t4e,Nlx("TheurgicVessel_Init: call TheurgicVessel.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TheurgicVessel.Event_Learn))",pv,VB,function uHr)) +call Sao(t4e,Nlx("TheurgicVessel_Init: call TheurgicVessel.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TheurgicVessel.Event_Unlearn))",Av,VB,function ujr)) +call uKr() return true endfunction function uLr takes nothing returns boolean call J1r(function ulr,"TheurgicVessel_Init") +return true endfunction function umr takes nothing returns boolean set TEe=u9x(TXe+" (dummyBuff)") set sf[(TEe)]=(true) +call Urx(TEe,"Abilities\\Spells\\NightElf\\Barkskin\\BarkSkinTarget.mdl","hand left",EV) +call Urx(TEe,"Abilities\\Spells\\NightElf\\Barkskin\\BarkSkinTarget.mdl","hand right",EV) return true endfunction function uMr takes nothing returns boolean call scx('AMaR',false) set TOe=s2o('AMaR') set orv[(TOe)]=(xWv) +set onv[(TOe)]=(6) set Zl[(TOe)]=("Revert") +set PK[(TOe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0104)))),(((FL)))))) set Vnv[(TOe)]=(0) set n9v[(TOe)]=("spell") +call s3o((TOe),Ll+(1),((0)*1.)) call s3o((TOe),Pkv+(1),((750)*1.)) call s3o((TOe),Ll+(2),((0)*1.)) call s3o((TOe),Pkv+(2),((750)*1.)) call s3o((TOe),Ll+(3),((0)*1.)) call s3o((TOe),Pkv+(3),((750)*1.)) call s3o((TOe),Ll+(4),((0)*1.)) call s3o((TOe),Pkv+(4),((750)*1.)) call s3o((TOe),Ll+(5),((0)*1.)) call s3o((TOe),Pkv+(5),((750)*1.)) call s3o((TOe),Ll+(6),((0)*1.)) call s3o((TOe),Pkv+(6),((750)*1.)) set Qkv[(TOe)]=("ReplaceableTextures\\CommandButtons\\BTNNeutralManaShieldOff.blp") call G5r(TOe,'FMR0',6,'VMR0','LPMR','LRMR') return true endfunction function upr takes nothing returns boolean call IGx(tE,(function umr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaLaser.page\\ManaLaser.struct\\Revert\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function uMr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaLaser.page\\ManaLaser.struct\\Revert\\obj_thisSpell_wc3spell.j")) return true endfunction function uPr takes nothing returns boolean set TRe=Idx(TXe) +return true endfunction function uqr takes nothing returns boolean set TIe=IJx("OMaL") return true endfunction function uQr takes nothing returns boolean call scx('AMaL',false) set TAe=s2o('AMaL') set orv[(TAe)]=(xWv) +set onv[(TAe)]=(6) set Zl[(TAe)]=("Mana Laser") +set PK[(TAe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00D3)))),(((FL)))))) set Vnv[(TAe)]=(2) set n9v[(TAe)]=("spell") +call s3o((TAe),Yhv+(1),(($C8)*1.)) call s3o((TAe),Ll+(1),(($F)*1.)) +call s3o((TAe),zl+(1),((90)*1.)) +call s3o((TAe),Pkv+(1),((99999)*1.)) +call s3o((TAe),Yhv+(2),(($C8)*1.)) call s3o((TAe),Ll+(2),(($F)*1.)) +call s3o((TAe),zl+(2),(('i')*1.)) call s3o((TAe),Pkv+(2),((99999)*1.)) +call s3o((TAe),Yhv+(3),(($C8)*1.)) call s3o((TAe),Ll+(3),(($F)*1.)) +call s3o((TAe),zl+(3),(('x')*1.)) call s3o((TAe),Pkv+(3),((99999)*1.)) +call s3o((TAe),Yhv+(4),(($C8)*1.)) call s3o((TAe),Ll+(4),(($F)*1.)) +call s3o((TAe),zl+(4),(($87)*1.)) call s3o((TAe),Pkv+(4),((99999)*1.)) +call s3o((TAe),Yhv+(5),(($C8)*1.)) call s3o((TAe),Ll+(5),(($F)*1.)) +call s3o((TAe),zl+(5),(($96)*1.)) call s3o((TAe),Pkv+(5),((99999)*1.)) +call s3o((TAe),Yhv+(6),(($C8)*1.)) call s3o((TAe),Ll+(6),(($F)*1.)) +call s3o((TAe),zl+(6),(($A5)*1.)) call s3o((TAe),Pkv+(6),((99999)*1.)) +set Qkv[(TAe)]=("ReplaceableTextures\\CommandButtons\\BTNManaBurn.blp") call G5r(TAe,'FML0',6,'VML0','LPML','LRML') set TNe[1]=650 set TNe[2]=650 set TNe[3]=650 set TNe[4]=650 set TNe[5]=650 set TNe[6]=650 set Tbe[1]=900 set Tbe[2]=900 set Tbe[3]=900 set Tbe[4]=900 set Tbe[5]=900 set Tbe[6]=900 set TBe[1]=3 +set TBe[2]=3 +set TBe[3]=4 +set TBe[4]=4 +set TBe[5]=5 +set TBe[6]=5 +set Tce[1]=50 set Tce[2]=80 set Tce[3]='n' set Tce[4]=$8C set Tce[5]=$B4 set Tce[6]=$E6 return true endfunction function usr takes nothing returns boolean call IGx(mE,(function uqr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaLaser.page\\ManaLaser.struct\\obj_bolt_wc3bolt.j")) call IGx(UE,(function uQr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ManaLaser.page\\ManaLaser.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function uSr takes nothing returns boolean set TCe=Idx(Tde) +return true endfunction function utr takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function uTr takes integer VFx returns integer set Tje[VFx]=true set TJe[VFx]=false call V1x(TCe) return VFx endfunction function uur takes nothing returns integer local integer VFx if(Tge==8190)then call Vmx("ManaLaser_Allocation_allocCustom","call DebugEx(ManaLaser.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Tde+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(TGe[(w)]==w)then set The=The+1 set VFx=The else +set VFx=TGe[(w)] +set TGe[(w)]=TGe[TGe[(w)]] endif set TGe[VFx]=Z set THe[VFx]=1 call uTr(VFx) return VFx endfunction function uUr takes integer VFx returns integer set Xz[VFx]=true +set Twe[VFx]=false call V1x(YY) +return VFx endfunction function uwr takes nothing returns integer local integer VFx if(Tue==8190)then call Vmx("FolderLightning_StructFromDummyUnitToUnit_Allocation_allocCustom","call DebugEx(FolderLightning_StructFromDummyUnitToUnit.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",zY+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(Ez[(w)]==w)then set TUe=TUe+1 set VFx=TUe else +set VFx=Ez[(w)] set Ez[(w)]=Ez[Ez[(w)]] endif set Ez[VFx]=Z set Vz[VFx]=1 call uUr(VFx) return VFx endfunction function uWr takes integer VFx returns boolean set cz=cz+1 set Bz[cz]=VFx set bz[VFx]=cz+1 +return(cz==0) endfunction function uyr takes nothing returns nothing local integer VBx=cz +local integer VFx local integer VMx local integer csx local real kKx local real klx local real kLx local real h0x local real h1x local real kJx loop +set VFx=Bz[VBx] set VMx=dz[VFx] set csx=Dz[VFx] if(VMx==w)then set kKx=Fz[VFx] set klx=gz[VFx] set kLx=Gz[VFx] else +set kKx=(Rm[(VMx)]) set klx=(bm[(VMx)]) set kLx=(hz[(VMx)])+Hz[VFx] endif if(csx==w)then set h0x=jz[VFx] set h1x=Jz[VFx] set kJx=kz[VFx] else +set h0x=dxx(csx) +set h1x=dox(csx) +set kJx=bzx(csx,h0x,h1x)+khx(csx,true) endif call kGx(fz[VFx],kKx,klx,kLx,h0x,h1x,kJx) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function uYr takes integer VFx,integer VMx,real uzr,integer csx returns nothing local integer ENx=VFx local real h0x=dxx(csx) local real h1x=dox(csx) call kCx(ENx) set VFx=uwr() set fz[VFx]=ENx set dz[VFx]=VMx set Hz[VFx]=uzr set Dz[VFx]=csx call kfx(ENx,nz,VFx) +call kFx(ENx,iz) +if WOo(VMx,Rz,VFx)then call Slx(VMx,Iz) +endif if EHx(csx,Rz,VFx)then call CMx(csx,Az) +call kgx(csx) endif call kGx(ENx,(Rm[(VMx)]),(bm[(VMx)]),(hz[(VMx)])+uzr,h0x,h1x,bzx(csx,h0x,h1x)+khx(csx,true)) +if uWr(VFx)then call Xax(Cz,TWe,true,function uyr) endif endfunction function uZr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local real Cao=TKe[VFx] local real Qnr=Tle[VFx] local integer hdx=TLe[VFx] local integer MCx=Tpe[VFx] local integer Wmo=Tqe[VFx] local real x=(Rm[(MCx)])+Tse[VFx] local real y=(bm[(MCx)])+Tte[VFx] local integer csx local integer u_r local integer u0r local integer Kax local real u1r local real r1r call tKo(MCx,x,y,bex(x,y)+Tke) set zH=(ze[(hdx)]) set bae=Wmo call fXo(TDe,x,y,Cao,Tfe) set csx=fOo(TDe) +if(csx!=w)then set u_r=Tme[VFx] +set u0r=TMe[VFx] +loop +set Kax=kAx(TIe) +call HDx(Wmo,csx) call uYr(Kax,MCx,60.,csx) call Krx(Kax,.35) call cdx((C1x((csx),(Tye),(TYe),(EV)))) if not ALo(csx)then set u1r=(iJ[(csx)]) set r1r=Xkx(u1r,Qnr) +call rZr(hdx,csx,r1r) if(u_r0)then return endif if(TGe[VFx]!=Z)then call Vmx("ManaLaser_Allocation_deallocCustom_confirm","call DebugEx(ManaLaser.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Tde+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set TGe[VFx]=TGe[(w)] set TGe[(w)]=VFx +call u2r(VFx) endfunction function u4r takes integer VFx returns nothing set THe[VFx]=THe[VFx]-1 call u3r(VFx) endfunction function u5r takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer hdx=TLe[VFx] local integer MCx=Tpe[VFx] local integer Wmo=Tqe[VFx] local integer WLo=TQe[VFx] local real x=(Rm[(MCx)]) +local real y=(bm[(MCx)]) +local real z=(hz[(MCx)]) +call u4r((VFx)) call Szx(MCx) call Xbx(Xrx) call HZo(Wmo) call Xbx(WLo) call JYx(((hdx)),b8v) call Pnr(hdx,x,y,bex(x,y)) endfunction function u6r takes integer csx,real x,real y returns nothing +set TZe=x set T_e=y call d9x((csx),(TEe),(1),w,((T0e)*1.)) endfunction function u7r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real OMx=vPo(hdx,h0x-xnr,h1x-xVr) local real m3r=(Cos(((((OMx)*1.))*1.))) local real m4r=(Sin(((((OMx)*1.))*1.))) local real Bzr=xnr+TFe*m3r local real BZr=xVr+TFe*m4r local integer VFx=uur() local integer MCx=syx('qMaL',Bzr,BZr,bex(Bzr,BZr)+Tke,OMx) local integer Xrx=E5x() local integer WLo=E5x() set TKe[VFx]=(hDx((TAe),Yhv+(EKx))) set Tle[VFx]=Tce[EKx] set TLe[VFx]=hdx +set Tme[VFx]=0 set TMe[VFx]=TBe[EKx] set Tpe[VFx]=MCx +set TPe[VFx]=Xrx +set Tqe[VFx]=Pcx("ManaLaser_Event_SpellEffect: set this.targetGroup = UnitList.Create()") set TQe[VFx]=WLo +set Tse[VFx]=TSe[EKx]*m3r set Tte[VFx]=TSe[EKx]*m4r set ge[(Xrx)]=(VFx) set ge[(WLo)]=(VFx) call jGx((((hdx))),(b8v),(1),w) call Xax(WLo,TTe,true,function uZr) call Xax(Xrx,Tze[EKx],false,function u5r) call u6r(hdx,xnr,xVr) return true endfunction function u8r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local real x=TZe +local real y=T_e +local integer VFx=csx set T1e[VFx]=(Sjo(((x)*1.),((y)*1.),(T2e),(EV))) +set T3e[VFx]=x set T4e[VFx]=y call cKo(TOe,csx) return true endfunction function u9r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer QNr=T1e[VFx] call Sgo(QNr) call cKo(TAe,csx) return true endfunction function Uvr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=hdx local real x=T3e[VFx] local real y=T4e[VFx] call dpx(hdx,TEe) call Sgo((Sjo((((GetUnitX(C[((hdx))])))*1.),(((GetUnitY(C[((hdx))])))*1.),(T5e),(EV)))) call Pnr(hdx,x,y,bex(x,y)) call Sgo((Sjo(((x)*1.),((y)*1.),(T6e),(EV)))) return true endfunction function Uer takes nothing returns nothing call Ufx(TEe,Nlx("FolderManaLaser_StructRevert_Init: call FolderManaLaser_StructRevert.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderManaLaser_StructRevert.Event_BuffGain))",dg,VB,function u8r)) +call Ufx(TEe,Nlx("FolderManaLaser_StructRevert_Init: call FolderManaLaser_StructRevert.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderManaLaser_StructRevert.Event_BuffLose))",Hf,VB,function u9r)) +call Sao(TOe,Nlx("FolderManaLaser_StructRevert_Init: call FolderManaLaser_StructRevert.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderManaLaser_StructRevert.Event_SpellEffect))",kK,VB,function Uvr)) endfunction function Uxr takes nothing returns boolean local integer VBx set TDe=Bkx() set Tfe=Nyx(function utr) call Sao(TAe,Nlx("ManaLaser_Init: call ManaLaser.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ManaLaser.Event_SpellEffect))",kK,VB,function u7r)) +set VBx=(onv[(TAe)]) +loop +set Tze[VBx]=TNe[VBx]*1./ Tbe[VBx] set TSe[VBx]=Tbe[VBx]*TTe set VBx=VBx-1 exitwhen(VBx<1) endloop call Uer() return true endfunction function Uor takes nothing returns boolean call kyr(function Uxr,"ManaLaser_Init") return true endfunction function Urr takes nothing returns boolean call scx('AMaX',false) set T7e=s2o('AMaX') set orv[(T7e)]=(x8v) +set onv[(T7e)]=(3) set Zl[(T7e)]=("Charm") set PK[(T7e)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0206)))),(((FL)))))) set Vnv[(T7e)]=(4) set n9v[(T7e)]=("spell") +call s3o((T7e),Ll+(1),(($A)*1.)) +call s3o((T7e),zl+(1),(($A)*1.)) +call s3o((T7e),Pkv+(1),((350)*1.)) call s3o((T7e),Ll+(2),((9)*1.)) call s3o((T7e),zl+(2),(($A)*1.)) +call s3o((T7e),Pkv+(2),((450)*1.)) call s3o((T7e),Ll+(3),((8)*1.)) call s3o((T7e),zl+(3),(($A)*1.)) +call s3o((T7e),Pkv+(3),((550)*1.)) set Qkv[(T7e)]=("ReplaceableTextures\\CommandButtons\\BTNCharm.blp") +call G5r(T7e,'FMX0',3,'VMX0','LPMX','LRMX') return true endfunction function Uir takes nothing returns boolean call IGx(UE,(function Urr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\MassMimesis.page\\MassMimesis.struct\\Charm\\obj_thisSpell_wc3spell.j")) +return true endfunction function Uar takes nothing returns boolean set T8e=Idx(T9e) +return true endfunction function Unr takes nothing returns boolean return true endfunction function UVr takes nothing returns boolean set uve=Idx(uee) +return true endfunction function UEr takes nothing returns boolean call scx('AMaM',false) set JTv=s2o('AMaM') set orv[(JTv)]=(x8v) +set onv[(JTv)]=(3) set Zl[(JTv)]=("Mass Mimesis") set PK[(JTv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0206)))),(((FL)))))) set Vnv[(JTv)]=(2) set n9v[(JTv)]=("spell") +call s3o((JTv),Ll+(1),(('x')*1.)) call s3o((JTv),zl+(1),((400)*1.)) call s3o((JTv),Pkv+(1),((99999)*1.)) +call s3o((JTv),Ll+(2),(('x')*1.)) call s3o((JTv),zl+(2),((500)*1.)) call s3o((JTv),Pkv+(2),((99999)*1.)) +call s3o((JTv),Ll+(3),(('x')*1.)) call s3o((JTv),zl+(3),((600)*1.)) call s3o((JTv),Pkv+(3),((99999)*1.)) +set Qkv[(JTv)]=("ReplaceableTextures\\CommandButtons\\BTNAbsorbMagic.blp") call G5r(JTv,'FMM0',3,'VMM0','LPMM','LRMM') set uxe[1]=20 set uxe[2]=30 set uxe[3]=40 set uoe[1]=60 set uoe[2]=60 set uoe[3]=60 return true endfunction function UXr takes nothing returns boolean set ure=u9x(uie+" (dummyBuff)") return true endfunction function UOr takes nothing returns boolean call IGx(UE,(function UEr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\MassMimesis.page\\MassMimesis.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function UXr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\MassMimesis.page\\MassMimesis.struct\\obj_dummyBuff_wc3buff.j")) +return true endfunction function URr takes nothing returns boolean set uae=Idx(uie) +return true endfunction function UIr takes integer hdx,integer csx returns boolean return( not(Cmx(csx,rG)and not(IsUnitAlly(C[(csx)],vx[((ze[(hdx)]))]))))and( not(Cmx(csx,cGv)))and( not(Cmx(csx,cjv)))and( not(Cmx(csx,clv))) endfunction function UAr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer csx=(aL[(Eix)]) local integer EAx=(nv[(Eix)]) local integer VFx local integer Wmo local integer EKx local real UNr local real Ubr local real h0x local real h1x local real dX local real dY local integer UBr if(csx==w)then return true endif if not UIr(hdx,csx)then return true endif set VFx=hdx set Wmo=uVe[VFx] +if(b8x((Wmo),qC,(csx)))then return true endif call HDx(Wmo,csx) set EKx=uEe[VFx] +set UNr=uXe[VFx] +set Ubr=uOe[VFx] +set h0x=(GetUnitX(C[((csx))])) set h1x=(GetUnitY(C[((csx))])) set dX=h0x-UNr set dY=h1x-Ubr set UBr=dIr((bj[(csx)]),(ze[(hdx)]),uXe[VFx],uOe[VFx],(Atan2(((dY)*1.),((dX)*1.))),uxe[EKx],uRe) +call cdx((C1x((UBr),(uIe),(uAe),(EV)))) call jGx((((UBr))),(R1v),(1),w) call jGx((((UBr))),(NDv),(1),w) call EMx(((UBr)),((j2v)),(1)) call hxx(UBr,B8,h0x,h1x) +return true endfunction function Ucr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local real h0x=uNe local real h1x=ube local real Cao=(hDx((JTv),Yhv+(EKx))) local real kJx=bex(h0x,h1x) local integer VFx=csx local integer MCx=syx('qMaM',h0x,h1x,kJx,.0) +local integer UCr=syx('qMM2',h0x,h1x,kJx,.0) +set uBe[VFx]=(hDx((JTv),Yhv+(EKx))) set uce[VFx]=MCx +set uCe[VFx]=UCr +set uEe[VFx]=EKx +set uVe[VFx]=Pcx("MassMimesis_Event_BuffGain: set this.targetGroup = UnitList.Create()") +set uXe[VFx]=h0x +set uOe[VFx]=h1x +call CMx(csx,une) call cKo(T7e,csx) return true endfunction function Udr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer MCx=uce[VFx] local integer UCr=uCe[VFx] local integer Wmo=uVe[VFx] call SWx(MCx) call Szx(UCr) call HZo(Wmo) call cEx(csx,une) call cKo(JTv,csx) return true endfunction function UDr takes integer VFx returns integer set uge[VFx]=true set uGe[VFx]=false call V1x(uve) return VFx endfunction function Ufr takes nothing returns integer local integer VFx if(ude==8190)then call Vmx("FolderMassMimesis_StructMissile_Allocation_allocCustom","call DebugEx(FolderMassMimesis_StructMissile.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",uee+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(uDe[(w)]==w)then set ufe=ufe+1 set VFx=ufe else +set VFx=uDe[(w)] +set uDe[(w)]=uDe[uDe[(w)]] endif set uDe[VFx]=Z set uFe[VFx]=1 call UDr(VFx) return VFx endfunction function UFr takes integer VFx returns nothing set uge[VFx]=false call EEx(uve) endfunction function Ugr takes integer VFx returns nothing if(uFe[VFx]>0)then return endif if(uDe[VFx]!=Z)then call Vmx("FolderMassMimesis_StructMissile_Allocation_deallocCustom_confirm","call DebugEx(FolderMassMimesis_StructMissile.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",uee+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set uDe[VFx]=uDe[(w)] set uDe[(w)]=VFx +call UFr(VFx) endfunction function UGr takes integer VFx returns nothing set uFe[VFx]=uFe[VFx]-1 call Ugr(VFx) endfunction function Uhr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=uhe[VFx] local integer EKx=uHe[VFx] local real h0x=uje[VFx] local real h1x=uJe[VFx] call UGr((VFx)) call tDo(tgo) set uNe=h0x set ube=h1x call d9x((hdx),(ure),(EKx),w,((uoe[EKx])*1.)) return true endfunction function UHr takes integer hdx,integer EKx,real h0x,real h1x returns nothing +local integer VFx=Ufr() local integer tgo=teo() set uhe[VFx]=hdx +set uHe[VFx]=EKx +set uje[VFx]=h0x +set uJe[VFx]=h1x +call S2o(tgo,2000.) set qQv[((tgo))]=((D6v*((.2)*1.))*1.) set qsv[(tgo)]=((48.)*1.) call tio(tgo,'qMMM',1.) set quv[(tgo)]=Ntx((function Uhr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,500.) call Tvo(tgo,hdx) call Okr(tgo,h0x,h1x,bex(h0x,h1x)) endfunction function Ujr takes nothing returns boolean local integer Eix=(bv) call UHr((Vv[(Eix)]),(Mv[(Eix)]),(rL[(Eix)]),(iL[(Eix)])) return true endfunction function UJr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer csx=(aL[(Eix)]) local integer ENx=hdx if((hdx!=csx)and Cmx(csx,rG))then return true endif call fxo((fio((((GetUnitX(C[((csx))])))*1.),(((GetUnitY(C[((csx))])))*1.),(uke),(EV),(((JC[(csx)]))*1.)))) call SetUnitPosition(C[((csx))],((uXe[ENx])*1.),((uOe[ENx])*1.)) +call fxo((fio((((GetUnitX(C[((csx))])))*1.),(((GetUnitY(C[((csx))])))*1.),(uKe),(EV),(((JC[(csx)]))*1.)))) return true endfunction function Ukr takes nothing returns boolean local integer VBx set une=Nlx("MassMimesis_Init: set MassMimesis.ANY_CAST_EVENT = Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function MassMimesis.Event_AnyCast)",kK,VB,function UAr) call Ufx(ure,Nlx("MassMimesis_Init: call MassMimesis.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function MassMimesis.Event_BuffGain))",dg,VB,function Ucr)) call Ufx(ure,Nlx("MassMimesis_Init: call MassMimesis.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function MassMimesis.Event_BuffLose))",Hf,VB,function Udr)) call Sao(JTv,Nlx("MassMimesis_Init: call MassMimesis.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function MassMimesis.Event_SpellEffect))",kK,VB,function Ujr)) set VBx=(onv[(JTv)]) +loop +set VBx=VBx-1 exitwhen(VBx<1) endloop call Sao(T7e,Nlx("FolderMassMimesis_StructCharm_Init: call FolderMassMimesis_StructCharm.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderMassMimesis_StructCharm.Event_SpellEffect))",kK,VB,function UJr)) +return true endfunction function UKr takes nothing returns boolean call kyr(function Ukr,"MassMimesis_Init") return true endfunction function Ulr takes nothing returns boolean call scx('AAva',false) set kJv=s2o('AAva') set orv[(kJv)]=(x7v) +set onv[(kJv)]=(3) set Zl[(kJv)]=("Mountain King") set PK[(kJv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0076)))),(((FL)))))) set Vnv[(kJv)]=(0) set n9v[(kJv)]=("spell") +call s3o((kJv),Ll+(1),((70)*1.)) +call s3o((kJv),zl+(1),(('}')*1.)) call s3o((kJv),Pkv+(1),((750)*1.)) call s3o((kJv),Ll+(2),((70)*1.)) +call s3o((kJv),zl+(2),(('}')*1.)) call s3o((kJv),Pkv+(2),((750)*1.)) call s3o((kJv),Ll+(3),((70)*1.)) +call s3o((kJv),zl+(3),(('}')*1.)) call s3o((kJv),Pkv+(3),((750)*1.)) set Qkv[(kJv)]=("ReplaceableTextures\\CommandButtons\\BTNAvatar.blp") call G5r(kJv,'FAv0',3,'VAv0','LPAv','LRAv') set ule[1]=.4 set ule[2]=.6 set ule[3]=.8 set uLe[1]=5 +set uLe[2]=$A set uLe[3]=$F set ume[1]=30 set ume[2]=45 set ume[3]=60 set uMe[1]=.2 set uMe[2]=.3 set uMe[3]=.4 set upe[1]=.2 set upe[2]=.3 set upe[3]=.4 set uPe[1]=.2 set uPe[2]=.3 set uPe[3]=.4 return true endfunction function ULr takes nothing returns boolean call scx('aAvC',false) return true endfunction function Umr takes nothing returns boolean set uqe=x6o('BAva',"Avatar",'bAva') set OOv[(uqe)]=(true) set ORv[(uqe)]=("ReplaceableTextures\\CommandButtons\\BTNAvatar.blp") call Urx(uqe,"Abilities\\Spells\\Orc\\SpiritLink\\SpiritLinkTarget.mdl","chest",fV) set v2v=UEx() call URx(v2v,F9v,.2) +call URx(v2v,F7v,.2) +call URx(v2v,F8v,.2) +call URx(v2v,Fov,5) call UXx(((v2v)),ff,(q4r(cd,.4,1))) call nUr(v2v,GSv,true) call UIx(((uqe)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,F9v,.3) +call URx(v2v,F7v,.3) +call URx(v2v,F8v,.3) +call URx(v2v,Fov,$A) +call UXx(((v2v)),ff,(q4r(cd,.6,1))) call nUr(v2v,GSv,true) call UIx(((uqe)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,F9v,.4) +call URx(v2v,F7v,.4) +call URx(v2v,F8v,.4) +call URx(v2v,Fov,$F) +call UXx(((v2v)),ff,(q4r(cd,.8,1))) call nUr(v2v,GSv,true) call UIx(((uqe)),YD+(3),(v2v)) return true endfunction function UMr takes nothing returns boolean set uQe=LBo('UAva') call LFo((uQe),('AInv'),1) call Lco(((uQe)),CPv,(rG)) call Lco(((uQe)),CPv,(cgv)) set vm[(uQe)]=((1.4)*1.) +set div[(uQe)]=((60)*1.) +set dsv[(uQe)]=((60)*1.) +set Cp[(uQe)]=((280)*1.) +set c5v[(uQe)]=((3)*1.) set Crv[(uQe)]=(4) set djv[(uQe)]=(('d')*1.) set dHv[(uQe)]=(('d')*1.) set dGv[(uQe)]=((0)*1.) set dkv[(uQe)]=(('d')*1.) set dJv[(uQe)]=(('d')*1.) set dhv[(uQe)]=((0)*1.) set dRv[(uQe)]=(($708)*1.) set dXv[(uQe)]=(($708)*1.) set Cbv[(uQe)]=(jtv) +set CDv[(uQe)]=(('x')*1.) set Cfv[((uQe))]=((1.*1./((1.55)*1.))*1.) set CTv[(uQe)]=((.35)*1.) set Csv[(uQe)]=(($C)*1.) +set CSv[(uQe)]=(($C)*1.) +set CUv[(uQe)]=(2) set Cyv[(uQe)]=($C) set CZv[(uQe)]=(0) set CQv[(uQe)]=((32)*1.) +call LHo(uQe,kHv) call LHo(uQe,kjv) call LHo(uQe,kJv) call LHo(uQe,kkv) set DAv[(uQe)]=((7.5)*1.) set DDv[(uQe)]=((3.5)*1.) set Dfv[(uQe)]=((.85)*1.) set DNv[(uQe)]=((6)*1.) set DFv[(uQe)]=((3.25)*1.) set Dbv[(uQe)]=((16)*1.) +set Dgv[(uQe)]=((5)*1.) return true endfunction function Upr takes nothing returns boolean call scx('aAvX',false) return true endfunction function UPr takes nothing returns boolean call IGx(UE,(function Ulr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\MountainKing.page\\MountainKing.struct\\obj_thisSpell_wc3spell.j")) call IGx(UE,(function ULr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\MountainKing.page\\MountainKing.struct\\obj_changerAbility_wc3spell.j")) +call IGx(tE,(function Umr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\MountainKing.page\\MountainKing.struct\\obj_dummyBuff_wc3buff.j")) call IGx(yE,(function UMr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\MountainKing.page\\MountainKing.struct\\obj_thisUnitType_wc3unit.j")) call IGx(UE,(function Upr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\MountainKing.page\\MountainKing.struct\\obj_revertAbility_wc3spell.j")) return true endfunction function Uqr takes nothing returns boolean set use=Idx(uSe) +return true endfunction function UQr takes integer VFx,string vHo returns nothing call AddUnitAnimationProperties(C[(VFx)],vHo,true) call MJx((VFx)) endfunction function Usr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local real USr=(FJ[(csx)]) local integer VFx=csx local integer Utr=UEx() set ute[VFx]=Utr +call URx(Utr,Fov,USr*uTe) call UQr(csx,"alternate") call CJx(csx,Utr) call str(x7v,uue,csx) return true endfunction function UTr takes integer VFx,string vHo returns nothing call AddUnitAnimationProperties(C[(VFx)],vHo,false) call MJx((VFx)) endfunction function Uur takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer Utr=ute[VFx] call UTr(csx,"alternate") call CIx(csx,Utr) call Aqr(Utr) call str(x7v,kJv,csx) return true endfunction function UUr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Mv[(Eix)]) call d9x(((Vv[(Eix)])),(uqe),(EKx),w,((ume[EKx])*1.)) return true endfunction function Uwr takes nothing returns boolean call Ufx(uqe,Nlx("MountainKing_Init: call MountainKing.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function MountainKing.Event_BuffGain))",dg,VB,function Usr)) +call Ufx(uqe,Nlx("MountainKing_Init: call MountainKing.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function MountainKing.Event_BuffLose))",Hf,VB,function Uur)) +call Sao(kJv,Nlx("MountainKing_Init: call MountainKing.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function MountainKing.Event_SpellEffect))",kK,VB,function UUr)) return true endfunction function UWr takes nothing returns boolean call kyr(function Uwr,"MountainKing_Init") return true endfunction function Uyr takes nothing returns boolean call scx('AThu',false) set uue=s2o('AThu') set orv[(uue)]=(x5v) +set onv[(uue)]=(6) set Zl[(uue)]=("Thunderbringer") +set PK[(uue)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0259)))),(((FL)))))) set Vnv[(uue)]=(4) set n9v[(uue)]=("spell") +call s3o((uue),Yhv+(1),(('d')*1.)) call s3o((uue),Ll+(1),((7)*1.)) call s3o((uue),Pkv+(1),(($AF)*1.)) call s3o((uue),Yhv+(2),(($96)*1.)) call s3o((uue),Ll+(2),((7)*1.)) call s3o((uue),Pkv+(2),(($AF)*1.)) call s3o((uue),Yhv+(3),(($C8)*1.)) call s3o((uue),Ll+(3),((7)*1.)) call s3o((uue),Pkv+(3),(($AF)*1.)) call s3o((uue),Yhv+(4),(($E1)*1.)) call s3o((uue),Ll+(4),((7)*1.)) call s3o((uue),Pkv+(4),(($AF)*1.)) call s3o((uue),Yhv+(5),(($FA)*1.)) call s3o((uue),Ll+(5),((7)*1.)) call s3o((uue),Pkv+(5),(($AF)*1.)) call s3o((uue),Yhv+(6),((275)*1.)) call s3o((uue),Ll+(6),((7)*1.)) call s3o((uue),Pkv+(6),(($AF)*1.)) set Qkv[(uue)]=("ReplaceableTextures\\CommandButtons\\BTNStormHammer.blp") set uUe[1]=30 set uUe[2]=60 set uUe[3]=90 set uUe[4]='x' set uUe[5]=$96 set uUe[6]=$B4 set uwe[1]=2 +set uwe[2]=2.25 set uwe[3]=2.5 set uwe[4]=2.75 set uwe[5]=3 +set uwe[6]=3.25 return true endfunction function UYr takes nothing returns boolean call IGx(UE,(function Uyr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\MountainKing.page\\MountainKing.struct\\Thunderbringer.page\\Thunderbringer.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Uzr takes nothing returns boolean set uWe=Idx(uye) +return true endfunction function UZr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true endfunction function U_r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local real x=(GetUnitX(C[((csx))])) local real y=(GetUnitY(C[((csx))])) local real fCo local real ldr call cdx((C1x((hdx),(uZe),(u_e),(EV)))) call Sgo((Sjo(((x)*1.),((y)*1.),(u0e),(fV)))) call Sgo((Sjo(((x)*1.),((y)*1.),(u1e),(fV)))) set zH=(ze[(hdx)]) call fXo(uYe,x,y,(hDx((uue),Yhv+(EKx))),uze) +set csx=fOo(uYe) +if(csx!=w)then set fCo=(ak[(hdx)])+uUe[EKx] +set ldr=uwe[EKx] +loop +call d9x((csx),(N0v),(EKx),w,((ldr)*1.)) +call AYo((hdx),(csx),((fCo)*1.),(true),(false)) set csx=fOo(uYe) +exitwhen(csx==w) +endloop endif return true endfunction function U0r takes nothing returns boolean set uYe=Bkx() set uze=Nyx(function UZr) call Sao(uue,Nlx("Thunderbringer_Init: call Thunderbringer.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Thunderbringer.Event_SpellEffect))",kK,VB,function U_r)) return true endfunction function U1r takes nothing returns boolean call Dpr(function U0r,"Thunderbringer_Init") +return true endfunction function U2r takes nothing returns boolean set u2e=IJx("ONeW") return true endfunction function U3r takes nothing returns boolean set u3e=u9x(u4e+" (silenceBuff)") set sf[(u3e)]=(true) +set v_v[(u3e)]=(true) return true endfunction function U4r takes nothing returns boolean call scx('ANeW',false) set Jtv=s2o('ANeW') set orv[(Jtv)]=(x7v) +set onv[(Jtv)]=(3) set Zl[(Jtv)]=("Negation Wave") set PK[(Jtv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0215)))),(((FL)))))) set Vnv[(Jtv)]=(4) set n9v[(Jtv)]=("spell") +call s3o((Jtv),Yhv+(1),((500)*1.)) call s3o((Jtv),Ll+(1),((9)*1.)) call s3o((Jtv),zl+(1),(('i')*1.)) call s3o((Jtv),Pkv+(1),((550)*1.)) call s3o((Jtv),Yhv+(2),((500)*1.)) call s3o((Jtv),Ll+(2),((9)*1.)) call s3o((Jtv),zl+(2),(('x')*1.)) call s3o((Jtv),Pkv+(2),((550)*1.)) call s3o((Jtv),Yhv+(3),((500)*1.)) call s3o((Jtv),Ll+(3),((9)*1.)) call s3o((Jtv),zl+(3),(($87)*1.)) call s3o((Jtv),Pkv+(3),((550)*1.)) set Qkv[(Jtv)]=("ReplaceableTextures\\CommandButtons\\BTNFeedback.blp") call G5r(Jtv,'FNW0',3,'VNW0','LPNW','LRNW') set u5e[1]=7 +set u5e[2]=$B set u5e[3]=$F set u6e[1]=30 set u6e[2]=40 set u6e[3]=50 set u7e[1]=1 +set u7e[2]=1.1 set u7e[3]=1.2 set u8e[1]=2 +set u8e[2]=2.2 set u8e[3]=2.4 return true endfunction function U5r takes nothing returns boolean call IGx(mE,(function U2r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\NegationWave.page\\NegationWave.struct\\obj_bolt_wc3bolt.j")) call IGx(tE,(function U3r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\NegationWave.page\\NegationWave.struct\\obj_silenceBuff_wc3buff.j")) +call IGx(UE,(function U4r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\NegationWave.page\\NegationWave.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function U6r takes nothing returns boolean set u9e=Idx(u4e) +return true endfunction function U7r takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cHv)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function U8r takes integer VFx returns integer set UVe[VFx]=true set UEe[VFx]=false call V1x(u9e) return VFx endfunction function U9r takes nothing returns integer local integer VFx if(Ure==8190)then call Vmx("NegationWave_Allocation_allocCustom","call DebugEx(NegationWave.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",u4e+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Uie[(w)]==w)then set Uae=Uae+1 set VFx=Uae else +set VFx=Uie[(w)] +set Uie[(w)]=Uie[Uie[(w)]] endif set Uie[VFx]=Z set Une[VFx]=1 call U8r(VFx) return VFx endfunction function wvr takes integer VFx returns nothing set UVe[VFx]=false call EEx(u9e) endfunction function wer takes integer VFx returns nothing if(Une[VFx]>0)then return endif if(Uie[VFx]!=Z)then call Vmx("NegationWave_Allocation_deallocCustom_confirm","call DebugEx(NegationWave.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",u4e+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Uie[VFx]=Uie[(w)] set Uie[(w)]=VFx +call wvr(VFx) endfunction function wxr takes integer VFx returns nothing set Une[VFx]=Une[VFx]-1 call wer(VFx) endfunction function wor takes integer VFx returns nothing call wxr((VFx)) call Xbx(UIe[VFx]) call HZo(Ube[VFx]) endfunction function wrr takes integer VFx,integer T3r,integer b2r,integer b1r returns nothing local integer Kax=kAx(u2e) local real wir set UAe[VFx]=b2r +call bur(Kax,T3r,b2r) call Tlo((C1x((b2r),(Ude),(UDe),(EV))),2.) call HDx(Ube[VFx],b2r) call Krx(Kax,.75) if Cmx(b2r,rG)then set wir=u7e[UNe[VFx]] else +set wir=u8e[UNe[VFx]] endif call d9x((b2r),(u3e),(UNe[VFx]),w,((wir)*1.)) call AYo((UOe[VFx]),(b2r),((URe[VFx])*1.),(true),(false)) endfunction function war takes nothing returns nothing local integer bUx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(bUx)]) local integer Wmo=Ube[VFx] local integer b1r=UBe[VFx]+1 +local integer hdx local integer T3r local real T5r local real T6r local integer b2r if(b1r>Uce[VFx])then +call wor(VFx) else +set hdx=UOe[VFx] +set T3r=UAe[VFx] +set T5r=(GetUnitX(C[((T3r))])) set T6r=(GetUnitY(C[((T3r))])) set bae=Wmo set zH=(ze[(hdx)]) call fXo(Uve,T5r,T6r,UXe[VFx],Uee) set b2r=(SJo((Uve),((T5r)*1.),((T6r)*1.))) if(b2r==w)then call wor(VFx) else +set UBe[VFx]=b1r +call wrr(VFx,T3r,b2r,b1r-1) endif endif endfunction function wnr takes integer VFx,integer cSx,integer EKx returns real local real Vtx if not(Vfx((((VFx))),(Ud+(cSx)))>0)then return .0 endif set Vtx=F3r(VFx,cSx,EKx) +if(Vtx==.0)then return Ufe endif return Vtx endfunction function wVr takes integer VFx,integer cSx,integer EKx,integer Clx,real Xdx returns integer if(Xdx==Ufe)then +return ddx(VFx,cSx,EKx,Clx) endif return(d9x((VFx),(cSx),(EKx),(Clx),((Xdx)*1.))) endfunction function wEr takes integer VFx,integer csx,boolean eZr,boolean e_r,integer EKx returns nothing local integer wXr=csx local integer VUx=F local real array Xdx +local integer VBx=(Bex(((wXr)),zd)) local integer array var local integer njr loop +exitwhen(VBxMWr) set x=wQr loop +exitwhen(x>Mwr) if(JGx(x-h0x,y-h1x)<=wSr)then call wpr(VFx,x,y,UKe[Use[VFx]]+2*(1-UYe[VFx]*1./(hDx((Jev),Yhv+(Use[VFx]))))*Ule[Use[VFx]]) endif set x=x+U7e endloop set y=y+U7e endloop endfunction function wtr takes nothing returns nothing local integer wTr=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(wTr)]) call XNx(wTr) call XNx(U6e[VFx]) endfunction function wur takes integer VFx,integer Vgx returns nothing call SaveInteger(o[(((V[(E[((S7v[(VFx)]))])])))],(((((gtv[((VFx))]))))),((((Vgx)))),(0)) +endfunction function wUr takes integer VFx returns nothing local integer Eix=V4x((gtv[(VFx)])) local integer VBx local integer V8x local integer EBx set gMv[(Eix)]=(VFx) +set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=Hlo(VFx,e5v,V8x) +loop +exitwhen(EBx0)then return endif if(S2v[VFx]!=Z)then call Vmx("Region_Allocation_deallocCustom_confirm","call DebugEx(Region.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",e3v+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set S2v[VFx]=S2v[(w)] set S2v[(w)]=VFx +call wyr(VFx) endfunction function wzr takes integer VFx returns nothing set S4v[VFx]=S4v[VFx]-1 call wYr(VFx) endfunction function wZr takes integer VFx returns nothing local region Vdx=gqv[VFx] call wUr(VFx) call RemoveRegion(Vdx) set Vdx=null +call wzr((VFx)) endfunction function w_r takes integer VFx returns nothing set UWe[VFx]=false call EEx(Ume) endfunction function w0r takes integer VFx returns nothing if(Uwe[VFx]>0)then return endif if(Uue[VFx]!=Z)then call Vmx("NurturingGrounds_Allocation_deallocCustom_confirm","call DebugEx(NurturingGrounds.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",UMe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Uue[VFx]=Uue[(w)] set Uue[(w)]=VFx +call w_r(VFx) endfunction function w1r takes integer VFx returns nothing set Uwe[VFx]=Uwe[VFx]-1 call w0r(VFx) endfunction function w2r takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) call Huo((UZe[VFx]),tQ) call Xbx(Xrx) call Xbx(Uze[VFx]) call wur(UZe[VFx],UPe) call HUo(UZe[VFx],Upe) call HUo(UZe[VFx],USe) call wZr(UZe[VFx]) call Xbx(U2e[VFx]) call HZo(UQe[VFx]) call Shx(U5e[VFx]) call Xbx(U6e[VFx]) call w1r((VFx)) endfunction function w3r takes real x,real y,integer hdx,integer EKx returns nothing +local integer dTr=f8x(UHe,(ze[(hdx)]),x,y,oj) call Cco(dTr,cJv) call eCr((dTr),((Uhe[EKx])*1.)) call jGx((dTr),(Uge),(EKx),w) call SetUnitAnimation(C[((dTr))],("birth")) endfunction function w4r takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local real OMx=(GetRandomReal(((.0)*1.),((TH)*1.))) local real Vkx=(GetRandomReal(((.0)*1.),((UYe[VFx])*1.))) local real x=U3e[VFx]+Vkx*(Cos(((((OMx)*1.))*1.))) local real y=U4e[VFx]+Vkx*(Sin(((((OMx)*1.))*1.))) call w3r(x,y,Uqe[VFx],Use[VFx]) endfunction function w5r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local real Cao=(hDx((Jev),Yhv+(EKx))) local real Xdx=UKe[EKx] local real w6r=Ule[EKx] local integer VFx local integer Xrx local integer w7r local integer w8r local integer wTr local integer WLo call fjo((fio(((h0x)*1.),((h1x)*1.),(Ute),(EV),((Cao*1./ 256)*1.))),2.) set VFx=wjr() set Xrx=E5x() set w7r=E5x() set w8r=wro() set wTr=E5x() set WLo=E5x() set Uqe[VFx]=hdx +set UYe[VFx]=.0 set Uze[VFx]=w7r +set UZe[VFx]=w8r +set U_e[VFx]=Cao*1./ w6r*U0e +set Use[VFx]=EKx +set U1e[VFx]=w6r +set U2e[VFx]=wTr +set UQe[VFx]=Pcx("NurturingGrounds_Event_SpellEffect: set this.targetGroup = UnitList.Create()") +set U3e[VFx]=h0x +set U4e[VFx]=h1x +set U5e[VFx]=tBx() set U6e[VFx]=WLo +set ge[(Xrx)]=(VFx) set ge[(w7r)]=(VFx) call n4r(w8r,UPe,VFx) set ge[(wTr)]=(VFx) set ge[(WLo)]=(VFx) call wJr(w8r,Upe) call wJr(w8r,USe) call wmr(w8r) call Xax(WLo,U0e,true,function wPr) call Xax(wTr,w6r,false,function wtr) +call Xax(Xrx,Xdx+w6r,false,function w2r) +call Xax(w7r,(Xdx+w6r)*1./(Uke[EKx]+1),true,function w4r) return true endfunction function w9r takes nothing returns boolean local integer Eix=(bv) local integer Wvr=(Vv[(Eix)]) local integer EKx=(Vfx(((Wvr)),Wd+(Uge))) call dpx(Wvr,Uge) call Qor(Wvr,Uje[EKx],UFe[EKx]) return true endfunction function Wer takes nothing returns boolean local integer Eix=(bv) local integer Wvr=(Vv[(Eix)]) call CMx(Wvr,U8e) return true endfunction function Wxr takes nothing returns boolean local integer Eix=(bv) local integer Wvr=(Vv[(Eix)]) call cEx(Wvr,U8e) return true endfunction function Wor takes nothing returns nothing set U8e=Nlx("FolderNurturingGrounds_StructEgg_Init: set FolderNurturingGrounds_StructEgg.HEAL_EVENT = Event.Create(Unit.HEALED_EVENT_TYPE, EventPriority.SPELLS, function FolderNurturingGrounds_StructEgg.Event_Heal)",fEv,VB,function w9r) +call Ufx(Uge,Nlx("FolderNurturingGrounds_StructEgg_Init: call FolderNurturingGrounds_StructEgg.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderNurturingGrounds_StructEgg.Event_BuffGain))",dg,VB,function Wer)) +call Ufx(Uge,Nlx("FolderNurturingGrounds_StructEgg_Init: call FolderNurturingGrounds_StructEgg.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderNurturingGrounds_StructEgg.Event_BuffLose))",Hf,VB,function Wxr)) +endfunction function Wrr takes nothing returns boolean local integer VBx set Upe=Nlx("NurturingGrounds_Init: set NurturingGrounds.GRASS_ENTER_EVENT = Event.Create(UNIT.Movement.Events.Region.ENTER_EVENT_TYPE, EventPriority.SPELLS, function NurturingGrounds.Event_GrassEnter)",gkv,VB,function wGr) set USe=Nlx("NurturingGrounds_Init: set NurturingGrounds.GRASS_LEAVE_EVENT = Event.Create(UNIT.Movement.Events.Region.LEAVE_EVENT_TYPE, EventPriority.SPELLS, function NurturingGrounds.Event_GrassLeave)",gKv,VB,function whr) call Sao(Jev,Nlx("NurturingGrounds_Init: call NurturingGrounds.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function NurturingGrounds.Event_SpellEffect))",kK,VB,function w5r)) call oio(Njv,ULe) set VBx=(onv[(Jev)]) +loop +set VBx=VBx-1 exitwhen(VBx<1) endloop call Wor() return true endfunction function Wir takes nothing returns boolean call hOr(function Wrr,"NurturingGrounds_Init") return true endfunction function War takes nothing returns boolean set U9e[1]=275 set U9e[2]=275 set U9e[3]=275 set wve[1]=600 set wve[2]=725 set wve[3]=850 set wee[1]=1 +set wee[2]=1 +set wee[3]=1 +set wxe[1]=3 +set wxe[2]=4 +set wxe[3]=5 +set woe[1]=1.5 set woe[2]=2 +set woe[3]=2.5 set wre[1]=50 set wre[2]=90 set wre[3]=$8C return true endfunction function Wnr takes nothing returns boolean call IGx(VE,(function War),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\PandaPaw.page\\PandaPaw.struct\\Arrival\\Target\\obj_this_wc3obj.j")) return true endfunction function WVr takes nothing returns boolean set wie=Idx(wae) +return true endfunction function WEr takes nothing returns boolean set wne=W9x("CLTS") return true endfunction function WXr takes nothing returns boolean set wVe[1]=.5 set wVe[2]=.5 set wVe[3]=.5 return true endfunction function WOr takes nothing returns boolean call IGx(PE,(function WEr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\PandaPaw.page\\PandaPaw.struct\\Arrival\\obj_dummyUbersplat_wc3ubersplat.j")) call IGx(VE,(function WXr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\PandaPaw.page\\PandaPaw.struct\\Arrival\\obj_this_wc3obj.j")) return true endfunction function WRr takes nothing returns boolean set wEe=Idx(wXe) +return true endfunction function WIr takes nothing returns boolean set wOe=u9x(wRe+" (dummyBuff)") set v2v=UEx() call URx(v2v,Fov,5) call UIx(((wOe)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,Fov,$A) +call UIx(((wOe)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,Fov,$F) +call UIx(((wOe)),YD+(3),(v2v)) return true endfunction function WAr takes nothing returns boolean set wIe[1]=5 +set wIe[2]=$A set wIe[3]=$F return true endfunction function WNr takes nothing returns boolean call IGx(tE,(function WIr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\PandaPaw.page\\PandaPaw.struct\\Leech\\obj_dummyBuff_wc3buff.j")) call IGx(VE,(function WAr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\PandaPaw.page\\PandaPaw.struct\\Leech\\obj_this_wc3obj.j")) return true endfunction function Wbr takes nothing returns boolean set wAe=Idx(wRe) +return true endfunction function WBr takes nothing returns boolean set wNe=u9x(wbe+" (dummyBuff)") set v2v=UEx() call nUr(v2v,Ggv,true) call nUr(v2v,GUv,true) call UIx(((wNe)),YD+(1),(v2v)) return true endfunction function Wcr takes nothing returns boolean call scx('APaP',false) set knv=s2o('APaP') set orv[(knv)]=(x7v) +set onv[(knv)]=(3) set Zl[(knv)]=("Panda Paw") set PK[(knv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0269)))),(((FL)))))) set Vnv[(knv)]=(2) set n9v[(knv)]=("attack") call s3o((knv),Yhv+(1),((400)*1.)) call s3o((knv),Ll+(1),(($F)*1.)) +call s3o((knv),zl+(1),(('}')*1.)) call s3o((knv),Pkv+(1),((800)*1.)) call s3o((knv),Yhv+(2),((400)*1.)) call s3o((knv),Ll+(2),(($E)*1.)) +call s3o((knv),zl+(2),(($96)*1.)) call s3o((knv),Pkv+(2),((800)*1.)) call s3o((knv),Yhv+(3),((400)*1.)) call s3o((knv),Ll+(3),(($D)*1.)) +call s3o((knv),zl+(3),(($AF)*1.)) call s3o((knv),Pkv+(3),((800)*1.)) set Qkv[(knv)]=("ReplaceableTextures\\CommandButtons\\BTNBearForm.blp") call G5r(knv,'FPP0',3,'VPP0','LPPP','LRPP') set wBe[1]=500 set wBe[2]=500 set wBe[3]=500 set wce[1]=650 set wce[2]=650 set wce[3]=650 return true endfunction function WCr takes nothing returns boolean call IGx(tE,(function WBr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\PandaPaw.page\\PandaPaw.struct\\obj_dummyBuff_wc3buff.j")) call IGx(UE,(function Wcr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\PandaPaw.page\\PandaPaw.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Wdr takes nothing returns boolean set wCe=Idx(wbe) +return true endfunction function WDr takes integer VFx,real Vhx returns nothing call cEo(VFx,(cPv[(VFx)])+Vhx) endfunction function Wfr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local real fDx=wGe[VFx]*1./ wMe*1./ wMe local real OMx=wde[VFx] local integer hdx=VFx local real p=wFe[VFx]*1./ wMe*1./ fDx local real h0x=wke[VFx] local real h1x=wKe[VFx] local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real brr=drx(hdx) local integer MCx=syx(cmv[(bj[(hdx)])],xnr+wpe*(Cos(((((OMx)*1.))*1.))),xVr+wpe*(Sin(((((OMx)*1.))*1.))),brr,OMx) local real jBo=-p+(SquareRoot(((p*p+2*lWx(h0x-xnr,h1x-xVr,bex(h0x,h1x)-brr)*1./ fDx)*1.))) if(jBo>.3)then call SetUnitAnimation(C[((hdx))],("attack")) +call QueueUnitAnimation(C[((hdx))],("stand")) endif call UnitAddAbility(nm[((MCx))],('aLoc')) call JRo(MCx,wPe) call Wdo((MCx),-((255.)*1.),-((255.)*1.),-((255.)*1.),-((255.)*1.),((wPe)*1.)) endfunction function WFr takes real Vhx,real Wgr,real WGr returns real local real Whr=pMx(Vhx,WGr) local real WHr=pMx(Vhx,Wgr) if(WHr+Whr-.01>FMx(WGr-Wgr))then +if(WHr0)then +return false +endif set Wve=Wve+1 set Wee[Wve]=VFx +set w9e[VFx]=Wve+1 return(Wve==0) endfunction function Wlr takes nothing returns nothing local integer VBx=Wve loop +exitwhen(VBx<0) set Wre[VBx]=Wee[VBx] set VBx=VBx-1 endloop set Wie=Wve endfunction function WLr takes nothing returns integer local integer Vtx if(Wie<0)then return w +endif set Vtx=Wre[0] set Wre[0]=Wre[Wie] set Wie=Wie-1 return Vtx endfunction function Wmr takes integer VFx,integer hdx,integer csx returns nothing local real Gxx local integer EKx local real ldr set VFx=Vfx(csx,w8e+VFx) +set Gxx=w2e[VFx]+w4e[VFx] set w2e[VFx]=Gxx +call Jqx(csx,w_e[VFx]) call J5x(csx,w1e[VFx]) call J8x(csx,Gxx) if((Gxx<.0)and(drx(csx)0)then return endif if(wUe[VFx]!=Z)then call Vmx("FolderPandaPaw_FolderArrival_StructTarget_Allocation_deallocCustom_confirm","call DebugEx(FolderPandaPaw_FolderArrival_StructTarget.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",wae+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set wUe[VFx]=wUe[(w)] set wUe[(w)]=VFx +call Wqr(VFx) endfunction function Wsr takes integer VFx returns nothing set wWe[VFx]=wWe[VFx]-1 call WQr(VFx) endfunction function WSr takes integer VFx,integer ENx,integer csx,integer Wmo returns nothing call Wsr((VFx)) if V_x(csx,w6e,VFx)then call cEx(csx,w7e) endif call V0x(csx,w8e+ENx) call Bvx(Wmo,csx) endfunction function Wtr takes integer VFx,integer csx,integer Wmo returns nothing local integer ENx=VFx set VFx=Vfx(csx,w8e+ENx) +call WSr(VFx,ENx,csx,Wmo) endfunction function WTr takes integer VFx,integer Wmo returns nothing local integer csx loop +set csx=(b7x((Wmo),qC)) exitwhen(csx==w) +call Wtr(VFx,csx,Wmo) endloop endfunction function Wur takes integer VFx returns boolean if not((w9e[((VFx))])>0)then +return false +endif set w9e[Wee[Wve]]=w9e[VFx] set Wee[w9e[VFx]-1]=Wee[Wve] +set w9e[VFx]=0 set Wve=Wve-1 return(Wve==F) endfunction function WUr takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer ENx=(VFx) local integer Wmo=wJe[ENx] local integer hgx=wle[ENx] call WTr(VFx,Wmo) call Xbx(Xrx) call HZo(Wmo) if Wur(VFx)then call Xbx(Wxe) endif call v0o(hgx) endfunction function Wwr takes integer VFx,real OMx,integer hdx,integer EKx,real h0x,real h1x,integer hgx returns nothing local integer ENx=VFx local integer csx local integer Wmo local integer Xrx call FWr(F0r(wne,h0x,h1x,$FF,$FF,$FF,$7F,false,false),5.) call Sgo((Sjo(((h0x)*1.),((h1x)*1.),(wQe),(EV)))) set h0x=h0x+wse*(Cos(((((OMx)*1.))*1.))) +set h1x=h1x+wse*(Sin(((((OMx)*1.))*1.))) +set WH=h0x set yH=h1x set YH=OMx set zH=(ze[(hdx)]) call fXo(wSe,h0x,h1x,(hDx((knv),Yhv+(EKx))),wte) +set csx=fOo(wSe) +set Wmo=wJe[ENx] +if(csx==w)then call HZo(Wmo) else +set Xrx=E5x() set ge[(Xrx)]=(VFx) loop +call HDx(Wmo,csx) call Wkr(VFx,OMx,EKx,csx,h0x,h1x) set csx=fOo(wSe) +exitwhen(csx==w) +endloop if WKr(VFx)then call Xax(Wxe,Woe,true,function WPr) endif call Xax(Xrx,wVe[EKx],false,function WUr) endif endfunction function WWr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=VFx local real Vkx=wFe[VFx]+wGe[VFx] +local real h0x=wke[VFx] local real h1x=wKe[VFx] local real kJx=bex(h0x,h1x) local real x=(GetUnitX(C[((hdx))])) local real y=(GetUnitY(C[((hdx))])) local real z=drx(hdx) local real dX=h0x-x local real dY=h1x-y local real dZ=kJx-z local real Wyr=(Atan2(((dY)*1.),((dX)*1.))) local real d=lWx(dX,dY,dZ) local boolean qRr=(dD6v)then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function W2r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VBx=Bex(csx,w6e) local integer VFx local integer ENx loop +set VFx=Bxx(csx,w6e,VBx) +set ENx=wZe[VFx] +call WSr(VFx,ENx,csx,wJe[ENx]) set VBx=VBx-1 exitwhen(VBx0)then return endif if(Whe[VFx]!=Z)then call Vmx("FolderPurgingRain_StructWave_Allocation_deallocCustom_confirm","call DebugEx(FolderPurgingRain_StructWave.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",WAe+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Whe[VFx]=Whe[(w)] set Whe[(w)]=VFx +call yEr(VFx) endfunction function yOr takes integer VFx returns nothing set Wje[VFx]=Wje[VFx]-1 call yXr(VFx) endfunction function yRr takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local real Cao=WKe[VFx] local integer hdx=Wle[VFx] local real fCo=WLe[VFx] local real h0x=Wme[VFx] local real h1x=WMe[VFx] local integer hgx=hCx(hdx,JVv) local integer EKx=(Dl[(hgx)]) local integer csx call yOr((VFx)) call Xbx(Xrx) call h7x(hgx) set zH=(ze[(hdx)]) call fXo(Wqe,h0x,h1x,Cao,WQe) loop +set csx=fOo(Wqe) +exitwhen(csx==w) +call Asr(EKx,csx,WXe[EKx]) call AYo((hdx),(csx),((fCo)*1.),(true),(false)) endloop endfunction function yIr takes integer hdx,integer EKx,real h0x,real h1x,integer yAr returns nothing +local real Cao=(hDx((JVv),Yhv+(EKx))) local integer VFx=yVr() local integer Xrx=E5x() local integer VBx local real OMx local real Iox set WKe[VFx]=Cao +set Wle[VFx]=hdx +set WLe[VFx]=WRe[EKx]*(1+WOe[EKx]*(yAr-1)) set Wme[VFx]=h0x +set WMe[VFx]=h1x +set ge[(Xrx)]=(VFx) set Cao=Cao*.75 set VBx=WEe[EKx] +loop +exitwhen(VBx<1) set OMx=(GetRandomReal(((.0)*1.),((TH)*1.))) +set Iox=(GetRandomReal(((.0)*1.),((Cao)*1.))) call Sgo((Sjo(((h0x+Iox*(Cos(((((OMx)*1.))*1.))))*1.),((h1x+Iox*(Sin(((((OMx)*1.))*1.))))*1.),(Wpe),(EV)))) set VBx=VBx-1 endloop call Xax(Xrx,WPe,false,function yRr) +endfunction function yNr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx local integer yAr=Wge[VFx]+1 +set Wge[VFx]=yAr +call yIr(csx,WDe[VFx],Wfe[VFx],WFe[VFx],yAr) +endfunction function ybr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx call dpx(csx,PHe) endfunction function yBr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer hgx=Wce local integer csx=(Bl[(hgx)]) local real h0x=(al[(hgx)]) local real h1x=(nl[(hgx)]) local integer VFx=csx local integer Xrx=E5x() local integer TBx=E5x() set WCe[VFx]=Xrx +set Wde[VFx]=TBx +set WDe[VFx]=EKx +set Wfe[VFx]=h0x +set WFe[VFx]=h1x +set Wge[VFx]=1 set ge[(Xrx)]=(VFx) set ge[(TBx)]=(VFx) call Xax(TBx,WNe[EKx],true,function yNr) +call Xax(Xrx,(hDx((JVv),jl+(EKx))),false,function ybr) call yIr(csx,EKx,h0x,h1x,1) return true endfunction function ycr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer Xrx=WCe[VFx] local integer TBx=Wde[VFx] call Xbx(Xrx) call Xbx(TBx) return true endfunction function yCr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) if(Vfx((((hdx))),(Ud+(Fge)))>0)then return true endif call dpx(hdx,PHe) return true endfunction function ydr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer hgx=(oL[(Eix)]) if(Vfx((((hdx))),(Ud+(Fge)))>0)then call dpx(hdx,Jl) +endif set Wce=hgx call WMo(hdx,PHe,EKx) return true endfunction function yDr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function yfr takes nothing returns nothing set Wqe=Bkx() set WQe=Nyx(function yDr) endfunction function yFr takes nothing returns boolean call Ufx(PHe,Nlx("PurgingRain_Init: call PurgingRain.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function PurgingRain.Event_BuffGain))",dg,VB,function yBr)) call Ufx(PHe,Nlx("PurgingRain_Init: call PurgingRain.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function PurgingRain.Event_BuffLose))",Hf,VB,function ycr)) call Sao(JVv,Nlx("PurgingRain_Init: call PurgingRain.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function PurgingRain.Event_EndCast))",VRv,VB,function yCr)) call Sao(JVv,Nlx("PurgingRain_Init: call PurgingRain.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function PurgingRain.Event_SpellEffect))",kK,VB,function ydr)) call yfr() return true endfunction function ygr takes nothing returns boolean call kyr(function yFr,"PurgingRain_Init") return true endfunction function yGr takes nothing returns boolean set Wse=IJx("ORBD") return true endfunction function yhr takes nothing returns boolean call IGx(mE,(function yGr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\RazorBlade.page\\RazorBladeDrawBack.struct\\Blade\\obj_bolt_wc3bolt.j")) +return true endfunction function yHr takes nothing returns boolean set WSe=Idx(Wte) +return true endfunction function yjr takes nothing returns boolean set WTe[1]=60 set WTe[2]=60 set WTe[3]=60 set WTe[4]=60 set WTe[5]=60 set WTe[6]=60 set Wue[1]=.15 set Wue[2]=.15 set Wue[3]=.15 set Wue[4]=.15 set Wue[5]=.15 set Wue[6]=.15 set WUe[1]=3 +set WUe[2]=4 +set WUe[3]=5 +set WUe[4]=6 +set WUe[5]=7 +set WUe[6]=8 +set Wwe[1]=20 set Wwe[2]=30 set Wwe[3]=40 set Wwe[4]=50 set Wwe[5]=60 set Wwe[6]=70 return true endfunction function yJr takes nothing returns boolean call IGx(VE,(function yjr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\RazorBlade.page\\RazorBladeDrawBack.struct\\obj_this_wc3obj.j")) +return true endfunction function ykr takes nothing returns boolean set WWe=Idx(Wye) +return true endfunction function yKr takes integer VFx,integer Vgx returns integer return(LoadInteger(o[((V[(E[((Wze[(VFx)]))])]))],((((WZe[((VFx))])))),(((Vgx))))) endfunction function ylr takes nothing returns boolean local integer Eix=(bv) local integer yLr=(V4[(Eix)]) local integer ymr=yKr(yLr,W_e) call Kxx(ymr) return true endfunction function yMr takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function ypr takes nothing returns nothing set WYe=Nlx("FolderRazorBladeDrawBack_StructBlade_Init: set FolderRazorBladeDrawBack_StructBlade.CHECKPOINT_IMPACT_EVENT = Event.Create(MISSILE.Checkpoints.IMPACT_EVENT_TYPE, EventPriority.SPELLS, function FolderRazorBladeDrawBack_StructBlade.CheckpointImpact)",g3,VB,function ylr) set W0e=Bkx() set W1e=Nyx(function yMr) set W2e=E5x() endfunction function yPr takes nothing returns boolean call ypr() return true endfunction function yqr takes nothing returns boolean call kyr(function yPr,"RazorBladeDrawBack_Init") +return true endfunction function yQr takes nothing returns boolean set W3e=u9x(W4e+" (dummyBuff)") set v2v=UEx() call URx(v2v,FVv,.2) +call UIx(((W3e)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,FVv,.2) +call UIx(((W3e)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,FVv,.25) call UIx(((W3e)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,FVv,.25) call UIx(((W3e)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,FVv,.3) +call UIx(((W3e)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,FVv,.3) +call UIx(((W3e)),YD+(6),(v2v)) return true endfunction function ysr takes nothing returns boolean set W5e[1]=.2 set W5e[2]=.2 set W5e[3]=.25 set W5e[4]=.25 set W5e[5]=.3 set W5e[6]=.3 return true endfunction function ySr takes nothing returns boolean call IGx(tE,(function yQr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\RazorBlade.page\\RazorBlade.struct\\Vamp\\obj_dummyBuff_wc3buff.j")) +call IGx(VE,(function ysr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\RazorBlade.page\\RazorBlade.struct\\Vamp\\obj_this_wc3obj.j")) return true endfunction function ytr takes nothing returns boolean set W6e=Idx(W4e) +return true endfunction function yTr takes nothing returns boolean call scx('ARaz',false) set jzv=s2o('ARaz') set orv[(jzv)]=(xWv) +set onv[(jzv)]=(6) set Zl[(jzv)]=("Razor Blade") set PK[(jzv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0089)))),(((FL)))))) set Vnv[(jzv)]=(2) set n9v[(jzv)]=("spell") +call s3o((jzv),Yhv+(1),((90)*1.)) call s3o((jzv),Ll+(1),(($C)*1.)) +call s3o((jzv),zl+(1),((70)*1.)) +call s3o((jzv),Pkv+(1),((99999)*1.)) +call s3o((jzv),Yhv+(2),((90)*1.)) call s3o((jzv),Ll+(2),(($C)*1.)) +call s3o((jzv),zl+(2),((85)*1.)) +call s3o((jzv),Pkv+(2),((99999)*1.)) +call s3o((jzv),Yhv+(3),((90)*1.)) call s3o((jzv),Ll+(3),(($C)*1.)) +call s3o((jzv),zl+(3),(('d')*1.)) call s3o((jzv),Pkv+(3),((99999)*1.)) +call s3o((jzv),Yhv+(4),((90)*1.)) call s3o((jzv),Ll+(4),(($C)*1.)) +call s3o((jzv),zl+(4),(('s')*1.)) call s3o((jzv),Pkv+(4),((99999)*1.)) +call s3o((jzv),Yhv+(5),((90)*1.)) call s3o((jzv),Ll+(5),(($C)*1.)) +call s3o((jzv),zl+(5),(($82)*1.)) call s3o((jzv),Pkv+(5),((99999)*1.)) +call s3o((jzv),Yhv+(6),((90)*1.)) call s3o((jzv),Ll+(6),(($C)*1.)) +call s3o((jzv),zl+(6),(($91)*1.)) call s3o((jzv),Pkv+(6),((99999)*1.)) +set Qkv[(jzv)]=("ReplaceableTextures\\CommandButtons\\BTNWhirlwind.blp") +call G5r(jzv,'FRB0',6,'VRB0','LPRB','LRRB') set W7e[1]=750 set W7e[2]=750 set W7e[3]=750 set W7e[4]=750 set W7e[5]=750 set W7e[6]=750 set W8e[1]=20 set W8e[2]=35 set W8e[3]=55 set W8e[4]=80 set W8e[5]='n' set W8e[6]=$91 return true endfunction function yur takes nothing returns boolean set W9e=IJx("ORaz") return true endfunction function yUr takes nothing returns boolean call IGx(UE,(function yTr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\RazorBlade.page\\RazorBlade.struct\\obj_thisSpell_wc3spell.j")) call IGx(mE,(function yur),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\RazorBlade.page\\RazorBlade.struct\\obj_bolt_wc3bolt.j")) return true endfunction function ywr takes nothing returns boolean set yve=Idx(yee) +return true endfunction function yWr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function yyr takes integer VFx returns integer set yVe[VFx]=true set yEe[VFx]=false call V1x(yve) return VFx endfunction function yYr takes nothing returns integer local integer VFx if(yre==8190)then call Vmx("RazorBlade_Allocation_allocCustom","call DebugEx(RazorBlade.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",yee+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(yie[(w)]==w)then set yae=yae+1 set VFx=yae else +set VFx=yie[(w)] +set yie[(w)]=yie[yie[(w)]] endif set yie[VFx]=Z set yne[VFx]=1 call yyr(VFx) return VFx endfunction function yzr takes integer VFx returns nothing set yVe[VFx]=false call EEx(yve) endfunction function yZr takes integer VFx returns nothing if(yne[VFx]>0)then return endif if(yie[VFx]!=Z)then call Vmx("RazorBlade_Allocation_deallocCustom_confirm","call DebugEx(RazorBlade.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",yee+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set yie[VFx]=yie[(w)] set yie[(w)]=VFx +call yzr(VFx) endfunction function y_r takes integer VFx returns nothing set yne[VFx]=yne[VFx]-1 call yZr(VFx) endfunction function y0r takes integer VFx returns integer set yFe[VFx]=true set yge[VFx]=false call V1x(WWe) return VFx endfunction function y1r takes nothing returns integer local integer VFx if(yCe==8190)then call Vmx("RazorBladeDrawBack_Allocation_allocCustom","call DebugEx(RazorBladeDrawBack.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Wye+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(yde[(w)]==w)then set yDe=yDe+1 set VFx=yDe else +set VFx=yde[(w)] +set yde[(w)]=yde[yde[(w)]] endif set yde[VFx]=Z set yfe[VFx]=1 call y0r(VFx) return VFx endfunction function y2r takes integer VFx returns integer set yte[VFx]=true set yTe[VFx]=false call V1x(WSe) return VFx endfunction function y3r takes nothing returns integer local integer VFx if(yqe==8190)then call Vmx("FolderRazorBladeDrawBack_StructBlade_Allocation_allocCustom","call DebugEx(FolderRazorBladeDrawBack_StructBlade.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Wte+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(yQe[(w)]==w)then set yse=yse+1 set VFx=yse else +set VFx=yQe[(w)] +set yQe[(w)]=yQe[yQe[(w)]] endif set yQe[VFx]=Z set ySe[VFx]=1 call y2r(VFx) return VFx endfunction function y4r takes integer VFx returns boolean if not((yze[((VFx))])>0)then +return false +endif set yze[yZe[y_e]]=yze[VFx] set yZe[yze[VFx]-1]=yZe[y_e] +set yze[VFx]=0 set y_e=y_e-1 return(y_e==F) endfunction function y5r takes integer VFx returns nothing set yFe[VFx]=false call EEx(WWe) endfunction function y6r takes integer VFx returns nothing if(yfe[VFx]>0)then return endif if(yde[VFx]!=Z)then call Vmx("RazorBladeDrawBack_Allocation_deallocCustom_confirm","call DebugEx(RazorBladeDrawBack.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Wye+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set yde[VFx]=yde[(w)] set yde[(w)]=VFx +call y5r(VFx) endfunction function y7r takes integer VFx returns nothing set yfe[VFx]=yfe[VFx]-1 call y6r(VFx) endfunction function y8r takes integer VFx returns nothing call Xbx(yJe[VFx]) call tDo(yle[VFx]) call y7r((VFx)) endfunction function y9r takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer Yvr=yue[VFx] local integer mgr=yUe[VFx] local integer ENx=yWe[VFx] if y4r(VFx)then call XNx(W2e) endif call Scx(tgo,WYe) call Xbx(Yvr) call Kxx(mgr) call tDo(tgo) if(yPe[ENx]==1)then call y8r(ENx) else +set yPe[ENx]=yPe[ENx]-1 endif return true endfunction function Yer takes nothing returns nothing local integer bUx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer tgo=(ge[(bUx)]) local integer VFx local integer ENx call Xbx(bUx) set VFx=(QEv[(tgo)]) +set ENx=yWe[VFx] +call S2o(tgo,500.) set qsv[(tgo)]=((yGe[ENx])*1.) set quv[(tgo)]=Ntx((function y9r)) call S9o(tgo,850.) call t4o((tgo),(yHe[ENx]),.0,.0,.0,(null)) endfunction function Yxr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer bUx=E5x() set ge[(bUx)]=(tgo) call Xax(bUx,Fgr("delay",yYe),false,function Yer) return true endfunction function Yor takes integer VFx returns boolean if((yze[((VFx))])>0)then +return false +endif set y_e=y_e+1 set yZe[y_e]=VFx +set yze[VFx]=y_e+1 return(y_e==0) endfunction function Yrr takes nothing returns nothing local integer VBx=y_e loop +exitwhen(VBx<0) set y1e[VBx]=yZe[VBx] set VBx=VBx-1 endloop set y2e=y_e endfunction function Yir takes nothing returns integer local integer Vtx if(y2e<0)then return w +endif set Vtx=y1e[0] set y1e[0]=y1e[y2e] set y2e=y2e-1 return Vtx endfunction function Yar takes nothing returns nothing local integer VFx local real Cao local integer hdx local real fCo local integer tgo local integer Wmo local integer csx call Yrr() loop +set VFx=Yir() exitwhen(VFx==w) +set Cao=yGe[yWe[VFx]] set hdx=yHe[yWe[VFx]] set fCo=yje[yWe[VFx]] set tgo=ywe[VFx] +set Wmo=yye[VFx] +set bae=Wmo set zH=(ze[(hdx)]) call bvr(W0e,(qyv[(tgo)]),(qYv[(tgo)]),(qzv[(tgo)]),Cao,W1e) +set csx=fOo(W0e) +if(csx!=w)then loop +call cdx((C1x((csx),(y3e),(y4e),(fV)))) call HDx(Wmo,csx) call AYo((hdx),(csx),((fCo)*1.),(false),(true)) set csx=fOo(W0e) +exitwhen(csx==w) +endloop endif endloop endfunction function Ynr takes integer VFx returns integer set y9e[VFx]=true set Yve[VFx]=false set Wze[((VFx))]=(Ve[(GetRandomInt((0),(Ee)))]) call V1x(f2) +return VFx endfunction function YVr takes nothing returns integer local integer VFx if(y5e==8190)then call Vmx("MissileCheckpoint_Allocation_allocCustom","call DebugEx(MissileCheckpoint.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",F2+" - alloc: unable to allocCustom, reached stack limit") +return w +endif if(y6e[(w)]==w)then set y7e=y7e+1 set VFx=y7e else +set VFx=y6e[(w)] +set y6e[(w)]=y6e[y6e[(w)]] endif set y6e[VFx]=Z set y8e[VFx]=1 call Ynr(VFx) return VFx endfunction function YEr takes integer VFx returns nothing set WZe[(VFx)]=(Yxe+VFx) +endfunction function YXr takes real x,real y,real z returns integer local integer VFx=YVr() call YEr(VFx) set Qdv[(VFx)]=((x)*1.) set QDv[(VFx)]=((y)*1.) set Qfv[(VFx)]=((z)*1.) return VFx endfunction function YOr takes integer VFx,integer tyo returns nothing local integer Eix=V4x((j3[((VFx))])) +local integer VBx local integer V8x local integer EBx set h3[(Eix)]=(VFx) set V4[(Eix)]=(tyo) set VBx=Xv loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=tOo((VFx),F3,V8x) loop +exitwhen(EBx0)then return endif if(Y_e[VFx]!=Z)then call Vmx("FolderRelentlessShiver_StructMissile_Allocation_deallocCustom_confirm","call DebugEx(FolderRelentlessShiver_StructMissile.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Yme+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set Y_e[VFx]=Y_e[(w)] set Y_e[(w)]=VFx +call Y5r(VFx) endfunction function Y7r takes integer VFx returns nothing set Y1e[VFx]=Y1e[VFx]-1 call Y6r(VFx) endfunction function Y8r takes integer hdx,integer EKx,integer csx returns nothing local real Xdx if Cmx(csx,rG)then set Xdx=YJe[EKx] +else +set Xdx=Yke[EKx] +endif call d9x((csx),(YHe),(EKx),w,((Xdx)*1.)) +endfunction function Y9r takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=Y4e[VFx] local integer EKx=Y5e[VFx] call Y7r((VFx)) call tDo(tgo) call Y8r(hdx,EKx,csx) call AYo((hdx),(csx),((Yle[EKx])*1.),(true),(false)) +return true endfunction function zvr takes integer hdx,integer EKx,integer csx returns nothing local integer VFx=Y4r() local integer tgo=teo() set Y4e[VFx]=hdx +set Y5e[VFx]=EKx +set qQv[((tgo))]=((D6v*((.06)*1.))*1.) set qsv[(tgo)]=((8.)*1.) +call tio(tgo,'qReS',.75) +set quv[(tgo)]=Ntx((function Y9r)) set QEv[(tgo)]=(VFx) +call S9o(tgo,500.) call Tvo(tgo,hdx) call t4o((tgo),(csx),.0,.0,.0,(function t6o)) endfunction function zer takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=VFx local real Cao=Yue[VFx] local integer EKx=Ywe[VFx] local real zxr=YWe[VFx] local integer csx call rzr(hdx,zxr) if((iJ[(hdx)])0)then return endif if(zje[VFx]!=Z)then call Vmx("FolderSakeBomb_StructMissile_Allocation_deallocCustom_confirm","call DebugEx(FolderSakeBomb_StructMissile.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",zce+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set zje[VFx]=zje[(w)] set zje[(w)]=VFx +call zmr(VFx) endfunction function zpr takes integer VFx returns nothing set zke[VFx]=zke[VFx]-1 call zMr(VFx) endfunction function zPr takes integer VFx returns integer set zte[VFx]=true set zTe[VFx]=false call V1x(zFe) return VFx endfunction function zqr takes nothing returns integer local integer VFx if(zqe==8190)then call Vmx("SakeBomb_Allocation_allocCustom","call DebugEx(SakeBomb.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",zge+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(zQe[(w)]==w)then set zse=zse+1 set VFx=zse else +set VFx=zQe[(w)] +set zQe[(w)]=zQe[zQe[(w)]] endif set zQe[VFx]=Z set zSe[VFx]=1 call zPr(VFx) return VFx endfunction function zQr takes integer VFx returns nothing set zte[VFx]=false call EEx(zFe) endfunction function zsr takes integer VFx returns nothing if(zSe[VFx]>0)then return endif if(zQe[VFx]!=Z)then call Vmx("SakeBomb_Allocation_deallocCustom_confirm","call DebugEx(SakeBomb.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",zge+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set zQe[VFx]=zQe[(w)] set zQe[(w)]=VFx +call zQr(VFx) endfunction function zSr takes integer VFx returns nothing set zSe[VFx]=zSe[VFx]-1 call zsr(VFx) endfunction function ztr takes nothing returns nothing local integer TBx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(TBx)]) local integer i5r=zYe[VFx]-1 +local integer zTr local real Cao local integer hdx local real fCo local integer MCx local real LPr local integer hgx local real x +local real y +local integer EKx local integer csx local real d +local real jrr if(i5r==0)then set zTr=zue[VFx] +set Cao=zUe[VFx] +set hdx=zwe[VFx] +set fCo=zWe[VFx] +set MCx=zye[VFx] +set LPr=zZe[VFx] +set hgx=z2e[VFx] +set x=z_e[VFx] set y=z0e[VFx] set EKx=(Dl[(hgx)]) call zSr((VFx)) call SWx(zTr) call Szx(MCx) call Xbx(TBx) call h7x(hgx) call Sgo((Sjo(((x)*1.),((y)*1.),(z3e),(fV)))) set zH=(ze[(hdx)]) call fXo(zGe,x,y,Cao,zhe) set csx=fOo(zGe) +if(csx!=w)then loop +set d=JKx((GetUnitX(C[((csx))]))-x,(GetUnitY(C[((csx))]))-y) +set jrr=H2r(.0,z4e,Cao,z5e,d) call rZr(hdx,csx,(aJ[(csx)])*zde[EKx]) call AYo((hdx),(csx),((jrr*fCo*(1.+Cuo((Nkv[(csx)]))*z6e))*1.),(true),(true)) call d9x((csx),(zfe),(EKx),w,((LPr)*1.)) +set csx=fOo(zGe) +exitwhen(csx==w) +endloop endif else +set zYe[VFx]=i5r +call Gix(Xhx((I2S((i5r))),Xmx(1.-i5r*.05,.25,.0,.0)),.034-i5r*.003,z_e[VFx],z0e[VFx],z1e[VFx]+60.,(0)) endif endfunction function zur takes integer hdx,integer EKx,real h0x,real h1x,integer hgx returns nothing +local real Cao=(hDx((kav),Yhv+(EKx))) local real LPr=zCe[EKx] local real kJx=bex(h0x,h1x) local integer VFx=zqr() local integer zTr=syx('qSBA',h0x,h1x,kJx,oj) +local integer MCx=syx('qSaB',h0x,h1x,kJx,oj) +local integer TBx=E5x() local integer csx set zue[VFx]=zTr +set zUe[VFx]=Cao +set zwe[VFx]=hdx +set zWe[VFx]=zDe[EKx] set zye[VFx]=MCx +set zYe[VFx]=(R2I(((zze)*1.))) set zZe[VFx]=LPr +set z_e[VFx]=h0x +set z0e[VFx]=h1x +set z1e[VFx]=kJx +set z2e[VFx]=hgx +set ge[(TBx)]=(VFx) call Pyo(zTr,Cao*1./(256.*1./ 5)) call sWx(zTr,$FF,$FF,$FF,$7F) call Xax(TBx,1.,true,function ztr) set zH=(ze[(hdx)]) call fXo(zGe,h0x,h1x,Cao,zhe) set csx=fOo(zGe) +if(csx!=w)then loop +call cdx((C1x((csx),(z7e),(z8e),(fV)))) call d9x((csx),(zfe),(EKx),w,((LPr)*1.)) +set csx=fOo(zGe) +exitwhen(csx==w) +endloop endif endfunction function zUr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=zLe[VFx] local integer EKx=zme[VFx] local real h0x=zMe[VFx] local real h1x=zpe[VFx] local integer hgx=zPe[VFx] call zpr((VFx)) call tDo(tgo) call zur(hdx,EKx,h0x,h1x,hgx) return true endfunction function zwr takes integer hdx,integer EKx,real h0x,real h1x,integer hgx returns nothing +local integer VFx=zLr() local integer tgo=teo() set zLe[VFx]=hdx +set zme[VFx]=EKx +set zMe[VFx]=h0x +set zpe[VFx]=h1x +set zPe[VFx]=hgx +set qQv[((tgo))]=((D6v*((.5)*1.))*1.) set qsv[(tgo)]=((32.)*1.) call tio(tgo,'qSBM',1.) set quv[(tgo)]=Ntx((function zUr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,700.) call Tvo(tgo,hdx) call Okr(tgo,h0x,h1x,bex(h0x,h1x)) endfunction function zWr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) call zwr(hdx,(Mv[(Eix)]),(rL[(Eix)]),(iL[(Eix)]),hCx(hdx,kav)) return true endfunction function zyr takes nothing returns boolean set zGe=Bkx() set zhe=Nyx(function zKr) call Sao(kav,Nlx("SakeBomb_Init: call SakeBomb.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SakeBomb.Event_SpellEffect))",kK,VB,function zWr)) call oio(Njv,zfe) return true endfunction function zYr takes nothing returns boolean call kyr(function zyr,"SakeBomb_Init") return true endfunction function zzr takes nothing returns boolean call scx('ASaE',false) set JMv=s2o('ASaE') set orv[(JMv)]=(x8v) +set onv[(JMv)]=(3) set Zl[(JMv)]=("Sanguine Eyes") set PK[(JMv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0215)))),(((FL)))))) set Vnv[(JMv)]=(4) set n9v[(JMv)]=("spell") +call s3o((JMv),Ll+(1),(($96)*1.)) call s3o((JMv),zl+(1),(($8C)*1.)) call s3o((JMv),Pkv+(1),(($7D0)*1.)) call s3o((JMv),Ll+(2),(($96)*1.)) call s3o((JMv),zl+(2),(($AA)*1.)) call s3o((JMv),Pkv+(2),(($7D0)*1.)) call s3o((JMv),Ll+(3),(($96)*1.)) call s3o((JMv),zl+(3),(($C8)*1.)) call s3o((JMv),Pkv+(3),(($7D0)*1.)) set Qkv[(JMv)]=("ReplaceableTextures\\CommandButtons\\BTNOrbofSlowness.blp") +call G5r(JMv,'FSE0',3,'VSE0','LPSE','LRSE') set z9e[1]=.3 set z9e[2]=.5 set z9e[3]=.7 set Zve[1]=20 set Zve[2]=20 set Zve[3]=20 return true endfunction function zZr takes nothing returns boolean set Zee=x6o('BSaE',"Sanguine Eyes",'bSaE') set OOv[(Zee)]=(true) set v_v[(Zee)]=(true) set ORv[(Zee)]=("ReplaceableTextures\\CommandButtons\\BTNOrbofSlowness.blp") +call Urx(Zee,"Abilities\\Spells\\Other\\Doom\\DoomTarget.mdl","origin",EV) return true endfunction function z_r takes nothing returns boolean call IGx(UE,(function zzr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SanguineEyes.page\\SanguineEyes.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function zZr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SanguineEyes.page\\SanguineEyes.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function z0r takes nothing returns boolean set Zxe=Idx(Zoe) +return true endfunction function z1r takes nothing returns boolean local integer Eix=(bv) local real fCo=(A8v[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx call s9o(Zie[VFx],Zie[VFx],fCo*Zae[VFx]) +return true endfunction function z2r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(pf[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx set Zie[VFx]=hdx +set Zae[VFx]=z9e[EKx] call CMx(csx,Zre) return true endfunction function z3r takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx call cEx(csx,Zre) call H2x((Zie[VFx]),(JMv)) return true endfunction function z4r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) call d9x(csx,Zee,EKx,hdx,Zve[EKx]) return true endfunction function z5r takes nothing returns boolean set Zre=Nlx("SanguineEyes_Init: set SanguineEyes.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.TARGET_EVENT_TYPE, EventPriority.SPELLS, function SanguineEyes.Event_Damage)",Nvv,VB,function z1r) call Ufx(Zee,Nlx("SanguineEyes_Init: call SanguineEyes.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SanguineEyes.Event_BuffGain))",dg,VB,function z2r)) +call Ufx(Zee,Nlx("SanguineEyes_Init: call SanguineEyes.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SanguineEyes.Event_BuffLose))",Hf,VB,function z3r)) +call Sao(JMv,Nlx("SanguineEyes_Init: call SanguineEyes.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SanguineEyes.Event_SpellEffect))",kK,VB,function z4r)) call oio(AUv,Zee) call oio(XXv,Zee) call oio(RPv,Zee) return true endfunction function z6r takes nothing returns boolean call kyr(function z5r,"SanguineEyes_Init") return true endfunction function z7r takes nothing returns boolean set Zne=x6o('BBub',"Protected by a bubble",'bBub') set OOv[(Zne)]=(true) set sf[(Zne)]=(true) +set ORv[(Zne)]=("ReplaceableTextures\\CommandButtons\\BTNBigBadVoodooSpell.blp") +call Urx(Zne,"Abilities\\Spells\\Orc\\Voodoo\\VoodooAuraTarget.mdl","overhead",EV) set v2v=UEx() call nUr(v2v,Ggv,true) call UIx(((Zne)),YD+(1),(v2v)) set v2v=UEx() call nUr(v2v,Ggv,true) call UIx(((Zne)),YD+(2),(v2v)) set v2v=UEx() call nUr(v2v,Ggv,true) call UIx(((Zne)),YD+(3),(v2v)) return true endfunction function z8r takes nothing returns boolean call IGx(tE,(function z7r),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ShamanicBubble.page\\ShamanicBubble.struct\\Target\\obj_dummyBuff_wc3buff.j")) return true endfunction function z9r takes nothing returns boolean set ZVe=Idx(ZEe) +return true endfunction function Zvr takes nothing returns boolean set ZXe=u9x(ZOe+" (dummyBuff)") set sf[(ZXe)]=(true) +call Urx(ZXe,"Abilities\\Spells\\Human\\Polymorph\\PolyMorphTarget.mdl","origin",EV) +return true endfunction function Zer takes nothing returns boolean call IGx(tE,(function Zvr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ShamanicBubble.page\\ShamanicBubble.struct\\Transition\\obj_dummyBuff_wc3buff.j")) return true endfunction function Zxr takes nothing returns boolean set ZRe=Idx(ZOe) +return true endfunction function Zor takes nothing returns boolean set ZIe=u9x(ZAe+" (dummyBuff)") call Urx(ZIe,"Abilities\\Spells\\Other\\Doom\\DoomTarget.mdl","origin",EV) call Urx(ZIe,"Abilities\\Spells\\Undead\\Unsummon\\UnsummonTarget.mdl","origin",fV) set v2v=UEx() call URx(v2v,AKv,.2) +call UIx(((ZIe)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,AKv,.3) +call UIx(((ZIe)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,AKv,.4) +call UIx(((ZIe)),YD+(3),(v2v)) return true endfunction function Zrr takes nothing returns boolean call scx('ABub',false) set Jxv=s2o('ABub') set orv[(Jxv)]=(x7v) +set onv[(Jxv)]=(3) set Zl[(Jxv)]=("Shamanic Bubble") set PK[(Jxv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0217)))),(((FL)))))) set Vnv[(Jxv)]=(2) set n9v[(Jxv)]=("spell") +call s3o((Jxv),Yhv+(1),((500)*1.)) call s3o((Jxv),jl+(1),(($A)*1.)) +call s3o((Jxv),Ll+(1),((90)*1.)) +call s3o((Jxv),zl+(1),(($FA)*1.)) call s3o((Jxv),Pkv+(1),((675)*1.)) call s3o((Jxv),Yhv+(2),((600)*1.)) call s3o((Jxv),jl+(2),(($D)*1.)) +call s3o((Jxv),Ll+(2),((80)*1.)) +call s3o((Jxv),zl+(2),(($FA)*1.)) call s3o((Jxv),Pkv+(2),((675)*1.)) call s3o((Jxv),Yhv+(3),((700)*1.)) call s3o((Jxv),jl+(3),((16)*1.)) +call s3o((Jxv),Ll+(3),((70)*1.)) +call s3o((Jxv),zl+(3),(($FA)*1.)) call s3o((Jxv),Pkv+(3),((675)*1.)) set Qkv[(Jxv)]=("ReplaceableTextures\\CommandButtons\\BTNBigBadVoodooSpell.blp") +call G5r(Jxv,'FBu0',3,'VBu0','LPBu','LRBu') set ZNe[1]=.2 set ZNe[2]=.3 set ZNe[3]=.4 return true endfunction function Zir takes nothing returns boolean call IGx(tE,(function Zor),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ShamanicBubble.page\\ShamanicBubble.struct\\obj_dummyBuff_wc3buff.j")) call IGx(UE,(function Zrr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\ShamanicBubble.page\\ShamanicBubble.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Zar takes nothing returns boolean set Zbe=Idx(ZAe) +return true endfunction function Znr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if not(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function ZVr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer cIr=cVr(csx) set Zce[VFx]=cIr +set ZCe[VFx]=EKx +set IKe[(cIr)]=(VFx) +set iee[(cIr)]=(((hDx((Jxv),Yhv+(EKx))))*1.) +set ixe[(cIr)]=(ZBe) +call cEr(cIr,Zde) call cEr(cIr,ZDe) call cOr(cIr) return true endfunction function ZEr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer cIr=Zce[VFx] call cDr(cIr) return true endfunction function ZXr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) call dpx(hdx,ZXe) call dpx(hdx,ZIe) return true endfunction function ZOr takes integer hgx returns nothing set Zfe=hgx call d9x(((Bl[(hgx)])),(ZXe),(1),w,((ZFe)*1.)) endfunction function ZRr takes nothing returns boolean local integer Eix=(bv) call ZOr((oL[(Eix)])) return true endfunction function ZIr takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer ENx=(IKe[(cIr)]) call JYx(csx,Zne) return true endfunction function ZAr takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer hdx=(r3e[(cIr)]) local integer ENx=(IKe[(cIr)]) local integer EKx=ZCe[ENx] call jGx((csx),(Zne),(EKx),w) return true endfunction function ZNr takes nothing returns nothing set Zde=Nlx("FolderShamanicBubble_StructTarget_Init: set FolderShamanicBubble_StructTarget.ENDING_EVENT = Event.Create(AURA.Target.ENDING_EVENT_TYPE, EventPriority.SPELLS, function FolderShamanicBubble_StructTarget.Event_Ending)",iae,VB,function ZIr) set ZDe=Nlx("FolderShamanicBubble_StructTarget_Init: set FolderShamanicBubble_StructTarget.START_EVENT = Event.Create(AURA.Target.START_EVENT_TYPE, EventPriority.SPELLS, function FolderShamanicBubble_StructTarget.Event_Start)",ine,VB,function ZAr) endfunction function Zbr takes integer hgx returns nothing local integer hdx=(Bl[(hgx)]) local integer EKx=(Dl[(hgx)]) local real h0x=(al[(hgx)]) local real h1x=(nl[(hgx)]) call Pnr(hdx,h0x,h1x,bex(h0x,h1x)) call jGx((hdx),(ZIe),(EKx),w) endfunction function ZBr takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx call dpx(csx,ZXe) call Zbr(Zhe[VFx]) endfunction function Zcr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer ZCr=Zfe local real Dfx=(JC[(csx)]) local integer VFx=csx local integer bUx=E5x() set Zge[VFx]=bUx +set ZGe[VFx]=Dfx +set Zhe[VFx]=ZCr +set ge[(bUx)]=(VFx) call jTx((csx),-((Dfx)*1.),((ZFe)*1.)) call Xax(bUx,ZFe,false,function ZBr) +return true endfunction function Zdr takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer bUx=Zge[VFx] local real Dfx=ZGe[VFx] call Xbx(bUx) call jTx(csx,Dfx,ZFe) return true endfunction function ZDr takes nothing returns nothing call Ufx(ZXe,Nlx("FolderShamanicBubble_StructTransition_Init: call FolderShamanicBubble_StructTransition.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderShamanicBubble_StructTransition.Event_BuffGain))",dg,VB,function Zcr)) call Ufx(ZXe,Nlx("FolderShamanicBubble_StructTransition_Init: call FolderShamanicBubble_StructTransition.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderShamanicBubble_StructTransition.Event_BuffLose))",Hf,VB,function Zdr)) endfunction function Zfr takes nothing returns boolean set ZBe=Nyx(function Znr) call Ufx(ZIe,Nlx("ShamanicBubble_Init: call ShamanicBubble.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ShamanicBubble.Event_BuffGain))",dg,VB,function ZVr)) call Ufx(ZIe,Nlx("ShamanicBubble_Init: call ShamanicBubble.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ShamanicBubble.Event_BuffLose))",Hf,VB,function ZEr)) call Sao(Jxv,Nlx("ShamanicBubble_Init: call ShamanicBubble.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ShamanicBubble.Event_EndCast))",VRv,VB,function ZXr)) +call Sao(Jxv,Nlx("ShamanicBubble_Init: call ShamanicBubble.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ShamanicBubble.Event_SpellEffect))",kK,VB,function ZRr)) call ZNr() call ZDr() return true endfunction function ZFr takes nothing returns boolean call kyr(function Zfr,"ShamanicBubble_Init") +return true endfunction function Zgr takes nothing returns boolean set ZHe=u9x(Zje+" (coldnessBuff)") set sf[(ZHe)]=(true) +return true endfunction function ZGr takes nothing returns boolean set ZJe=x6o('BSDA',"Sleeping Draft",'bSDA') set OOv[(ZJe)]=(true) set ORv[(ZJe)]=("ReplaceableTextures\\CommandButtons\\BTNGreaterInvulneralbility.blp") call Urx(ZJe,"Abilities\\Spells\\Items\\VampiricPotion\\VampPotionCaster.mdl","origin",EV) set v2v=UEx() call URx(v2v,RRv,.3) +call UIx(((ZJe)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,RRv,.4) +call UIx(((ZJe)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,RRv,.5) +call UIx(((ZJe)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,RRv,.6) +call UIx(((ZJe)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,RRv,.7) +call UIx(((ZJe)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,RRv,.8) +call UIx(((ZJe)),YD+(6),(v2v)) return true endfunction function Zhr takes nothing returns boolean set Zke[1]=6 +set Zke[2]=6 +set Zke[3]=6 +set Zke[4]=6 +set Zke[5]=6 +set Zke[6]=6 +set ZKe[1]=3 +set ZKe[2]=3 +set ZKe[3]=3 +set ZKe[4]=3 +set ZKe[5]=3 +set ZKe[6]=3 +set Zle[1]=.3 set Zle[2]=.4 set Zle[3]=.5 set Zle[4]=.6 set Zle[5]=.7 set Zle[6]=.8 return true endfunction function ZHr takes nothing returns boolean call IGx(tE,(function Zgr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SleepingDraft.page\\SleepingDraft.struct\\Buff\\obj_coldnessBuff_wc3buff.j")) call IGx(tE,(function ZGr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SleepingDraft.page\\SleepingDraft.struct\\Buff\\obj_dummyBuff_wc3buff.j")) call IGx(VE,(function Zhr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SleepingDraft.page\\SleepingDraft.struct\\Buff\\obj_this_wc3obj.j")) +return true endfunction function Zjr takes nothing returns boolean set ZLe=Idx(Zje) +return true endfunction function ZJr takes nothing returns boolean set Zme=x6o('BSDB',"Sleep",'bSDB') set sf[(Zme)]=(true) +set v_v[(Zme)]=(true) set ORv[(Zme)]=("ReplaceableTextures\\CommandButtons\\BTNPotionOfClarity.blp") return true endfunction function Zkr takes nothing returns boolean call scx('ASlD',false) set kiv=s2o('ASlD') set orv[(kiv)]=(xWv) +set onv[(kiv)]=(6) set Zl[(kiv)]=("Sleeping Draft") +set PK[(kiv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0103)))),(((FL)))))) set Vnv[(kiv)]=(4) set n9v[(kiv)]=("spell") +call s3o((kiv),Yhv+(1),((350)*1.)) call s3o((kiv),Ll+(1),((16)*1.)) +call s3o((kiv),zl+(1),(('x')*1.)) call s3o((kiv),Pkv+(1),((700)*1.)) call s3o((kiv),Yhv+(2),((350)*1.)) call s3o((kiv),Ll+(2),(($F)*1.)) +call s3o((kiv),zl+(2),(('x')*1.)) call s3o((kiv),Pkv+(2),((700)*1.)) call s3o((kiv),Yhv+(3),((350)*1.)) call s3o((kiv),Ll+(3),(($E)*1.)) +call s3o((kiv),zl+(3),(('x')*1.)) call s3o((kiv),Pkv+(3),((700)*1.)) call s3o((kiv),Yhv+(4),((350)*1.)) call s3o((kiv),Ll+(4),(($D)*1.)) +call s3o((kiv),zl+(4),(('x')*1.)) call s3o((kiv),Pkv+(4),((700)*1.)) call s3o((kiv),Yhv+(5),((350)*1.)) call s3o((kiv),Ll+(5),(($C)*1.)) +call s3o((kiv),zl+(5),(('x')*1.)) call s3o((kiv),Pkv+(5),((700)*1.)) call s3o((kiv),Yhv+(6),((350)*1.)) call s3o((kiv),Ll+(6),(($B)*1.)) +call s3o((kiv),zl+(6),(('x')*1.)) call s3o((kiv),Pkv+(6),((700)*1.)) set Qkv[(kiv)]=("ReplaceableTextures\\CommandButtons\\BTNPotionOfClarity.blp") call G5r(kiv,'FSD0',6,'VSD0','LPSD','LRSD') set ZMe[1]=3 +set ZMe[2]=4 +set ZMe[3]=5 +set ZMe[4]=6 +set ZMe[5]=7 +set ZMe[6]=8 +set Zpe[1]=6 +set Zpe[2]=8 +set Zpe[3]=$A set Zpe[4]=$C set Zpe[5]=$E set Zpe[6]=16 set ZPe[1]=25 set ZPe[2]=35 set ZPe[3]=45 set ZPe[4]=55 set ZPe[5]=60 set ZPe[6]=65 set Zqe[1]=2 +set Zqe[2]=3 +set Zqe[3]=4 +set Zqe[4]=5 +set Zqe[5]=6 +set Zqe[6]=7 +return true endfunction function ZKr takes nothing returns boolean call IGx(tE,(function ZJr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SleepingDraft.page\\SleepingDraft.struct\\obj_sleepBuff_wc3buff.j")) +call IGx(UE,(function Zkr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SleepingDraft.page\\SleepingDraft.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function Zlr takes nothing returns boolean set ZQe=Idx(Zse) +return true endfunction function ZLr takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function Zmr takes integer VFx returns integer set ZWe[VFx]=true set Zye[VFx]=false call V1x(ZQe) return VFx endfunction function ZMr takes nothing returns integer local integer VFx if(ZTe==8190)then call Vmx("SleepingDraft_Allocation_allocCustom","call DebugEx(SleepingDraft.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",Zse+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(Zue[(w)]==w)then set ZUe=ZUe+1 set VFx=ZUe else +set VFx=Zue[(w)] +set Zue[(w)]=Zue[Zue[(w)]] endif set Zue[VFx]=Z set Zwe[VFx]=1 call Zmr(VFx) return VFx endfunction function Zpr takes integer VFx returns nothing set ZWe[VFx]=false call EEx(ZQe) endfunction function ZPr takes integer VFx returns nothing if(Zwe[VFx]>0)then return endif if(Zue[VFx]!=Z)then call Vmx("SleepingDraft_Allocation_deallocCustom_confirm","call DebugEx(SleepingDraft.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",Zse+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set Zue[VFx]=Zue[(w)] set Zue[(w)]=VFx +call Zpr(VFx) endfunction function Zqr takes integer VFx returns nothing set Zwe[VFx]=Zwe[VFx]-1 call ZPr(VFx) endfunction function ZQr takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local real x=(qyv[(tgo)]) local real y=(qYv[(tgo)]) local integer hdx=ZYe[VFx] local integer EKx=Zze[VFx] local integer b0r local integer csx local integer VBx call Zqr((VFx)) call tDo(tgo) set zH=(ze[(hdx)]) call fXo(ZSe,x,y,(hDx((kiv),Yhv+(EKx))),Zte) +set b0r=ZMe[EKx] +if(b0r>0)then set csx=(SJo((ZSe),((x)*1.),((y)*1.))) if(csx!=w)then set VBx=1 loop +call GroupRemoveUnit(jd[(ZSe)],C[(csx)]) +call cdx((C1x((csx),(ZZe),(Z_e),(EV)))) if Cmx(csx,rG)then call d9x((csx),(Zme),(EKx),w,((Zqe[EKx])*1.)) else +call d9x((csx),(Zme),(EKx),w,((Zpe[EKx])*1.)) endif set VBx=VBx+1 exitwhen(VBx>b0r) set csx=(SJo((ZSe),((x)*1.),((y)*1.))) exitwhen(csx==w) +endloop endif endif return true endfunction function Zsr takes integer EKx,integer csx returns nothing call d9x((csx),(ZJe),(EKx),w,((Zke[EKx])*1.)) endfunction function ZSr takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local integer VFx=ZMr() local integer tgo=teo() set ZYe[VFx]=hdx +set Zze[VFx]=EKx +set qQv[((tgo))]=((D6v*((.2)*1.))*1.) set qsv[(tgo)]=((10.)*1.) call tio(tgo,'qSle',1.5) +set quv[(tgo)]=Ntx((function ZQr)) set QEv[(tgo)]=(VFx) +call S9o(tgo,700.) call tqo((tgo),(hdx),.0,.0,.0) call t4o((tgo),(csx),.0,.0,.0,(null)) call Zsr(EKx,hdx) call Seo(hdx,hdx,(dpv[(hdx)])*Z0e+ZPe[EKx]) return true endfunction function Ztr takes nothing returns boolean local integer Eix=(bv) local integer csx=(A9v[(Eix)]) local integer xFr=(aL[(Eix)]) local integer VFx=csx local integer EKx=Z2e[VFx] call d9x((xFr),(ZHe),(EKx),w,((ZKe[EKx])*1.)) call cdx((C1x((xFr),("Abilities\\Weapons\\LichMissile\\LichMissile.mdl"),("chest"),(fV)))) return true endfunction function ZTr takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx set Z2e[VFx]=EKx +call CMx(csx,Z1e) return true endfunction function Zur takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx call cEx(csx,Z1e) return true endfunction function ZUr takes nothing returns nothing set Z1e=Nlx("FolderSleepingDraft_StructBuff_Init: set FolderSleepingDraft_StructBuff.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function FolderSleepingDraft_StructBuff.Event_Damage)",Nev,VB,function Ztr) call Ufx(ZJe,Nlx("FolderSleepingDraft_StructBuff_Init: call FolderSleepingDraft_StructBuff.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSleepingDraft_StructBuff.Event_BuffGain))",dg,VB,function ZTr)) call Ufx(ZJe,Nlx("FolderSleepingDraft_StructBuff_Init: call FolderSleepingDraft_StructBuff.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSleepingDraft_StructBuff.Event_BuffLose))",Hf,VB,function Zur)) call oio(RIv,ZHe) endfunction function Zwr takes nothing returns boolean set ZSe=Bkx() set Zte=Nyx(function ZLr) call Sao(kiv,Nlx("SleepingDraft_Init: call SleepingDraft.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SleepingDraft.Event_SpellEffect))",kK,VB,function ZSr)) +call oio(Nuv,Zme) call ZUr() return true endfunction function ZWr takes nothing returns boolean call kyr(function Zwr,"SleepingDraft_Init") return true endfunction function Zyr takes nothing returns boolean return true endfunction function ZYr takes nothing returns boolean set Z3e=Idx(Z4e) +return true endfunction function Zzr takes nothing returns boolean call scx('ASoU',false) set kVv=s2o('ASoU') set orv[(kVv)]=(x8v) +set onv[(kVv)]=(3) set Zl[(kVv)]=("Sober up") set PK[(kVv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00C4)))),(((FL)))))) set Vnv[(kVv)]=(0) set n9v[(kVv)]=("spell") +call s3o((kVv),Yhv+(1),((750)*1.)) call s3o((kVv),jl+(1),((.5)*1.)) +call s3o((kVv),Ll+(1),(('x')*1.)) call s3o((kVv),zl+(1),(($96)*1.)) call s3o((kVv),Pkv+(1),((750)*1.)) call s3o((kVv),Yhv+(2),((750)*1.)) call s3o((kVv),jl+(2),((.5)*1.)) +call s3o((kVv),Ll+(2),(('d')*1.)) call s3o((kVv),zl+(2),(($96)*1.)) call s3o((kVv),Pkv+(2),((750)*1.)) call s3o((kVv),Yhv+(3),((750)*1.)) call s3o((kVv),jl+(3),((.5)*1.)) +call s3o((kVv),Ll+(3),((80)*1.)) +call s3o((kVv),zl+(3),(($96)*1.)) call s3o((kVv),Pkv+(3),((750)*1.)) set Qkv[(kVv)]=("ReplaceableTextures\\CommandButtons\\BTNStormEarth&Fire.blp") call G5r(kVv,'FSU0',3,'VSU0','LPSU','LRSU') set Z5e[1]=35 set Z5e[2]=50 set Z5e[3]=65 set Z6e[1]=3.5 set Z6e[2]=5 +set Z6e[3]=6.5 set Z7e[1]=5 +set Z7e[2]=7 +set Z7e[3]=9 +set Z8e[1]=$F set Z8e[2]=30 set Z8e[3]=35 return true endfunction function ZZr takes nothing returns boolean set Z9e=u9x(vvx+" (banishBuff)") +set sf[(Z9e)]=(true) +return true endfunction function Z_r takes nothing returns boolean call IGx(UE,(function Zzr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SoberUp.page\\SoberUp.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function ZZr),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SoberUp.page\\SoberUp.struct\\obj_banishBuff_wc3buff.j")) return true endfunction function Z0r takes nothing returns boolean set vex=Idx(vvx) +return true endfunction function Z1r takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif return true return true endfunction function Z2r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real Cao=(hDx((kVv),Yhv+(EKx))) local real x=(GetUnitX(C[((hdx))])) local real y=(GetUnitY(C[((hdx))])) local integer VFx call fxo(fio(x,y,vrx,EV,Cao*1./ vix)) set VFx=hdx set vax[VFx]=EKx +set vnx[VFx]=x set vVx[VFx]=y return true endfunction function Z3r takes integer VFx returns integer set vOx[VFx]=true set vRx[VFx]=false call V1x(Z3e) return VFx endfunction function Z4r takes integer VFx returns nothing set vOx[VFx]=false call EEx(Z3e) endfunction function Z5r takes integer hdx,integer EKx,integer R9x returns nothing call cdx((C1x((hdx),(vbx),(vBx),(EV)))) call s9o(hdx,hdx,Z8e[EKx]*R9x) endfunction function Z6r takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer R9x=vIx[VFx] local integer hdx=vAx[VFx] local integer EKx=vNx[VFx] call Z4r(VFx) call tDo(tgo) call Z5r(hdx,EKx,R9x) return true endfunction function Z7r takes integer hdx,integer EKx,integer VMx,integer R9x returns nothing local integer tgo=teo() local integer VFx=Z3r(tgo) set vIx[VFx]=R9x +set vAx[VFx]=hdx +set vNx[VFx]=EKx +set qQv[((tgo))]=((D6v*((.4)*1.))*1.) set qsv[(tgo)]=((32.)*1.) set quv[(tgo)]=Ntx((function Z6r)) set QEv[(tgo)]=(VFx) +call S9o(tgo,600.) call Tvo(tgo,VMx) call t4o((tgo),(hdx),.0,.0,.0,(null)) call tio(tgo,'qSUH',1+(R9x*.2)) endfunction function Z8r takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local boolean bYo=(VOv[(Eix)]) local integer VFx=hdx local integer EKx=vax[VFx] local real x=vnx[VFx] local real y=vVx[VFx] local real Cao=(hDx((kVv),Yhv+(EKx))) local integer csx local integer hbo local real Z9r local integer R9x local real g2r if not bYo then call H2x((hdx),(kVv)) call gxx(hdx,(hDx((kVv),zl+(EKx)))) return true endif call fxo(fio(x,y,vEx,fV,Cao*1./ vXx)) call fXo(vxx,x,y,Cao,vox) set csx=fOo(vxx) +if(csx!=w)then set hbo=(ze[(hdx)]) set Z9r=Z5e[EKx] +loop +if(IsUnitAlly(C[(csx)],vx[(hbo)]))then set R9x=ezr(csx,true,false,true) +if(R9x>0)then call Z7r(hdx,EKx,csx,R9x) endif else +call cdx((C1x((csx),(vcx),(vCx),(EV)))) if Cmx(csx,rG)then set g2r=Z6e[EKx] +else +set g2r=Z7e[EKx] +endif call d9x((csx),(Z9e),(EKx),w,((g2r)*1.)) +set R9x=Anr(csx,true,false) if(R9x>0)then call AYo((hdx),(csx),((R9x*Z9r)*1.),(true),(false)) endif endif set csx=fOo(vxx) +exitwhen(csx==w) +endloop endif return true endfunction function vvi takes nothing returns boolean set vxx=Bkx() set vox=Nyx(function Z1r) call Sao(kVv,Nlx("SoberUp_Init: call SoberUp.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SoberUp.Event_SpellEffect))",kK,VB,function Z2r)) call Sao(kVv,Nlx("SoberUp_Init: call SoberUp.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SoberUp.Event_EndCast))",VRv,VB,function Z8r)) call oio(ACv,Z9e) return true endfunction function vei takes nothing returns boolean call kyr(function vvi,"SoberUp_Init") return true endfunction function vxi takes nothing returns boolean set vdx[1]=5 +set vdx[2]=7.5 set vdx[3]=$A return true endfunction function voi takes nothing returns boolean set vDx=x6o('BStI',"Steel Impalement",'bStI') set v_v[(vDx)]=(true) set ORv[(vDx)]=("ReplaceableTextures\\CommandButtons\\BTNImpale.blp") call Urx(vDx,"SteelImpalement_page\\SteelImpalement_struct\\Target\\spear.mdx","origin",EV) return true endfunction function vri takes nothing returns boolean call IGx(VE,(function vxi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SteelImpalement.page\\SteelImpalement.struct\\Target\\obj_this_wc3obj.j")) call IGx(tE,(function voi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SteelImpalement.page\\SteelImpalement.struct\\Target\\obj_dummyBuff_wc3buff.j")) +return true endfunction function vii takes nothing returns boolean set vfx=Idx(vFx) +return true endfunction function vai takes nothing returns boolean call scx('AStI',false) set j0v=s2o('AStI') set orv[(j0v)]=(x8v) +set onv[(j0v)]=(3) set Zl[(j0v)]=("Steel Impalement") set PK[(j0v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00C4)))),(((FL)))))) set Vnv[(j0v)]=(0) set n9v[(j0v)]=("slam") call s3o((j0v),Yhv+(1),(($BB8)*1.)) call s3o((j0v),jl+(1),(($C)*1.)) +call s3o((j0v),Ll+(1),(('d')*1.)) call s3o((j0v),zl+(1),(($B4)*1.)) call s3o((j0v),Pkv+(1),((750)*1.)) call s3o((j0v),Yhv+(2),(($BB8)*1.)) call s3o((j0v),jl+(2),(($C)*1.)) +call s3o((j0v),Ll+(2),(('d')*1.)) call s3o((j0v),zl+(2),(($E1)*1.)) call s3o((j0v),Pkv+(2),((750)*1.)) call s3o((j0v),Yhv+(3),(($BB8)*1.)) call s3o((j0v),jl+(3),(($C)*1.)) +call s3o((j0v),Ll+(3),(('d')*1.)) call s3o((j0v),zl+(3),((270)*1.)) call s3o((j0v),Pkv+(3),((750)*1.)) set Qkv[(j0v)]=("ReplaceableTextures\\CommandButtons\\BTNImpale.blp") call G5r(j0v,'FSI0',3,'VSI0','LPSI','LRSI') set vgx[1]=3 +set vgx[2]=3 +set vgx[3]=3 +set vGx[1]=50 set vGx[2]='d' set vGx[3]=$96 return true endfunction function vni takes nothing returns boolean set vhx=u9x(vHx+" (dummyBuff)") return true endfunction function vVi takes nothing returns boolean call IGx(UE,(function vai),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SteelImpalement.page\\SteelImpalement.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function vni),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SteelImpalement.page\\SteelImpalement.struct\\obj_dummyBuff_wc3buff.j")) +return true endfunction function vEi takes nothing returns boolean set vjx=Idx(vHx) +return true endfunction function vXi takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if(b8x((bae),qC,(csx)))then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function vOi takes integer csx,integer hdx,integer EKx returns nothing call cdx((C1x((csx),(vSx),(vtx),(EV)))) call NFr(csx) call d9x(csx,vDx,EKx,hdx,vdx[EKx]) endfunction function vRi takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=VFx local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real Cao=vlx[VFx]+vLx[VFx] +local integer EKx=(Dl[(vqx[VFx])]) local integer Wmo=vMx[VFx] local real vIi local real OMx local integer vAi local real Rur local integer csx set vlx[VFx]=Cao +set vIi=tH*Cao set OMx=(GetRandomReal(((.0)*1.),((TH)*1.))) +set vAi=(R2I(((vIi*1./ Fgr("sfxdist",vQx))*1.))) +set Rur=TH*1./ vAi loop +exitwhen(vAi<1) set OMx=OMx+Rur call Sgo((Sjo(((xnr+Cao*(Cos(((((OMx)*1.))*1.))))*1.),((xVr+Cao*(Sin(((((OMx)*1.))*1.))))*1.),(vsx),(EV)))) set vAi=vAi-1 endloop set zH=(ze[(hdx)]) set bae=Wmo call fXo(vJx,xnr,xVr,Cao,vkx) set csx=fOo(vJx) +if(csx!=w)then loop +call HDx(Wmo,csx) call vOi(csx,hdx,EKx) call AYo((hdx),(csx),((vmx[VFx])*1.),(false),(false)) set csx=fOo(vJx) +exitwhen(csx==w) +endloop endif endfunction function vNi takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) set vlx[VFx]=.0 call HJx((vMx[VFx]),qC) endfunction function vbi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer hgx=(pf[(Eix)]) local real vBi=Fgr("animspeed",.5)*1.2*1./(hDx((j0v),jl+(EKx)))-1 local real qur=1.5*1./ vgx[EKx] local integer VFx=hdx local integer WLo=E5x() local integer vci=E5x() set vKx[VFx]=vBi +set vlx[VFx]=.0 set vLx[VFx]=(hDx((j0v),Yhv+(EKx)))*1./(hDx((j0v),jl+(EKx)))*vgx[EKx]*qur set vmx[VFx]=vGx[EKx] set vMx[VFx]=Pcx("SteelImpalement_Event_BuffGain: set this.targetGroup = UnitList.Create()") +set vpx[VFx]=WLo +set vPx[VFx]=vci +set vqx[VFx]=hgx +set ge[(WLo)]=(VFx) set ge[(vci)]=(VFx) call WDr(hdx,vBi) call jGx((((hdx))),(Xbv),(1),w) call Xax(WLo,qur,true,function vRi) call Xax(vci,(hDx((j0v),jl+(EKx)))*1./ vgx[EKx],true,function vNi) return true endfunction function vCi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=hdx local real vBi=vKx[VFx] local integer WLo=vpx[VFx] local integer vci=vPx[VFx] call Xbx(WLo) call Xbx(vci) call WZr(hdx,vBi) call JYx(((hdx)),Xbv) return true endfunction function vdi takes nothing returns boolean local integer Eix=(bv) call jGx((Vv[(Eix)]),vhx,(Mv[(Eix)]),(oL[(Eix)])) return true endfunction function vDi takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),vhx) return true endfunction function vfi takes nothing returns nothing call oio(AWv,vDx) call oio(RP,vDx) +endfunction function vFi takes nothing returns boolean set vJx=Bkx() set vkx=Nyx(function vXi) call Ufx(vhx,Nlx("SteelImpalement_Init: call SteelImpalement.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SteelImpalement.Event_BuffGain))",dg,VB,function vbi)) call Ufx(vhx,Nlx("SteelImpalement_Init: call SteelImpalement.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SteelImpalement.Event_BuffLose))",Hf,VB,function vCi)) call Sao(j0v,Nlx("SteelImpalement_Init: call SteelImpalement.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SteelImpalement.Event_SpellEffect))",kK,VB,function vdi)) call Sao(j0v,Nlx("SteelImpalement_Init: call SteelImpalement.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Finish.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SteelImpalement.Event_EndCast))",VRv,VB,function vDi)) call vfi() return true endfunction function vgi takes nothing returns boolean call kyr(function vFi,"SteelImpalement_Init") return true endfunction function vGi takes nothing returns boolean set vTx=Idx(vux) +return true endfunction function vhi takes nothing returns boolean call scx('ATau',false) set vUx=s2o('ATau') set orv[(vUx)]=(ovv) +set onv[(vUx)]=(1) set Zl[(vUx)]=("Taunt") set n9v[(vUx)]=("spell") +call s3o((vUx),Yhv+(1),((450)*1.)) call s3o((vUx),Pkv+(1),((750)*1.)) return true endfunction function vHi takes nothing returns boolean set vwx[1]=LBo('uPoB') call Lco(((vwx[1])),CPv,(cgv)) set vm[(vwx[1])]=((.95)*1.) set div[(vwx[1])]=((60)*1.) set dsv[(vwx[1])]=((60)*1.) set Cp[(vwx[1])]=((270)*1.) set c5v[(vwx[1])]=((2)*1.) set Crv[(vwx[1])]=(2) set djv[(vwx[1])]=((400)*1.) +set dHv[(vwx[1])]=((400)*1.) +set dGv[(vwx[1])]=((.3)*1.) set dkv[(vwx[1])]=((80)*1.) set dJv[(vwx[1])]=((80)*1.) set dhv[(vwx[1])]=((.1)*1.) set dRv[(vwx[1])]=(($578)*1.) set dXv[(vwx[1])]=(($578)*1.) set dCv[(vwx[1])]=((45)*1.) set Cbv[(vwx[1])]=(jtv) set CDv[(vwx[1])]=((153.6)*1.) set Cfv[((vwx[1]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(vwx[1])]=((.63)*1.) +set Csv[(vwx[1])]=(($E)*1.) set CSv[(vwx[1])]=(($E)*1.) set CUv[(vwx[1])]=(1) set Cyv[(vwx[1])]=(5) set CZv[(vwx[1])]=(0) set CQv[(vwx[1])]=((48)*1.) return true endfunction function vji takes nothing returns boolean set vwx[2]=LBo('uPB2') call Lco(((vwx[2])),CPv,(cgv)) set vm[(vwx[2])]=((1.15)*1.) +set div[(vwx[2])]=((60)*1.) set dsv[(vwx[2])]=((60)*1.) set Cp[(vwx[2])]=((270)*1.) set c5v[(vwx[2])]=((3)*1.) set Crv[(vwx[2])]=(2) set djv[(vwx[2])]=((500)*1.) +set dHv[(vwx[2])]=((500)*1.) +set dGv[(vwx[2])]=((.4)*1.) set dkv[(vwx[2])]=(('d')*1.) +set dJv[(vwx[2])]=(('d')*1.) +set dhv[(vwx[2])]=((.15)*1.) +set dRv[(vwx[2])]=(($578)*1.) set dXv[(vwx[2])]=(($578)*1.) set dCv[(vwx[2])]=((55)*1.) set Cbv[(vwx[2])]=(jtv) set CDv[(vwx[2])]=((153.6)*1.) set Cfv[((vwx[2]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(vwx[2])]=((.63)*1.) +set Csv[(vwx[2])]=((18)*1.) set CSv[(vwx[2])]=((18)*1.) set CUv[(vwx[2])]=(1) set Cyv[(vwx[2])]=(6) set CZv[(vwx[2])]=(0) set CQv[(vwx[2])]=((48)*1.) return true endfunction function vJi takes nothing returns boolean call scx('ASGC',false) set vWx=s2o('ASGC') set orv[(vWx)]=(x4v) +set onv[(vWx)]=(6) set Zl[(vWx)]=("Callback") set PK[(vWx)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0272)))),(((FL)))))) set Vnv[(vWx)]=(0) set n9v[(vWx)]=("spell") +call s3o((vWx),Ll+(1),((0)*1.)) call s3o((vWx),zl+(1),((5)*1.)) call s3o((vWx),Pkv+(1),((750)*1.)) call s3o((vWx),Ll+(2),((0)*1.)) call s3o((vWx),zl+(2),((5)*1.)) call s3o((vWx),Pkv+(2),((750)*1.)) call s3o((vWx),Ll+(3),((0)*1.)) call s3o((vWx),zl+(3),((5)*1.)) call s3o((vWx),Pkv+(3),((750)*1.)) call s3o((vWx),Ll+(4),((0)*1.)) call s3o((vWx),zl+(4),((5)*1.)) call s3o((vWx),Pkv+(4),((750)*1.)) call s3o((vWx),Ll+(5),((0)*1.)) call s3o((vWx),zl+(5),((5)*1.)) call s3o((vWx),Pkv+(5),((750)*1.)) call s3o((vWx),Ll+(6),((0)*1.)) call s3o((vWx),zl+(6),((5)*1.)) call s3o((vWx),Pkv+(6),((750)*1.)) set Qkv[(vWx)]=("ReplaceableTextures\\CommandButtons\\BTNLifeDrain.blp") +call G5r(vWx,'FSC0',6,'VSC0','LPSC','LRSC') set vyx[1]=.3 set vyx[2]=.3 set vyx[3]=.3 set vyx[4]=.3 set vyx[5]=.3 set vyx[6]=.3 set vYx[1]=$A set vYx[2]=20 set vYx[3]=30 set vYx[4]=40 set vYx[5]=50 set vYx[6]=60 return true endfunction function vki takes nothing returns boolean set vwx[3]=LBo('uPB3') call Lco(((vwx[3])),CPv,(cgv)) set vm[(vwx[3])]=((1.25)*1.) +set div[(vwx[3])]=((60)*1.) set dsv[(vwx[3])]=((60)*1.) set Cp[(vwx[3])]=((270)*1.) set c5v[(vwx[3])]=((4)*1.) set Crv[(vwx[3])]=(2) set djv[(vwx[3])]=((620)*1.) +set dHv[(vwx[3])]=((620)*1.) +set dGv[(vwx[3])]=((.5)*1.) set dkv[(vwx[3])]=(('x')*1.) +set dJv[(vwx[3])]=(('x')*1.) +set dhv[(vwx[3])]=((.2)*1.) set dRv[(vwx[3])]=(($578)*1.) set dXv[(vwx[3])]=(($578)*1.) set dCv[(vwx[3])]=((65)*1.) set Cbv[(vwx[3])]=(jtv) set CDv[(vwx[3])]=((153.6)*1.) set Cfv[((vwx[3]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(vwx[3])]=((.63)*1.) +set Csv[(vwx[3])]=((24)*1.) set CSv[(vwx[3])]=((24)*1.) set CUv[(vwx[3])]=(2) set Cyv[(vwx[3])]=(4) set CZv[(vwx[3])]=(0) set CQv[(vwx[3])]=((48)*1.) return true endfunction function vKi takes nothing returns boolean set vwx[4]=LBo('uPB4') call Lco(((vwx[4])),CPv,(cgv)) set vm[(vwx[4])]=((1.35)*1.) +set div[(vwx[4])]=((60)*1.) set dsv[(vwx[4])]=((60)*1.) set Cp[(vwx[4])]=((270)*1.) set c5v[(vwx[4])]=((5)*1.) set Crv[(vwx[4])]=(2) set djv[(vwx[4])]=((750)*1.) +set dHv[(vwx[4])]=((750)*1.) +set dGv[(vwx[4])]=((.5)*1.) set dkv[(vwx[4])]=(($8C)*1.) +set dJv[(vwx[4])]=(($8C)*1.) +set dhv[(vwx[4])]=((.25)*1.) +set dRv[(vwx[4])]=(($578)*1.) set dXv[(vwx[4])]=(($578)*1.) set dCv[(vwx[4])]=((75)*1.) set Cbv[(vwx[4])]=(jtv) set CDv[(vwx[4])]=((153.6)*1.) set Cfv[((vwx[4]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(vwx[4])]=((.63)*1.) +set Csv[(vwx[4])]=((26)*1.) set CSv[(vwx[4])]=((26)*1.) set CUv[(vwx[4])]=(3) set Cyv[(vwx[4])]=(4) set CZv[(vwx[4])]=(0) set CQv[(vwx[4])]=((48)*1.) return true endfunction function vli takes nothing returns boolean set vwx[5]=LBo('uPB5') call Lco(((vwx[5])),CPv,(cgv)) set vm[(vwx[5])]=((1.45)*1.) +set div[(vwx[5])]=((60)*1.) set dsv[(vwx[5])]=((60)*1.) set Cp[(vwx[5])]=((270)*1.) set c5v[(vwx[5])]=((6)*1.) set Crv[(vwx[5])]=(2) set djv[(vwx[5])]=((900)*1.) +set dHv[(vwx[5])]=((900)*1.) +set dGv[(vwx[5])]=((.5)*1.) set dkv[(vwx[5])]=(($A0)*1.) +set dJv[(vwx[5])]=(($A0)*1.) +set dhv[(vwx[5])]=((.3)*1.) set dRv[(vwx[5])]=(($578)*1.) set dXv[(vwx[5])]=(($578)*1.) set dCv[(vwx[5])]=((85)*1.) set Cbv[(vwx[5])]=(jtv) set CDv[(vwx[5])]=((153.6)*1.) set Cfv[((vwx[5]))]=((1.*1./((1.35)*1.))*1.) +set CTv[(vwx[5])]=((.63)*1.) +set Csv[(vwx[5])]=((27)*1.) set CSv[(vwx[5])]=((27)*1.) set CUv[(vwx[5])]=(4) set Cyv[(vwx[5])]=(4) set CZv[(vwx[5])]=(0) set CQv[(vwx[5])]=((48)*1.) return true endfunction function vLi takes nothing returns boolean set vzx[1]=3 +set vzx[2]=3.5 set vzx[3]=4 +set vzx[4]=4.5 set vzx[5]=5 +set vzx[6]=5.5 set vZx[1]=30 set vZx[2]=30 set vZx[3]=30 set vZx[4]=30 set vZx[5]=30 set vZx[6]=30 return true endfunction function vmi takes nothing returns boolean call IGx(UE,(function vhi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SummonPolarBear.page\\SummonPolarBear.struct\\Summon\\obj_tauntSpell_wc3spell.j")) call IGx(yE,(function vHi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SummonPolarBear.page\\SummonPolarBear.struct\\Summon\\obj_summonUnitType[1]_wc3unit.j")) +call IGx(yE,(function vji),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SummonPolarBear.page\\SummonPolarBear.struct\\Summon\\obj_summonUnitType[2]_wc3unit.j")) +call IGx(UE,(function vJi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SummonPolarBear.page\\SummonPolarBear.struct\\Summon\\obj_callbackSpell_wc3spell.j")) call IGx(yE,(function vki),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SummonPolarBear.page\\SummonPolarBear.struct\\Summon\\obj_summonUnitType[3]_wc3unit.j")) +call IGx(yE,(function vKi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SummonPolarBear.page\\SummonPolarBear.struct\\Summon\\obj_summonUnitType[4]_wc3unit.j")) +call IGx(yE,(function vli),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SummonPolarBear.page\\SummonPolarBear.struct\\Summon\\obj_summonUnitType[5]_wc3unit.j")) +call IGx(VE,(function vLi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SummonPolarBear.page\\SummonPolarBear.struct\\Summon\\obj_this_wc3obj.j")) return true endfunction function vMi takes nothing returns boolean set v_x=Idx(v0x) +return true endfunction function vpi takes nothing returns boolean call scx('ASuG',false) set kjv=s2o('ASuG') set orv[(kjv)]=(x4v) +set onv[(kjv)]=(6) set Zl[(kjv)]=("Polar Pal") set PK[(kjv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0272)))),(((FL)))))) set Vnv[(kjv)]=(4) set n9v[(kjv)]=("spell") +call s3o((kjv),Ll+(1),((25)*1.)) +call s3o((kjv),zl+(1),((85)*1.)) +call s3o((kjv),Pkv+(1),((650)*1.)) call s3o((kjv),Ll+(2),((23)*1.)) +call s3o((kjv),zl+(2),(('d')*1.)) call s3o((kjv),Pkv+(2),((650)*1.)) call s3o((kjv),Ll+(3),((21)*1.)) +call s3o((kjv),zl+(3),(('s')*1.)) call s3o((kjv),Pkv+(3),((650)*1.)) call s3o((kjv),Ll+(4),((19)*1.)) +call s3o((kjv),zl+(4),(($82)*1.)) call s3o((kjv),Pkv+(4),((650)*1.)) call s3o((kjv),Ll+(5),((17)*1.)) +call s3o((kjv),zl+(5),(($91)*1.)) call s3o((kjv),Pkv+(5),((650)*1.)) call s3o((kjv),Ll+(6),(($F)*1.)) +call s3o((kjv),zl+(6),(($A0)*1.)) call s3o((kjv),Pkv+(6),((650)*1.)) set Qkv[(kjv)]=("ReplaceableTextures\\CommandButtons\\BTNFrostBear.blp") +call G5r(kjv,'FSP0',6,'VSP0','LPSP','LRSP') return true endfunction function vPi takes nothing returns boolean call IGx(UE,(function vpi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SummonPolarBear.page\\SummonPolarBear.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function vqi takes nothing returns boolean set v1x=Idx(v2x) +return true endfunction function vQi takes integer VFx returns integer set v7x[VFx]=true set v8x[VFx]=false call V1x(v1x) return VFx endfunction function vsi takes nothing returns integer local integer VFx if(v3x==8190)then call Vmx("SummonPolarBear_Allocation_allocCustom","call DebugEx(SummonPolarBear.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",v2x+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(v4x[(w)]==w)then set v5x=v5x+1 set VFx=v5x else +set VFx=v4x[(w)] +set v4x[(w)]=v4x[v4x[(w)]] endif set v4x[VFx]=Z set v6x[VFx]=1 call vQi(VFx) return VFx endfunction function vSi takes integer VFx returns nothing set v7x[VFx]=false call EEx(v1x) endfunction function vti takes integer VFx returns nothing if(v6x[VFx]>0)then return endif if(v4x[VFx]!=Z)then call Vmx("SummonPolarBear_Allocation_deallocCustom_confirm","call DebugEx(SummonPolarBear.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",v2x+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set v4x[VFx]=v4x[(w)] set v4x[(w)]=VFx +call vSi(VFx) endfunction function vTi takes integer VFx returns nothing set v6x[VFx]=v6x[VFx]-1 call vti(VFx) endfunction function vui takes integer VFx returns nothing local integer vUi=eox[VFx] local integer hdx=erx[VFx] local integer EKx=eix[VFx] local real vwi=(jk[(vUi)]) call Cur(vUi) call s9o(hdx,hdx,vYx[EKx]+vwi*vyx[EKx]) endfunction function vWi takes integer VFx returns integer set eOx[VFx]=true set eRx[VFx]=false call V1x(v_x) return VFx endfunction function vyi takes nothing returns integer local integer VFx if(enx==8190)then call Vmx("FolderSummonPolarBear_StructSummon_Allocation_allocCustom","call DebugEx(FolderSummonPolarBear_StructSummon.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",v0x+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(eVx[(w)]==w)then set eEx=eEx+1 set VFx=eEx else +set VFx=eVx[(w)] +set eVx[(w)]=eVx[eVx[(w)]] endif set eVx[VFx]=Z set eXx[VFx]=1 call vWi(VFx) return VFx endfunction function vYi takes integer hdx,integer EKx,integer csx,real x,real y returns nothing +local integer VFx=Vfx(hdx,exx) local integer vUi local integer hbo if(VFx!=w)then call vui(VFx) endif set hbo=(ze[(hdx)]) set vUi=eDr(vwx[EKx],hbo,x,y,oj,vZx[EKx]) set VFx=vyi() set eox[VFx]=vUi +set erx[VFx]=hdx +set eix[VFx]=EKx +call Ejx(vUi,exx,VFx) call CMx(vUi,eIx) call Ejx(hdx,exx,VFx) call CMx(hdx,eAx) call str(x4v,vWx,hdx) call d9x((vUi),(OXv),(EKx),w,((vzx[EKx])*1.)) call EMx(((vUi)),((vUx)),(1)) call w6x((hbo),B[(vUx)],(true)) call BPx(vUi,vlv) call w6x((hbo),B[(vUx)],(false)) +if(IsUnitAlly(C[(csx)],vx[(hbo)]))then call EMx((vUi),(eNx),(EKx)) call d9x((csx),(OXv),(EKx),w,((vzx[EKx])*1.)) else +call EMx((vUi),(eNx),(EKx+1)) call UFx((vUi),(PK[((eNx))]),(csx)) endif endfunction function vzi takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=v9x[VFx] local integer EKx=evx[VFx] local integer csx=eex[VFx] local real h0x=(qyv[(tgo)]) local real h1x=(qYv[(tgo)]) call vTi((VFx)) call tDo(tgo) call vYi(hdx,EKx,csx,h0x,h1x) return true endfunction function vZi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real h0x=(GetUnitX(C[((csx))])) local real h1x=(GetUnitY(C[((csx))])) local integer VFx=vsi() local integer tgo=teo() local integer v_i set v9x[VFx]=hdx +set evx[VFx]=EKx +set eex[VFx]=csx +set v_i=vwx[EKx] +set qQv[((tgo))]=((D6v*((.06)*1.))*1.) set qsv[(tgo)]=((2*(CQv[(v_i)]))*1.) +call tio(tgo,'qSuB',.25) +set quv[(tgo)]=Ntx((function vzi)) set QEv[(tgo)]=(VFx) +call S9o(tgo,(Cp[(v_i)])*4.) +call Tvo(tgo,hdx) call Okr(tgo,h0x,h1x,bex(h0x,h1x)) return true endfunction function v0i takes integer VFx returns nothing set eOx[VFx]=false call EEx(v_x) endfunction function v1i takes integer VFx returns nothing if(eXx[VFx]>0)then return endif if(eVx[VFx]!=Z)then call Vmx("FolderSummonPolarBear_StructSummon_Allocation_deallocCustom_confirm","call DebugEx(FolderSummonPolarBear_StructSummon.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",v0x+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set eVx[VFx]=eVx[(w)] set eVx[(w)]=VFx +call v0i(VFx) endfunction function v2i takes integer VFx returns nothing set eXx[VFx]=eXx[VFx]-1 call v1i(VFx) endfunction function v3i takes nothing returns boolean local integer Eix=(bv) local integer vUi=(Vv[(Eix)]) local integer VFx=Vfx(vUi,exx) local integer hdx=erx[VFx] call v2i((VFx)) call V0x(vUi,exx) call cEx(vUi,eIx) call V0x(hdx,exx) call cEx(hdx,eAx) call str(x4v,kjv,hdx) return true endfunction function v4i takes nothing returns boolean local integer Eix=(bv) local integer VFx=Vfx((Vv[(Eix)]),exx) call Cur(eox[VFx]) return true endfunction function v5i takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer VFx=Vfx(hdx,exx) call vui(VFx) return true endfunction function v6i takes nothing returns nothing set eIx=Nlx("FolderSummonPolarBear_StructSummon_Init: set FolderSummonPolarBear_StructSummon.BEAR_DEATH_EVENT = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSummonPolarBear_StructSummon.Event_Bear_Death)",zu,VB,function v3i) set eAx=Nlx("FolderSummonPolarBear_StructSummon_Init: set FolderSummonPolarBear_StructSummon.CASTER_DEATH_EVENT = Event.Create(UNIT.Death.Events.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSummonPolarBear_StructSummon.Event_Caster_Death)",zu,VB,function v4i) call Sao(vWx,Nlx("FolderSummonPolarBear_StructSummon_Init: call FolderSummonPolarBear_StructSummon.CALLBACK_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSummonPolarBear_StructSummon.Event_SpellEffect))",kK,VB,function v5i)) endfunction function v7i takes nothing returns boolean call Sao(kjv,Nlx("SummonPolarBear_Init: call SummonPolarBear.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SummonPolarBear.Event_SpellEffect))",kK,VB,function vZi)) call v6i() return true endfunction function v8i takes nothing returns boolean call kyr(function v7i,"SummonPolarBear_Init") return true endfunction function v9i takes nothing returns boolean call scx('AArB',false) set eNx=s2o('AArB') set orv[(eNx)]=(ovv) +set onv[(eNx)]=(1) set Zl[(eNx)]=("Arctic Blink") set PK[(eNx)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D007F)))),(((FL)))))) set Vnv[(eNx)]=(4) set n9v[(eNx)]=("spell") +call s3o((eNx),Ll+(1),((9)*1.)) call s3o((eNx),zl+(1),((40)*1.)) +call s3o((eNx),Pkv+(1),((800)*1.)) set Qkv[(eNx)]=("ReplaceableTextures\\CommandButtons\\BTNBearBlink.blp") +set ebx[1]=30 return true endfunction function evi takes nothing returns boolean call IGx(UE,(function v9i),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SummonPolarBear.page\\SummonPolarBear.struct\\Summon\\ArcticBlink.page\\ArcticBlink.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function eei takes nothing returns boolean set eBx=Idx(ecx) +return true endfunction function exi takes integer VFx returns integer set eFx[VFx]=true set egx[VFx]=false call V1x(eBx) return VFx endfunction function eoi takes nothing returns integer local integer VFx if(eCx==8190)then call Vmx("ArcticBlink_Allocation_allocCustom","call DebugEx(ArcticBlink.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",ecx+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(edx[(w)]==w)then set eDx=eDx+1 set VFx=eDx else +set VFx=edx[(w)] +set edx[(w)]=edx[edx[(w)]] endif set edx[VFx]=Z set efx[VFx]=1 call exi(VFx) return VFx endfunction function eri takes integer VFx returns nothing set eFx[VFx]=false call EEx(eBx) endfunction function eii takes integer VFx returns nothing if(efx[VFx]>0)then return endif if(edx[VFx]!=Z)then call Vmx("ArcticBlink_Allocation_deallocCustom_confirm","call DebugEx(ArcticBlink.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",ecx+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set edx[VFx]=edx[(w)] set edx[(w)]=VFx +call eri(VFx) endfunction function eai takes integer VFx returns nothing set efx[VFx]=efx[VFx]-1 call eii(VFx) endfunction function eni takes integer hdx,integer csx returns boolean return( not(csx==w))and( not(IsUnitAlly(C[(csx)],vx[((ze[(hdx)]))])))and( not(ALo(csx))) +endfunction function eVi takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=eGx[VFx] local integer EKx=ehx[VFx] local integer csx=eHx[VFx] call eai((VFx)) call tDo(tgo) if eni(hdx,csx)then call d9x((csx),(N0v),(EKx),w,((ejx)*1.)) +call AYo((hdx),(csx),((ebx[EKx])*1.),(true),(false)) +endif return true endfunction function eEi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local integer VFx=eoi() local integer tgo=teo() set eGx[VFx]=hdx +set ehx[VFx]=EKx +set eHx[VFx]=csx +call SetUnitPosition(C[((hdx))],(((GetUnitX(C[((csx))])))*1.),(((GetUnitY(C[((csx))])))*1.)) +call Cvr(hdx,csx) set qsv[(tgo)]=((10.)*1.) call tio(tgo,'qArB',2.) set quv[(tgo)]=Ntx((function eVi)) call Tvo(tgo,hdx) set QEv[(tgo)]=(VFx) +call S9o(tgo,700.) call t4o((tgo),(csx),.0,.0,.0,(null)) return true endfunction function eXi takes nothing returns boolean call Sao(eNx,Nlx("ArcticBlink_Init: call ArcticBlink.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ArcticBlink.Event_SpellEffect))",kK,VB,function eEi)) return true endfunction function eOi takes nothing returns boolean call s7o(function eXi,"ArcticBlink_Init") return true endfunction function eRi takes nothing returns boolean call scx('ADev',false) set eJx=s2o('ADev') set orv[(eJx)]=(ovv) +set onv[(eJx)]=(1) set Zl[(eJx)]=("Devour") +set PK[(eJx)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0089)))),(((FL)))))) set Vnv[(eJx)]=(4) set n9v[(eJx)]=("spell") +call s3o((eJx),Ll+(1),(('x')*1.)) call s3o((eJx),Pkv+(1),(($96)*1.)) set Qkv[(eJx)]=("ReplaceableTextures\\CommandButtons\\BTNDevour.blp") return true endfunction function eIi takes nothing returns boolean call IGx(UE,(function eRi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\SummonPolarBear.page\\SummonPolarBear.struct\\Summon\\Devour.page\\Devour.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function eAi takes nothing returns boolean set ekx=Idx(eKx) +return true endfunction function eNi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) call jGx(((csx)),b8v,1,(hdx)) return true endfunction function ebi takes nothing returns boolean call Sao(eJx,Nlx("Devour_Init: call Devour.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Devour.Event_SpellEffect))",kK,VB,function eNi)) return true endfunction function eBi takes nothing returns boolean call s7o(function ebi,"Devour_Init") +return true endfunction function eci takes nothing returns boolean set elx=x6o('BSuB',"Susanoo",'bSuB') +set OOv[(elx)]=(true) set ORv[(elx)]=("ReplaceableTextures\\CommandButtons\\BTNHowlOfTerror.blp") call Urx(elx,"Susanoo_page\\Susanoo_struct\\Buff.mdx","overhead",EV) +set v2v=UEx() call URx(v2v,ALv,.5) +call URx(v2v,RRv,.35) call UIx(((elx)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,ALv,1) call URx(v2v,RRv,.6) +call UIx(((elx)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,ALv,.5) +call URx(v2v,RRv,.35) call UIx(((elx)),YD+(3),(v2v)) return true endfunction function eCi takes nothing returns boolean call scx('ASus',false) set eLx=s2o('ASus') set orv[(eLx)]=(x8v) +set onv[(eLx)]=(3) set Zl[(eLx)]=("Susanoo") set PK[(eLx)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D026D)))),(((FL)))))) set Vnv[(eLx)]=(0) set n9v[(eLx)]=("spell") +call s3o((eLx),Ll+(1),((60)*1.)) +call s3o((eLx),zl+(1),(('n')*1.)) call s3o((eLx),Pkv+(1),((750)*1.)) call s3o((eLx),Ll+(2),((60)*1.)) +call s3o((eLx),zl+(2),(($AA)*1.)) call s3o((eLx),Pkv+(2),((750)*1.)) set Qkv[(eLx)]=("ReplaceableTextures\\CommandButtons\\BTNHowlOfTerror.blp") call G5r(eLx,'FSa0',3,'VSa0','LPSa','LRSa') set emx[1]=.35 set emx[2]=.45 set eMx[1]=.5 set eMx[2]=1 +set epx[1]=$C set epx[2]=$C set ePx[1]=2 +set ePx[2]=2 +set eqx[1]=.35 set eqx[2]=.6 return true endfunction function edi takes nothing returns boolean call IGx(tE,(function eci),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Susanoo.page\\Susanoo.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function eCi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Susanoo.page\\Susanoo.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function eDi takes nothing returns boolean set eQx=Idx(esx) +return true endfunction function efi takes integer VFx,integer cSx returns integer return Vfx((VFx),Wd+cSx) +endfunction function eFi takes integer VFx,integer cSx,real Xdx returns nothing local integer ENx=VFx local integer Xrx set VFx=(c7x(E[((X))],(jg),(((ENx))),((cSx)),((efi((VFx),cSx))),(w))) set Xrx=Pg[VFx] call dyx((ENx),cSx) set Xdx=Xdx+(TimerGetRemaining(Oe[(Xrx)])) call Xax(Xrx,Xdx,false,function d_x) +if not(xG[(cSx)])then if(Cmx(ENx,rG)or(iG[(cSx)]))then +call d7x((ENx),cSx,Xdx) endif endif endfunction function egi takes nothing returns boolean local integer Eix=(bv) local integer csx=(Wk[(Eix)]) local integer VFx=csx local real eGi=etx[VFx] set etx[VFx]=eGi*(1.+eTx) call cdx((C1x((csx),(eux),(eUx),(fV)))) call eFi(csx,elx,eGi) return true endfunction function ehi takes integer VFx,real Vhx returns nothing set Cvv[(VFx)]=(((Cvv[(VFx)])+Vhx)*1.) endfunction function eHi takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local real eji local integer VFx call Sgo((Sjo((((GetUnitX(C[((csx))])))*1.),(((GetUnitY(C[((csx))])))*1.),(ewx),(EV)))) set eji=emx[EKx] +set VFx=csx set eWx[VFx]=eji +set etx[VFx]=ePx[EKx] call ehi(csx,eji) call CMx(csx,eSx) return true endfunction function eJi takes integer VFx,real Vhx returns nothing set Cvv[(VFx)]=(((Cvv[(VFx)])-Vhx)*1.) endfunction function eki takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local real eji=eWx[VFx] call eJi(csx,eji) call cEx(csx,eSx) return true endfunction function eKi takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Mv[(Eix)]) call d9x(((Vv[(Eix)])),(elx),(EKx),w,((epx[EKx])*1.)) return true endfunction function eli takes nothing returns boolean set eSx=Nlx("Susanoo_Init: set Susanoo.DEATH_EVENT = Event.Create(UNIT.Death.Events.KILLER_EVENT_TYPE, EventPriority.SPELLS, function Susanoo.Event_Death)",fGv,VB,function egi) +call Ufx(elx,Nlx("Susanoo_Init: call Susanoo.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Susanoo.Event_BuffGain))",dg,VB,function eHi)) call Ufx(elx,Nlx("Susanoo_Init: call Susanoo.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Susanoo.Event_BuffLose))",Hf,VB,function eki)) call Sao(eLx,Nlx("Susanoo_Init: call Susanoo.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Susanoo.Event_SpellEffect))",kK,VB,function eKi)) return true endfunction function eLi takes nothing returns boolean call kyr(function eli,"Susanoo_Init") return true endfunction function emi takes nothing returns boolean set Ym[1]=x6o('BSW1',"Swiftness 1",'bSW1') set OOv[(Ym[1])]=(true) set ORv[(Ym[1])]=("ReplaceableTextures\\CommandButtons\\BTNBuff1.blp") call Urx(Ym[1],"Abilities\\Spells\\Other\\Tornado\\Tornado_Target.mdl","overhead",EV) call Urx(Ym[1],"Abilities\\Spells\\Other\\Tornado\\Tornado_Target.mdl","overhead",EV) call Urx(Ym[1],"Abilities\\Spells\\Other\\Tornado\\Tornado_Target.mdl","overhead",EV) call Urx(Ym[1],"Abilities\\Spells\\Other\\Tornado\\Tornado_Target.mdl","overhead",EV) return true endfunction function eMi takes nothing returns boolean set eyx[1]=35 set eyx[2]=60 set eyx[3]=85 set eyx[4]='n' set eyx[5]=$87 set eyx[6]=$A0 set eYx[1]=5 +set eYx[2]=8 +set eYx[3]=8 +set eYx[4]=8 +set eYx[5]=8 +set eYx[6]=8 +return true endfunction function epi takes nothing returns boolean set Wm=u9x(ezx+" (timerBuff)") return true endfunction function ePi takes nothing returns boolean set Ym[2]=x6o('BSW2',"Swiftness 2",'bSW2') set OOv[(Ym[2])]=(true) set ORv[(Ym[2])]=("ReplaceableTextures\\CommandButtons\\BTNBuff2.blp") call Urx(Ym[2],"Abilities\\Spells\\Other\\Tornado\\Tornado_Target.mdl","overhead",EV) call Urx(Ym[2],"Abilities\\Spells\\Other\\Tornado\\Tornado_Target.mdl","overhead",EV) call Urx(Ym[2],"Abilities\\Spells\\Other\\Tornado\\Tornado_Target.mdl","overhead",EV) call Urx(Ym[2],"Abilities\\Spells\\Other\\Tornado\\Tornado_Target.mdl","overhead",EV) return true endfunction function eqi takes nothing returns boolean set Ym[3]=x6o('BSW3',"Swiftness 3",'bSW3') set OOv[(Ym[3])]=(true) set ORv[(Ym[3])]=("ReplaceableTextures\\CommandButtons\\BTNBuff3.blp") call Urx(Ym[3],"Abilities\\Spells\\Other\\Tornado\\Tornado_Target.mdl","overhead",EV) call Urx(Ym[3],"Abilities\\Spells\\Other\\Tornado\\Tornado_Target.mdl","overhead",EV) call Urx(Ym[3],"Abilities\\Spells\\Other\\Tornado\\Tornado_Target.mdl","overhead",EV) call Urx(Ym[3],"Abilities\\Spells\\Other\\Tornado\\Tornado_Target.mdl","overhead",EV) return true endfunction function eQi takes nothing returns boolean call IGx(tE,(function emi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Swiftness.page\\Swiftness.struct\\obj_ChargeBuff[1]_wc3buff.j")) +call IGx(VE,(function eMi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Swiftness.page\\Swiftness.struct\\obj_this_wc3obj.j")) call IGx(tE,(function epi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Swiftness.page\\Swiftness.struct\\obj_timerBuff_wc3buff.j")) +call IGx(tE,(function ePi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Swiftness.page\\Swiftness.struct\\obj_ChargeBuff[2]_wc3buff.j")) +call IGx(tE,(function eqi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Swiftness.page\\Swiftness.struct\\obj_ChargeBuff[3]_wc3buff.j")) +return true endfunction function esi takes nothing returns boolean set eZx=Idx(ezx) +return true endfunction function eSi takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer csx=VFx local integer VUx=ym[VFx] call dpx(csx,Ym[VUx]) set ym[VFx]=VUx-1 if(VUx==1)then call dpx(csx,Wm) +endif endfunction function eti takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=E5x() set e_x[VFx]=TBx +set ge[(TBx)]=(VFx) call Xax(TBx,eYx[1],true,function eSi) return true endfunction function eTi takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer VUx=ym[VFx] local integer TBx=e_x[VFx] call Xbx(TBx) loop +exitwhen(VUx<1) call dpx(csx,Ym[VUx]) set VUx=VUx-1 endloop return true endfunction function eui takes nothing returns boolean call Ufx(Wm,Nlx("Swiftness_Init: call Swiftness.TIMER_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Swiftness.Event_Timer_BuffGain))",dg,VB,function eti)) +call Ufx(Wm,Nlx("Swiftness_Init: call Swiftness.TIMER_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Swiftness.Event_Timer_BuffLose))",Hf,VB,function eTi)) +return true endfunction function eUi takes nothing returns boolean call kyr(function eui,"Swiftness_Init") return true endfunction function ewi takes nothing returns boolean set e0x[1]=.25 set e0x[2]=.4 set e0x[3]=.65 set e0x[4]=.8 set e0x[5]=.95 set e0x[6]=1.1 return true endfunction function eWi takes nothing returns boolean set e1x=x6o('BCrA',"Tempest Strike",'bCrA') set OOv[(e1x)]=(true) set v_v[(e1x)]=(true) set ORv[(e1x)]=("ReplaceableTextures\\CommandButtons\\BTNCleavingAttack.blp") call Urx(e1x,"TempestStrike_page\\TempestStrike_struct\\CriticalAttacks\\Buff.mdx","weapon",EV) call Urx(e1x,"Abilities\\Weapons\\IllidanMissile\\IllidanMissile.mdl","weapon",EV) set v2v=UEx() call URx(v2v,RRv,.25) call UIx(((e1x)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,RRv,.4) +call UIx(((e1x)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,RRv,.65) call UIx(((e1x)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,RRv,.8) +call UIx(((e1x)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,RRv,.95) call UIx(((e1x)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,RRv,1.1) call UIx(((e1x)),YD+(6),(v2v)) return true endfunction function eyi takes nothing returns boolean call IGx(VE,(function ewi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\TempestStrike.page\\TempestStrike.struct\\CriticalAttacks\\obj_this_wc3obj.j")) call IGx(tE,(function eWi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\TempestStrike.page\\TempestStrike.struct\\CriticalAttacks\\obj_dummyBuff_wc3buff.j")) return true endfunction function eYi takes nothing returns boolean set e2x=Idx(e3x) +return true endfunction function ezi takes nothing returns boolean set e4x=u9x(e5x+" (dummyBuff)") call Urx(e4x,"Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile_mini.mdl","origin",fV) +call Urx(e4x,"TempestStrike_page\\TempestStrike_struct\\Hurricanwave3.mdx","origin",EV) set v2v=UEx() call nUr(v2v,GFv,true) call nUr(v2v,GUv,true) call UIx(((e4x)),YD+(1),(v2v)) set v2v=UEx() call nUr(v2v,GFv,true) call nUr(v2v,GUv,true) call UIx(((e4x)),YD+(2),(v2v)) set v2v=UEx() call nUr(v2v,GFv,true) call nUr(v2v,GUv,true) call UIx(((e4x)),YD+(3),(v2v)) set v2v=UEx() call nUr(v2v,GFv,true) call nUr(v2v,GUv,true) call UIx(((e4x)),YD+(4),(v2v)) set v2v=UEx() call nUr(v2v,GFv,true) call nUr(v2v,GUv,true) call UIx(((e4x)),YD+(5),(v2v)) set v2v=UEx() call nUr(v2v,GFv,true) call nUr(v2v,GUv,true) call UIx(((e4x)),YD+(6),(v2v)) return true endfunction function eZi takes nothing returns boolean call scx('ATeS',false) set Jlv=s2o('ATeS') set orv[(Jlv)]=(xWv) +set onv[(Jlv)]=(6) set Zl[(Jlv)]=("Tempest Strike") +set PK[(Jlv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0089)))),(((FL)))))) set Vnv[(Jlv)]=(2) set n9v[(Jlv)]=("spell") +call s3o((Jlv),Yhv+(1),((90)*1.)) call s3o((Jlv),Ll+(1),(($A)*1.)) +call s3o((Jlv),zl+(1),((70)*1.)) +call s3o((Jlv),Pkv+(1),((99999)*1.)) +call s3o((Jlv),Yhv+(2),((90)*1.)) call s3o((Jlv),Ll+(2),(($A)*1.)) +call s3o((Jlv),zl+(2),((85)*1.)) +call s3o((Jlv),Pkv+(2),((99999)*1.)) +call s3o((Jlv),Yhv+(3),((90)*1.)) call s3o((Jlv),Ll+(3),(($A)*1.)) +call s3o((Jlv),zl+(3),(('d')*1.)) call s3o((Jlv),Pkv+(3),((99999)*1.)) +call s3o((Jlv),Yhv+(4),((90)*1.)) call s3o((Jlv),Ll+(4),(($A)*1.)) +call s3o((Jlv),zl+(4),(('s')*1.)) call s3o((Jlv),Pkv+(4),((99999)*1.)) +call s3o((Jlv),Yhv+(5),((90)*1.)) call s3o((Jlv),Ll+(5),(($A)*1.)) +call s3o((Jlv),zl+(5),(($82)*1.)) call s3o((Jlv),Pkv+(5),((99999)*1.)) +call s3o((Jlv),Yhv+(6),((90)*1.)) call s3o((Jlv),Ll+(6),(($A)*1.)) +call s3o((Jlv),zl+(6),(($91)*1.)) call s3o((Jlv),Pkv+(6),((99999)*1.)) +set Qkv[(Jlv)]=("ReplaceableTextures\\CommandButtons\\BTNCleavingAttack.blp") call G5r(Jlv,'FTe0',6,'VTe0','LPTe','LRTe') set e6x[1]=30 set e6x[2]=60 set e6x[3]=90 set e6x[4]='x' set e6x[5]=$96 set e6x[6]=$B4 return true endfunction function e_i takes nothing returns boolean call IGx(tE,(function ezi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\TempestStrike.page\\TempestStrike.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function eZi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\TempestStrike.page\\TempestStrike.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function e0i takes nothing returns boolean set e7x=Idx(e5x) +return true endfunction function e1i takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function e2i takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=VFx local integer Wmo=xxx[VFx] local integer csx local real fCo call SetUnitAnimationByIndex(C[((hdx))],(0)) +set bae=Wmo set zH=(ze[(hdx)]) call fXo(e8x,(GetUnitX(C[((hdx))])),(GetUnitY(C[((hdx))])),(hDx((Jlv),Yhv+(xex[VFx]))),e9x) set csx=fOo(e8x) +if(csx!=w)then set fCo=xvx[VFx] +loop +call C1x((csx),(xEx),(xXx),(fV)) +call HDx(Wmo,csx) call AYo((hdx),(csx),((fCo)*1.),(false),(true)) set csx=fOo(e8x) +exitwhen(csx==w) +endloop endif endfunction function e3i takes nothing returns boolean local integer Eix=(bv) local integer NEr=(pf[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer WLo=E5x() local real h0x local real h1x set xvx[VFx]=e6x[EKx] set xex[VFx]=EKx +set xxx[VFx]=Pcx("TempestStrike_Event_BuffGain: set this.targetGroup = UnitList.Create()") set xox[VFx]=WLo +set ge[(WLo)]=(VFx) set h0x=(rL[(NEr)]) set h1x=(iL[(NEr)]) call Tlo((C1x((csx),(xrx),(xrx),(fV))),xix) set xix=Fgr("dur",xix) set xax=Fgr("length",xax) set xnx=Fgr("speedEnd",xnx) call CRr((csx),((2.*xax*1./ xix-xnx)*1.),((2.*1./ xix*(xnx-xax*1./ xix))*1.),(((Atan2(((h1x-(GetUnitY(C[((csx))])))*1.),((h0x-(GetUnitX(C[((csx))])))*1.))))*1.),((xix)*1.)) +call Xax(WLo,xVx,true,function e2i) call H2x((csx),(UWv)) return true endfunction function e4i takes integer EKx,integer csx returns nothing call d9x((csx),(e1x),(EKx),w,((xOx)*1.)) +endfunction function e5i takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer EKx=xex[VFx] local integer Wmo=xxx[VFx] local integer WLo=xox[VFx] local boolean e6i=((b7x((Wmo),qC))!=w) call HZo(Wmo) call Xbx(WLo) call QueueUnitAnimation(C[((csx))],("stand")) if e6i then call e4i(EKx,csx) endif return true endfunction function e7i takes nothing returns boolean local integer Eix=(bv) call d9x((Vv[(Eix)]),e4x,(Mv[(Eix)]),Eix,xix) return true endfunction function e8i takes nothing returns nothing endfunction function e9i takes nothing returns boolean set e8x=Bkx() set e9x=Nyx(function e1i) call Ufx(e4x,Nlx("TempestStrike_Init: call TempestStrike.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TempestStrike.Event_BuffGain))",dg,VB,function e3i)) call Ufx(e4x,Nlx("TempestStrike_Init: call TempestStrike.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TempestStrike.Event_BuffLose))",Hf,VB,function e5i)) call Sao(Jlv,Nlx("TempestStrike_Init: call TempestStrike.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function TempestStrike.Event_SpellEffect))",kK,VB,function e7i)) +call e8i() return true endfunction function xvi takes nothing returns boolean call kyr(function e9i,"TempestStrike_Init") return true endfunction function xei takes nothing returns boolean return true endfunction function xxi takes nothing returns boolean set xRx=Idx(xIx) +return true endfunction function xoi takes nothing returns boolean call scx('ATsR',false) set xAx=s2o('ATsR') set orv[(xAx)]=(x8v) +set onv[(xAx)]=(3) set Zl[(xAx)]=("Relocate") set PK[(xAx)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0085)))),(((FL)))))) set Vnv[(xAx)]=(2) set n9v[(xAx)]=("spell") +call s3o((xAx),Ll+(1),((0)*1.)) call s3o((xAx),zl+(1),((0)*1.)) call s3o((xAx),Pkv+(1),((99999)*1.)) +call s3o((xAx),Ll+(2),((0)*1.)) call s3o((xAx),zl+(2),((0)*1.)) call s3o((xAx),Pkv+(2),((99999)*1.)) +set Qkv[(xAx)]=("ReplaceableTextures\\CommandButtons\\BTNUndeadUnLoad.blp") call G5r(xAx,'FTR0',3,'VTR0','LPTR','LRTR') return true endfunction function xri takes nothing returns boolean call IGx(UE,(function xoi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Tsukuyomi.page\\Tsukuyomi.struct\\Relocate\\obj_thisSpell_wc3spell.j")) return true endfunction function xii takes nothing returns boolean set xNx=Idx(xbx) +return true endfunction function xai takes nothing returns boolean set xBx=u9x(xcx+" (dummyBuff)") set sf[(xBx)]=(true) +return true endfunction function xni takes nothing returns boolean call IGx(tE,(function xai),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Tsukuyomi.page\\Tsukuyomi.struct\\Target\\obj_dummyBuff_wc3buff.j")) +return true endfunction function xVi takes nothing returns boolean set xCx=Idx(xcx) +return true endfunction function xEi takes nothing returns boolean set xdx=u9x(xDx+" (dummyBuff)") return true endfunction function xXi takes nothing returns boolean call scx('ATsu',false) set Poe=s2o('ATsu') set orv[(Poe)]=(x8v) +set onv[(Poe)]=(3) set Zl[(Poe)]=("Tsukuyomi") set PK[(Poe)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0206)))),(((FL)))))) set Vnv[(Poe)]=(2) set n9v[(Poe)]=("spell") +call s3o((Poe),Yhv+(1),((275)*1.)) call s3o((Poe),Ll+(1),((80)*1.)) +call s3o((Poe),zl+(1),(($C8)*1.)) call s3o((Poe),Pkv+(1),((900)*1.)) call s3o((Poe),Yhv+(2),((350)*1.)) call s3o((Poe),Ll+(2),((80)*1.)) +call s3o((Poe),zl+(2),((300)*1.)) call s3o((Poe),Pkv+(2),((900)*1.)) set Qkv[(Poe)]=("ReplaceableTextures\\CommandButtons\\BTNBanish.blp") call G5r(Poe,'FTs0',3,'VTs0','LPTs','LRTs') set xfx[1]=$F set xfx[2]=20 set xFx[1]=.35 set xFx[2]=.45 set xgx[1]=$A set xgx[2]=20 return true endfunction function xOi takes nothing returns boolean call IGx(tE,(function xEi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Tsukuyomi.page\\Tsukuyomi.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function xXi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Tsukuyomi.page\\Tsukuyomi.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function xRi takes nothing returns boolean set xGx=Idx(xDx) +return true endfunction function xIi takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function xAi takes integer VFx returns boolean set F1=F1+1 set f1[F1]=VFx set D1[VFx]=F1+1 +return(F1==0) endfunction function xNi takes nothing returns nothing local integer VBx=F1 +local integer VFx local real hux local real hUx local real tQo local integer csx local real Dfx loop +set VFx=f1[VBx] set hux=xtx[VFx] +set hUx=xTx[VFx] +set tQo=xux[VFx] +set csx=G1[VFx] if xUx[VFx]then set Dfx=(i2[(csx)]) set hux=hux*Dfx set hUx=hUx*Dfx set tQo=tQo*Dfx endif call tKo((VFx),(GetUnitX(nm[((csx))]))+hux,(GetUnitY(nm[((csx))]))+hUx,(hz[(csx)])+tQo) set VBx=VBx-1 exitwhen(VBx<0) endloop endfunction function xbi takes integer VFx,integer csx,boolean b_x,real hux,real hUx,real tQo returns nothing set xtx[VFx]=hux +set xTx[VFx]=hUx +set xux[VFx]=tQo +set G1[VFx]=csx set xUx[VFx]=b_x +call Slx((VFx),c1) if xAi(VFx)then call Xax(g1,xwx,true,function xNi) endif endfunction function xBi takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) local integer hdx=VFx local integer xci=xKx[VFx] local real x=(GetUnitX(nm[((xci))])) +local real y=(GetUnitY(nm[((xci))])) +local integer hbo=(ze[(hdx)]) local integer csx local real xCi local real xdi local real xDi set zH=hbo call fXo(xhx,x,y,(iee[(xkx[VFx])]),xHx) set csx=fOo(xhx) +if(csx!=w)then set xCi=xpx[VFx] +set xdi=.0 set xDi=xPx[VFx] +loop +call Mir((csx),(((dKv[(csx)])*xCi)*1.),(((Atan2(((y-(GetUnitY(C[((csx))])))*1.),((x-(GetUnitX(C[((csx))])))*1.))))*1.),((xyx)*1.)) if(IsUnitAlly(C[(csx)],vx[(hbo)]))then call rzr(csx,xDi) else +set xPx[VFx]=Xkx((iJ[(csx)]),xDi) call rZr(hdx,csx,xPx[VFx]) set xdi=xdi+xPx[VFx] +endif set csx=fOo(xhx) +exitwhen(csx==w) +endloop if(xdi>.0)then call Svo(hdx,hdx,xdi*xYx) endif endif endfunction function xfi takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local real h0x=xjx local real h1x=xJx local real kJx=bex(h0x,h1x) local real Cao=(hDx((Poe),Yhv+(EKx))) local integer VFx=csx local integer cIr=cVr(csx) local integer MCx=syx('qTsu',h0x,h1x,kJx-80.,.0) +local integer UCr=syx('qTs2',h0x,h1x,kJx+150.,.0) local integer TBx=E5x() local integer xci=syx('qTsP',h0x,h1x,kJx,.0) +set xkx[VFx]=cIr +set xKx[VFx]=MCx +set xlx[VFx]=UCr +set xLx[VFx]=TBx +set xmx[VFx]=EKx +set xMx[VFx]=xci +set xpx[VFx]=xFx[EKx] set xPx[VFx]=xgx[EKx] set xqx[VFx]=h0x +set xQx[VFx]=h1x +set IKe[(cIr)]=(VFx) +set ge[(TBx)]=(VFx) set iee[(cIr)]=((Cao)*1.) set ixe[(cIr)]=(xHx) +call cEr(cIr,xsx) call cEr(cIr,xSx) call cOr(cIr) call xbi(MCx,xci,false,.0,.0,-80.) call swx(MCx,.0) +call Odr(MCx,Cao*5*1./(3*128.),.25) call xbi(UCr,xci,false,.0,.0,150.) call swx(UCr,.0) +call Odr(UCr,Cao*8*1./(3*128.),.25) if((bj[(csx)])==JQv)then +call sWx(MCx,.0,200.,255.,200.) call sWx(UCr,.0,200.,200.,255.) elseif((bj[(csx)])==Jnv)then +call sWx(MCx,255.,255.,255.,200.) elseif((bj[(csx)])==j9v)then +call sWx(MCx,63.,255.,.0,200.) call sWx(UCr,63.,255.,.0,255.) endif call SetUnitMoveSpeed(nm[(xci)],((xWx)*1.)) call SetUnitPropWindow(nm[(xci)],((1.)*1.)) call SetUnitTurnSpeed(nm[(xci)],((TH)*1.)) call Xax(TBx,xyx,true,function xBi) call cKo(xAx,csx) return true endfunction function xFi takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer cIr=xkx[VFx] local integer MCx=xKx[VFx] local integer UCr=xlx[VFx] local integer TBx=xLx[VFx] call cDr(cIr) call SWx(MCx) call Szx(UCr) call Xbx(TBx) call cKo(Poe,csx) return true endfunction function xgi takes integer VFx returns integer set x1x[VFx]=true set x2x[VFx]=false call V1x(xRx) return VFx endfunction function xGi takes nothing returns integer local integer VFx if(xzx==8190)then call Vmx("FolderTsukuyomi_StructMissile_Allocation_allocCustom","call DebugEx(FolderTsukuyomi_StructMissile.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",xIx+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(xZx[(w)]==w)then set x_x=x_x+1 set VFx=x_x else +set VFx=xZx[(w)] +set xZx[(w)]=xZx[xZx[(w)]] endif set xZx[VFx]=Z set x0x[VFx]=1 call xgi(VFx) return VFx endfunction function xhi takes integer VFx returns nothing set x1x[VFx]=false call EEx(xRx) endfunction function xHi takes integer VFx returns nothing if(x0x[VFx]>0)then return endif if(xZx[VFx]!=Z)then call Vmx("FolderTsukuyomi_StructMissile_Allocation_deallocCustom_confirm","call DebugEx(FolderTsukuyomi_StructMissile.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",xIx+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set xZx[VFx]=xZx[(w)] set xZx[(w)]=VFx +call xhi(VFx) endfunction function xji takes integer VFx returns nothing set x0x[VFx]=x0x[VFx]-1 call xHi(VFx) endfunction function xJi takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=x3x[VFx] local integer EKx=x4x[VFx] local real h0x=x5x[VFx] local real h1x=x6x[VFx] call xji((VFx)) call tDo(tgo) set xjx=h0x set xJx=h1x call d9x((hdx),(xdx),(EKx),w,((xfx[EKx])*1.)) return true endfunction function xki takes integer hdx,integer EKx,real h0x,real h1x returns nothing +local integer VFx=xGi() local integer tgo=teo() set x3x[VFx]=hdx +set x4x[VFx]=EKx +set x5x[VFx]=h0x +set x6x[VFx]=h1x +call S2o(tgo,2000.) set qQv[((tgo))]=((D6v*((.2)*1.))*1.) set qsv[(tgo)]=((48.)*1.) call tio(tgo,'qTsM',1.) set quv[(tgo)]=Ntx((function xJi)) set QEv[(tgo)]=(VFx) +call S9o(tgo,500.) call Tvo(tgo,hdx) call Okr(tgo,h0x,h1x,bex(h0x,h1x)) endfunction function xKi takes nothing returns boolean local integer Eix=(bv) call xki((Vv[(Eix)]),(Mv[(Eix)]),(rL[(Eix)]),(iL[(Eix)])) return true endfunction function xli takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer ENx=(IKe[(cIr)]) call JYx(csx,xBx) return true endfunction function xLi takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer hdx=(r3e[(cIr)]) local integer ENx=(IKe[(cIr)]) local integer EKx=xmx[ENx] call jGx((csx),(xBx),(EKx),w) return true endfunction function xmi takes nothing returns nothing set xsx=Nlx("FolderTsukuyomi_StructTarget_Init: set FolderTsukuyomi_StructTarget.ENDING_EVENT = Event.Create(AURA.Target.ENDING_EVENT_TYPE, EventPriority.SPELLS, function FolderTsukuyomi_StructTarget.Event_Ending)",iae,VB,function xli) set xSx=Nlx("FolderTsukuyomi_StructTarget_Init: set FolderTsukuyomi_StructTarget.START_EVENT = Event.Create(AURA.Target.START_EVENT_TYPE, EventPriority.SPELLS, function FolderTsukuyomi_StructTarget.Event_Start)",ine,VB,function xLi) +call oio(Ajv,xBx) endfunction function xMi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local real h0x=(rL[(Eix)]) local real h1x=(iL[(Eix)]) local integer ENx=hdx call IssuePointOrderById(nm[((xMx[ENx]))],md[(tK)],((h0x)*1.),((h1x)*1.)) return true endfunction function xpi takes nothing returns boolean local integer VBx set xhx=Bkx() set xHx=Nyx(function xIi) call Ufx(xdx,Nlx("Tsukuyomi_Init: call Tsukuyomi.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Tsukuyomi.Event_BuffGain))",dg,VB,function xfi)) call Ufx(xdx,Nlx("Tsukuyomi_Init: call Tsukuyomi.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Tsukuyomi.Event_BuffLose))",Hf,VB,function xFi)) call Sao(Poe,Nlx("Tsukuyomi_Init: call Tsukuyomi.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Tsukuyomi.Event_SpellEffect))",kK,VB,function xKi)) +set VBx=(onv[(Poe)]) +loop +set xgx[VBx]=xgx[VBx]*xyx set VBx=VBx-1 exitwhen(VBx<1) endloop call xmi() call Sao(xAx,Nlx("FolderTsukuyomi_StructRelocate_Init: call FolderTsukuyomi_StructRelocate.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderTsukuyomi_StructRelocate.Event_SpellEffect))",kK,VB,function xMi)) return true endfunction function xPi takes nothing returns boolean call kyr(function xpi,"Tsukuyomi_Init") return true endfunction function xqi takes nothing returns boolean return true endfunction function xQi takes nothing returns boolean set x7x=Idx(x8x) +return true endfunction function xsi takes nothing returns boolean set x9x[1]=-3 set x9x[2]=-5 set x9x[3]=-7 set x9x[4]=-9 set x9x[5]=-$B set x9x[6]=-$D set ovx[1]=2 +set ovx[2]=3 +set ovx[3]=4 +set ovx[4]=5 +set ovx[5]=6 +set ovx[6]=7 +set oex[1]=-.4 set oex[2]=-.4 set oex[3]=-.4 set oex[4]=-.4 set oex[5]=-.4 set oex[6]=-.4 set oxx[1]=2 +set oxx[2]=3 +set oxx[3]=4 +set oxx[4]=5 +set oxx[5]=6 +set oxx[6]=7 +set oox[1]=30 set oox[2]=60 set oox[3]=90 set oox[4]='x' set oox[5]=$96 set oox[6]=$B4 return true endfunction function xSi takes nothing returns boolean set orx=x6o('BWSh',"Wan Shroud",'bWSh') set sf[(orx)]=(true) +set ORv[(orx)]=("ReplaceableTextures\\CommandButtons\\BTNCyclone.blp") set v2v=UEx() call URx(v2v,gVv,-3) +call URx(v2v,f7v,30) +call URx(v2v,exv,-.4) call UIx(((orx)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,gVv,-5) +call URx(v2v,f7v,60) +call URx(v2v,exv,-.4) call UIx(((orx)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,gVv,-7) +call URx(v2v,f7v,90) +call URx(v2v,exv,-.4) call UIx(((orx)),YD+(3),(v2v)) set v2v=UEx() call URx(v2v,gVv,-9) +call URx(v2v,f7v,'x') call URx(v2v,exv,-.4) call UIx(((orx)),YD+(4),(v2v)) set v2v=UEx() call URx(v2v,gVv,-$B) call URx(v2v,f7v,$96) call URx(v2v,exv,-.4) call UIx(((orx)),YD+(5),(v2v)) set v2v=UEx() call URx(v2v,gVv,-$D) call URx(v2v,f7v,$B4) call URx(v2v,exv,-.4) call UIx(((orx)),YD+(6),(v2v)) return true endfunction function xti takes nothing returns boolean call IGx(VE,(function xsi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WanShroud.page\\WanShroud.struct\\Target\\obj_this_wc3obj.j")) call IGx(tE,(function xSi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WanShroud.page\\WanShroud.struct\\Target\\obj_dummyBuff_wc3buff.j")) +return true endfunction function xTi takes nothing returns boolean set oix=Idx(oax) +return true endfunction function xui takes nothing returns boolean call scx('AWSh',false) set jZv=s2o('AWSh') set orv[(jZv)]=(x4v) +set onv[(jZv)]=(6) set Zl[(jZv)]=("Wan Shroud") +set PK[(jZv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0206)))),(((FL)))))) set Vnv[(jZv)]=(2) set n9v[(jZv)]=("spell,channel") +call s3o((jZv),Yhv+(1),(($F0)*1.)) call s3o((jZv),Ll+(1),((17)*1.)) +call s3o((jZv),zl+(1),(('x')*1.)) call s3o((jZv),Pkv+(1),((900)*1.)) call s3o((jZv),Yhv+(2),((260)*1.)) call s3o((jZv),Ll+(2),((17)*1.)) +call s3o((jZv),zl+(2),(($87)*1.)) call s3o((jZv),Pkv+(2),((900)*1.)) call s3o((jZv),Yhv+(3),((280)*1.)) call s3o((jZv),Ll+(3),((17)*1.)) +call s3o((jZv),zl+(3),(($96)*1.)) call s3o((jZv),Pkv+(3),((900)*1.)) call s3o((jZv),Yhv+(4),((300)*1.)) call s3o((jZv),Ll+(4),((17)*1.)) +call s3o((jZv),zl+(4),(($A5)*1.)) call s3o((jZv),Pkv+(4),((900)*1.)) call s3o((jZv),Yhv+(5),((320)*1.)) call s3o((jZv),Ll+(5),((17)*1.)) +call s3o((jZv),zl+(5),(($B4)*1.)) call s3o((jZv),Pkv+(5),((900)*1.)) call s3o((jZv),Yhv+(6),((340)*1.)) call s3o((jZv),Ll+(6),((17)*1.)) +call s3o((jZv),zl+(6),(($C3)*1.)) call s3o((jZv),Pkv+(6),((900)*1.)) set Qkv[(jZv)]=("ReplaceableTextures\\CommandButtons\\BTNCyclone.blp") call G5r(jZv,'FWS0',6,'VWS0','LPWS','LRWS') set onx[1]=$A set onx[2]=$A set onx[3]=$A set onx[4]=$A set onx[5]=$A set onx[6]=$A set oVx[1]=3 +set oVx[2]=5 +set oVx[3]=7 +set oVx[4]=9 +set oVx[5]=$B set oVx[6]=$D return true endfunction function xUi takes nothing returns boolean call IGx(UE,(function xui),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WanShroud.page\\WanShroud.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function xwi takes nothing returns boolean set oEx=Idx(oXx) +return true endfunction function xWi takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if not Cmx(csx,cgv)then return false +endif if Cmx(csx,cjv)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function xyi takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if APo(csx)then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif if ALo(csx)then return false +endif return true return true endfunction function xYi takes integer VFx returns integer set oBx[VFx]=true set ocx[VFx]=false call V1x(x7x) return VFx endfunction function xzi takes nothing returns integer local integer VFx if(oIx==8190)then call Vmx("FolderWanShroud_StructMissile_Allocation_allocCustom","call DebugEx(FolderWanShroud_StructMissile.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",x8x+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(oAx[(w)]==w)then set oNx=oNx+1 set VFx=oNx else +set VFx=oAx[(w)] +set oAx[(w)]=oAx[oAx[(w)]] endif set oAx[VFx]=Z set obx[VFx]=1 call xYi(VFx) return VFx endfunction function xZi takes integer VFx returns nothing set oBx[VFx]=false call EEx(x7x) endfunction function x_i takes integer VFx returns nothing if(obx[VFx]>0)then return endif if(oAx[VFx]!=Z)then call Vmx("FolderWanShroud_StructMissile_Allocation_deallocCustom_confirm","call DebugEx(FolderWanShroud_StructMissile.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",x8x+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set oAx[VFx]=oAx[(w)] set oAx[(w)]=VFx +call xZi(VFx) endfunction function x0i takes integer VFx returns nothing set obx[VFx]=obx[VFx]-1 call x_i(VFx) endfunction function x1i takes integer VFx returns integer set oHx[VFx]=true set ojx[VFx]=false call V1x(oEx) return VFx endfunction function x2i takes nothing returns integer local integer VFx if(oFx==8190)then call Vmx("WanShroud_Allocation_allocCustom","call DebugEx(WanShroud.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",oXx+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(ogx[(w)]==w)then set oGx=oGx+1 set VFx=oGx else +set VFx=ogx[(w)] +set ogx[(w)]=ogx[ogx[(w)]] endif set ogx[VFx]=Z set ohx[VFx]=1 call x1i(VFx) return VFx endfunction function x3i takes nothing returns boolean local integer Eix=(bv) local integer VFx=(uL[(Eix)]) local integer csx=(Vv[(Eix)]) call cdx((C1x((csx),(oSx),(otx),(EV)))) call AYo((oKx[VFx]),(csx),((olx[VFx])*1.),(true),(false)) return true endfunction function x4i takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call jnx((ive[(okx[VFx])]),function x3i,VFx) +endfunction function x5i takes nothing returns nothing local integer Xrx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer VFx=(ge[(Xrx)]) local integer cIr=okx[VFx] local integer zTr=oJx[VFx] local integer TBx=omx[VFx] call Szx(zTr) call cDr(cIr) call Xbx(Xrx) call Xbx(TBx) endfunction function x6i takes integer hdx,integer EKx,real h0x,real h1x returns nothing +local real Cao=(hDx((jZv),Yhv+(EKx))) local real kJx=bex(h0x,h1x) local integer VFx=x2i() local integer zTr=syx('qWSh',h0x,h1x,kJx,.0) +local integer cIr=cVr(hdx) local integer Xrx=E5x() local integer TBx=E5x() set oJx[VFx]=zTr +set okx[VFx]=cIr +set oKx[VFx]=hdx +set olx[VFx]=oLx[EKx] set omx[VFx]=TBx +set oMx[VFx]=EKx +set opx[VFx]=h0x +set oPx[VFx]=h1x +set IKe[(cIr)]=(VFx) +set ge[(Xrx)]=(VFx) set ge[(TBx)]=(VFx) call swx(zTr,Cao*1./ 180.) set iee[(cIr)]=(((hDx((jZv),Yhv+(EKx))))*1.) +set ixe[(cIr)]=(oOx) +call cEr(cIr,oqx) call cEr(cIr,oQx) call cOr(cIr) call Xax(TBx,osx,true,function x4i) call Xax(Xrx,onx[EKx],false,function x5i) endfunction function x7i takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=oCx[VFx] local integer EKx=odx[VFx] local real h0x=oDx[VFx] local real h1x=ofx[VFx] call x0i((VFx)) call tDo(tgo) call x6i(hdx,EKx,h0x,h1x) return true endfunction function x8i takes integer hdx,integer EKx,real h0x,real h1x returns nothing +local integer VFx=xzi() local integer tgo=teo() set oCx[VFx]=hdx +set odx[VFx]=EKx +set oDx[VFx]=h0x +set ofx[VFx]=h1x +call S2o(tgo,2000.) set qQv[((tgo))]=((D6v*((.2)*1.))*1.) set qsv[(tgo)]=((48.)*1.) call tio(tgo,'qWSM',1.) set quv[(tgo)]=Ntx((function x7i)) set QEv[(tgo)]=(VFx) +call S9o(tgo,500.) call Tvo(tgo,hdx) call Okr(tgo,h0x,h1x,bex(h0x,h1x)) endfunction function x9i takes nothing returns boolean local integer Eix=(bv) call x8i((Vv[(Eix)]),(Mv[(Eix)]),(rL[(Eix)]),(iL[(Eix)])) return true endfunction function ovi takes integer VFx,integer csx,real Vsx returns nothing local integer ENx=VFx if(IsUnitAlly(C[(csx)],vx[(ENx)]))then return endif if(Vsx<=.0)then return endif call b0x(ENx,Xhx("+"+(I2S(((R2I(((Vsx)*1.)))))),"ffc80000"),.02,80.,.0,3.,(0)) call cdx((C1x((ENx),(gNv),(gbv),(fV)))) call GNx(ENx,Vsx) endfunction function oei takes integer VFx,integer csx,real Vsx returns nothing local integer ENx=VFx if(IsUnitAlly(C[(csx)],vx[(ENx)]))then return endif if(Vsx<=.0)then return endif call b0x(ENx,Xhx("+"+(I2S(((R2I(((Vsx)*1.)))))),"ffc80000"),.02,80.,.0,3.,(0)) call cdx((C1x((ENx),(gBv),(gcv),(fV)))) call gxx(ENx,Vsx) endfunction function oxi takes nothing returns boolean local integer Eix=(bv) local integer P9o=(A9v[(Eix)]) local integer csx=(Vv[(Eix)]) local integer fEr=(kv[((ze[(P9o)]))]) if((fEr!=w)and not Cmx(fEr,tf))then set P9o=fEr endif call ovi(P9o,csx,oxx[(Vfx(((csx)),Wd+(orx)))]) call oei(P9o,csx,ovx[(Vfx(((csx)),Wd+(orx)))]) return true endfunction function ooi takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer ENx=(IKe[(cIr)]) call JYx(csx,orx) return true endfunction function ori takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer hdx=(r3e[(cIr)]) local integer ENx=(IKe[(cIr)]) local integer EKx=oMx[ENx] call jGx((csx),(orx),(EKx),w) return true endfunction function oii takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) call CMx(csx,oTx) return true endfunction function oai takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) call cEx(csx,oTx) return true endfunction function oni takes nothing returns nothing set oTx=Nlx("FolderWanShroud_StructTarget_Init: set FolderWanShroud_StructTarget.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.TARGET_EVENT_TYPE, EventPriority.SPELLS, function FolderWanShroud_StructTarget.Event_Damage)",Nvv,VB,function oxi) set oqx=Nlx("FolderWanShroud_StructTarget_Init: set FolderWanShroud_StructTarget.ENDING_EVENT = Event.Create(AURA.Target.ENDING_EVENT_TYPE, EventPriority.SPELLS, function FolderWanShroud_StructTarget.Event_Ending)",iae,VB,function ooi) set oQx=Nlx("FolderWanShroud_StructTarget_Init: set FolderWanShroud_StructTarget.START_EVENT = Event.Create(AURA.Target.START_EVENT_TYPE, EventPriority.SPELLS, function FolderWanShroud_StructTarget.Event_Start)",ine,VB,function ori) +call Ufx(orx,Nlx("FolderWanShroud_StructTarget_Init: call FolderWanShroud_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderWanShroud_StructTarget.Event_BuffGain))",dg,VB,function oii)) +call Ufx(orx,Nlx("FolderWanShroud_StructTarget_Init: call FolderWanShroud_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderWanShroud_StructTarget.Event_BuffLose))",Hf,VB,function oai)) +endfunction function oVi takes nothing returns boolean local integer EKx set oOx=Nyx(function xWi) set oRx=Nyx(function xyi) call Sao(jZv,Nlx("WanShroud_Init: call WanShroud.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function WanShroud.Event_SpellEffect))",kK,VB,function x9i)) +set EKx=(onv[(jZv)]) +loop +exitwhen(EKx<1) set oLx[EKx]=oVx[EKx]*osx set EKx=EKx-1 endloop call oni() return true endfunction function oEi takes nothing returns boolean call kyr(function oVi,"WanShroud_Init") return true endfunction function oXi takes nothing returns boolean set oux=x6o('BWac',"Warcry",'bWac') set OOv[(oux)]=(true) set v_v[(oux)]=(true) set ORv[(oux)]=("ReplaceableTextures\\CommandButtons\\BTNBattleRoar.blp") call Urx(oux,"Abilities\\Spells\\NightElf\\BattleRoar\\RoarTarget.mdl","overhead",EV) return true endfunction function oOi takes nothing returns boolean set oUx[1]=20 set oUx[2]=20 set oUx[3]=20 set oUx[4]=20 set oUx[5]=20 set oUx[6]=20 set owx[1]=.1 set owx[2]=.1 set owx[3]=.1 set owx[4]=.1 set owx[5]=.1 set owx[6]=.1 set oWx[1]=3 +set oWx[2]=6 +set oWx[3]=$A set oWx[4]=$F set oWx[5]=21 set oWx[6]=28 return true endfunction function oRi takes nothing returns boolean call IGx(tE,(function oXi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Warcry.page\\Warcry.struct\\Target\\obj_dummyBuff_wc3buff.j")) call IGx(VE,(function oOi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Warcry.page\\Warcry.struct\\Target\\obj_this_wc3obj.j")) +return true endfunction function oIi takes nothing returns boolean set oyx=Idx(oYx) +return true endfunction function oAi takes nothing returns boolean call scx('AWac',false) set kHv=s2o('AWac') set orv[(kHv)]=(xWv) +set onv[(kHv)]=(6) set Zl[(kHv)]=("Warcry") +set PK[(kHv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00C4)))),(((FL)))))) set Vnv[(kHv)]=(0) set n9v[(kHv)]=("spell") +call s3o((kHv),Yhv+(1),((450)*1.)) call s3o((kHv),Ll+(1),(($F)*1.)) +call s3o((kHv),zl+(1),((80)*1.)) +call s3o((kHv),Pkv+(1),((750)*1.)) call s3o((kHv),Yhv+(2),((450)*1.)) call s3o((kHv),Ll+(2),(($F)*1.)) +call s3o((kHv),zl+(2),((92)*1.)) +call s3o((kHv),Pkv+(2),((750)*1.)) call s3o((kHv),Yhv+(3),((450)*1.)) call s3o((kHv),Ll+(3),(($F)*1.)) +call s3o((kHv),zl+(3),(('h')*1.)) call s3o((kHv),Pkv+(3),((750)*1.)) call s3o((kHv),Yhv+(4),((450)*1.)) call s3o((kHv),Ll+(4),(($F)*1.)) +call s3o((kHv),zl+(4),(('t')*1.)) call s3o((kHv),Pkv+(4),((750)*1.)) call s3o((kHv),Yhv+(5),((450)*1.)) call s3o((kHv),Ll+(5),(($F)*1.)) +call s3o((kHv),zl+(5),(($80)*1.)) call s3o((kHv),Pkv+(5),((750)*1.)) call s3o((kHv),Yhv+(6),((450)*1.)) call s3o((kHv),Ll+(6),(($F)*1.)) +call s3o((kHv),zl+(6),(($8C)*1.)) call s3o((kHv),Pkv+(6),((750)*1.)) set Qkv[(kHv)]=("ReplaceableTextures\\CommandButtons\\BTNBattleRoar.blp") call G5r(kHv,'FBR0',6,'VBR0','LPBR','LRBR') set ozx[1]=2 +set ozx[2]=2 +set ozx[3]=2 +set ozx[4]=2 +set ozx[5]=2 +set ozx[6]=2 +set oZx[1]=.04 set oZx[2]=.05 set oZx[3]=.06 set oZx[4]=.07 set oZx[5]=.08 set oZx[6]=.09 return true endfunction function oNi takes nothing returns boolean call IGx(UE,(function oAi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Warcry.page\\Warcry.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function obi takes nothing returns boolean set o_x=Idx(o0x) +return true endfunction function oBi takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif return true return true endfunction function oci takes integer hdx,integer EKx,integer csx returns nothing call dpx(csx,oux) call d9x(csx,oux,EKx,hdx,oUx[EKx]) endfunction function oCi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real jor local real Cao local integer csx local real odi local integer hbo local real mhr local real d +local real jrr call Sgo((Sjo(((xnr)*1.),((xVr)*1.),(o3x),(EV)))) set jor=hyx(hdx,true) set Cao=(hDx((kHv),Yhv+(EKx)))+jor call fXo(o1x,xnr,xVr,Cao,o2x) set csx=fOo(o1x) +if(csx!=w)then set odi=ozx[EKx] +set hbo=(ze[(hdx)]) set mhr=oZx[EKx] +loop +set d=JKx((GetUnitX(C[((csx))]))-xnr,(GetUnitY(C[((csx))]))-xVr) +set jrr=H2r(jor,o4x,Cao,o5x,d) if(IsUnitAlly(C[(csx)],vx[(hbo)]))then call oci(hdx,EKx,csx) else +if not ALo(csx)then call d9x((csx),(E_v),(EKx),w,((odi)*1.)) +call AYo((hdx),(csx),(((jk[(csx)])*mhr*jrr)*1.),(true),(false)) endif endif set csx=fOo(o1x) +exitwhen(csx==w) +endloop endif return true endfunction function oDi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(pf[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer ofi=UEx() set o6x[VFx]=ofi +call URx(ofi,gOv,oWx[EKx]+E9x(0,owx[EKx]*(RK[(hdx)]))) call CJx(csx,ofi) return true endfunction function oFi takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer ofi=o6x[VFx] call CIx(csx,ofi) call Aqr(ofi) return true endfunction function ogi takes nothing returns nothing call Ufx(oux,Nlx("FolderWarcry_StructTarget_Init: call FolderWarcry_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderWarcry_StructTarget.Event_BuffGain))",dg,VB,function oDi)) call Ufx(oux,Nlx("FolderWarcry_StructTarget_Init: call FolderWarcry_StructTarget.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderWarcry_StructTarget.Event_BuffLose))",Hf,VB,function oFi)) endfunction function oGi takes nothing returns boolean set o1x=Bkx() set o2x=Nyx(function oBi) call Sao(kHv,Nlx("Warcry_Init: call Warcry.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Warcry.Event_SpellEffect))",kK,VB,function oCi)) call ogi() return true endfunction function ohi takes nothing returns boolean call kyr(function oGi,"Warcry_Init") +return true endfunction function oHi takes nothing returns boolean set o7x[6]=LBo('uWB6') call Lco(((o7x[6])),CPv,(cgv)) set vm[(o7x[6])]=((1.4)*1.) set div[(o7x[6])]=((148.14814814815)*1.) +set dsv[(o7x[6])]=((74.074074074074)*1.) +set Rpv[(o7x[6])]=("Objects\\Spawnmodels\\Naga\\NagaDeath\\NagaDeath.mdx") set Cp[(o7x[6])]=(($E6)*1.) set c5v[(o7x[6])]=((4)*1.) set Crv[(o7x[6])]=(2) set djv[(o7x[6])]=((925)*1.) +set dHv[(o7x[6])]=((925)*1.) +set dGv[(o7x[6])]=((0)*1.) set dRv[(o7x[6])]=(($578)*1.) set dXv[(o7x[6])]=(($578)*1.) set dCv[(o7x[6])]=((30)*1.) set Cbv[(o7x[6])]=(juv) set CDv[(o7x[6])]=((720)*1.) +set Cfv[((o7x[6]))]=((1.*1./((1.6)*1.))*1.) set CTv[(o7x[6])]=((.4)*1.) set GCv[(o7x[6])]=(($514)*1.) set Csv[(o7x[6])]=((34)*1.) set CSv[(o7x[6])]=((34)*1.) set CUv[(o7x[6])]=(3) set Cyv[(o7x[6])]=(5) set CZv[(o7x[6])]=(1) set CQv[(o7x[6])]=((39.506172839506)*1.) +return true endfunction function oji takes nothing returns boolean set o7x[2]=LBo('uWB2') call Lco(((o7x[2])),CPv,(cgv)) set vm[(o7x[2])]=((1)*1.) set div[(o7x[2])]=((148.14814814815)*1.) +set dsv[(o7x[2])]=((74.074074074074)*1.) +set Rpv[(o7x[2])]=("Objects\\Spawnmodels\\Naga\\NagaDeath\\NagaDeath.mdx") set Cp[(o7x[2])]=(($E6)*1.) set c5v[(o7x[2])]=((1)*1.) set Crv[(o7x[2])]=(2) set djv[(o7x[2])]=((425)*1.) +set dHv[(o7x[2])]=((425)*1.) +set dGv[(o7x[2])]=((0)*1.) set dRv[(o7x[2])]=(($578)*1.) set dXv[(o7x[2])]=(($578)*1.) set dCv[(o7x[2])]=((30)*1.) set Cbv[(o7x[2])]=(juv) set CDv[(o7x[2])]=((720)*1.) +set Cfv[((o7x[2]))]=((1.*1./((1.6)*1.))*1.) set CTv[(o7x[2])]=((.4)*1.) set GCv[(o7x[2])]=(($514)*1.) set Csv[(o7x[2])]=((18)*1.) set CSv[(o7x[2])]=((18)*1.) set CUv[(o7x[2])]=(2) set Cyv[(o7x[2])]=(3) set CZv[(o7x[2])]=(1) set CQv[(o7x[2])]=((39.506172839506)*1.) +return true endfunction function oJi takes nothing returns boolean set o7x[3]=LBo('uWB3') call Lco(((o7x[3])),CPv,(cgv)) set vm[(o7x[3])]=((1.1)*1.) set div[(o7x[3])]=((148.14814814815)*1.) +set dsv[(o7x[3])]=((74.074074074074)*1.) +set Rpv[(o7x[3])]=("Objects\\Spawnmodels\\Naga\\NagaDeath\\NagaDeath.mdx") set Cp[(o7x[3])]=(($E6)*1.) set c5v[(o7x[3])]=((2)*1.) set Crv[(o7x[3])]=(2) set djv[(o7x[3])]=((550)*1.) +set dHv[(o7x[3])]=((550)*1.) +set dGv[(o7x[3])]=((0)*1.) set dRv[(o7x[3])]=(($578)*1.) set dXv[(o7x[3])]=(($578)*1.) set dCv[(o7x[3])]=((30)*1.) set Cbv[(o7x[3])]=(juv) set CDv[(o7x[3])]=((720)*1.) +set Cfv[((o7x[3]))]=((1.*1./((1.6)*1.))*1.) set CTv[(o7x[3])]=((.4)*1.) set GCv[(o7x[3])]=(($514)*1.) set Csv[(o7x[3])]=((22)*1.) set CSv[(o7x[3])]=((22)*1.) set CUv[(o7x[3])]=(3) set Cyv[(o7x[3])]=(3) set CZv[(o7x[3])]=(1) set CQv[(o7x[3])]=((39.506172839506)*1.) +return true endfunction function oki takes nothing returns boolean set o7x[4]=LBo('uWB4') call Lco(((o7x[4])),CPv,(cgv)) set vm[(o7x[4])]=((1.2)*1.) set div[(o7x[4])]=((148.14814814815)*1.) +set dsv[(o7x[4])]=((74.074074074074)*1.) +set Rpv[(o7x[4])]=("Objects\\Spawnmodels\\Naga\\NagaDeath\\NagaDeath.mdx") set Cp[(o7x[4])]=(($E6)*1.) set c5v[(o7x[4])]=((2)*1.) set Crv[(o7x[4])]=(2) set djv[(o7x[4])]=((675)*1.) +set dHv[(o7x[4])]=((675)*1.) +set dGv[(o7x[4])]=((0)*1.) set dRv[(o7x[4])]=(($578)*1.) set dXv[(o7x[4])]=(($578)*1.) set dCv[(o7x[4])]=((30)*1.) set Cbv[(o7x[4])]=(juv) set CDv[(o7x[4])]=((720)*1.) +set Cfv[((o7x[4]))]=((1.*1./((1.6)*1.))*1.) set CTv[(o7x[4])]=((.4)*1.) set GCv[(o7x[4])]=(($514)*1.) set Csv[(o7x[4])]=((26)*1.) set CSv[(o7x[4])]=((26)*1.) set CUv[(o7x[4])]=(3) set Cyv[(o7x[4])]=(3) set CZv[(o7x[4])]=(1) set CQv[(o7x[4])]=((39.506172839506)*1.) +return true endfunction function oKi takes nothing returns boolean set o7x[1]=LBo('uWB1') call Lco(((o7x[1])),CPv,(cgv)) set vm[(o7x[1])]=((.9)*1.) set div[(o7x[1])]=((148.14814814815)*1.) +set dsv[(o7x[1])]=((74.074074074074)*1.) +set Rpv[(o7x[1])]=("Objects\\Spawnmodels\\Naga\\NagaDeath\\NagaDeath.mdx") set Cp[(o7x[1])]=(($E6)*1.) set c5v[(o7x[1])]=((1)*1.) set Crv[(o7x[1])]=(2) set djv[(o7x[1])]=((300)*1.) +set dHv[(o7x[1])]=((300)*1.) +set dGv[(o7x[1])]=((0)*1.) set dRv[(o7x[1])]=(($578)*1.) set dXv[(o7x[1])]=(($578)*1.) set dCv[(o7x[1])]=((30)*1.) set Cbv[(o7x[1])]=(juv) set CDv[(o7x[1])]=((720)*1.) +set Cfv[((o7x[1]))]=((1.*1./((1.6)*1.))*1.) set CTv[(o7x[1])]=((.4)*1.) set GCv[(o7x[1])]=(($514)*1.) set Csv[(o7x[1])]=(($E)*1.) set CSv[(o7x[1])]=(($E)*1.) set CUv[(o7x[1])]=(2) set Cyv[(o7x[1])]=(3) set CZv[(o7x[1])]=(1) set CQv[(o7x[1])]=((39.506172839506)*1.) +return true endfunction function oli takes nothing returns boolean set o8x[1]=35 set o8x[2]=35 set o8x[3]=35 set o8x[4]=35 set o8x[5]=35 set o8x[6]=35 set o9x[1]=2 +set o9x[2]=3 +set o9x[3]=4 +set o9x[4]=5 +set o9x[5]=6 +set o9x[6]=7 +return true endfunction function oLi takes nothing returns boolean set o7x[5]=LBo('uWB5') call Lco(((o7x[5])),CPv,(cgv)) set vm[(o7x[5])]=((1.3)*1.) set div[(o7x[5])]=((148.14814814815)*1.) +set dsv[(o7x[5])]=((74.074074074074)*1.) +set Rpv[(o7x[5])]=("Objects\\Spawnmodels\\Naga\\NagaDeath\\NagaDeath.mdx") set Cp[(o7x[5])]=(($E6)*1.) set c5v[(o7x[5])]=((3)*1.) set Crv[(o7x[5])]=(2) set djv[(o7x[5])]=((800)*1.) +set dHv[(o7x[5])]=((800)*1.) +set dGv[(o7x[5])]=((0)*1.) set dRv[(o7x[5])]=(($578)*1.) set dXv[(o7x[5])]=(($578)*1.) set dCv[(o7x[5])]=((30)*1.) set Cbv[(o7x[5])]=(juv) set CDv[(o7x[5])]=((720)*1.) +set Cfv[((o7x[5]))]=((1.*1./((1.6)*1.))*1.) set CTv[(o7x[5])]=((.4)*1.) set GCv[(o7x[5])]=(($514)*1.) set Csv[(o7x[5])]=((30)*1.) set CSv[(o7x[5])]=((30)*1.) set CUv[(o7x[5])]=(3) set Cyv[(o7x[5])]=(4) set CZv[(o7x[5])]=(1) set CQv[(o7x[5])]=((39.506172839506)*1.) +return true endfunction function omi takes nothing returns boolean call IGx(yE,(function oHi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WaterBindings.page\\WaterBindings.struct\\Summon\\obj_thisUnitTypes[6]_wc3unit.j")) call IGx(yE,(function oji),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WaterBindings.page\\WaterBindings.struct\\Summon\\obj_thisUnitTypes[2]_wc3unit.j")) call IGx(yE,(function oJi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WaterBindings.page\\WaterBindings.struct\\Summon\\obj_thisUnitTypes[3]_wc3unit.j")) call IGx(yE,(function oki),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WaterBindings.page\\WaterBindings.struct\\Summon\\obj_thisUnitTypes[4]_wc3unit.j")) call IGx(yE,(function oKi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WaterBindings.page\\WaterBindings.struct\\Summon\\obj_thisUnitTypes[1]_wc3unit.j")) call IGx(VE,(function oli),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WaterBindings.page\\WaterBindings.struct\\Summon\\obj_this_wc3obj.j")) call IGx(yE,(function oLi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WaterBindings.page\\WaterBindings.struct\\Summon\\obj_thisUnitTypes[5]_wc3unit.j")) return true endfunction function oMi takes nothing returns boolean set rvx=Idx(rex) +return true endfunction function opi takes nothing returns boolean call scx('AWaB',false) set Jsv=s2o('AWaB') set orv[(Jsv)]=(xWv) +set onv[(Jsv)]=(6) set Zl[(Jsv)]=("Water Bindings") +set PK[(Jsv)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0272)))),(((FL)))))) set Vnv[(Jsv)]=(0) set n9v[(Jsv)]=("spell") +call s3o((Jsv),Ll+(1),((20)*1.)) +call s3o((Jsv),zl+(1),((70)*1.)) +call s3o((Jsv),Pkv+(1),((650)*1.)) call s3o((Jsv),Ll+(2),((19)*1.)) +call s3o((Jsv),zl+(2),((85)*1.)) +call s3o((Jsv),Pkv+(2),((650)*1.)) call s3o((Jsv),Ll+(3),((18)*1.)) +call s3o((Jsv),zl+(3),(('d')*1.)) call s3o((Jsv),Pkv+(3),((650)*1.)) call s3o((Jsv),Ll+(4),((17)*1.)) +call s3o((Jsv),zl+(4),(('x')*1.)) call s3o((Jsv),Pkv+(4),((650)*1.)) call s3o((Jsv),Ll+(5),((16)*1.)) +call s3o((Jsv),zl+(5),(($8C)*1.)) call s3o((Jsv),Pkv+(5),((650)*1.)) call s3o((Jsv),Ll+(6),(($F)*1.)) +call s3o((Jsv),zl+(6),(($A0)*1.)) call s3o((Jsv),Pkv+(6),((650)*1.)) set Qkv[(Jsv)]=("ReplaceableTextures\\CommandButtons\\BTNSummonWaterElemental.blp") call G5r(Jsv,'FWB0',6,'VWB0','LPWB','LRWB') return true endfunction function oPi takes nothing returns boolean call IGx(UE,(function opi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WaterBindings.page\\WaterBindings.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function oqi takes nothing returns boolean set rxx=Idx(rox) +return true endfunction function oQi takes integer hdx,integer EKx,integer csx returns nothing local integer hbo=(ze[(hdx)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local real h0x=(GetUnitX(C[((csx))])) local real h1x=(GetUnitY(C[((csx))])) local real OMx=vPo(hdx,h0x-xnr,h1x-xVr) local integer dTr=eDr(o7x[EKx],hbo,xnr+rrx*(Cos(((((OMx)*1.))*1.))),xVr+rrx*(Sin(((((OMx)*1.))*1.))),OMx,o8x[EKx]) local real osi call CMx(dTr,rix) set osi=o9x[EKx] +set rax[(dTr)]=osi set rnx[(dTr)]=hdx call Tgo(hdx,osi) call EMx((dTr),(rVx),(EKx)) return call EMx((dTr),(rEx),(EKx)) call w6x((hbo),B[(rEx)],(true)) call UFx((dTr),(PK[((rEx))]),(csx)) call w6x((hbo),B[(rEx)],(false)) +endfunction function oSi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) call oQi(hdx,EKx,csx) return true endfunction function oti takes nothing returns boolean local integer Eix=(bv) local integer dTr=(Vv[(Eix)]) local integer VFx=dTr call cEx(dTr,rix) call Tfo(rnx[VFx],rax[VFx]) return true endfunction function oTi takes nothing returns boolean call Sao(Jsv,Nlx("WaterBindings_Init: call WaterBindings.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function WaterBindings.Event_SpellEffect))",kK,VB,function oSi)) +set rix=Nlx("FolderWaterBindings_StructSummon_Init: set FolderWaterBindings_StructSummon.DESTROY_EVENT = Event.Create(Unit.DESTROY_EVENT_TYPE, EventPriority.SPELLS, function FolderWaterBindings_StructSummon.Event_Destroy)",TC,VB,function oti) return true endfunction function oui takes nothing returns boolean call kyr(function oTi,"WaterBindings_Init") return true endfunction function oUi takes nothing returns boolean set rXx=u9x(rOx+" (dummyBuff)") set sf[(rXx)]=(true) +set v2v=UEx() call nUr(v2v,g_v,true) call nUr(v2v,ghv,true) call UIx(((rXx)),YD+(1),(v2v)) set v2v=UEx() call nUr(v2v,g_v,true) call nUr(v2v,ghv,true) call UIx(((rXx)),YD+(2),(v2v)) set v2v=UEx() call nUr(v2v,g_v,true) call nUr(v2v,ghv,true) call UIx(((rXx)),YD+(3),(v2v)) set v2v=UEx() call nUr(v2v,g_v,true) call nUr(v2v,ghv,true) call UIx(((rXx)),YD+(4),(v2v)) set v2v=UEx() call nUr(v2v,g_v,true) call nUr(v2v,ghv,true) call UIx(((rXx)),YD+(5),(v2v)) set v2v=UEx() call nUr(v2v,g_v,true) call nUr(v2v,ghv,true) call UIx(((rXx)),YD+(6),(v2v)) return true endfunction function owi takes nothing returns boolean call scx('AWBS',false) set rEx=s2o('AWBS') set orv[(rEx)]=(ovv) +set onv[(rEx)]=(1) set Zl[(rEx)]=("Water Bindings Lariat") set PK[(rEx)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0272)))),(((FL)))))) set Vnv[(rEx)]=(4) set n9v[(rEx)]=("attack") call s3o((rEx),jl+(1),((5)*1.)) call s3o((rEx),Ll+(1),((0)*1.)) call s3o((rEx),zl+(1),((0)*1.)) call s3o((rEx),Pkv+(1),((99999)*1.)) +set rRx[1]=.25 set rIx[1]=7 +return true endfunction function oWi takes nothing returns boolean set rAx=IJx("OWBS") return true endfunction function oyi takes nothing returns boolean call IGx(tE,(function oUi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WaterBindings.page\\WaterBindings.struct\\Lariat.page\\Lariat.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function owi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WaterBindings.page\\WaterBindings.struct\\Lariat.page\\Lariat.struct\\obj_thisSpell_wc3spell.j")) call IGx(mE,(function oWi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\WaterBindings.page\\WaterBindings.struct\\Lariat.page\\Lariat.struct\\obj_bolt_wc3bolt.j")) return true endfunction function oYi takes nothing returns boolean set rNx=Idx(rOx) +return true endfunction function ozi takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) return true endfunction function oZi takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VBx=Bex(csx,rbx) local integer VFx local integer hdx loop +exitwhen(VBx0)==false)then +set VUx=1 else +set VUx=(R2I(((Xkx((rmx[VFx]+1),(3)))*1.))) endif set rmx[VFx]=VUx +call Vmx("FolderSoakingAttack_StructTarget_Start","call DebugEx(\"apply \"+I2S(count))","apply "+I2S(VUx)) call jGx((csx),(rfx[VUx]),(EKx),w) call jGx((csx),(rHx),(1),w) call rni(EKx,csx) endfunction function rEi takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) if not rii(csx)then return true endif call rVi((A9v[(Eix)]),(Vfx((((A9v[(Eix)]))),N+(rVx))),csx) return true endfunction function rXi takes nothing returns boolean local integer Eix=(bv) call CMx((Vv[(Eix)]),rLx) return true endfunction function rOi takes nothing returns boolean local integer Eix=(bv) call cEx((Vv[(Eix)]),rLx) return true endfunction function rRi takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(rkx),((Mv[(Eix)])),w) return true endfunction function rIi takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),rkx) return true endfunction function rAi takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer TBx=E5x() set rMx[VFx]=TBx +set ge[(TBx)]=(VFx) return true endfunction function rNi takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer VUx=rmx[VFx] local integer TBx=rMx[VFx] call Xbx(TBx) loop +exitwhen(VUx<1) call dpx(csx,rfx[VUx]) set VUx=VUx-1 endloop return true endfunction function rbi takes nothing returns nothing call Ufx(rHx,Nlx("FolderSoakingAttack_StructTarget_Init: call FolderSoakingAttack_StructTarget.TIMER_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSoakingAttack_StructTarget.Event_Timer_BuffGain))",dg,VB,function rAi)) call Ufx(rHx,Nlx("FolderSoakingAttack_StructTarget_Init: call FolderSoakingAttack_StructTarget.TIMER_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FolderSoakingAttack_StructTarget.Event_Timer_BuffLose))",Hf,VB,function rNi)) endfunction function rBi takes nothing returns boolean set rLx=Nlx("SoakingAttack_Init: set SoakingAttack.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function SoakingAttack.Event_Damage)",Nev,VB,function rEi) call Ufx(rkx,Nlx("SoakingAttack_Init: call SoakingAttack.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SoakingAttack.Event_BuffGain))",dg,VB,function rXi)) call Ufx(rkx,Nlx("SoakingAttack_Init: call SoakingAttack.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SoakingAttack.Event_BuffLose))",Hf,VB,function rOi)) call Sao(rVx,Nlx("SoakingAttack_Init: call SoakingAttack.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SoakingAttack.Event_Learn))",pv,VB,function rRi)) call Sao(rVx,Nlx("SoakingAttack_Init: call SoakingAttack.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function SoakingAttack.Event_Unlearn))",Av,VB,function rIi)) call rbi() return true endfunction function rci takes nothing returns boolean call kyr(function rBi,"SoakingAttack_Init") return true endfunction function rCi takes nothing returns boolean set rpx[1]=.2 set rpx[2]=.3 set rpx[3]=.4 return true endfunction function rdi takes nothing returns boolean set rPx=x6o('BZoW',"Zodiac - winged",'bZoW') +set OOv[(rPx)]=(true) set ORv[(rPx)]=("ReplaceableTextures\\CommandButtons\\BTNRegenerate.blp") call Urx(rPx,"Abilities\\Spells\\NightElf\\Tranquility\\TranquilityTarget.mdl","origin",EV) set v2v=UEx() call URx(v2v,exv,.2) +call UIx(((rPx)),YD+(1),(v2v)) set v2v=UEx() call URx(v2v,exv,.3) +call UIx(((rPx)),YD+(2),(v2v)) set v2v=UEx() call URx(v2v,exv,.4) +call UIx(((rPx)),YD+(3),(v2v)) return true endfunction function rDi takes nothing returns boolean call IGx(VE,(function rCi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Zodiac.page\\ZodiacAura.struct\\Target\\obj_this_wc3obj.j")) +call IGx(tE,(function rdi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Zodiac.page\\ZodiacAura.struct\\Target\\obj_dummyBuff_wc3buff.j")) return true endfunction function rfi takes nothing returns boolean set rqx=Idx(rQx) +return true endfunction function rFi takes nothing returns boolean set rsx[1]=.05 set rsx[2]=.1 set rsx[3]=.15 set rSx[1]=5 +set rSx[2]=$A set rSx[3]=$F return true endfunction function rgi takes nothing returns boolean set rtx=u9x(rTx+" (dummyBuff)") return true endfunction function rGi takes nothing returns boolean call IGx(VE,(function rFi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Zodiac.page\\ZodiacAura.struct\\obj_this_wc3obj.j")) +call IGx(tE,(function rgi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Zodiac.page\\ZodiacAura.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function rhi takes nothing returns boolean set rux=Idx(rTx) +return true endfunction function rHi takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cjv)then return false +endif if not(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function rji takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=(uL[(Eix)]) call GNx(csx,ryx[VFx]) return true endfunction function rJi takes nothing returns nothing local integer VFx=(ge[((LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))))]) call jnx((ive[(rwx[VFx])]),function rji,VFx) +endfunction function rki takes nothing returns boolean local integer Eix=(bv) local integer hdx=(pf[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer VMx=(Vv[(Eix)]) local integer VFx=VMx local integer cIr=cVr(hdx) local integer TBx=E5x() set rwx[VFx]=cIr +set rWx[VFx]=hdx +set ryx[VFx]=rYx[EKx]+(HJ[(hdx)])*rsx[EKx]*rzx set rZx[VFx]=TBx +set r_x[VFx]=EKx +set IKe[(cIr)]=(VFx) +set ge[(TBx)]=(VFx) set iee[(cIr)]=(((hDx((J7v),Yhv+(EKx))))*1.) +set ixe[(cIr)]=(rUx) +call cEr(cIr,r0x) call cEr(cIr,r1x) call cOr(cIr) call Xax(TBx,rzx,true,function rJi) return true endfunction function rKi takes nothing returns boolean local integer Eix=(bv) local integer VMx=(Vv[(Eix)]) local integer VFx=VMx local integer cIr=rwx[VFx] local integer TBx=rZx[VFx] call cDr(cIr) call Xbx(TBx) return true endfunction function rli takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer ENx=(IKe[(cIr)]) call JYx(csx,rPx) return true endfunction function rLi takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer hdx=(r3e[(cIr)]) local integer ENx=(IKe[(cIr)]) local integer EKx=r_x[ENx] call jGx((csx),(rPx),(EKx),w) return true endfunction function rmi takes nothing returns nothing set r0x=Nlx("FolderZodiacAura_StructTarget_Init: set FolderZodiacAura_StructTarget.ENDING_EVENT = Event.Create(AURA.Target.ENDING_EVENT_TYPE, EventPriority.SPELLS, function FolderZodiacAura_StructTarget.Event_Ending)",iae,VB,function rli) set r1x=Nlx("FolderZodiacAura_StructTarget_Init: set FolderZodiacAura_StructTarget.START_EVENT = Event.Create(AURA.Target.START_EVENT_TYPE, EventPriority.SPELLS, function FolderZodiacAura_StructTarget.Event_Start)",ine,VB,function rLi) endfunction function rMi takes nothing returns boolean local integer VBx set rUx=Nyx(function rHi) call Ufx(rtx,Nlx("ZodiacAura_Init: call ZodiacAura.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ZodiacAura.Event_BuffGain))",dg,VB,function rki)) call Ufx(rtx,Nlx("ZodiacAura_Init: call ZodiacAura.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function ZodiacAura.Event_BuffLose))",Hf,VB,function rKi)) set VBx=(onv[(J7v)]) +loop +exitwhen(VBx<1) set rYx[VBx]=rSx[VBx]*rzx set VBx=VBx-1 endloop call rmi() return true endfunction function rpi takes nothing returns boolean call kyr(function rMi,"ZodiacAura_Init") +return true endfunction function rPi takes nothing returns boolean set r2x=x6o('BZod',"Zodiac",'bZod') set OOv[(r2x)]=(true) set sf[(r2x)]=(true) +set ORv[(r2x)]=("ReplaceableTextures\\CommandButtons\\BTNGenericSpellImmunity.blp") call Urx(r2x,"Zodiac_page\\Zodiac_struct\\casterEffect.mdx","origin",EV) +return true endfunction function rqi takes nothing returns boolean call scx('AZod',false) set J7v=s2o('AZod') set orv[(J7v)]=(x8v) +set onv[(J7v)]=(3) set Zl[(J7v)]=("Zodiac") +set PK[(J7v)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0104)))),(((FL)))))) set Vnv[(J7v)]=(4) set n9v[(J7v)]=("spell") +call s3o((J7v),Yhv+(1),((750)*1.)) call s3o((J7v),Ll+(1),(($96)*1.)) call s3o((J7v),Pkv+(1),(($3E8)*1.)) call s3o((J7v),Yhv+(2),((750)*1.)) call s3o((J7v),Ll+(2),(($87)*1.)) call s3o((J7v),Pkv+(2),(($3E8)*1.)) call s3o((J7v),Yhv+(3),((750)*1.)) call s3o((J7v),Ll+(3),(('x')*1.)) call s3o((J7v),Pkv+(3),(($3E8)*1.)) set Qkv[(J7v)]=("ReplaceableTextures\\CommandButtons\\BTNEnchantedCrows.blp") call G5r(J7v,'FZo0',3,'VZo0','LPZo','LRZo') set r3x[1]=$F set r3x[2]=20 set r3x[3]=25 return true endfunction function rQi takes nothing returns boolean call IGx(tE,(function rPi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Zodiac.page\\Zodiac.struct\\obj_dummyBuff_wc3buff.j")) call IGx(UE,(function rqi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Hero\\Zodiac.page\\Zodiac.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function rsi takes nothing returns boolean set r4x=Idx(r5x) +return true endfunction function rSi takes integer VFx returns integer set r6x[VFx]=true set r7x[VFx]=false call V1x(r4x) return VFx endfunction function rti takes integer VMx,integer hdx,integer EKx returns nothing call jGx(VMx,rtx,EKx,hdx) endfunction function rTi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(pf[(Eix)]) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=rSi(csx) call jGx((((csx))),(Xbv),(1),w) call rti(csx,hdx,EKx) return true endfunction function rui takes integer VFx returns nothing set r6x[VFx]=false call EEx(r4x) endfunction function rUi takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx call rui(VFx) call JYx(((csx)),Xbv) call dpx(csx,rtx) return true endfunction function rwi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) call d9x(csx,r2x,EKx,hdx,r3x[EKx]) return true endfunction function rWi takes nothing returns boolean call Ufx(r2x,Nlx("Zodiac_Init: call Zodiac.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Zodiac.Event_BuffGain))",dg,VB,function rTi)) call Ufx(r2x,Nlx("Zodiac_Init: call Zodiac.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Zodiac.Event_BuffLose))",Hf,VB,function rUi)) call Sao(J7v,Nlx("Zodiac_Init: call Zodiac.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function Zodiac.Event_SpellEffect))",kK,VB,function rwi)) return true endfunction function ryi takes nothing returns boolean call kyr(function rWi,"Zodiac_Init") +return true endfunction function rYi takes nothing returns boolean call scx('ABHW',false) set r8x=s2o('ABHW') set onv[(r8x)]=(1) set Zl[(r8x)]=("Big Healing Wave") set PK[(r8x)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0215)))),(((FL)))))) set Vnv[(r8x)]=(4) set n9v[(r8x)]=("spell") +call s3o((r8x),Yhv+(1),((99999)*1.)) +call s3o((r8x),Ll+(1),(($F)*1.)) +call s3o((r8x),zl+(1),(('d')*1.)) call s3o((r8x),Pkv+(1),((99999)*1.)) +set Qkv[(r8x)]=("ReplaceableTextures\\CommandButtons\\BTNHealingWave.blp") return true endfunction function rzi takes nothing returns boolean set r9x=IJx("OHWP") return true endfunction function rZi takes nothing returns boolean set ivx=IJx("OHWS") return true endfunction function r_i takes nothing returns boolean call IGx(UE,(function rYi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\BigHealingWave.page\\BigHealingWave.struct\\obj_thisSpell_wc3spell.j")) call IGx(mE,(function rzi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\BigHealingWave.page\\BigHealingWave.struct\\obj_Bolt_wc3bolt.j")) call IGx(mE,(function rZi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\BigHealingWave.page\\BigHealingWave.struct\\obj_BoltSec_wc3bolt.j")) +return true endfunction function r0i takes nothing returns boolean set iex=Idx(ixx) +return true endfunction function r1i takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if Cmx(csx,tf)then return false +endif if Cmx(csx,chv)then return false +endif if Cmx(csx,cHv)then return false +endif if Cmx(csx,cjv)then return false +endif if((IsUnitAlly(C[(csx)],vx[(zH)]))==false)then return false +endif return true return true endfunction function r2i takes integer VFx returns integer set iEx[VFx]=true set iXx[VFx]=false call V1x(iex) return VFx endfunction function r3i takes nothing returns integer local integer VFx if(iix==8190)then call Vmx("BigHealingWave_Allocation_allocCustom","call DebugEx(BigHealingWave.NAME + \" - alloc: unable to allocCustom, reached stack limit\")",ixx+" - alloc: unable to allocCustom, reached stack limit") return w +endif if(iax[(w)]==w)then set inx=inx+1 set VFx=inx else +set VFx=iax[(w)] +set iax[(w)]=iax[iax[(w)]] endif set iax[VFx]=Z set iVx[VFx]=1 call r2i(VFx) return VFx endfunction function r4i takes integer VFx returns nothing set iEx[VFx]=false call EEx(iex) endfunction function r5i takes integer VFx returns nothing if(iVx[VFx]>0)then return endif if(iax[VFx]!=Z)then call Vmx("BigHealingWave_Allocation_deallocCustom_confirm","call DebugEx(BigHealingWave.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",ixx+" - alloc: unable to deallocCustom instance "+I2S(VFx)) +return endif set iax[VFx]=iax[(w)] set iax[(w)]=VFx +call r4i(VFx) endfunction function r6i takes integer VFx returns nothing set iVx[VFx]=iVx[VFx]-1 call r5i(VFx) endfunction function r7i takes integer VFx returns nothing call r6i((VFx)) call Xbx(iIx[VFx]) call HZo(iNx[VFx]) endfunction function r8i takes integer VFx,integer T3r,integer b2r returns nothing local integer Kax=TZr((T3r==b2r),r9x,ivx) set iAx[VFx]=b2r +call s9o(iRx[VFx],b2r,iCx*(Jk[(b2r)])) call bur(Kax,T3r,b2r) call Tlo((C1x((b2r),(idx),(iDx),(EV))),.0) call HDx(iNx[VFx],b2r) call Krx(Kax,.75) endfunction function r9i takes nothing returns nothing local integer hdx local integer bUx=(LoadInteger(o[((V[((E[((X))]))]))],((GetHandleId((((GetExpiredTimer())))))),((((Re)))))) local integer T3r local real T5r local real T6r local integer b2r local integer VFx=(ge[(bUx)]) local integer Wmo=iNx[VFx] local integer b1r=ibx[VFx]+1 +if(b1r>icx)then call r7i(VFx) else +set hdx=iRx[VFx] +set T3r=iAx[VFx] +set T5r=(GetUnitX(C[((T3r))])) set T6r=(GetUnitY(C[((T3r))])) set bae=Wmo set zH=(ze[(hdx)]) call fXo(iox,T5r,T6r,iOx[VFx],irx) set b2r=(SJo((iox),((T5r)*1.),((T6r)*1.))) if(b2r==w)then call r7i(VFx) else +set ibx[VFx]=b1r +call r8i(VFx,T3r,b2r) endif endif endfunction function ivi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local integer VFx=r3i() local integer bUx=E5x() set iOx[VFx]=(hDx((r8x),Yhv+(EKx))) set iRx[VFx]=hdx +set iIx[VFx]=bUx +set iAx[VFx]=csx +set iNx[VFx]=Pcx("BigHealingWave_Event_SpellEffect: set this.targetGroup = UnitList.Create()") set ibx[VFx]=1 set ge[(bUx)]=(VFx) call Xax(bUx,iBx,true,function r9i) call r8i(VFx,hdx,csx) return true endfunction function iei takes nothing returns boolean set iox=Bkx() set irx=Nyx(function r1i) call Sao(r8x,Nlx("BigHealingWave_Init: call BigHealingWave.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BigHealingWave.Event_SpellEffect))",kK,VB,function ivi)) return true endfunction function ixi takes nothing returns boolean call s7o(function iei,"BigHealingWave_Init") +return true endfunction function ioi takes nothing returns boolean call scx('ABuM',false) set ifx=s2o('ABuM') set onv[(ifx)]=(1) set Zl[(ifx)]=("Burning Spirit (Meteorite)") +set PK[(ifx)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0085)))),(((FL)))))) set Vnv[(ifx)]=(4) set n9v[(ifx)]=("spell") +call s3o((ifx),Ll+(1),((60)*1.)) +call s3o((ifx),zl+(1),((60)*1.)) +call s3o((ifx),Pkv+(1),((99999)*1.)) +set Qkv[(ifx)]=("ReplaceableTextures\\CommandButtons\\BTNIncinerate.blp") return true endfunction function iri takes nothing returns boolean set iFx=x6o('BBu2',"Burning Spirit",'bBu2') set OOv[(iFx)]=(true) set v_v[(iFx)]=(true) set ORv[(iFx)]=("ReplaceableTextures\\CommandButtons\\BTNIncinerate.blp") call Urx(iFx,"Abilities\\Spells\\Orc\\Bloodlust\\BloodlustSpecial.mdl","hand left",EV) call Urx(iFx,"Abilities\\Spells\\Orc\\Bloodlust\\BloodlustSpecial.mdl","hand right",fV) set v2v=UEx() call URx(v2v,RRv,.25) call URx(v2v,fIv,.25) call URx(v2v,exv,.25) call UIx(((iFx)),YD+(1),(v2v)) return true endfunction function iii takes nothing returns boolean call IGx(UE,(function ioi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\BurningSpiritMeteorite.page\\BurningSpiritMeteorite.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function iri),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\BurningSpiritMeteorite.page\\BurningSpiritMeteorite.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function iai takes nothing returns boolean set igx=Idx(iGx) +return true endfunction function ini takes integer VFx returns integer set ihx[VFx]=true set iHx[VFx]=false call V1x(igx) return VFx endfunction function iVi takes integer VFx returns nothing set ihx[VFx]=false call EEx(igx) endfunction function iEi takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=ijx[VFx] local integer EKx=iJx[VFx] local integer csx=ikx[VFx] call iVi(VFx) call tDo(tgo) call d9x((csx),(iFx),(EKx),w,((iKx)*1.)) +return true endfunction function iXi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(Vv[(Eix)]) local integer EKx=(Mv[(Eix)]) local integer csx=(aL[(Eix)]) local integer tgo=teo() local integer VFx=ini(tgo) set ijx[VFx]=hdx +set iJx[VFx]=EKx +set ikx[VFx]=csx +set qsv[(tgo)]=((10.)*1.) call tio(tgo,'qBSp',2.) set quv[(tgo)]=Ntx((function iEi)) set QEv[(tgo)]=(VFx) +call S9o(tgo,900.) call Tvo(tgo,hdx) call t4o((tgo),(csx),.0,.0,.0,(null)) return true endfunction function iOi takes nothing returns boolean call Sao(ifx,Nlx("BurningSpiritMeteorite_Init: call BurningSpiritMeteorite.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BurningSpiritMeteorite.Event_SpellEffect))",kK,VB,function iXi)) return true endfunction function iRi takes nothing returns boolean call s7o(function iOi,"BurningSpiritMeteorite_Init") +return true endfunction function iIi takes nothing returns boolean call scx('ABuL',false) set ilx=s2o('ABuL') set orv[(ilx)]=(ovv) +set onv[(ilx)]=(1) set Zl[(ilx)]=("Burn Lumber") set PK[(ilx)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0296)))),(((FL)))))) set Vnv[(ilx)]=(0) set n9v[(ilx)]=("spell") +call s3o((ilx),Ll+(1),(($A)*1.)) +call s3o((ilx),zl+(1),((0)*1.)) call s3o((ilx),Pkv+(1),((750)*1.)) set Qkv[(ilx)]=("ReplaceableTextures\\CommandButtons\\BTNOrcLumberUpgradeTwo.blp") return true endfunction function iAi takes nothing returns boolean call IGx(UE,(function iIi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\BurnLumber.page\\BurnLumber.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function iNi takes nothing returns boolean set iLx=Idx(imx) +return true endfunction function ibi takes nothing returns boolean local integer Eix=(bv) call TriggerRegisterUnitEvent(UB[((iMx))],C[((Vv[(Eix)]))],(EVENT_UNIT_SPELL_EFFECT)) return true endfunction function iBi takes nothing returns boolean local integer hdx=w8x() call s9o(hdx,hdx,ipx) call Svo(hdx,hdx,iPx) return true endfunction function ici takes nothing returns boolean if((G1o(GetSpellAbilityId()))!=ilx)then return false +endif return true return true endfunction function iCi takes nothing returns boolean call Sao(ilx,Nlx("BurnLumber_Init: call BurnLumber.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function BurnLumber.Event_Learn))",pv,VB,function ibi)) +set iMx=NSx(function iBi) call G4o(iMx,function ici) return true endfunction function idi takes nothing returns boolean call s7o(function iCi,"BurnLumber_Init") +return true endfunction function iDi takes nothing returns boolean call scx('ACoF',false) set iqx=s2o('ACoF') set onv[(iqx)]=(1) set Zl[(iqx)]=("Core Fusion") set PK[(iqx)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D00FD)))),(((FL)))))) set Vnv[(iqx)]=(0) set n9v[(iqx)]=("spell") +call s3o((iqx),Ll+(1),((60)*1.)) +call s3o((iqx),zl+(1),(($96)*1.)) set Qkv[(iqx)]=("ReplaceableTextures\\CommandButtons\\BTNUsedSoulGem.blp") return true endfunction function ifi takes nothing returns boolean call IGx(UE,(function iDi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\CoreFusion.page\\CoreFusion.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function iFi takes nothing returns boolean set iQx=Idx(isx) +return true endfunction function igi takes integer VFx,real Vhx returns nothing call GJx(VFx,(xK[(VFx)])-Vhx) endfunction function iGi takes integer VFx returns nothing set Jk[VFx]=GetUnitState(C[(VFx)],UNIT_STATE_MAX_LIFE) call Gjx(VFx) endfunction function ihi takes nothing returns nothing set iw=w +call hOx(Ge,PLAYER_STATE_RESOURCE_FOOD_USED,0) endfunction function iHi takes integer VFx,real Xdx returns nothing call Y_o(VFx) call Xax(aw,Xdx,false,function ihi) endfunction function iji takes nothing returns nothing local real iJi=iTx local real iki=(jk[(eHv)]) local real ylo local boolean iKi=(iki=(R2I((((Jk[(csx)]))*1.))))then return false +endif return true return true endfunction function i4i takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer cIr=cVr(csx) set aex[VFx]=cIr +set axx[VFx]=EKx +set IKe[(cIr)]=(VFx) +set iee[(cIr)]=(((hDx((JFv),Yhv+(EKx))))*1.) +set ixe[(cIr)]=(avx) +call cEr(cIr,aox) call cEr(cIr,arx) call cOr(cIr) return true endfunction function i5i takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx call cDr(aex[VFx]) return true endfunction function i6i takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(i7x),((Mv[(Eix)])),w) return true endfunction function i7i takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),i7x) return true endfunction function i8i takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer ENx=(IKe[(cIr)]) call JYx(csx,i4x) return true endfunction function i9i takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer hdx=(r3e[(cIr)]) local integer ENx=(IKe[(cIr)]) local integer EKx=axx[ENx] call jGx((csx),(i4x),(EKx),w) return true endfunction function avi takes nothing returns nothing set aox=Nlx("FolderFountainAura_StructTarget_Init: set FolderFountainAura_StructTarget.ENDING_EVENT = Event.Create(AURA.Target.ENDING_EVENT_TYPE, EventPriority.SPELLS, function FolderFountainAura_StructTarget.Event_Ending)",iae,VB,function i8i) +set arx=Nlx("FolderFountainAura_StructTarget_Init: set FolderFountainAura_StructTarget.START_EVENT = Event.Create(AURA.Target.START_EVENT_TYPE, EventPriority.SPELLS, function FolderFountainAura_StructTarget.Event_Start)",ine,VB,function i9i) endfunction function aei takes nothing returns boolean set avx=Nyx(function i3i) call Ufx(i7x,Nlx("FountainAura_Init: call FountainAura.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FountainAura.Event_BuffGain))",dg,VB,function i4i)) +call Ufx(i7x,Nlx("FountainAura_Init: call FountainAura.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FountainAura.Event_BuffLose))",Hf,VB,function i5i)) +call Sao(JFv,Nlx("FountainAura_Init: call FountainAura.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FountainAura.Event_Learn))",pv,VB,function i6i)) call Sao(JFv,Nlx("FountainAura_Init: call FountainAura.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FountainAura.Event_Unlearn))",Av,VB,function i7i)) call avi() return true endfunction function axi takes nothing returns boolean call s7o(function aei,"FountainAura_Init") return true endfunction function aoi takes nothing returns boolean set aix=u9x(aax+" (dummyBuff)") return true endfunction function ari takes nothing returns boolean call scx('AFoH',false) set kIv=s2o('AFoH') set orv[(kIv)]=(ovv) +set onv[(kIv)]=(1) set Zl[(kIv)]=("Fountain Heal") set Vnv[(kIv)]=(4) set n9v[(kIv)]=("spell") +call s3o((kIv),Yhv+(1),((0)*1.)) +call s3o((kIv),Pkv+(1),((0)*1.)) +set Qkv[(kIv)]=("ReplaceableTextures\\CommandButtons\\") +return true endfunction function aii takes nothing returns boolean call scx('AFHD',false) set anx=s2o('AFHD') set orv[(anx)]=(ovv) +set onv[(anx)]=(1) set Zl[(anx)]=("Fountain Heal") set Vnv[(anx)]=(4) set n9v[(anx)]=("spell") +call s3o((anx),Pkv+(1),((384)*1.)) return true endfunction function aai takes nothing returns boolean call IGx(tE,(function aoi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\FountainHeal.page\\FountainHeal.struct\\obj_dummyBuff_wc3buff.j")) call IGx(UE,(function ari),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\FountainHeal.page\\FountainHeal.struct\\obj_thisSpell_wc3spell.j")) call IGx(UE,(function aii),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\FountainHeal.page\\FountainHeal.struct\\obj_dummySpell_wc3spell.j")) +return true endfunction function ani takes nothing returns boolean set aVx=Idx(aax) +return true endfunction function aVi takes nothing returns boolean local integer Eix=(bv) local integer hdx local integer csx local integer GCo if((QK[(Eix)])!=vFv)then +return true endif set hdx=(Vv[(Eix)]) set csx=(aL[(Eix)]) set GCo=(ze[(csx)]) call Egx(csx,'AFHD') +call w6x(GCo,'AFHD',true) call UFx(csx,P8,hdx) +call w6x(GCo,'AFHD',false) return true endfunction function aEi takes nothing returns boolean local integer Eix=(bv) call CMx((Vv[(Eix)]),aEx) return true endfunction function aXi takes nothing returns boolean local integer Eix=(bv) call cEx((Vv[(Eix)]),aEx) return true endfunction function aOi takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(aix),((Mv[(Eix)])),w) return true endfunction function aRi takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),aix) return true endfunction function aIi takes nothing returns boolean local integer Eix=(bv) local integer hdx=(aL[(Eix)]) local integer csx=(Vv[(Eix)]) local real aAi=((Jk[(csx)])-(jk[(csx)]))*1./ aXx +local real aNi=((aJ[(csx)])-(iJ[(csx)]))*1./ aOx +local real abi=aAi+aNi local real aBi=Xkx((iJ[(hdx)]),abi) call hrx(csx) if(aBi<10.)then call b0x(hdx,Xhx((GetUnitName(C[(hdx)]))+" empty or target nearly full","ffff0000"),.024,120.,1.,2.,aRx+hdx) +return true endif call cdx((C1x((hdx),(aIx),(aAx),(EV)))) if(aAi>.0)then call cdx((C1x((csx),(aNx),(abx),(EV)))) call s9o(hdx,csx,aBi*aAi*1./ abi*aXx) endif if(aNi>.0)then call cdx((C1x((csx),(aBx),(acx),(EV)))) call Svo(hdx,csx,aBi*aNi*1./ abi*aOx) endif call rzr(hdx,aBi) return true endfunction function aci takes nothing returns boolean set aEx=Nlx("FountainHeal_Init: set FountainHeal.ORDER_EVENT = Event.Create(UNIT.Order.Events.Gain.Target.TARGET_EVENT_TYPE, EventPriority.SPELLS, function FountainHeal.Event_Order)",pL,VB,function aVi) call Ufx(aix,Nlx("FountainHeal_Init: call FountainHeal.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FountainHeal.Event_BuffGain))",dg,VB,function aEi)) +call Ufx(aix,Nlx("FountainHeal_Init: call FountainHeal.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FountainHeal.Event_BuffLose))",Hf,VB,function aXi)) +call Sao(kIv,Nlx("FountainHeal_Init: call FountainHeal.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FountainHeal.Event_Learn))",pv,VB,function aOi)) call Sao(kIv,Nlx("FountainHeal_Init: call FountainHeal.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function FountainHeal.Event_Unlearn))",Av,VB,function aRi)) call Sao(anx,Nlx("FountainHeal_Init: call FountainHeal.DUMMY_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.PRE_EVENT_TYPE, EventPriority.SPELLS, function FountainHeal.Event_SpellEffect))",gav,VB,function aIi)) return true endfunction function aCi takes nothing returns boolean call s7o(function aci,"FountainHeal_Init") return true endfunction function adi takes nothing returns boolean set aCx=u9x(adx+" (coldnessBuff)") set sf[(aCx)]=(true) +return true endfunction function aDi takes nothing returns boolean set aDx=u9x(adx+" (dummyBuff)") return true endfunction function afi takes nothing returns boolean call scx('AFrA',false) set Jav=s2o('AFrA') set orv[(Jav)]=(ovv) +set onv[(Jav)]=(6) set Zl[(Jav)]=("Frost Attack") set n9v[(Jav)]=("spell") +call s3o((Jav),Yhv+(1),(($8C)*1.)) call s3o((Jav),Pkv+(1),((750)*1.)) call s3o((Jav),Yhv+(2),(($8C)*1.)) call s3o((Jav),Pkv+(2),((750)*1.)) call s3o((Jav),Yhv+(3),(($8C)*1.)) call s3o((Jav),Pkv+(3),((750)*1.)) call s3o((Jav),Yhv+(4),(($8C)*1.)) call s3o((Jav),Pkv+(4),((750)*1.)) call s3o((Jav),Yhv+(5),(($8C)*1.)) call s3o((Jav),Pkv+(5),((750)*1.)) call s3o((Jav),Yhv+(6),(($8C)*1.)) call s3o((Jav),Pkv+(6),((750)*1.)) set Qkv[(Jav)]=("ReplaceableTextures\\PassiveButtons\\PASBTNFreezingBreath.blp") +set afx[1]=2 +set afx[2]=2.5 set afx[3]=3 +set afx[4]=3.5 set afx[5]=4 +set afx[6]=4.5 return true endfunction function aFi takes nothing returns boolean call IGx(tE,(function adi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\FrostAttack.page\\FrostAttack.struct\\obj_coldnessBuff_wc3buff.j")) call IGx(tE,(function aDi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\FrostAttack.page\\FrostAttack.struct\\obj_dummyBuff_wc3buff.j")) +call IGx(UE,(function afi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\FrostAttack.page\\FrostAttack.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function agi takes nothing returns boolean set aFx=Idx(adx) +return true endfunction function aGi takes integer VFx returns real local integer VBx=(Bex(((VFx)),CLv)) +local real Vtx=.0 loop +exitwhen(VBx0)then return endif if(a9x[VFx]!=Z)then call Vmx("LightningAttack_Allocation_deallocCustom_confirm","call DebugEx(LightningAttack.NAME + \" - alloc: unable to deallocCustom instance \" + I2S(this))",a5x+" - alloc: unable to deallocCustom instance "+I2S(VFx)) return endif set a9x[VFx]=a9x[(w)] set a9x[(w)]=VFx +call ndi(VFx) endfunction function nfi takes integer VFx returns nothing set nex[VFx]=nex[VFx]-1 call nDi(VFx) endfunction function nFi takes integer VFx returns nothing call nfi((VFx)) call HZo(nRx[VFx]) endfunction function ngi takes integer VFx,integer bzr,integer bZr,integer csx,integer Wmo returns nothing set kf=VFx set Kf=bzr set Bg=bZr set cg=csx set Roe=Wmo call TriggerEvaluate(nDx) endfunction function nGi takes nothing returns boolean local integer Eix=(bv) local integer tgo=(h3[(Eix)]) local integer VFx=(QEv[(tgo)]) local integer hdx=nix[VFx] local integer b0r=nEx[VFx] local integer b1r=nIx[VFx] local integer csx=nNx[VFx] local integer Wmo=nRx[VFx] local integer nhi local real fCo local real h0x local real h1x local integer b2r if(csx!=w)then set nhi=wNx(nbx,false,true,true,$A,$A,xbv) call cdx((C1x((csx),(nBx),(ncx),(fV)))) call u7o(nhi,(GetUnitX(C[((csx))])),(GetUnitY(C[((csx))])),drx(csx)) +call cJx(nhi,true) set zH=(ze[(hdx)]) if nCi(csx)then set fCo=nax[VFx] +set nax[VFx]=fCo*(1.-nnx[VFx]) if(b1r<=nOx[VFx])then call d9x((csx),(N0v),(nVx[VFx]),w,((nXx[VFx])*1.)) endif call AYo((hdx),(csx),((fCo)*1.),(true),(false)) endif endif if(b1r==b0r)then +call nFi(VFx) else +set h0x=(GetUnitX(C[((csx))])) set h1x=(GetUnitY(C[((csx))])) set bae=Wmo set zH=(ze[(hdx)]) call fXo(nCx,h0x,h1x,nrx[VFx],ndx) set b2r=(SJo((nCx),((h0x)*1.),((h1x)*1.))) if(b2r==w)then call nFi(VFx) else +set nIx[VFx]=b1r+1 call ngi(VFx,a3x,csx,b2r,Wmo) endif endif call tDo(tgo) return true endfunction function nHi takes integer VFx,integer bzr,integer bZr,integer csx,integer Wmo returns nothing local integer tgo=teo() local integer Kax=kAx(bzr) set nAx[VFx]=tgo +set nNx[VFx]=csx +call bur(Kax,bZr,csx) call GroupAddUnit(jd[(Wmo)],C[(csx)]) call Krx(Kax,.75) set qsv[(tgo)]=((10.)*1.) set quv[(tgo)]=Ntx((function nGi)) set QEv[(tgo)]=(VFx) +call S9o(tgo,E9x(JKx((GetUnitX(C[((csx))]))-(GetUnitX(C[((bZr))])),(GetUnitY(C[((csx))]))-(GetUnitY(C[((bZr))])))*1./ .25,700.)) +call Tvo(tgo,bZr) call t4o((tgo),(csx),.0,.0,.0,(null)) endfunction function nji takes nothing returns boolean local integer Eix=(bv) local integer hdx=(A9v[(Eix)]) local integer csx=(Vv[(Eix)]) local real xnr=(GetUnitX(C[((hdx))])) local real xVr=(GetUnitY(C[((hdx))])) local integer EKx=(Vfx(((hdx)),N+(JAv))) +local integer VFx=nci() local integer Wmo=Bkx() set nrx[VFx]=(hDx((JAv),Yhv+(EKx))) set nix[VFx]=hdx +set nax[VFx]=a1x[EKx] set nnx[VFx]=a0x[EKx] set nVx[VFx]=EKx +set nEx[VFx]=azx[EKx] set nXx[VFx]=a_x[EKx] set nOx[VFx]=aZx[EKx] set nRx[VFx]=Wmo +set nIx[VFx]=1 call nHi(VFx,a2x,hdx,csx,Wmo) return true endfunction function nJi takes nothing returns boolean local integer csx=pKx() if(b8x((bae),qC,(csx)))then return false +endif if not nCi(csx)then return false +endif return true return true endfunction function nki takes nothing returns boolean local integer Eix=(bv) call CMx((Vv[(Eix)]),a7x) return true endfunction function nKi takes nothing returns boolean local integer Eix=(bv) call cEx((Vv[(Eix)]),a7x) return true endfunction function nli takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(a4x),((Mv[(Eix)])),w) return true endfunction function nLi takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),a4x) return true endfunction function nmi takes nothing returns boolean set a7x=Nlx("LightningAttack_Init: set LightningAttack.DAMAGE_EVENT = Event.Create(UNIT.Damage.Events.ATTACKER_EVENT_TYPE, EventPriority.SPELLS, function LightningAttack.Event_Damage)",Nev,VB,function nji) set nCx=Bkx() set ndx=Nyx(function nJi) call Ufx(a4x,Nlx("LightningAttack_Init: call LightningAttack.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LightningAttack.Event_BuffGain))",dg,VB,function nki)) call Ufx(a4x,Nlx("LightningAttack_Init: call LightningAttack.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LightningAttack.Event_BuffLose))",Hf,VB,function nKi)) call Sao(JAv,Nlx("LightningAttack_Init: call LightningAttack.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LightningAttack.Event_Learn))",pv,VB,function nli)) call Sao(JAv,Nlx("LightningAttack_Init: call LightningAttack.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function LightningAttack.Event_Unlearn))",Av,VB,function nLi)) return true endfunction function nMi takes nothing returns boolean call s7o(function nmi,"LightningAttack_Init") return true endfunction function npi takes nothing returns boolean set h7e=(s1o((nfx+" (thisSpell)"))) set onv[(h7e)]=(1) set Zl[(h7e)]=("Magic Immunity") +set PK[(h7e)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0278)))),(((FL)))))) set n9v[(h7e)]=("spell") +return true endfunction function nPi takes nothing returns boolean set nFx=u9x(nfx+" (dummyBuff)") set v2v=UEx() call nUr(v2v,GSv,true) call UIx(((nFx)),YD+(1),(v2v)) return true endfunction function nqi takes nothing returns boolean call IGx(UE,(function npi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\MagicImmunity.page\\MagicImmunity.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function nPi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\MagicImmunity.page\\MagicImmunity.struct\\obj_dummyBuff_wc3buff.j")) +return true endfunction function nQi takes nothing returns boolean set ngx=Idx(nfx) +return true endfunction function nsi takes nothing returns boolean local integer Eix=(bv) call jGx(((Vv[(Eix)])),(nFx),((Mv[(Eix)])),w) return true endfunction function nSi takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),nFx) return true endfunction function nti takes nothing returns boolean call Sao(h7e,Nlx("MagicImmunity_Init: call MagicImmunity.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function MagicImmunity.Event_Learn))",pv,VB,function nsi)) call Sao(h7e,Nlx("MagicImmunity_Init: call MagicImmunity.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function MagicImmunity.Event_Unlearn))",Av,VB,function nSi)) return true endfunction function nTi takes nothing returns boolean call s7o(function nti,"MagicImmunity_Init") return true endfunction function nui takes nothing returns boolean call scx('AMtP',false) set J1v=s2o('AMtP') set orv[(J1v)]=(ovv) +set onv[(J1v)]=(2) set Zl[(J1v)]=("Meteorite Protection") set n9v[(J1v)]=("spell") +call s3o((J1v),Pkv+(1),((750)*1.)) return true endfunction function nUi takes nothing returns boolean call IGx(UE,(function nui),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\MeteoriteProtection.page\\MeteoriteProtection.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function nwi takes nothing returns boolean set nGx=Idx(nhx) +return true endfunction function nWi takes nothing returns boolean call scx('AReM',false) set nHx=s2o('AReM') set onv[(nHx)]=(1) set Zl[(nHx)]=("Refresh Mana") set PK[(nHx)]=((LoadInteger(o[((V[(E[((X))])]))],(((($D0244)))),(((FL)))))) set Vnv[(nHx)]=(0) set n9v[(nHx)]=("spell") +call s3o((nHx),Ll+(1),((30)*1.)) +call s3o((nHx),zl+(1),((90)*1.)) +set Qkv[(nHx)]=("ReplaceableTextures\\CommandButtons\\BTNManaRecharge.blp") return true endfunction function nyi takes nothing returns boolean call IGx(UE,(function nWi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\RefreshMana.page\\RefreshMana.struct\\obj_thisSpell_wc3spell.j")) return true endfunction function nYi takes nothing returns boolean set njx=Idx(nJx) +return true endfunction function nzi takes integer b3x returns integer return Snv[(Vfx(b3x,SIv))] endfunction function nZi takes integer VFx,code XEx,boolean n_i returns nothing local integer VBx=YK +local integer csx loop +exitwhen(VBx<0) set csx=(kv[((zK[VBx]))]) if Cmx(csx,tf)then if n_i then call GroupAddUnit(jd[(KIv)],C[(nzi(csx))]) endif else +call GroupAddUnit(jd[(KIv)],C[(csx)]) endif set VBx=VBx-1 endloop call ForGroup(jd[(KIv)],(XEx)) endfunction function n0i takes nothing returns boolean local integer Eix=(bv) local integer hdx=nkx local integer csx=Bwx() call cdx((C1x((csx),(nlx),(nLx),(EV)))) call Svo(hdx,csx,(aJ[(csx)])*nmx) return true endfunction function n1i takes nothing returns boolean local integer Eix=(bv) set nkx=(Vv[(Eix)]) call nZi(nKx,function n0i,true) return true endfunction function n2i takes nothing returns boolean call Sao(nHx,Nlx("RefreshMana_Init: call RefreshMana.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Effect.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function RefreshMana.Event_SpellEffect))",kK,VB,function n1i)) return true endfunction function n3i takes nothing returns boolean call s7o(function n2i,"RefreshMana_Init") return true endfunction function n4i takes nothing returns boolean set nMx=x6o('BRVA',"Discovered",'bRVA') set ORv[(nMx)]=("ReplaceableTextures\\CommandButtons\\BTNHeal.blp") return true endfunction function n5i takes nothing returns boolean call IGx(tE,(function n4i),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\RevealAura.page\\RevealAura.struct\\Target\\obj_dummyBuff_wc3buff.j")) return true endfunction function n6i takes nothing returns boolean set npx=Idx(nPx) +return true endfunction function n7i takes nothing returns boolean call scx('AReA',false) set y0v=s2o('AReA') set orv[(y0v)]=(ovv) +set onv[(y0v)]=(2) set Zl[(y0v)]=("Reveal Aura") set n9v[(y0v)]=("spell") +call s3o((y0v),Yhv+(1),(($C8)*1.)) call s3o((y0v),Pkv+(1),((750)*1.)) call s3o((y0v),Yhv+(2),(($5DC)*1.)) call s3o((y0v),Pkv+(2),((750)*1.)) set Qkv[(y0v)]=("ReplaceableTextures\\PassiveButtons\\PASBTNMagicalSentry.blp") return true endfunction function n8i takes nothing returns boolean set nqx=u9x(nQx+" (dummyBuff)") call Urx(nqx,"Abilities\\Spells\\Human\\MagicSentry\\MagicSentryCaster.mdl","overhead",EV) return true endfunction function n9i takes nothing returns boolean call IGx(UE,(function n7i),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\RevealAura.page\\RevealAura.struct\\obj_thisSpell_wc3spell.j")) call IGx(tE,(function n8i),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\Spells\\Misc\\RevealAura.page\\RevealAura.struct\\obj_dummyBuff_wc3buff.j")) return true endfunction function Vvi takes nothing returns boolean set nsx=Idx(nQx) +return true endfunction function Vei takes nothing returns boolean local integer csx=pKx() if Cmx(csx,tf)then return false +endif if Cmx(csx,cjv)then return false +endif if not(OM[(csx)])then return false +endif if(IsUnitAlly(C[(csx)],vx[(zH)]))then return false +endif return true return true endfunction function Vxi takes nothing returns boolean local integer Eix=(bv) local integer EKx=(Gf[(Eix)]) local integer csx=(Vv[(Eix)]) local integer VFx=csx local integer cIr=cVr(csx) set ntx[VFx]=cIr +set nTx[VFx]=EKx +set IKe[(cIr)]=(VFx) +set iee[(cIr)]=(((hDx((y0v),Yhv+(EKx))))*1.) +set ixe[(cIr)]=(nSx) +call cEr(cIr,nux) call cEr(cIr,nUx) call cOr(cIr) return true endfunction function Voi takes nothing returns boolean local integer Eix=(bv) local integer csx=(Vv[(Eix)]) local integer VFx=csx call cDr(ntx[VFx]) return true endfunction function Vri takes nothing returns boolean local integer Eix=(bv) call WMo((Vv[(Eix)]),nqx,(Mv[(Eix)])) return true endfunction function Vii takes nothing returns boolean local integer Eix=(bv) call dpx((Vv[(Eix)]),nqx) return true endfunction function Vai takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer ENx=(IKe[(cIr)]) call JYx(csx,nMx) return true endfunction function Vni takes nothing returns boolean local integer Eix=(bv) local integer cIr=(ire[(Eix)]) local integer csx=(Vv[(Eix)]) local integer hdx=(r3e[(cIr)]) local integer ENx=(IKe[(cIr)]) local integer EKx=nTx[ENx] call jGx((csx),(nMx),(EKx),w) return true endfunction function VVi takes nothing returns nothing set nux=Nlx("FolderRevealAura_StructTarget_Init: set FolderRevealAura_StructTarget.ENDING_EVENT = Event.Create(AURA.Target.ENDING_EVENT_TYPE, EventPriority.SPELLS, function FolderRevealAura_StructTarget.Event_Ending)",iae,VB,function Vai) set nUx=Nlx("FolderRevealAura_StructTarget_Init: set FolderRevealAura_StructTarget.START_EVENT = Event.Create(AURA.Target.START_EVENT_TYPE, EventPriority.SPELLS, function FolderRevealAura_StructTarget.Event_Start)",ine,VB,function Vni) endfunction function VEi takes nothing returns boolean set nSx=Nyx(function Vei) call Ufx(nqx,Nlx("RevealAura_Init: call RevealAura.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Gain.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function RevealAura.Event_BuffGain))",dg,VB,function Vxi)) call Ufx(nqx,Nlx("RevealAura_Init: call RevealAura.DUMMY_BUFF.Event.Add(Event.Create(UNIT.Buffs.Events.Lose.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function RevealAura.Event_BuffLose))",Hf,VB,function Voi)) call Sao(y0v,Nlx("RevealAura_Init: call RevealAura.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Learn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function RevealAura.Event_Learn))",pv,VB,function Vri)) +call Sao(y0v,Nlx("RevealAura_Init: call RevealAura.THIS_SPELL.Event.Add(Event.Create(UNIT.Abilities.Events.Unlearn.DUMMY_EVENT_TYPE, EventPriority.SPELLS, function RevealAura.Event_Unlearn))",Av,VB,function Vii)) +call VVi() return true endfunction function VXi takes nothing returns boolean call s7o(function VEi,"RevealAura_Init") +return true endfunction function VOi takes nothing returns boolean set iUx=LBo('UMet') call LFo((iUx),('AInv'),1) call Lco(((iUx)),CPv,(rG)) call Lco(((iUx)),CPv,(cjv)) set vm[(iUx)]=((3)*1.) set div[(iUx)]=((40)*1.) +set dsv[(iUx)]=((60)*1.) +set c5v[(iUx)]=((0)*1.) set Crv[(iUx)]=(3) set djv[(iUx)]=(($9C4)*1.) set dHv[(iUx)]=(($9C4)*1.) set dGv[(iUx)]=((0)*1.) set dkv[(iUx)]=(($C8)*1.) set dJv[(iUx)]=(($C8)*1.) set dhv[(iUx)]=((.2)*1.) +set dRv[(iUx)]=(($3E8)*1.) set dXv[(iUx)]=(($3E8)*1.) set Csv[(iUx)]=((0)*1.) set CSv[(iUx)]=((0)*1.) set CUv[(iUx)]=(0) set Cyv[(iUx)]=(0) call LFo((iUx),(r8x),1) call LFo((iUx),(ilx),1) call LFo((iUx),(ifx),1) call LFo((iUx),(iqx),1) call LFo((iUx),(apx),1) call LFo((iUx),(nHx),1) return true endfunction function VRi takes nothing returns boolean call IGx(yE,(function VOi),("D:\\Warcraft III\\Mapping\\DWC\\Scripts\\System\\Meteorite.page\\Meteorite.struct\\obj_thisUnitType_wc3unit.j")) return true endfunction function VIi takes nothing returns boolean set nwx=Idx(nWx) +return true endfunction function VAi takes nothing returns boolean local integer Eix=(bv) call G1x((eHv),w) return true endfunction function VNi takes nothing returns boolean local integer Eix=(bv) call iji() return true endfunction function Vbi takes nothing returns boolean local integer Eix=(bv) call cdx((C1x(((Vv[(Eix)])),("Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl"),("origin"),(fV)))) return true endfunction function VBi takes nothing returns boolean local integer Eix=(bv) return true endfunction function Vci takes nothing returns nothing local integer Eix=V4x(0) +local integer VBx=Xv +local integer V8x local integer EBx loop +exitwhen(VBx<0) set V8x=Ov[VBx] set EBx=(0+(LoadInteger(o[((V[(E[((X))])]))],(((Se))),((((1+8192*((((L6v))-1)*Iv+(((V8x))-1))))))))) +loop +exitwhen(EBx") return true endfunction function VSi takes nothing returns boolean call Icx(function IDx,"s"+"__Queue_Allocation__allocInit_autoRun") call Icx(function Ifx,"s"+"__ObjThread_Allocation__allocInit_autoRun") call Icx(function IFx,"s"+"__FolderMath_StructInteger_Allocation__allocInit_autoRun") call Icx(function Igx,"s"+"__FolderMath_StructHex_Allocation__allocInit_autoRun") call Icx(function IKx,"s"+"__FolderMath_StructShapes_objInits_autoRun") call Icx(function Ilx,"s"+"__FolderMath_StructShapes_Allocation__allocInit_autoRun") +call Icx(function Iqx,"s"+"__Math_initializer_Init_autoRun") +call Icx(function IQx,"s"+"__FolderGameCache_StructBoolean_Allocation__allocInit_autoRun") call Icx(function Isx,"s"+"__FolderGameCache_StructInteger_Allocation__allocInit_autoRun") call Icx(function ISx,"s"+"__FolderGameCache_StructReal_Allocation__allocInit_autoRun") call Icx(function Itx,"s"+"__FolderGameCache_StructString_Allocation__allocInit_autoRun") call Icx(function ITx,"s"+"__GameCache_Allocation__allocInit_autoRun") call Icx(function Iux,"s"+"__FolderHashTable_StructBoolean_Allocation__allocInit_autoRun") call Icx(function IUx,"s"+"__FolderHashTable_StructInteger_Allocation__allocInit_autoRun") call Icx(function Iwx,"s"+"__FolderHashTable_StructReal_Allocation__allocInit_autoRun") call Icx(function IWx,"s"+"__FolderHashTable_StructString_Allocation__allocInit_autoRun") call Icx(function Iyx,"s"+"__HashTable_Allocation__allocInit_autoRun") call Icx(function IYx,"s"+"__FolderDataTableHead_FolderIntegerKeys_StructD2_Allocation__allocInit_autoRun") call Icx(function Izx,"s"+"__FolderDataTableHead_StructIntegerKeys_Allocation__allocInit_autoRun") call Icx(function IZx,"s"+"__FolderDataTableHead_StructStringKeys_Allocation__allocInit_autoRun") call Icx(function I_x,"s"+"__DataTableHead_Allocation__allocInit_autoRun") call Icx(function I0x,"s"+"__FolderDataTable_FolderIntegerKeys_FolderD2_StructTable_Allocation__allocInit_autoRun") call Icx(function I1x,"s"+"__FolderDataTable_FolderIntegerKeys_StructD2_Allocation__allocInit_autoRun") call Icx(function I2x,"s"+"__FolderDataTable_FolderIntegerKeys_StructTable_Allocation__allocInit_autoRun") call Icx(function I3x,"s"+"__FolderDataTable_StructIntegerKeys_Allocation__allocInit_autoRun") call Icx(function I4x,"s"+"__FolderDataTable_FolderStringKeys_StructTable_Allocation__allocInit_autoRun") call Icx(function I5x,"s"+"__FolderDataTable_StructStringKeys_Allocation__allocInit_autoRun") call Icx(function I6x,"s"+"__FolderDataTable_StructNative_Allocation__allocInit_autoRun") call Icx(function I7x,"s"+"__DataTable_Allocation__allocInit_autoRun") call Icx(function ABx,"s"+"__DataTable_initializer_Init_autoRun") call Icx(function Acx,"s"+"__Animation_Allocation__allocInit_autoRun") call Icx(function ACx,"s"+"__AttachPoint_Allocation__allocInit_autoRun") +call Icx(function Adx,"s"+"__Attack_Allocation__allocInit_autoRun") call Icx(function Afx,"s"+"__Attack_initializer_Init_autoRun") call Icx(function AFx,"s"+"__FolderEventResponse_StructAct_Allocation__allocInit_autoRun") call Icx(function Agx,"s"+"__FolderEventResponse_StructAura_Allocation__allocInit_autoRun") call Icx(function AGx,"s"+"__FolderEventResponse_StructBool_Allocation__allocInit_autoRun") call Icx(function Ahx,"s"+"__FolderEventResponse_StructBuff_Allocation__allocInit_autoRun") call Icx(function AHx,"s"+"__FolderEventResponse_StructDefenderSpawnType_Allocation__allocInit_autoRun") +call Icx(function Ajx,"s"+"__FolderEventResponse_StructDestructable_Allocation__allocInit_autoRun") call Icx(function AJx,"s"+"__FolderEventResponse_StructDestructableType_Allocation__allocInit_autoRun") call Icx(function Akx,"s"+"__FolderEventResponse_StructDialog_Allocation__allocInit_autoRun") call Icx(function AKx,"s"+"__FolderEventResponse_StructDummyUnit_Allocation__allocInit_autoRun") +call Icx(function Alx,"s"+"__FolderEventResponse_StructDynamic_Allocation__allocInit_autoRun") call Icx(function ALx,"s"+"__FolderEventResponse_StructEvent_Allocation__allocInit_autoRun") +call Icx(function Amx,"s"+"__FolderEventResponse_StructItem_Allocation__allocInit_autoRun") call Icx(function AMx,"s"+"__FolderEventResponse_StructItemType_Allocation__allocInit_autoRun") call Icx(function Apx,"s"+"__FolderEventResponse_StructLevel_Allocation__allocInit_autoRun") +call Icx(function APx,"s"+"__FolderEventResponse_StructLightning_Allocation__allocInit_autoRun") +call Icx(function Aqx,"s"+"__FolderEventResponse_StructMissile_Allocation__allocInit_autoRun") call Icx(function AQx,"s"+"__FolderEventResponse_StructMissileCheckpoint_Allocation__allocInit_autoRun") +call Icx(function Asx,"s"+"__FolderEventResponse_StructOrder_Allocation__allocInit_autoRun") +call Icx(function ASx,"s"+"__FolderEventResponse_StructReal_Allocation__allocInit_autoRun") call Icx(function Atx,"s"+"__FolderEventResponse_StructRect_Allocation__allocInit_autoRun") call Icx(function ATx,"s"+"__FolderEventResponse_StructRegion_Allocation__allocInit_autoRun") call Icx(function Aux,"s"+"__FolderEventResponse_StructSpawnType_Allocation__allocInit_autoRun") +call Icx(function AUx,"s"+"__FolderEventResponse_StructSpell_Allocation__allocInit_autoRun") +call Icx(function Awx,"s"+"__FolderEventResponse_StructSpellInstance_Allocation__allocInit_autoRun") +call Icx(function AWx,"s"+"__FolderEventResponse_StructSpot_Allocation__allocInit_autoRun") call Icx(function Ayx,"s"+"__FolderEventResponse_StructString_Allocation__allocInit_autoRun") call Icx(function AYx,"s"+"__FolderEventResponse_StructTile_Allocation__allocInit_autoRun") call Icx(function Azx,"s"+"__FolderEventResponse_StructUbersplat_Allocation__allocInit_autoRun") +call Icx(function AZx,"s"+"__FolderEventResponse_StructUnit_Allocation__allocInit_autoRun") call Icx(function A_x,"s"+"__FolderEventResponse_StructUnitEffect_Allocation__allocInit_autoRun") call Icx(function A0x,"s"+"__FolderEventResponse_StructUnitMod_Allocation__allocInit_autoRun") call Icx(function A1x,"s"+"__FolderEventResponse_StructUnitType_Allocation__allocInit_autoRun") call Icx(function A2x,"s"+"__FolderEventResponse_StructUser_Allocation__allocInit_autoRun") call Icx(function A3x,"s"+"__EventResponse_Allocation__allocInit_autoRun") call Icx(function A4x,"s"+"__EventPriority_Allocation__allocInit_autoRun") call Icx(function A5x,"s"+"__EventType_Allocation__allocInit_autoRun") call Icx(function A6x,"s"+"__FolderEvent_StructId_Allocation__allocInit_autoRun") call Icx(function A7x,"s"+"__FolderEvent_FolderData_StructBoolean_Allocation__allocInit_autoRun") call Icx(function A8x,"s"+"__FolderEvent_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function A9x,"s"+"__FolderEvent_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function Nvx,"s"+"__FolderEvent_StructData_Allocation__allocInit_autoRun") call Icx(function Nex,"s"+"__FolderEvent_StructLimit_Allocation__allocInit_autoRun") +call Icx(function Nxx,"s"+"__Event_Allocation__allocInit_autoRun") call Icx(function NRx,"s"+"__Event_initializer_Init_autoRun") call Icx(function NIx,"s"+"__CharacterSpeech_Allocation__allocInit_autoRun") +call Icx(function b5x,"s"+"__CharacterSpeech_initializer_Init_autoRun") call Icx(function b6x,"s"+"__ClearSpawns_Allocation__allocInit_autoRun") +call Icx(function BFx,"s"+"__ClearSpawns_initializer_Init_autoRun") call Icx(function Bgx,"s"+"__CommandAutoCast_Allocation__allocInit_autoRun") +call Icx(function Bzx,"s"+"__CommandAutoCast_initializer_Init_autoRun") call Icx(function BZx,"s"+"__CommandBuff_Allocation__allocInit_autoRun") +call Icx(function Dax,"s"+"__CommandBuff_initializer_Init_autoRun") call Icx(function Dnx,"s"+"__CommandCreateDestructable_Allocation__allocInit_autoRun") call Icx(function Dhx,"s"+"__CommandCreateDestructable_initializer_Init_autoRun") call Icx(function DHx,"s"+"__CommandCreateItem_Allocation__allocInit_autoRun") call Icx(function fOx,"s"+"__CommandCreateItem_initializer_Init_autoRun") call Icx(function fRx,"s"+"__CommandCreateQuake_Allocation__allocInit_autoRun") call Icx(function f5x,"s"+"__CommandCreateQuake_initializer_Init_autoRun") call Icx(function f6x,"s"+"__CommandCreateUnit_Allocation__allocInit_autoRun") call Icx(function Fox,"s"+"__CommandCreateUnit_initializer_Init_autoRun") call Icx(function Frx,"s"+"__CommandDebug_Allocation__allocInit_autoRun") call Icx(function Fnx,"s"+"__CommandDebug_initializer_Init_autoRun") +call Icx(function FVx,"s"+"__CommandExp_Allocation__allocInit_autoRun") call Icx(function FIx,"s"+"__CommandExp_initializer_Init_autoRun") call Icx(function FAx,"s"+"__CommandHeader_Allocation__allocInit_autoRun") call Icx(function FNx,"s"+"__CommandHeroAttribute_Allocation__allocInit_autoRun") call Icx(function G_x,"s"+"__CommandHeroAttribute_initializer_Init_autoRun") +call Icx(function G0x,"s"+"__CommandKillUnit_Allocation__allocInit_autoRun") +call Icx(function G6x,"s"+"__CommandKillUnit_initializer_Init_autoRun") call Icx(function G7x,"s"+"__CommandRefreshAbility_Allocation__allocInit_autoRun") call Icx(function jRx,"s"+"__CommandRefreshAbility_initializer_Init_autoRun") call Icx(function jIx,"s"+"__CommandRemoveUnit_Allocation__allocInit_autoRun") call Icx(function jBx,"s"+"__CommandRemoveUnit_initializer_Init_autoRun") call Icx(function jcx,"s"+"__CommandScaleUnit_Allocation__allocInit_autoRun") call Icx(function jyx,"s"+"__CommandScaleUnit_initializer_Init_autoRun") +call Icx(function jYx,"s"+"__CommandSpell_Allocation__allocInit_autoRun") call Icx(function j3x,"s"+"__CommandSpell_initializer_Init_autoRun") +call Icx(function j4x,"s"+"__CommandSwift_Allocation__allocInit_autoRun") call Icx(function j9x,"s"+"__CommandSwift_initializer_Init_autoRun") +call Icx(function Jvx,"s"+"__CommandTest_Allocation__allocInit_autoRun") +call Icx(function Jox,"s"+"__CommandTest_initializer_Init_autoRun") call Icx(function Jrx,"s"+"__CommandVertexColorUnit_Allocation__allocInit_autoRun") call Icx(function JFx,"s"+"__CommandVertexColorUnit_initializer_Init_autoRun") call Icx(function Jgx,"s"+"__MoveUnit_Allocation__allocInit_autoRun") call Icx(function KFx,"s"+"__MoveUnit_initializer_Init_autoRun") +call Icx(function Kgx,"s"+"__PingSpawns_Allocation__allocInit_autoRun") call Icx(function KKx,"s"+"__PingSpawns_initializer_Init_autoRun") call Icx(function Klx,"s"+"__RequestEvent_Allocation__allocInit_autoRun") call Icx(function KMx,"s"+"__RequestEvent_initializer_Init_autoRun") +call Icx(function Kpx,"s"+"__RequestKeyMacro_Allocation__allocInit_autoRun") +call Icx(function KQx,"s"+"__RequestKeyMacro_initializer_Init_autoRun") call Icx(function Ksx,"s"+"__RequestTimers_Allocation__allocInit_autoRun") call Icx(function Kwx,"s"+"__RequestTimers_initializer_Init_autoRun") call Icx(function KWx,"s"+"__SetDmgTest_Allocation__allocInit_autoRun") call Icx(function KZx,"s"+"__SetDmgTest_initializer_Init_autoRun") call Icx(function K_x,"s"+"__SetVar_Allocation__allocInit_autoRun") call Icx(function K3x,"s"+"__SetVar_initializer_Init_autoRun") call Icx(function K4x,"s"+"__FolderVoteHost_StructVotes_Allocation__allocInit_autoRun") call Icx(function K5x,"s"+"__VoteHost_Allocation__allocInit_autoRun") call Icx(function K8x,"s"+"__VoteHost_initializer_Init_autoRun") +call Icx(function K9x,"s"+"__PathingBlockers_objInits_autoRun") call Icx(function lvx,"s"+"__PathingBlockers_Allocation__allocInit_autoRun") +call Icx(function lrx,"s"+"__PathingBlockers_initializer_Init_autoRun") call Icx(function lix,"s"+"__preplaced_Allocation__allocInit_autoRun") call Icx(function lax,"s"+"__BoolExpr_Allocation__allocInit_autoRun") call Icx(function lXx,"s"+"__BoolExpr_initializer_Init_autoRun") +call Icx(function lOx,"s"+"__FolderBuff_StructId_Allocation__allocInit_autoRun") +call Icx(function lRx,"s"+"__FolderBuff_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call Icx(function lIx,"s"+"__FolderBuff_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function lAx,"s"+"__FolderBuff_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function lNx,"s"+"__FolderBuff_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call Icx(function lbx,"s"+"__FolderBuff_FolderData_StructReal_Allocation__allocInit_autoRun") call Icx(function lBx,"s"+"__FolderBuff_FolderData_FolderString_StructTable_Allocation__allocInit_autoRun") call Icx(function lcx,"s"+"__FolderBuff_FolderData_StructString_Allocation__allocInit_autoRun") call Icx(function lCx,"s"+"__FolderBuff_StructData_Allocation__allocInit_autoRun") call Icx(function ldx,"s"+"__FolderBuff_StructEvent_Allocation__allocInit_autoRun") call Icx(function lDx,"s"+"__FolderBuff_StructTargetEffects_Allocation__allocInit_autoRun") call Icx(function lfx,"s"+"__FolderBuff_StructLoopSounds_Allocation__allocInit_autoRun") +call Icx(function lFx,"s"+"__FolderBuff_StructVariants_Allocation__allocInit_autoRun") call Icx(function lgx,"s"+"__FolderBuff_StructUnitMods_Allocation__allocInit_autoRun") call Icx(function lGx,"s"+"__FolderBuff_StructUnitModSets_Allocation__allocInit_autoRun") call Icx(function lhx,"s"+"__Buff_Allocation__allocInit_autoRun") call Icx(function ljx,"s"+"__Buff_initializer_Init_autoRun") +call Icx(function lJx,"s"+"__FolderCameraField_StructTimed_Allocation__allocInit_autoRun") call Icx(function lkx,"s"+"__CameraField_Allocation__allocInit_autoRun") +call Icx(function lKx,"s"+"__FolderCamera_StructEye_Allocation__allocInit_autoRun") call Icx(function llx,"s"+"__FolderCamera_StructTarget_Allocation__allocInit_autoRun") call Icx(function lLx,"s"+"__FolderCamera_StructPanTimedViaBounds_Allocation__allocInit_autoRun") call Icx(function lmx,"s"+"__FolderCamera_StructShake_Allocation__allocInit_autoRun") call Icx(function lMx,"s"+"__FolderCamera_StructSeismic_Allocation__allocInit_autoRun") call Icx(function lpx,"s"+"__Camera_Allocation__allocInit_autoRun") call Icx(function Lix,"s"+"__Camera_initializer_Init_autoRun") call Icx(function Lax,"s"+"__FolderDestructableType_StructId_Allocation__allocInit_autoRun") +call Icx(function Lnx,"s"+"__FolderDestructableType_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call Icx(function LVx,"s"+"__FolderDestructableType_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function LEx,"s"+"__FolderDestructableType_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function LXx,"s"+"__FolderDestructableType_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call Icx(function LOx,"s"+"__FolderDestructableType_FolderData_StructReal_Allocation__allocInit_autoRun") call Icx(function LRx,"s"+"__FolderDestructableType_StructData_Allocation__allocInit_autoRun") call Icx(function LIx,"s"+"__FolderDestructableType_StructEvent_Allocation__allocInit_autoRun") call Icx(function LAx,"s"+"__FolderDestructableType_StructPreload_Allocation__allocInit_autoRun") call Icx(function Lgx,"s"+"__DestructableType_objInits_autoRun") +call Icx(function LGx,"s"+"__DestructableType_Allocation__allocInit_autoRun") call Icx(function Lhx,"s"+"__FolderDestructable_StructId_Allocation__allocInit_autoRun") +call Icx(function LHx,"s"+"__FolderDestructable_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call Icx(function Ljx,"s"+"__FolderDestructable_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function LJx,"s"+"__FolderDestructable_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function Lkx,"s"+"__FolderDestructable_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call Icx(function LKx,"s"+"__FolderDestructable_FolderData_StructReal_Allocation__allocInit_autoRun") call Icx(function Llx,"s"+"__FolderDestructable_StructData_Allocation__allocInit_autoRun") call Icx(function LLx,"s"+"__FolderDestructable_FolderEvent_StructNative_Allocation__allocInit_autoRun") +call Icx(function Lmx,"s"+"__FolderDestructable_StructEvent_Allocation__allocInit_autoRun") call Icx(function LMx,"s"+"__FolderDestructable_StructType_Allocation__allocInit_autoRun") call Icx(function Lpx,"s"+"__FolderDestructable_StructTimedLife_Allocation__allocInit_autoRun") call Icx(function LPx,"s"+"__FolderDestructable_FolderEnum_StructInRange_Allocation__allocInit_autoRun") +call Icx(function Lqx,"s"+"__FolderDestructable_StructEnum_Allocation__allocInit_autoRun") call Icx(function LQx,"s"+"__FolderDestructable_StructLife_Allocation__allocInit_autoRun") call Icx(function Lsx,"s"+"__Destructable_Allocation__allocInit_autoRun") call Icx(function mnx,"s"+"__Destructable_initializer_Init_autoRun") +call Icx(function mVx,"s"+"__FolderDialogButton_StructId_Allocation__allocInit_autoRun") +call Icx(function mEx,"s"+"__FolderDialogButton_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function mXx,"s"+"__FolderDialogButton_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call Icx(function mOx,"s"+"__FolderDialogButton_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function mRx,"s"+"__FolderDialogButton_FolderData_StructReal_Allocation__allocInit_autoRun") call Icx(function mIx,"s"+"__FolderDialogButton_StructData_Allocation__allocInit_autoRun") call Icx(function mAx,"s"+"__FolderDialogButton_FolderEvent_StructNative_Allocation__allocInit_autoRun") +call Icx(function mNx,"s"+"__FolderDialogButton_StructEvent_Allocation__allocInit_autoRun") call Icx(function mbx,"s"+"__DialogButton_Allocation__allocInit_autoRun") call Icx(function mBx,"s"+"__FolderDialog_StructId_Allocation__allocInit_autoRun") call Icx(function mcx,"s"+"__FolderDialog_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function mCx,"s"+"__FolderDialog_FolderData_StructBoolean_Allocation__allocInit_autoRun") call Icx(function mdx,"s"+"__FolderDialog_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function mDx,"s"+"__FolderDialog_FolderData_StructReal_Allocation__allocInit_autoRun") call Icx(function mfx,"s"+"__FolderDialog_StructData_Allocation__allocInit_autoRun") +call Icx(function mFx,"s"+"__FolderDialog_FolderEvent_StructNative_Allocation__allocInit_autoRun") call Icx(function mgx,"s"+"__FolderDialog_StructEvent_Allocation__allocInit_autoRun") call Icx(function mGx,"s"+"__FolderDialog_StructButtons_Allocation__allocInit_autoRun") call Icx(function mhx,"s"+"__Dialog_Allocation__allocInit_autoRun") call Icx(function mYx,"s"+"__Dialog_initializer_Init_autoRun") call Icx(function mzx,"s"+"__EffectLevel_Allocation__allocInit_autoRun") +call Icx(function mZx,"s"+"__FolderSpotEffectWithSize_StructDestroyTimed_Allocation__allocInit_autoRun") +call Icx(function m_x,"s"+"__SpotEffectWithSize_objInits_autoRun") call Icx(function m0x,"s"+"__SpotEffectWithSize_Allocation__allocInit_autoRun") call Icx(function m1x,"s"+"__DummyUnitEffect_Allocation__allocInit_autoRun") +call Icx(function m2x,"s"+"__FolderSpotEffect_StructId_Allocation__allocInit_autoRun") call Icx(function m3x,"s"+"__FolderSpotEffect_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function m4x,"s"+"__FolderSpotEffect_FolderData_StructBoolean_Allocation__allocInit_autoRun") call Icx(function m5x,"s"+"__FolderSpotEffect_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function m6x,"s"+"__FolderSpotEffect_StructData_Allocation__allocInit_autoRun") +call Icx(function m7x,"s"+"__FolderSpotEffect_StructEvent_Allocation__allocInit_autoRun") call Icx(function m8x,"s"+"__FolderSpotEffect_StructDestroyTimed_Allocation__allocInit_autoRun") +call Icx(function m9x,"s"+"__SpotEffect_objInits_autoRun") call Icx(function Mvx,"s"+"__SpotEffect_Allocation__allocInit_autoRun") call Icx(function Mex,"s"+"__FolderUnitEffect_StructId_Allocation__allocInit_autoRun") call Icx(function Mxx,"s"+"__FolderUnitEffect_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function Mox,"s"+"__FolderUnitEffect_FolderData_StructBoolean_Allocation__allocInit_autoRun") call Icx(function Mrx,"s"+"__FolderUnitEffect_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function Mix,"s"+"__FolderUnitEffect_StructData_Allocation__allocInit_autoRun") +call Icx(function Max,"s"+"__FolderUnitEffect_StructEvent_Allocation__allocInit_autoRun") call Icx(function Mnx,"s"+"__FolderUnitEffect_StructDestroyTimed_Allocation__allocInit_autoRun") +call Icx(function MVx,"s"+"__UnitEffect_Allocation__allocInit_autoRun") call Icx(function MEx,"s"+"__Effect_Allocation__allocInit_autoRun") call Icx(function MMx,"s"+"__Effect_initializer_Init_autoRun") call Icx(function Mpx,"s"+"__FolderEventMemoryHead_FolderIntegerKeys_StructD2_Allocation__allocInit_autoRun") call Icx(function MPx,"s"+"__FolderEventMemoryHead_StructIntegerKeys_Allocation__allocInit_autoRun") +call Icx(function Mqx,"s"+"__FolderEventMemory_FolderIntegerKeys_FolderD2_StructTable_Allocation__allocInit_autoRun") call Icx(function MQx,"s"+"__FolderEventMemory_FolderIntegerKeys_StructD2_Allocation__allocInit_autoRun") call Icx(function Msx,"s"+"__FolderEventMemory_FolderIntegerKeys_StructTable_Allocation__allocInit_autoRun") +call Icx(function MSx,"s"+"__FolderEventMemory_StructIntegerKeys_Allocation__allocInit_autoRun") +call Icx(function MWx,"s"+"__EventMemory_initializer_Init_autoRun") call Icx(function Myx,"s"+"__EventPair_Allocation__allocInit_autoRun") call Icx(function MYx,"s"+"__FolderEventCombination_StructId_Allocation__allocInit_autoRun") +call Icx(function Mzx,"s"+"__FolderEventCombination_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call Icx(function MZx,"s"+"__FolderEventCombination_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function M_x,"s"+"__FolderEventCombination_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function M0x,"s"+"__FolderEventCombination_StructData_Allocation__allocInit_autoRun") call Icx(function M1x,"s"+"__FolderEventCombination_StructRemainingEventsAmount_Allocation__allocInit_autoRun") call Icx(function M2x,"s"+"__FolderEventCombination_StructEvents_Allocation__allocInit_autoRun") +call Icx(function M3x,"s"+"__FolderEventCombination_StructSubjects_Allocation__allocInit_autoRun") call Icx(function M4x,"s"+"__FolderEventCombination_FolderPeriodic_StructSubjectsA_Allocation__allocInit_autoRun") call Icx(function M5x,"s"+"__FolderEventCombination_StructPeriodic_Allocation__allocInit_autoRun") call Icx(function M6x,"s"+"__FolderEventCombination_StructPairs_Allocation__allocInit_autoRun") call Icx(function M7x,"s"+"__EventCombination_Allocation__allocInit_autoRun") call Icx(function M9x,"s"+"__EventCombination_initializer_Init_autoRun") +call Icx(function pvx,"s"+"__Announcement_Allocation__allocInit_autoRun") call Icx(function pex,"s"+"__GameMessage_Allocation__allocInit_autoRun") +call Icx(function pxx,"s"+"__CineFilter_Allocation__allocInit_autoRun") call Icx(function pox,"s"+"__FolderGame_StructFloatState_Allocation__allocInit_autoRun") +call Icx(function prx,"s"+"__FolderGame_StructTimeOfDay_Allocation__allocInit_autoRun") call Icx(function pAx,"s"+"__Game_initializer_Init_autoRun") +call Icx(function pNx,"s"+"__PingColor_Allocation__allocInit_autoRun") call Icx(function pbx,"s"+"__Ping_Allocation__allocInit_autoRun") call Icx(function pBx,"s"+"__FolderGroup_StructRefs_Allocation__allocInit_autoRun") call Icx(function pcx,"s"+"__FolderGroup_StructCountUnits_Allocation__allocInit_autoRun") call Icx(function pCx,"s"+"__FolderGroup_StructNearestUnit_Allocation__allocInit_autoRun") call Icx(function pdx,"s"+"__FolderGroup_StructOrder_Allocation__allocInit_autoRun") +call Icx(function pDx,"s"+"__FolderGroup_StructRandomUnit_Allocation__allocInit_autoRun") call Icx(function pfx,"s"+"__FolderGroup_FolderEnumUnits_FolderInLine_StructWithCollision_Allocation__allocInit_autoRun") call Icx(function pFx,"s"+"__FolderGroup_FolderEnumUnits_StructInLine_Allocation__allocInit_autoRun") call Icx(function pgx,"s"+"__FolderGroup_FolderEnumUnits_FolderInRange_StructWithCollision_Allocation__allocInit_autoRun") call Icx(function pGx,"s"+"__FolderGroup_FolderEnumUnits_StructInRange_Allocation__allocInit_autoRun") call Icx(function phx,"s"+"__FolderGroup_FolderEnumUnits_FolderInRect_StructWithCollision_Allocation__allocInit_autoRun") call Icx(function pHx,"s"+"__FolderGroup_FolderEnumUnits_StructInRect_Allocation__allocInit_autoRun") call Icx(function pjx,"s"+"__FolderGroup_StructEnumUnits_Allocation__allocInit_autoRun") +call Icx(function pJx,"s"+"__Group_Allocation__allocInit_autoRun") call Icx(function PDx,"s"+"__Group_initializer_Init_autoRun") call Icx(function Pfx,"s"+"__FolderUnitList_StructId_Allocation__allocInit_autoRun") +call Icx(function PFx,"s"+"__FolderUnitList_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function Pgx,"s"+"__FolderUnitList_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function PGx,"s"+"__FolderUnitList_StructData_Allocation__allocInit_autoRun") call Icx(function Phx,"s"+"__FolderUnitList_StructRefs_Allocation__allocInit_autoRun") call Icx(function PHx,"s"+"__UnitList_Allocation__allocInit_autoRun") call Icx(function Pjx,"s"+"__FolderItemClass_StructId_Allocation__allocInit_autoRun") call Icx(function PJx,"s"+"__FolderItemClass_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function Pkx,"s"+"__FolderItemClass_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function PKx,"s"+"__FolderItemClass_StructData_Allocation__allocInit_autoRun") call Icx(function Plx,"s"+"__ItemClass_Allocation__allocInit_autoRun") call Icx(function PLx,"s"+"__FolderItem_StructId_Allocation__allocInit_autoRun") +call Icx(function Pmx,"s"+"__FolderItem_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call Icx(function PMx,"s"+"__FolderItem_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function Ppx,"s"+"__FolderItem_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function PPx,"s"+"__FolderItem_StructData_Allocation__allocInit_autoRun") call Icx(function Pqx,"s"+"__FolderItem_FolderEvent_StructNative_Allocation__allocInit_autoRun") +call Icx(function PQx,"s"+"__FolderItem_StructEvent_Allocation__allocInit_autoRun") call Icx(function Psx,"s"+"__FolderItem_StructClasses_Allocation__allocInit_autoRun") call Icx(function PSx,"s"+"__FolderItem_StructType_Allocation__allocInit_autoRun") call Icx(function Ptx,"s"+"__FolderItem_StructAbilities_Allocation__allocInit_autoRun") call Icx(function PTx,"s"+"__FolderItem_StructChargesAmount_Allocation__allocInit_autoRun") call Icx(function Pux,"s"+"__FolderItem_StructPosition_Allocation__allocInit_autoRun") call Icx(function PUx,"s"+"__Item_Allocation__allocInit_autoRun") call Icx(function P6x,"s"+"__Item_initializer_Init_autoRun") +call Icx(function P7x,"s"+"__FolderItemType_StructId_Allocation__allocInit_autoRun") +call Icx(function P8x,"s"+"__FolderItemType_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call Icx(function P9x,"s"+"__FolderItemType_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function qvx,"s"+"__FolderItemType_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function qex,"s"+"__FolderItemType_StructData_Allocation__allocInit_autoRun") call Icx(function qxx,"s"+"__FolderItemType_StructEvent_Allocation__allocInit_autoRun") call Icx(function qox,"s"+"__FolderItemType_StructAbilities_Allocation__allocInit_autoRun") call Icx(function qrx,"s"+"__FolderItemType_StructChargesAmount_Allocation__allocInit_autoRun") call Icx(function qix,"s"+"__FolderItemType_StructClasses_Allocation__allocInit_autoRun") call Icx(function qax,"s"+"__FolderItemType_StructPreload_Allocation__allocInit_autoRun") call Icx(function qnx,"s"+"__FolderItemType_StructUsageGoldCost_Allocation__allocInit_autoRun") call Icx(function qVx,"s"+"__ItemType_objInits_autoRun") +call Icx(function qEx,"s"+"__ItemType_Allocation__allocInit_autoRun") call Icx(function qXx,"s"+"__LightningType_Allocation__allocInit_autoRun") call Icx(function qOx,"s"+"__FolderLightning_StructId_Allocation__allocInit_autoRun") call Icx(function qRx,"s"+"__FolderLightning_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function qIx,"s"+"__FolderLightning_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function qAx,"s"+"__FolderLightning_StructData_Allocation__allocInit_autoRun") call Icx(function qNx,"s"+"__FolderLightning_StructEvent_Allocation__allocInit_autoRun") +call Icx(function qbx,"s"+"__FolderLightning_FolderColor_StructRed_Allocation__allocInit_autoRun") call Icx(function qBx,"s"+"__FolderLightning_FolderColor_StructGreen_Allocation__allocInit_autoRun") +call Icx(function qcx,"s"+"__FolderLightning_FolderColor_StructBlue_Allocation__allocInit_autoRun") call Icx(function qCx,"s"+"__FolderLightning_FolderColor_StructAlpha_Allocation__allocInit_autoRun") +call Icx(function qdx,"s"+"__FolderLightning_FolderColor_StructTimed_Allocation__allocInit_autoRun") +call Icx(function qDx,"s"+"__FolderLightning_StructColor_Allocation__allocInit_autoRun") +call Icx(function qfx,"s"+"__FolderLightning_StructFromDummyUnitToUnit_Allocation__allocInit_autoRun") call Icx(function qFx,"s"+"__FolderLightning_StructFromSpotToDummyUnit_Allocation__allocInit_autoRun") call Icx(function qgx,"s"+"__FolderLightning_StructFromSpotToSpot_Allocation__allocInit_autoRun") call Icx(function qGx,"s"+"__FolderLightning_StructFromSpotToUnit_Allocation__allocInit_autoRun") call Icx(function qhx,"s"+"__FolderLightning_StructFromUnitToUnit_Allocation__allocInit_autoRun") call Icx(function qHx,"s"+"__FolderLightning_StructDestroyTimed_Allocation__allocInit_autoRun") call Icx(function qjx,"s"+"__Lightning_Allocation__allocInit_autoRun") call Icx(function Qbx,"s"+"__Lightning_initializer_Init_autoRun") call Icx(function QBx,"s"+"__LoadingEx_objInits_autoRun") call Icx(function Qcx,"s"+"__LoadingEx_Allocation__allocInit_autoRun") call Icx(function QCx,"s"+"__AIAutoCast_Allocation__allocInit_autoRun") call Icx(function Qpx,"s"+"__AIAutoCast_initializer_Init_autoRun") call Icx(function QPx,"s"+"__AICastSpell_Allocation__allocInit_autoRun") +call Icx(function QTx,"s"+"__AICastSpell_initializer_Init_autoRun") call Icx(function Qux,"s"+"__CustomDrop_Allocation__allocInit_autoRun") call Icx(function QUx,"s"+"__FolderDummyUnit_StructId_Allocation__allocInit_autoRun") call Icx(function Qwx,"s"+"__FolderDummyUnit_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function QWx,"s"+"__FolderDummyUnit_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function Qyx,"s"+"__FolderDummyUnit_StructData_Allocation__allocInit_autoRun") call Icx(function QYx,"s"+"__FolderDummyUnit_FolderEvent_StructNative_Allocation__allocInit_autoRun") call Icx(function Qzx,"s"+"__FolderDummyUnit_StructEvent_Allocation__allocInit_autoRun") +call Icx(function QZx,"s"+"__FolderDummyUnit_StructAbilities_Allocation__allocInit_autoRun") +call Icx(function Q_x,"s"+"__FolderDummyUnit_StructAnimation_Allocation__allocInit_autoRun") +call Icx(function Q0x,"s"+"__FolderDummyUnit_StructDestroyTimed_Allocation__allocInit_autoRun") call Icx(function Q1x,"s"+"__FolderDummyUnit_StructDestruction_Allocation__allocInit_autoRun") call Icx(function Q2x,"s"+"__FolderDummyUnit_StructFacing_Allocation__allocInit_autoRun") call Icx(function Q3x,"s"+"__FolderDummyUnit_StructPlayerColor_Allocation__allocInit_autoRun") call Icx(function Q4x,"s"+"__FolderDummyUnit_StructOrder_Allocation__allocInit_autoRun") +call Icx(function Q5x,"s"+"__FolderDummyUnit_StructOwner_Allocation__allocInit_autoRun") +call Icx(function Q6x,"s"+"__FolderDummyUnit_FolderPosition_StructX_Allocation__allocInit_autoRun") call Icx(function Q7x,"s"+"__FolderDummyUnit_FolderPosition_StructY_Allocation__allocInit_autoRun") call Icx(function Q8x,"s"+"__FolderDummyUnit_FolderPosition_StructZ_Allocation__allocInit_autoRun") call Icx(function Q9x,"s"+"__FolderDummyUnit_StructPosition_Allocation__allocInit_autoRun") call Icx(function svx,"s"+"__FolderDummyUnit_StructFollowDummyUnit_Allocation__allocInit_autoRun") call Icx(function sex,"s"+"__FolderDummyUnit_StructFollowUnit_Allocation__allocInit_autoRun") call Icx(function sxx,"s"+"__FolderDummyUnit_StructRotate_Allocation__allocInit_autoRun") call Icx(function sox,"s"+"__FolderDummyUnit_FolderScale_StructTimed_Allocation__allocInit_autoRun") +call Icx(function srx,"s"+"__FolderDummyUnit_StructScale_Allocation__allocInit_autoRun") +call Icx(function six,"s"+"__FolderDummyUnit_FolderVertexColor_StructRed_Allocation__allocInit_autoRun") +call Icx(function sax,"s"+"__FolderDummyUnit_FolderVertexColor_StructGreen_Allocation__allocInit_autoRun") call Icx(function snx,"s"+"__FolderDummyUnit_FolderVertexColor_StructBlue_Allocation__allocInit_autoRun") call Icx(function sVx,"s"+"__FolderDummyUnit_FolderVertexColor_StructAlpha_Allocation__allocInit_autoRun") call Icx(function sEx,"s"+"__FolderDummyUnit_FolderVertexColor_StructTimed_Allocation__allocInit_autoRun") call Icx(function sXx,"s"+"__FolderDummyUnit_StructVertexColor_Allocation__allocInit_autoRun") call Icx(function sDx,"s"+"__DummyUnit_objInits_autoRun") call Icx(function sFx,"s"+"__DummyUnit_Allocation__allocInit_autoRun") call Icx(function sgx,"s"+"__TargetFlag_Allocation__allocInit_autoRun") call Icx(function sGx,"s"+"__Misc_Allocation__allocInit_autoRun") call Icx(function s_x,"s"+"__Misc_initializer_Init_autoRun") +call Icx(function s0x,"s"+"__FolderMissileCheckpoint_StructId_Allocation__allocInit_autoRun") call Icx(function s1x,"s"+"__FolderMissileCheckpoint_FolderData_StructBoolean_Allocation__allocInit_autoRun") call Icx(function s2x,"s"+"__FolderMissileCheckpoint_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function s3x,"s"+"__FolderMissileCheckpoint_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function s4x,"s"+"__FolderMissileCheckpoint_StructData_Allocation__allocInit_autoRun") call Icx(function s5x,"s"+"__MissileCheckpoint_Allocation__allocInit_autoRun") call Icx(function s6x,"s"+"__FolderMissile_StructId_Allocation__allocInit_autoRun") call Icx(function s7x,"s"+"__FolderMissile_FolderData_StructBoolean_Allocation__allocInit_autoRun") call Icx(function s8x,"s"+"__FolderMissile_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function s9x,"s"+"__FolderMissile_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function Svx,"s"+"__FolderMissile_StructData_Allocation__allocInit_autoRun") call Icx(function Sex,"s"+"__FolderMissile_StructEvent_Allocation__allocInit_autoRun") call Icx(function Sxx,"s"+"__FolderMissile_StructArc_Allocation__allocInit_autoRun") +call Icx(function Sox,"s"+"__FolderMissile_StructImpact_Allocation__allocInit_autoRun") call Icx(function Srx,"s"+"__FolderMissile_StructCollisionSize_Allocation__allocInit_autoRun") call Icx(function Six,"s"+"__FolderMissile_StructDummyUnit_Allocation__allocInit_autoRun") call Icx(function Sax,"s"+"__FolderMissile_StructAngle_Allocation__allocInit_autoRun") call Icx(function Snx,"s"+"__FolderMissile_FolderPosition_StructX_Allocation__allocInit_autoRun") call Icx(function SVx,"s"+"__FolderMissile_FolderPosition_StructY_Allocation__allocInit_autoRun") call Icx(function SEx,"s"+"__FolderMissile_FolderPosition_StructZ_Allocation__allocInit_autoRun") call Icx(function SXx,"s"+"__FolderMissile_StructPosition_Allocation__allocInit_autoRun") call Icx(function SOx,"s"+"__FolderMissile_StructUpdateTime_Allocation__allocInit_autoRun") call Icx(function SRx,"s"+"__FolderMissile_StructAcceleration_Allocation__allocInit_autoRun") call Icx(function SIx,"s"+"__FolderMissile_StructSpeed_Allocation__allocInit_autoRun") call Icx(function SAx,"s"+"__FolderMissile_StructGoToSpot_Allocation__allocInit_autoRun") call Icx(function SNx,"s"+"__FolderMissile_StructCheckpoints_Allocation__allocInit_autoRun") +call Icx(function Sbx,"s"+"__FolderMissile_StructGoToUnit_Allocation__allocInit_autoRun") call Icx(function SBx,"s"+"__Missile_Allocation__allocInit_autoRun") +call Icx(function tix,"s"+"__Missile_initializer_Init_autoRun") call Icx(function tax,"s"+"__MultiboardItem_Allocation__allocInit_autoRun") call Icx(function tnx,"s"+"__FolderMultiboard_StructColumn_Allocation__allocInit_autoRun") call Icx(function tVx,"s"+"__FolderMultiboard_StructColumnSpan_Allocation__allocInit_autoRun") call Icx(function tEx,"s"+"__FolderMultiboard_StructRow_Allocation__allocInit_autoRun") call Icx(function tXx,"s"+"__FolderMultiboard_StructTitle_Allocation__allocInit_autoRun") call Icx(function tOx,"s"+"__FolderMultiboard_FolderShown_FolderControl_StructPageSwitch_Allocation__allocInit_autoRun") +call Icx(function tRx,"s"+"__FolderMultiboard_FolderShown_StructControl_Allocation__allocInit_autoRun") call Icx(function tIx,"s"+"__FolderMultiboard_StructShown_Allocation__allocInit_autoRun") call Icx(function tAx,"s"+"__Multiboard_Allocation__allocInit_autoRun") call Icx(function uSx,"s"+"__Multiboard_initializer_Init_autoRun") call Icx(function utx,"s"+"__FolderOrder_StructId_Allocation__allocInit_autoRun") call Icx(function uTx,"s"+"__FolderOrder_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function uux,"s"+"__FolderOrder_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function uUx,"s"+"__FolderOrder_StructData_Allocation__allocInit_autoRun") call Icx(function uwx,"s"+"__FolderOrder_FolderEvent_StructNative_Allocation__allocInit_autoRun") call Icx(function uWx,"s"+"__FolderOrder_StructEvent_Allocation__allocInit_autoRun") +call Icx(function uyx,"s"+"__Order_Allocation__allocInit_autoRun") call Icx(function u1x,"s"+"__Order_initializer_Init_autoRun") call Icx(function u2x,"s"+"__FolderOrderInstance_StructRefs_Allocation__allocInit_autoRun") call Icx(function u3x,"s"+"__OrderInstance_Allocation__allocInit_autoRun") call Icx(function Ubx,"s"+"__AILetOff_objInits_autoRun") +call Icx(function UBx,"s"+"__AILetOff_Allocation__allocInit_autoRun") call Icx(function Uqx,"s"+"__AILetOff_initializer_Init_autoRun") +call Icx(function UQx,"s"+"__FolderReal_StructEvent_Allocation__allocInit_autoRun") call Icx(function Usx,"s"+"__FolderString_StructColor_Allocation__allocInit_autoRun") call Icx(function Uyx,"s"+"__Primitive_initializer_Init_autoRun") call Icx(function UYx,"s"+"__FolderRectangle_StructId_Allocation__allocInit_autoRun") call Icx(function Uzx,"s"+"__FolderRectangle_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function UZx,"s"+"__FolderRectangle_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function U_x,"s"+"__FolderRectangle_StructData_Allocation__allocInit_autoRun") call Icx(function U0x,"s"+"__Rectangle_Allocation__allocInit_autoRun") call Icx(function U1x,"s"+"__FolderRegion_StructId_Allocation__allocInit_autoRun") call Icx(function U2x,"s"+"__FolderRegion_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function U3x,"s"+"__FolderRegion_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function U4x,"s"+"__FolderRegion_StructData_Allocation__allocInit_autoRun") +call Icx(function U5x,"s"+"__FolderRegion_FolderEvent_StructNative_Allocation__allocInit_autoRun") call Icx(function U6x,"s"+"__FolderRegion_StructEvent_Allocation__allocInit_autoRun") call Icx(function U7x,"s"+"__Region_Allocation__allocInit_autoRun") call Icx(function wvx,"s"+"__Region_initializer_Init_autoRun") call Icx(function wex,"s"+"__Music_Allocation__allocInit_autoRun") call Icx(function wxx,"s"+"__SoundChannel_Allocation__allocInit_autoRun") call Icx(function wox,"s"+"__SoundEax_Allocation__allocInit_autoRun") call Icx(function wrx,"s"+"__SoundType_Allocation__allocInit_autoRun") call Icx(function wix,"s"+"__Sound_Allocation__allocInit_autoRun") call Icx(function wFx,"s"+"__Sound_initializer_Init_autoRun") call Icx(function wgx,"s"+"__UnitSound_Allocation__allocInit_autoRun") call Icx(function wkx,"s"+"__HeroSpell_objInits_autoRun") call Icx(function wKx,"s"+"__HeroSpell_Allocation__allocInit_autoRun") call Icx(function wlx,"s"+"__SpellClass_Allocation__allocInit_autoRun") call Icx(function wLx,"s"+"__FolderSpell_StructId_Allocation__allocInit_autoRun") call Icx(function wmx,"s"+"__FolderSpell_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function wMx,"s"+"__FolderSpell_FolderData_StructBoolean_Allocation__allocInit_autoRun") call Icx(function wpx,"s"+"__FolderSpell_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function wPx,"s"+"__FolderSpell_FolderData_StructReal_Allocation__allocInit_autoRun") call Icx(function wqx,"s"+"__FolderSpell_StructData_Allocation__allocInit_autoRun") call Icx(function wQx,"s"+"__FolderSpell_FolderEvent_StructNative_Allocation__allocInit_autoRun") call Icx(function wsx,"s"+"__FolderSpell_StructEvent_Allocation__allocInit_autoRun") +call Icx(function wSx,"s"+"__Spell_objInits_autoRun") call Icx(function wtx,"s"+"__Spell_Allocation__allocInit_autoRun") call Icx(function Wax,"s"+"__Spell_initializer_Init_autoRun") call Icx(function Wnx,"s"+"__FolderSpellInstance_StructRefs_Allocation__allocInit_autoRun") call Icx(function WVx,"s"+"__SpellInstance_Allocation__allocInit_autoRun") call Icx(function WEx,"s"+"__FolderSpot_FolderEvent_StructNative_Allocation__allocInit_autoRun") +call Icx(function WXx,"s"+"__FolderSpot_StructEvent_Allocation__allocInit_autoRun") call Icx(function WOx,"s"+"__FolderSpot_StructBlockCheck_objInits_autoRun") call Icx(function WRx,"s"+"__FolderSpot_StructBlockCheck_Allocation__allocInit_autoRun") +call Icx(function WIx,"s"+"__FolderSpot_StructDeformNova_Allocation__allocInit_autoRun") +call Icx(function WAx,"s"+"__Spot_Allocation__allocInit_autoRun") call Icx(function WDx,"s"+"__Spot_initializer_Init_autoRun") +call Icx(function Wfx,"s"+"__FolderStringData_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function WFx,"s"+"__FolderStringData_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function Wgx,"s"+"__FolderStringData_StructData_Allocation__allocInit_autoRun") +call Icx(function WGx,"s"+"__FolderStringData_FolderEvent_StructNative_Allocation__allocInit_autoRun") call Icx(function Whx,"s"+"__FolderStringData_StructEvent_Allocation__allocInit_autoRun") call Icx(function WHx,"s"+"__StringData_Allocation__allocInit_autoRun") call Icx(function WJx,"s"+"__StringData_initializer_Init_autoRun") call Icx(function WWx,"s"+"__TileType_objInits_autoRun") +call Icx(function Wyx,"s"+"__TileType_Allocation__allocInit_autoRun") call Icx(function Wzx,"s"+"__TileType_initializer_Init_autoRun") +call Icx(function WZx,"s"+"__FolderTile_StructType_Allocation__allocInit_autoRun") call Icx(function W_x,"s"+"__Tile_Allocation__allocInit_autoRun") call Icx(function W1x,"s"+"__Tile_initializer_Init_autoRun") +call Icx(function W2x,"s"+"__FolderTileTypeMod_StructDestroyTimed_Allocation__allocInit_autoRun") call Icx(function W3x,"s"+"__TileTypeMod_Allocation__allocInit_autoRun") +call Icx(function W5x,"s"+"__TileTypeMod_initializer_Init_autoRun") call Icx(function yex,"s"+"__UbersplatType_objInits_autoRun") call Icx(function yxx,"s"+"__UbersplatType_Allocation__allocInit_autoRun") call Icx(function yox,"s"+"__FolderUbersplat_StructId_Allocation__allocInit_autoRun") call Icx(function yrx,"s"+"__FolderUbersplat_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function yix,"s"+"__FolderUbersplat_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function yax,"s"+"__FolderUbersplat_StructData_Allocation__allocInit_autoRun") call Icx(function ynx,"s"+"__FolderUbersplat_StructEvent_Allocation__allocInit_autoRun") +call Icx(function yVx,"s"+"__FolderUbersplat_StructDestroyTimed_Allocation__allocInit_autoRun") call Icx(function yEx,"s"+"__FolderUbersplat_FolderColor_StructRed_Allocation__allocInit_autoRun") call Icx(function yXx,"s"+"__FolderUbersplat_FolderColor_StructGreen_Allocation__allocInit_autoRun") +call Icx(function yOx,"s"+"__FolderUbersplat_FolderColor_StructBlue_Allocation__allocInit_autoRun") call Icx(function yRx,"s"+"__FolderUbersplat_FolderColor_StructAlpha_Allocation__allocInit_autoRun") +call Icx(function yIx,"s"+"__FolderUbersplat_FolderColor_StructTimed_Allocation__allocInit_autoRun") +call Icx(function yAx,"s"+"__FolderUbersplat_StructColor_Allocation__allocInit_autoRun") +call Icx(function yNx,"s"+"__FolderUbersplat_FolderPosition_StructX_Allocation__allocInit_autoRun") call Icx(function ybx,"s"+"__FolderUbersplat_FolderPosition_StructY_Allocation__allocInit_autoRun") call Icx(function yBx,"s"+"__FolderUbersplat_StructPosition_Allocation__allocInit_autoRun") call Icx(function ycx,"s"+"__Ubersplat_Allocation__allocInit_autoRun") call Icx(function yKx,"s"+"__Ubersplat_initializer_Init_autoRun") call Icx(function ylx,"s"+"__FolderTextTag_StructColor_Allocation__allocInit_autoRun") call Icx(function yLx,"s"+"__FolderTextTag_StructPosition_Allocation__allocInit_autoRun") call Icx(function ymx,"s"+"__FolderTextTag_StructText_Allocation__allocInit_autoRun") call Icx(function yMx,"s"+"__FolderTextTag_StructCreateJumping_Allocation__allocInit_autoRun") call Icx(function ypx,"s"+"__FolderTextTag_StructCreateMoving_Allocation__allocInit_autoRun") call Icx(function yPx,"s"+"__FolderTextTag_StructCreateRising_Allocation__allocInit_autoRun") call Icx(function yqx,"s"+"__FolderTextTag_FolderFadingOut_StructDelay_Allocation__allocInit_autoRun") call Icx(function yQx,"s"+"__FolderTextTag_StructFadingOut_Allocation__allocInit_autoRun") call Icx(function ysx,"s"+"__TextTag_Allocation__allocInit_autoRun") +call Icx(function ytx,"s"+"__TextTag_initializer_Init_autoRun") call Icx(function yTx,"s"+"__TimerDialog_Allocation__allocInit_autoRun") +call Icx(function yux,"s"+"__FolderTriggerTimer_StructId_Allocation__allocInit_autoRun") +call Icx(function yUx,"s"+"__FolderTriggerTimer_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function ywx,"s"+"__FolderTriggerTimer_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function yWx,"s"+"__FolderTriggerTimer_StructData_Allocation__allocInit_autoRun") call Icx(function yyx,"s"+"__TriggerTimer_Allocation__allocInit_autoRun") call Icx(function yYx,"s"+"__FolderTimer_StructId_Allocation__allocInit_autoRun") call Icx(function yzx,"s"+"__FolderTimer_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function yZx,"s"+"__FolderTimer_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function y_x,"s"+"__FolderTimer_StructData_Allocation__allocInit_autoRun") call Icx(function y0x,"s"+"__Timer_Allocation__allocInit_autoRun") call Icx(function y4x,"s"+"__Timer_initializer_Init_autoRun") call Icx(function y5x,"s"+"__FolderTrigger_StructId_Allocation__allocInit_autoRun") call Icx(function y6x,"s"+"__FolderTrigger_FolderData_StructBoolean_Allocation__allocInit_autoRun") call Icx(function y7x,"s"+"__FolderTrigger_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function y8x,"s"+"__FolderTrigger_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function y9x,"s"+"__FolderTrigger_StructData_Allocation__allocInit_autoRun") call Icx(function Yvx,"s"+"__FolderTrigger_FolderEvent_StructNative_Allocation__allocInit_autoRun") call Icx(function Yex,"s"+"__FolderTrigger_StructEvent_Allocation__allocInit_autoRun") call Icx(function Yxx,"s"+"__FolderTrigger_StructRegisterEvent_Allocation__allocInit_autoRun") call Icx(function Yox,"s"+"__Trigger_Allocation__allocInit_autoRun") +call Icx(function Ynx,"s"+"__Trigger_initializer_Init_autoRun") call Icx(function YVx,"s"+"__KnockbackAccelerated_Allocation__allocInit_autoRun") call Icx(function YEx,"s"+"__Knockback_Allocation__allocInit_autoRun") call Icx(function YXx,"s"+"__TranslationAccelerated_Allocation__allocInit_autoRun") call Icx(function YOx,"s"+"__Translation_Allocation__allocInit_autoRun") +call Icx(function YHx,"s"+"__FolderBJUnit_FolderArmor_StructBonus_objInits_autoRun") +call Icx(function Yjx,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Allocation__allocInit_autoRun") call Icx(function YJx,"s"+"__FolderBJUnit_StructArmor_Allocation__allocInit_autoRun") call Icx(function YZx,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_objInits_autoRun") call Icx(function Y_x,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Allocation__allocInit_autoRun") call Icx(function Y0x,"s"+"__FolderBJUnit_FolderAttack_StructSpeed_Allocation__allocInit_autoRun") call Icx(function Y2x,"s"+"__FolderBJUnit_StructAttack_objInits_autoRun") call Icx(function Y3x,"s"+"__FolderBJUnit_StructAttack_Allocation__allocInit_autoRun") call Icx(function zEx,"s"+"__FolderBJUnit_FolderDamage_StructBonus_objInits_autoRun") call Icx(function zXx,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Allocation__allocInit_autoRun") call Icx(function zux,"s"+"__FolderBJUnit_StructDamage_objInits_autoRun") call Icx(function zUx,"s"+"__FolderBJUnit_StructDamage_Allocation__allocInit_autoRun") call Icx(function zWx,"s"+"__FolderBJUnit_StructMovement_objInits_autoRun") call Icx(function zyx,"s"+"__FolderBJUnit_StructMovement_Allocation__allocInit_autoRun") +call Icx(function Zex,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_objInits_autoRun") call Icx(function Zxx,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Allocation__allocInit_autoRun") call Icx(function Zox,"s"+"__FolderBJUnit_FolderHero_StructAgility_Allocation__allocInit_autoRun") call Icx(function ZCx,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_objInits_autoRun") call Icx(function Zdx,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Allocation__allocInit_autoRun") +call Icx(function ZDx,"s"+"__FolderBJUnit_FolderHero_StructIntelligence_Allocation__allocInit_autoRun") call Icx(function ZPx,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_objInits_autoRun") call Icx(function Zqx,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Allocation__allocInit_autoRun") +call Icx(function ZQx,"s"+"__FolderBJUnit_FolderHero_StructStrength_Allocation__allocInit_autoRun") call Icx(function Zsx,"s"+"__FolderBJUnit_StructHero_Allocation__allocInit_autoRun") +call Icx(function Zux,"s"+"__BJUnit_objInits_autoRun") call Icx(function ZUx,"s"+"__UnitAttackSplash_Allocation__allocInit_autoRun") call Icx(function Zwx,"s"+"__FolderUnitClass_StructId_Allocation__allocInit_autoRun") call Icx(function ZWx,"s"+"__FolderUnitClass_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function Zyx,"s"+"__FolderUnitClass_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function ZYx,"s"+"__FolderUnitClass_StructData_Allocation__allocInit_autoRun") call Icx(function Zzx,"s"+"__UnitClass_Allocation__allocInit_autoRun") call Icx(function ZZx,"s"+"__FolderUnitTypePool_StructId_Allocation__allocInit_autoRun") +call Icx(function Z_x,"s"+"__FolderUnitTypePool_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function Z0x,"s"+"__FolderUnitTypePool_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function Z1x,"s"+"__FolderUnitTypePool_FolderData_StructReal_Allocation__allocInit_autoRun") call Icx(function Z2x,"s"+"__FolderUnitTypePool_StructData_Allocation__allocInit_autoRun") call Icx(function Z3x,"s"+"__UnitTypePool_Allocation__allocInit_autoRun") call Icx(function Z4x,"s"+"__FolderUnit_StructId_Allocation__allocInit_autoRun") +call Icx(function Z5x,"s"+"__FolderUnit_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call Icx(function Z6x,"s"+"__FolderUnit_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function Z7x,"s"+"__FolderUnit_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function Z8x,"s"+"__FolderUnit_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call Icx(function Z9x,"s"+"__FolderUnit_FolderData_StructReal_Allocation__allocInit_autoRun") call Icx(function vvo,"s"+"__FolderUnit_StructData_Allocation__allocInit_autoRun") call Icx(function veo,"s"+"__FolderUnit_FolderEvent_StructCombination_Allocation__allocInit_autoRun") call Icx(function vxo,"s"+"__FolderUnit_FolderEvent_StructCounted_Allocation__allocInit_autoRun") call Icx(function voo,"s"+"__FolderUnit_FolderEvent_StructNative_Allocation__allocInit_autoRun") +call Icx(function vro,"s"+"__FolderUnit_StructEvent_Allocation__allocInit_autoRun") call Icx(function vio,"s"+"__FolderUnit_FolderAbilities_StructCooldown_Allocation__allocInit_autoRun") call Icx(function vao,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructBegin_Allocation__allocInit_autoRun") +call Icx(function vRo,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_objInits_autoRun") call Icx(function vIo,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Allocation__allocInit_autoRun") call Icx(function v4o,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_initializer_Buff_Init_autoRun") call Icx(function v9o,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructEffect_objInits_autoRun") +call Icx(function evo,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructEffect_Allocation__allocInit_autoRun") call Icx(function eeo,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructFinish_Allocation__allocInit_autoRun") call Icx(function exo,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructLearn_Allocation__allocInit_autoRun") +call Icx(function eoo,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructUnlearn_Allocation__allocInit_autoRun") call Icx(function ero,"s"+"__FolderUnit_FolderAbilities_StructEvents_Allocation__allocInit_autoRun") +call Icx(function eio,"s"+"__FolderUnit_FolderAbilities_StructAutoCast_Allocation__allocInit_autoRun") call Icx(function eao,"s"+"__FolderUnit_StructAbilities_Allocation__allocInit_autoRun") call Icx(function eno,"s"+"__FolderUnit_StructEffects_Allocation__allocInit_autoRun") call Icx(function eVo,"s"+"__FolderUnit_StructSounds_Allocation__allocInit_autoRun") +call Icx(function eEo,"s"+"__FolderUnit_StructAttachments_Allocation__allocInit_autoRun") call Icx(function eXo,"s"+"__FolderUnit_FolderBuffs_FolderEvents_StructChangeLevel_Allocation__allocInit_autoRun") call Icx(function eOo,"s"+"__FolderUnit_FolderBuffs_FolderEvents_StructGain_Allocation__allocInit_autoRun") call Icx(function eRo,"s"+"__FolderUnit_FolderBuffs_FolderEvents_StructLose_Allocation__allocInit_autoRun") call Icx(function eIo,"s"+"__FolderUnit_FolderBuffs_StructEvents_Allocation__allocInit_autoRun") +call Icx(function eAo,"s"+"__FolderUnit_FolderBuffs_FolderTimed_StructCountdown_Allocation__allocInit_autoRun") call Icx(function eNo,"s"+"__FolderUnit_FolderBuffs_StructTimed_Allocation__allocInit_autoRun") call Icx(function ebo,"s"+"__FolderUnit_StructBuffs_Allocation__allocInit_autoRun") call Icx(function eBo,"s"+"__FolderUnit_StructModSets_Allocation__allocInit_autoRun") call Icx(function eco,"s"+"__FolderUnit_FolderItems_FolderEvents_StructGain_Allocation__allocInit_autoRun") call Icx(function eCo,"s"+"__FolderUnit_FolderItems_FolderEvents_StructLose_Allocation__allocInit_autoRun") call Icx(function edo,"s"+"__FolderUnit_FolderItems_FolderEvents_StructMoveInInventory_Allocation__allocInit_autoRun") call Icx(function eDo,"s"+"__FolderUnit_FolderItems_FolderEvents_StructSell_Allocation__allocInit_autoRun") call Icx(function efo,"s"+"__FolderUnit_FolderItems_FolderEvents_StructUse_Allocation__allocInit_autoRun") call Icx(function eFo,"s"+"__FolderUnit_FolderItems_StructEvents_Allocation__allocInit_autoRun") +call Icx(function ego,"s"+"__FolderUnit_StructItems_Allocation__allocInit_autoRun") call Icx(function eGo,"s"+"__FolderUnit_StructClasses_Allocation__allocInit_autoRun") call Icx(function eJo,"s"+"__FolderUnit_StructType_objInits_autoRun") call Icx(function eko,"s"+"__FolderUnit_StructType_Allocation__allocInit_autoRun") call Icx(function eKo,"s"+"__FolderUnit_StructColor_Allocation__allocInit_autoRun") call Icx(function elo,"s"+"__FolderUnit_StructOwner_Allocation__allocInit_autoRun") call Icx(function eLo,"s"+"__FolderUnit_FolderArmor_StructBase_Allocation__allocInit_autoRun") call Icx(function emo,"s"+"__FolderUnit_FolderArmor_FolderBonus_StructDisplayed_Allocation__allocInit_autoRun") call Icx(function eMo,"s"+"__FolderUnit_FolderArmor_StructBonus_Allocation__allocInit_autoRun") call Icx(function epo,"s"+"__FolderUnit_FolderArmor_FolderIgnoreDamage_StructRelative_Allocation__allocInit_autoRun") call Icx(function ePo,"s"+"__FolderUnit_FolderArmor_StructIgnoreDamage_Allocation__allocInit_autoRun") call Icx(function eqo,"s"+"__FolderUnit_FolderArmor_FolderRelative_StructInvisible_Allocation__allocInit_autoRun") call Icx(function eQo,"s"+"__FolderUnit_FolderArmor_StructRelative_Allocation__allocInit_autoRun") call Icx(function eso,"s"+"__FolderUnit_FolderArmor_StructResistance_Allocation__allocInit_autoRun") +call Icx(function eSo,"s"+"__FolderUnit_FolderArmor_StructSpell_Allocation__allocInit_autoRun") call Icx(function eto,"s"+"__FolderUnit_FolderArmor_StructTypeA_Allocation__allocInit_autoRun") call Icx(function eTo,"s"+"__FolderUnit_StructArmor_Allocation__allocInit_autoRun") call Icx(function euo,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructAcquire2_Allocation__allocInit_autoRun") +call Icx(function eUo,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_objInits_autoRun") call Icx(function ewo,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_Allocation__allocInit_autoRun") call Icx(function eWo,"s"+"__FolderUnit_FolderAttack_StructEvents_Allocation__allocInit_autoRun") call Icx(function eyo,"s"+"__FolderUnit_FolderAttack_FolderMissile_StructSpeed_Allocation__allocInit_autoRun") call Icx(function eYo,"s"+"__FolderUnit_FolderAttack_StructMissile_Allocation__allocInit_autoRun") call Icx(function ezo,"s"+"__FolderUnit_FolderAttack_StructRange_Allocation__allocInit_autoRun") +call Icx(function eZo,"s"+"__FolderUnit_FolderAttack_FolderSpeed_StructBaseA_Allocation__allocInit_autoRun") +call Icx(function e_o,"s"+"__FolderUnit_FolderAttack_FolderSpeed_FolderBonusA_StructDisplayedA_Allocation__allocInit_autoRun") call Icx(function e0o,"s"+"__FolderUnit_FolderAttack_FolderSpeed_StructBonusA_Allocation__allocInit_autoRun") call Icx(function e1o,"s"+"__FolderUnit_FolderAttack_StructSpeed_Allocation__allocInit_autoRun") +call Icx(function e2o,"s"+"__FolderUnit_FolderAttack_FolderSplash_StructTargetFlag_Allocation__allocInit_autoRun") call Icx(function e3o,"s"+"__FolderUnit_FolderAttack_StructSplash_Allocation__allocInit_autoRun") call Icx(function e8o,"s"+"__FolderUnit_StructAttack_objInits_autoRun") call Icx(function e9o,"s"+"__FolderUnit_StructAttack_Allocation__allocInit_autoRun") +call Icx(function xoo,"s"+"__FolderUnit_StructAttack_initializer_Buff_Init_autoRun") +call Icx(function xro,"s"+"__FolderUnit_StructBlood_Allocation__allocInit_autoRun") call Icx(function xio,"s"+"__FolderUnit_StructBloodExplosion_Allocation__allocInit_autoRun") +call Icx(function xao,"s"+"__FolderUnit_StructCollisionSize_Allocation__allocInit_autoRun") call Icx(function xno,"s"+"__FolderUnit_FolderCriticalChanceDefense_StructBase_Allocation__allocInit_autoRun") call Icx(function xVo,"s"+"__FolderUnit_FolderCriticalChanceDefense_StructBonus_Allocation__allocInit_autoRun") call Icx(function xEo,"s"+"__FolderUnit_StructCriticalChanceDefense_Allocation__allocInit_autoRun") call Icx(function xXo,"s"+"__FolderUnit_FolderCriticalChance_StructBase_Allocation__allocInit_autoRun") call Icx(function xOo,"s"+"__FolderUnit_FolderCriticalChance_StructBonus_Allocation__allocInit_autoRun") +call Icx(function xRo,"s"+"__FolderUnit_StructCriticalChance_Allocation__allocInit_autoRun") +call Icx(function xAo,"s"+"__FolderUnit_FolderDeath_StructExplosion_objInits_autoRun") call Icx(function xNo,"s"+"__FolderUnit_FolderDeath_StructExplosion_Allocation__allocInit_autoRun") call Icx(function xCo,"s"+"__FolderUnit_FolderDeath_StructExplosion_initializer_Buff_Init_autoRun") call Icx(function xdo,"s"+"__FolderUnit_FolderDeath_StructEvents_Allocation__allocInit_autoRun") +call Icx(function xfo,"s"+"__FolderUnit_FolderDeath_StructProtection_objInits_autoRun") call Icx(function xFo,"s"+"__FolderUnit_FolderDeath_StructProtection_Allocation__allocInit_autoRun") +call Icx(function xHo,"s"+"__FolderUnit_FolderDeath_StructProtection_initializer_Buff_Init_autoRun") +call Icx(function xjo,"s"+"__FolderUnit_StructDeath_Allocation__allocInit_autoRun") call Icx(function xJo,"s"+"__FolderUnit_FolderDecay_StructDuration_Allocation__allocInit_autoRun") call Icx(function xko,"s"+"__FolderUnit_FolderDecay_StructEvents_Allocation__allocInit_autoRun") +call Icx(function xKo,"s"+"__FolderUnit_FolderDecay_StructTimed_Allocation__allocInit_autoRun") call Icx(function xlo,"s"+"__FolderUnit_StructDecay_Allocation__allocInit_autoRun") call Icx(function xmo,"s"+"__FolderUnit_StructDisplay_objInits_autoRun") +call Icx(function xMo,"s"+"__FolderUnit_StructDisplay_Allocation__allocInit_autoRun") call Icx(function xpo,"s"+"__FolderUnit_FolderDrop_StructExp_Allocation__allocInit_autoRun") +call Icx(function xPo,"s"+"__FolderUnit_FolderDrop_StructSupply_Allocation__allocInit_autoRun") call Icx(function xqo,"s"+"__FolderUnit_StructDrop_Allocation__allocInit_autoRun") call Icx(function xQo,"s"+"__FolderUnit_StructEvasion_Allocation__allocInit_autoRun") call Icx(function xso,"s"+"__FolderUnit_FolderEvasionChanceDefense_StructBase_Allocation__allocInit_autoRun") call Icx(function xSo,"s"+"__FolderUnit_FolderEvasionChanceDefense_StructBonus_Allocation__allocInit_autoRun") call Icx(function xto,"s"+"__FolderUnit_StructEvasionChanceDefense_Allocation__allocInit_autoRun") call Icx(function xTo,"s"+"__FolderUnit_FolderEvasionChance_StructBase_Allocation__allocInit_autoRun") call Icx(function xuo,"s"+"__FolderUnit_FolderEvasionChance_StructBonus_Allocation__allocInit_autoRun") call Icx(function xUo,"s"+"__FolderUnit_StructEvasionChance_Allocation__allocInit_autoRun") call Icx(function xwo,"s"+"__FolderUnit_FolderImpact_StructX_Allocation__allocInit_autoRun") +call Icx(function xWo,"s"+"__FolderUnit_FolderImpact_StructY_Allocation__allocInit_autoRun") +call Icx(function xyo,"s"+"__FolderUnit_FolderImpact_StructZ_Allocation__allocInit_autoRun") +call Icx(function xYo,"s"+"__FolderUnit_StructImpact_Allocation__allocInit_autoRun") +call Icx(function xzo,"s"+"__FolderUnit_StructExp_Allocation__allocInit_autoRun") call Icx(function xZo,"s"+"__FolderUnit_FolderOutpact_StructX_Allocation__allocInit_autoRun") call Icx(function x_o,"s"+"__FolderUnit_FolderOutpact_StructY_Allocation__allocInit_autoRun") call Icx(function x0o,"s"+"__FolderUnit_FolderOutpact_StructZ_Allocation__allocInit_autoRun") call Icx(function x1o,"s"+"__FolderUnit_StructOutpact_Allocation__allocInit_autoRun") call Icx(function x2o,"s"+"__FolderUnit_StructLifeLeech_objInits_autoRun") call Icx(function x3o,"s"+"__FolderUnit_StructLifeLeech_Allocation__allocInit_autoRun") call Icx(function x4o,"s"+"__FolderUnit_StructManaLeech_objInits_autoRun") call Icx(function x5o,"s"+"__FolderUnit_StructManaLeech_Allocation__allocInit_autoRun") call Icx(function ovo,"s"+"__FolderUnit_StructInvulnerability_objInits_autoRun") +call Icx(function oeo,"s"+"__FolderUnit_StructInvulnerability_Allocation__allocInit_autoRun") call Icx(function oVo,"s"+"__FolderUnit_StructInvulnerability_initializer_Buff_Init_autoRun") call Icx(function oEo,"s"+"__FolderUnit_FolderDamage_FolderBase_StructDisplayed_Allocation__allocInit_autoRun") call Icx(function oXo,"s"+"__FolderUnit_FolderDamage_StructBase_Allocation__allocInit_autoRun") call Icx(function oOo,"s"+"__FolderUnit_FolderDamage_FolderBonus_StructDisplayed_Allocation__allocInit_autoRun") +call Icx(function oRo,"s"+"__FolderUnit_FolderDamage_StructBonus_Allocation__allocInit_autoRun") +call Icx(function oIo,"s"+"__FolderUnit_FolderDamage_StructDelay_Allocation__allocInit_autoRun") +call Icx(function oAo,"s"+"__FolderUnit_FolderDamage_StructDices_Allocation__allocInit_autoRun") +call Icx(function oNo,"s"+"__FolderUnit_FolderDamage_StructEvents_Allocation__allocInit_autoRun") call Icx(function obo,"s"+"__FolderUnit_FolderDamage_FolderRelative_StructInvisible_Allocation__allocInit_autoRun") call Icx(function oBo,"s"+"__FolderUnit_FolderDamage_StructRelative_Allocation__allocInit_autoRun") call Icx(function oco,"s"+"__FolderUnit_FolderDamage_StructSides_Allocation__allocInit_autoRun") +call Icx(function oCo,"s"+"__FolderUnit_FolderDamage_StructSpellRelative_Allocation__allocInit_autoRun") +call Icx(function odo,"s"+"__FolderUnit_FolderDamage_StructTypeA_Allocation__allocInit_autoRun") +call Icx(function oDo,"s"+"__FolderUnit_StructDamage_Allocation__allocInit_autoRun") +call Icx(function ogo,"s"+"__FolderUnit_FolderMagicImmunity_StructSpellShield_objInits_autoRun") +call Icx(function oGo,"s"+"__FolderUnit_FolderMagicImmunity_StructSpellShield_Allocation__allocInit_autoRun") call Icx(function oJo,"s"+"__FolderUnit_FolderMagicImmunity_StructSpellShield_initializer_Buff_Init_autoRun") call Icx(function olo,"s"+"__FolderUnit_StructMagicImmunity_objInits_autoRun") call Icx(function oLo,"s"+"__FolderUnit_StructMagicImmunity_Allocation__allocInit_autoRun") call Icx(function oPo,"s"+"__FolderUnit_StructMagicImmunity_initializer_Buff_Init_autoRun") call Icx(function oqo,"s"+"__FolderUnit_FolderScale_StructBonus_Allocation__allocInit_autoRun") call Icx(function oQo,"s"+"__FolderUnit_FolderScale_StructTimed_Allocation__allocInit_autoRun") call Icx(function OQo,"s"+"__FolderUnit_StructScale_objInits_autoRun") call Icx(function Oso,"s"+"__FolderUnit_StructScale_Allocation__allocInit_autoRun") call Icx(function OWo,"s"+"__FolderUnit_StructScale_initializer_Buff_Init_autoRun") call Icx(function Oyo,"s"+"__FolderUnit_FolderVertexColor_StructRed_Allocation__allocInit_autoRun") call Icx(function OYo,"s"+"__FolderUnit_FolderVertexColor_StructGreen_Allocation__allocInit_autoRun") call Icx(function Ozo,"s"+"__FolderUnit_FolderVertexColor_StructBlue_Allocation__allocInit_autoRun") +call Icx(function OZo,"s"+"__FolderUnit_FolderVertexColor_StructAlpha_Allocation__allocInit_autoRun") call Icx(function O_o,"s"+"__FolderUnit_FolderVertexColor_StructTimed_Allocation__allocInit_autoRun") call Icx(function O0o,"s"+"__FolderUnit_StructVertexColor_Allocation__allocInit_autoRun") call Icx(function Rxo,"s"+"__FolderUnit_StructCold_objInits_autoRun") call Icx(function Roo,"s"+"__FolderUnit_StructCold_Allocation__allocInit_autoRun") call Icx(function Rno,"s"+"__FolderUnit_StructCold_initializer_Buff_Init_autoRun") call Icx(function RXo,"s"+"__FolderUnit_StructFrost_objInits_autoRun") call Icx(function ROo,"s"+"__FolderUnit_StructFrost_Allocation__allocInit_autoRun") call Icx(function RNo,"s"+"__FolderUnit_StructFrost_initializer_Buff_Init_autoRun") call Icx(function RBo,"s"+"__FolderUnit_FolderInvisibility_StructReveal_objInits_autoRun") call Icx(function Rco,"s"+"__FolderUnit_FolderInvisibility_StructReveal_Allocation__allocInit_autoRun") call Icx(function Rfo,"s"+"__FolderUnit_FolderInvisibility_StructReveal_initializer_Buff_Init_autoRun") call Icx(function Rjo,"s"+"__FolderUnit_StructInvisibility_objInits_autoRun") call Icx(function RJo,"s"+"__FolderUnit_StructInvisibility_Allocation__allocInit_autoRun") call Icx(function Rso,"s"+"__FolderUnit_StructInvisibility_initializer_Buff_Init_autoRun") call Icx(function RTo,"s"+"__FolderUnit_StructGhost_objInits_autoRun") call Icx(function Ruo,"s"+"__FolderUnit_StructGhost_Allocation__allocInit_autoRun") call Icx(function Ryo,"s"+"__FolderUnit_StructGhost_initializer_Buff_Init_autoRun") call Icx(function RYo,"s"+"__FolderUnit_StructHealAbility_Allocation__allocInit_autoRun") call Icx(function Rzo,"s"+"__FolderUnit_FolderMaxLife_StructBase_Allocation__allocInit_autoRun") +call Icx(function RZo,"s"+"__FolderUnit_FolderMaxLife_StructBonus_Allocation__allocInit_autoRun") call Icx(function R_o,"s"+"__FolderUnit_FolderMaxLife_StructRelative_Allocation__allocInit_autoRun") +call Icx(function R2o,"s"+"__FolderUnit_StructMaxLife_objInits_autoRun") +call Icx(function R3o,"s"+"__FolderUnit_StructMaxLife_Allocation__allocInit_autoRun") call Icx(function R4o,"s"+"__FolderUnit_StructLife_Allocation__allocInit_autoRun") call Icx(function R5o,"s"+"__FolderUnit_FolderLifeRegeneration_StructBase_Allocation__allocInit_autoRun") call Icx(function R6o,"s"+"__FolderUnit_FolderLifeRegeneration_StructBonus_Allocation__allocInit_autoRun") call Icx(function R8o,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_objInits_autoRun") call Icx(function R9o,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_Allocation__allocInit_autoRun") +call Icx(function Ioo,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_initializer_Buff_Init_autoRun") +call Icx(function Iro,"s"+"__FolderUnit_FolderLifeRegeneration_StructRelative_Allocation__allocInit_autoRun") call Icx(function Iio,"s"+"__FolderUnit_StructLifeRegeneration_Allocation__allocInit_autoRun") call Icx(function Iao,"s"+"__FolderUnit_FolderMaxMana_StructBase_Allocation__allocInit_autoRun") +call Icx(function Ino,"s"+"__FolderUnit_FolderMaxMana_StructBonus_Allocation__allocInit_autoRun") call Icx(function IVo,"s"+"__FolderUnit_FolderMaxMana_StructRelative_Allocation__allocInit_autoRun") +call Icx(function IOo,"s"+"__FolderUnit_StructMaxMana_objInits_autoRun") +call Icx(function IRo,"s"+"__FolderUnit_StructMaxMana_Allocation__allocInit_autoRun") call Icx(function IIo,"s"+"__FolderUnit_StructMana_Allocation__allocInit_autoRun") call Icx(function IAo,"s"+"__FolderUnit_FolderManaRegeneration_StructBase_Allocation__allocInit_autoRun") call Icx(function INo,"s"+"__FolderUnit_FolderManaRegeneration_StructBonus_Allocation__allocInit_autoRun") call Icx(function IBo,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_objInits_autoRun") call Icx(function Ico,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_Allocation__allocInit_autoRun") +call Icx(function Ifo,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_initializer_Buff_Init_autoRun") +call Icx(function IFo,"s"+"__FolderUnit_FolderManaRegeneration_StructRelative_Allocation__allocInit_autoRun") call Icx(function Igo,"s"+"__FolderUnit_StructManaRegeneration_Allocation__allocInit_autoRun") call Icx(function IGo,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructInterval_Allocation__allocInit_autoRun") call Icx(function Iho,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructEnterRegion_Allocation__allocInit_autoRun") call Icx(function IHo,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructRegion_Allocation__allocInit_autoRun") +call Icx(function Ijo,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructLeaveRegion_Allocation__allocInit_autoRun") call Icx(function IJo,"s"+"__FolderUnit_FolderMovement_StructEvents_Allocation__allocInit_autoRun") call Icx(function Iko,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructBaseA_Allocation__allocInit_autoRun") call Icx(function ILo,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructBonusA_objInits_autoRun") call Icx(function Imo,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructBonusA_Allocation__allocInit_autoRun") call Icx(function IMo,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructRelativeA_Allocation__allocInit_autoRun") call Icx(function Ipo,"s"+"__FolderUnit_FolderMovement_StructSpeed_Allocation__allocInit_autoRun") call Icx(function Iqo,"s"+"__FolderUnit_StructMovement_objInits_autoRun") call Icx(function IQo,"s"+"__FolderUnit_StructMovement_Allocation__allocInit_autoRun") call Icx(function ITo,"s"+"__FolderUnit_StructMovement_initializer_Buff_Init_autoRun") call Icx(function Iuo,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructLose_Allocation__allocInit_autoRun") call Icx(function IUo,"s"+"__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructImmediate_Allocation__allocInit_autoRun") call Icx(function Iwo,"s"+"__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructPoint_Allocation__allocInit_autoRun") call Icx(function IWo,"s"+"__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructTarget_Allocation__allocInit_autoRun") +call Icx(function Iyo,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructGain_Allocation__allocInit_autoRun") call Icx(function IYo,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructIdle_Allocation__allocInit_autoRun") call Icx(function Izo,"s"+"__FolderUnit_FolderOrder_StructEvents_Allocation__allocInit_autoRun") +call Icx(function IZo,"s"+"__FolderUnit_StructOrder_Allocation__allocInit_autoRun") call Icx(function I3o,"s"+"__FolderUnit_StructBanish_objInits_autoRun") call Icx(function I4o,"s"+"__FolderUnit_StructBanish_Allocation__allocInit_autoRun") +call Icx(function I8o,"s"+"__FolderUnit_StructBanish_initializer_Buff_Init_autoRun") +call Icx(function Aeo,"s"+"__FolderUnit_StructMadness_objInits_autoRun") +call Icx(function Axo,"s"+"__FolderUnit_StructMadness_Allocation__allocInit_autoRun") call Icx(function Ano,"s"+"__FolderUnit_StructMadness_initializer_Buff_Init_autoRun") call Icx(function AXo,"s"+"__FolderUnit_StructEclipse_objInits_autoRun") +call Icx(function AOo,"s"+"__FolderUnit_StructEclipse_Allocation__allocInit_autoRun") call Icx(function ANo,"s"+"__FolderUnit_StructEclipse_initializer_Buff_Init_autoRun") call Icx(function ADo,"s"+"__FolderUnit_StructWhirl_objInits_autoRun") call Icx(function Afo,"s"+"__FolderUnit_StructWhirl_Allocation__allocInit_autoRun") call Icx(function Aho,"s"+"__FolderUnit_StructWhirl_initializer_Buff_Init_autoRun") call Icx(function AHo,"s"+"__FolderUnit_StructFacing_Allocation__allocInit_autoRun") +call Icx(function Ako,"s"+"__FolderUnit_StructBleeding_objInits_autoRun") call Icx(function AKo,"s"+"__FolderUnit_StructBleeding_Allocation__allocInit_autoRun") call Icx(function A3o,"s"+"__FolderUnit_StructBleeding_initializer_Buff_Init_autoRun") call Icx(function A6o,"s"+"__FolderUnit_StructIgnited_objInits_autoRun") +call Icx(function A7o,"s"+"__FolderUnit_StructIgnited_Allocation__allocInit_autoRun") call Icx(function Nxo,"s"+"__FolderUnit_StructIgnited_initializer_Buff_Init_autoRun") call Icx(function Noo,"s"+"__FolderUnit_StructKnockup_Allocation__allocInit_autoRun") call Icx(function Nio,"s"+"__FolderUnit_StructKnockup_initializer_Buff_Init_autoRun") call Icx(function Nno,"s"+"__FolderUnit_StructPathing_objInits_autoRun") +call Icx(function NVo,"s"+"__FolderUnit_StructPathing_Allocation__allocInit_autoRun") call Icx(function NRo,"s"+"__FolderUnit_StructPathing_initializer_Buff_Init_autoRun") call Icx(function NNo,"s"+"__FolderUnit_StructPoisoned_objInits_autoRun") call Icx(function Nbo,"s"+"__FolderUnit_StructPoisoned_Allocation__allocInit_autoRun") call Icx(function Ndo,"s"+"__FolderUnit_StructPoisoned_initializer_Buff_Init_autoRun") call Icx(function NDo,"s"+"__FolderUnit_FolderRevival_StructAble_Allocation__allocInit_autoRun") +call Icx(function Nfo,"s"+"__FolderUnit_FolderRevival_StructEvents_Allocation__allocInit_autoRun") call Icx(function Ngo,"s"+"__FolderUnit_StructRevival_objInits_autoRun") +call Icx(function NGo,"s"+"__FolderUnit_StructRevival_Allocation__allocInit_autoRun") call Icx(function Nko,"s"+"__FolderUnit_StructSilence_objInits_autoRun") +call Icx(function NKo,"s"+"__FolderUnit_StructSilence_Allocation__allocInit_autoRun") call Icx(function NMo,"s"+"__FolderUnit_StructSilence_initializer_Buff_Init_autoRun") call Icx(function NQo,"s"+"__FolderUnit_StructSleep_objInits_autoRun") call Icx(function Nso,"s"+"__FolderUnit_StructSleep_Allocation__allocInit_autoRun") call Icx(function NWo,"s"+"__FolderUnit_StructSleep_initializer_Buff_Init_autoRun") call Icx(function Nyo,"s"+"__FolderUnit_FolderStun_StructCancel_Allocation__allocInit_autoRun") call Icx(function N_o,"s"+"__FolderUnit_StructStun_objInits_autoRun") call Icx(function N0o,"s"+"__FolderUnit_StructStun_Allocation__allocInit_autoRun") call Icx(function N4o,"s"+"__FolderUnit_StructStun_initializer_Buff_Init_autoRun") call Icx(function N5o,"s"+"__FolderUnit_FolderAnimation_StructLoop_Allocation__allocInit_autoRun") call Icx(function N6o,"s"+"__FolderUnit_FolderAnimation_StructSpeed_Allocation__allocInit_autoRun") call Icx(function N7o,"s"+"__FolderUnit_StructAnimation_Allocation__allocInit_autoRun") call Icx(function N8o,"s"+"__FolderUnit_StructSkillPoints_Allocation__allocInit_autoRun") call Icx(function N9o,"s"+"__FolderUnit_FolderSpellPower_StructBase_Allocation__allocInit_autoRun") call Icx(function bvo,"s"+"__FolderUnit_FolderSpellPower_StructBonus_Allocation__allocInit_autoRun") +call Icx(function beo,"s"+"__FolderUnit_FolderSpellPower_StructRelative_Allocation__allocInit_autoRun") call Icx(function bxo,"s"+"__FolderUnit_StructSpellPower_Allocation__allocInit_autoRun") +call Icx(function boo,"s"+"__FolderUnit_FolderSpellVamp_StructBase_Allocation__allocInit_autoRun") call Icx(function bro,"s"+"__FolderUnit_FolderSpellVamp_StructBonus_Allocation__allocInit_autoRun") call Icx(function bio,"s"+"__FolderUnit_FolderSpellVamp_StructRelative_Allocation__allocInit_autoRun") call Icx(function bao,"s"+"__FolderUnit_StructSpellVamp_Allocation__allocInit_autoRun") call Icx(function bno,"s"+"__FolderUnit_FolderMaxRage_StructBase_Allocation__allocInit_autoRun") +call Icx(function bVo,"s"+"__FolderUnit_FolderMaxRage_StructBonus_Allocation__allocInit_autoRun") call Icx(function bEo,"s"+"__FolderUnit_FolderMaxRage_StructRelative_Allocation__allocInit_autoRun") +call Icx(function bXo,"s"+"__FolderUnit_StructMaxRage_Allocation__allocInit_autoRun") call Icx(function bOo,"s"+"__FolderUnit_StructRage_Allocation__allocInit_autoRun") call Icx(function bRo,"s"+"__FolderUnit_FolderRageRegeneration_StructBase_Allocation__allocInit_autoRun") call Icx(function bIo,"s"+"__FolderUnit_FolderRageRegeneration_StructBonus_Allocation__allocInit_autoRun") call Icx(function bAo,"s"+"__FolderUnit_FolderRageRegeneration_StructRelative_Allocation__allocInit_autoRun") call Icx(function bNo,"s"+"__FolderUnit_StructRageRegeneration_Allocation__allocInit_autoRun") call Icx(function bbo,"s"+"__FolderUnit_FolderMaxStamina_StructBase_Allocation__allocInit_autoRun") call Icx(function bBo,"s"+"__FolderUnit_FolderMaxStamina_StructBonus_Allocation__allocInit_autoRun") +call Icx(function bco,"s"+"__FolderUnit_FolderMaxStamina_StructRelative_Allocation__allocInit_autoRun") call Icx(function bCo,"s"+"__FolderUnit_StructMaxStamina_Allocation__allocInit_autoRun") +call Icx(function bDo,"s"+"__FolderUnit_FolderStamina_StructExhaustion_objInits_autoRun") call Icx(function bfo,"s"+"__FolderUnit_FolderStamina_StructExhaustion_Allocation__allocInit_autoRun") call Icx(function bgo,"s"+"__FolderUnit_FolderStamina_StructExhaustion_initializer_Buff_Init_autoRun") call Icx(function bGo,"s"+"__FolderUnit_StructStamina_Allocation__allocInit_autoRun") call Icx(function bho,"s"+"__FolderUnit_FolderStaminaRegeneration_StructBase_Allocation__allocInit_autoRun") +call Icx(function bHo,"s"+"__FolderUnit_FolderStaminaRegeneration_StructBonus_Allocation__allocInit_autoRun") call Icx(function bjo,"s"+"__FolderUnit_FolderStaminaRegeneration_StructRelative_Allocation__allocInit_autoRun") +call Icx(function bJo,"s"+"__FolderUnit_StructStaminaRegeneration_Allocation__allocInit_autoRun") call Icx(function bko,"s"+"__FolderUnit_FolderBars_StructExpiringCondition_Allocation__allocInit_autoRun") call Icx(function bKo,"s"+"__FolderUnit_StructBars_objInits_autoRun") call Icx(function blo,"s"+"__FolderUnit_StructBars_Allocation__allocInit_autoRun") call Icx(function bmo,"s"+"__FolderUnit_StructTimedLife_objInits_autoRun") call Icx(function bMo,"s"+"__FolderUnit_StructTimedLife_Allocation__allocInit_autoRun") call Icx(function bso,"s"+"__FolderUnit_StructTimedLife_initializer_Buff_Init_autoRun") call Icx(function buo,"s"+"__FolderUnit_StructTransport_objInits_autoRun") call Icx(function bUo,"s"+"__FolderUnit_StructTransport_Allocation__allocInit_autoRun") call Icx(function b4o,"s"+"__FolderUnit_StructTransport_initializer_Buff_Init_autoRun") call Icx(function b5o,"s"+"__FolderUnit_StructHero_Allocation__allocInit_autoRun") call Icx(function b6o,"s"+"__FolderUnit_FolderPosition_FolderTimed_StructAccelerated_Allocation__allocInit_autoRun") +call Icx(function b7o,"s"+"__FolderUnit_FolderPosition_StructTimed_Allocation__allocInit_autoRun") call Icx(function b8o,"s"+"__FolderUnit_FolderPosition_StructX_Allocation__allocInit_autoRun") call Icx(function b9o,"s"+"__FolderUnit_FolderPosition_StructY_Allocation__allocInit_autoRun") call Icx(function Bvo,"s"+"__FolderUnit_FolderPosition_StructZ_Allocation__allocInit_autoRun") call Icx(function Bxo,"s"+"__FolderUnit_StructPosition_objInits_autoRun") call Icx(function Boo,"s"+"__FolderUnit_StructPosition_Allocation__allocInit_autoRun") call Icx(function Bio,"s"+"__FolderUnit_FolderSelection_StructCircle_objInits_autoRun") call Icx(function Bao,"s"+"__FolderUnit_FolderSelection_StructCircle_Allocation__allocInit_autoRun") +call Icx(function BVo,"s"+"__FolderUnit_StructSelection_objInits_autoRun") call Icx(function BEo,"s"+"__FolderUnit_StructSelection_Allocation__allocInit_autoRun") call Icx(function BXo,"s"+"__FolderUnit_FolderSightRange_StructBase_Allocation__allocInit_autoRun") call Icx(function BOo,"s"+"__FolderUnit_FolderSightRange_StructBonus_Allocation__allocInit_autoRun") +call Icx(function BRo,"s"+"__FolderUnit_FolderSightRange_StructRelative_Allocation__allocInit_autoRun") call Icx(function BNo,"s"+"__FolderUnit_StructSightRange_objInits_autoRun") call Icx(function Bbo,"s"+"__FolderUnit_StructSightRange_Allocation__allocInit_autoRun") +call Icx(function BBo,"s"+"__FolderUnit_FolderLevel_StructEvents_Allocation__allocInit_autoRun") +call Icx(function Bco,"s"+"__FolderUnit_StructLevel_objInits_autoRun") call Icx(function BCo,"s"+"__FolderUnit_StructLevel_Allocation__allocInit_autoRun") call Icx(function Bdo,"s"+"__FolderUnit_FolderAgility_StructBase_Allocation__allocInit_autoRun") +call Icx(function BDo,"s"+"__FolderUnit_FolderAgility_FolderBonus_StructDisplayed_Allocation__allocInit_autoRun") call Icx(function Bfo,"s"+"__FolderUnit_FolderAgility_StructBonus_Allocation__allocInit_autoRun") call Icx(function BFo,"s"+"__FolderUnit_FolderAgility_StructRelative_Allocation__allocInit_autoRun") +call Icx(function Bgo,"s"+"__FolderUnit_StructAgility_objInits_autoRun") +call Icx(function BGo,"s"+"__FolderUnit_StructAgility_Allocation__allocInit_autoRun") call Icx(function Bho,"s"+"__FolderUnit_FolderIntelligence_StructBase_Allocation__allocInit_autoRun") call Icx(function BHo,"s"+"__FolderUnit_FolderIntelligence_FolderBonus_StructDisplayed_Allocation__allocInit_autoRun") call Icx(function Bjo,"s"+"__FolderUnit_FolderIntelligence_StructBonus_Allocation__allocInit_autoRun") call Icx(function BJo,"s"+"__FolderUnit_FolderIntelligence_StructRelative_Allocation__allocInit_autoRun") call Icx(function Bko,"s"+"__FolderUnit_StructIntelligence_objInits_autoRun") call Icx(function BKo,"s"+"__FolderUnit_StructIntelligence_Allocation__allocInit_autoRun") call Icx(function Blo,"s"+"__FolderUnit_FolderStrength_StructBase_Allocation__allocInit_autoRun") call Icx(function BLo,"s"+"__FolderUnit_FolderStrength_FolderBonus_StructDisplayed_Allocation__allocInit_autoRun") call Icx(function Bmo,"s"+"__FolderUnit_FolderStrength_StructBonus_Allocation__allocInit_autoRun") call Icx(function BMo,"s"+"__FolderUnit_FolderStrength_StructRelative_Allocation__allocInit_autoRun") call Icx(function Bpo,"s"+"__FolderUnit_StructStrength_objInits_autoRun") call Icx(function BPo,"s"+"__FolderUnit_StructStrength_Allocation__allocInit_autoRun") call Icx(function Bqo,"s"+"__FolderUnit_StructRefs_Allocation__allocInit_autoRun") call Icx(function BTo,"s"+"__Unit_objInits_autoRun") +call Icx(function Buo,"s"+"__Unit_Allocation__allocInit_autoRun") call Icx(function BYo,"s"+"__Unit_initializer_DoPreplaced_autoRun") call Icx(function KQo,"s"+"__Unit_initializer_Init_autoRun") +call Icx(function Kso,"s"+"__UnitState_Allocation__allocInit_autoRun") call Icx(function KSo,"s"+"__UnitMod_Allocation__allocInit_autoRun") +call Icx(function Kto,"s"+"__FolderUnitModSet_StructId_Allocation__allocInit_autoRun") call Icx(function KTo,"s"+"__FolderUnitModSet_FolderData_StructBoolean_Allocation__allocInit_autoRun") call Icx(function Kuo,"s"+"__FolderUnitModSet_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function KUo,"s"+"__FolderUnitModSet_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function Kwo,"s"+"__FolderUnitModSet_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call Icx(function KWo,"s"+"__FolderUnitModSet_FolderData_StructReal_Allocation__allocInit_autoRun") call Icx(function Kyo,"s"+"__FolderUnitModSet_FolderData_FolderString_StructTable_Allocation__allocInit_autoRun") call Icx(function KYo,"s"+"__FolderUnitModSet_FolderData_StructString_Allocation__allocInit_autoRun") call Icx(function Kzo,"s"+"__FolderUnitModSet_StructData_Allocation__allocInit_autoRun") +call Icx(function KZo,"s"+"__FolderUnitModSet_StructBoolMods_Allocation__allocInit_autoRun") +call Icx(function K_o,"s"+"__FolderUnitModSet_StructRealMods_Allocation__allocInit_autoRun") +call Icx(function K0o,"s"+"__FolderUnitModSet_StructCustomMods_Allocation__allocInit_autoRun") call Icx(function K1o,"s"+"__FolderUnitModSet_StructMods_Allocation__allocInit_autoRun") +call Icx(function K2o,"s"+"__UnitModSet_Allocation__allocInit_autoRun") call Icx(function K3o,"s"+"__BuffRef_Allocation__allocInit_autoRun") +call Icx(function K4o,"s"+"__FolderUnitType_StructId_Allocation__allocInit_autoRun") +call Icx(function K5o,"s"+"__FolderUnitType_FolderData_FolderBoolean_StructTable_Allocation__allocInit_autoRun") +call Icx(function K6o,"s"+"__FolderUnitType_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call Icx(function K7o,"s"+"__FolderUnitType_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function K8o,"s"+"__FolderUnitType_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function K9o,"s"+"__FolderUnitType_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call Icx(function lvo,"s"+"__FolderUnitType_FolderData_StructReal_Allocation__allocInit_autoRun") call Icx(function leo,"s"+"__FolderUnitType_FolderData_FolderString_StructTable_Allocation__allocInit_autoRun") call Icx(function lxo,"s"+"__FolderUnitType_FolderData_StructString_Allocation__allocInit_autoRun") call Icx(function loo,"s"+"__FolderUnitType_StructData_Allocation__allocInit_autoRun") call Icx(function lro,"s"+"__FolderUnitType_StructEvent_Allocation__allocInit_autoRun") call Icx(function lio,"s"+"__FolderUnitType_FolderAbilities_StructArrayBuild_Allocation__allocInit_autoRun") +call Icx(function lao,"s"+"__FolderUnitType_FolderAbilities_StructHero_Allocation__allocInit_autoRun") call Icx(function lno,"s"+"__FolderUnitType_StructAbilities_Allocation__allocInit_autoRun") call Icx(function lVo,"s"+"__FolderUnitType_FolderArmor_StructType_Allocation__allocInit_autoRun") call Icx(function lEo,"s"+"__FolderUnitType_StructArmor_Allocation__allocInit_autoRun") call Icx(function lXo,"s"+"__FolderUnitType_StructAttachments_Allocation__allocInit_autoRun") call Icx(function lOo,"s"+"__FolderUnitType_FolderAttack_FolderMissile_StructSpeed_Allocation__allocInit_autoRun") call Icx(function lRo,"s"+"__FolderUnitType_FolderAttack_StructMissile_Allocation__allocInit_autoRun") call Icx(function lIo,"s"+"__FolderUnitType_FolderAttack_StructRange_Allocation__allocInit_autoRun") +call Icx(function lAo,"s"+"__FolderUnitType_FolderAttack_StructSpeed_Allocation__allocInit_autoRun") +call Icx(function lNo,"s"+"__FolderUnitType_FolderAttack_FolderSplash_StructTargetFlag_Allocation__allocInit_autoRun") call Icx(function lbo,"s"+"__FolderUnitType_FolderAttack_StructSplash_Allocation__allocInit_autoRun") call Icx(function lBo,"s"+"__FolderUnitType_StructAttack_Allocation__allocInit_autoRun") +call Icx(function lco,"s"+"__FolderUnitType_StructBlood_Allocation__allocInit_autoRun") call Icx(function lCo,"s"+"__FolderUnitType_StructBloodExplosion_Allocation__allocInit_autoRun") +call Icx(function ldo,"s"+"__FolderUnitType_StructClasses_Allocation__allocInit_autoRun") call Icx(function lDo,"s"+"__FolderUnitType_StructCollisionSize_Allocation__allocInit_autoRun") call Icx(function lfo,"s"+"__FolderUnitType_FolderDamage_StructDelay_Allocation__allocInit_autoRun") +call Icx(function lFo,"s"+"__FolderUnitType_FolderDamage_StructDices_Allocation__allocInit_autoRun") +call Icx(function lgo,"s"+"__FolderUnitType_FolderDamage_StructSides_Allocation__allocInit_autoRun") +call Icx(function lGo,"s"+"__FolderUnitType_FolderDamage_StructType_Allocation__allocInit_autoRun") call Icx(function lho,"s"+"__FolderUnitType_StructDamage_Allocation__allocInit_autoRun") +call Icx(function lHo,"s"+"__FolderUnitType_FolderDecay_StructDuration_Allocation__allocInit_autoRun") call Icx(function ljo,"s"+"__FolderUnitType_StructDecay_Allocation__allocInit_autoRun") call Icx(function lJo,"s"+"__FolderUnitType_FolderDrop_StructExp_Allocation__allocInit_autoRun") +call Icx(function lko,"s"+"__FolderUnitType_FolderDrop_StructSupply_Allocation__allocInit_autoRun") call Icx(function lKo,"s"+"__FolderUnitType_StructDrop_Allocation__allocInit_autoRun") call Icx(function llo,"s"+"__FolderUnitType_FolderImpact_StructZ_Allocation__allocInit_autoRun") +call Icx(function lLo,"s"+"__FolderUnitType_StructImpact_Allocation__allocInit_autoRun") +call Icx(function lmo,"s"+"__FolderUnitType_FolderOutpact_StructZ_Allocation__allocInit_autoRun") call Icx(function lMo,"s"+"__FolderUnitType_StructOutpact_Allocation__allocInit_autoRun") call Icx(function lpo,"s"+"__FolderUnitType_StructLife_Allocation__allocInit_autoRun") call Icx(function lPo,"s"+"__FolderUnitType_StructLifeRegeneration_Allocation__allocInit_autoRun") call Icx(function lqo,"s"+"__FolderUnitType_StructMana_Allocation__allocInit_autoRun") call Icx(function lQo,"s"+"__FolderUnitType_StructManaRegeneration_Allocation__allocInit_autoRun") call Icx(function lso,"s"+"__FolderUnitType_StructPreload_Allocation__allocInit_autoRun") call Icx(function lSo,"s"+"__FolderUnitType_StructRevivalable_Allocation__allocInit_autoRun") call Icx(function lto,"s"+"__FolderUnitType_StructScale_Allocation__allocInit_autoRun") call Icx(function lTo,"s"+"__FolderUnitType_StructSightRange_Allocation__allocInit_autoRun") +call Icx(function luo,"s"+"__FolderUnitType_StructSpeed_Allocation__allocInit_autoRun") call Icx(function lUo,"s"+"__FolderUnitType_StructSpellPower_Allocation__allocInit_autoRun") +call Icx(function lwo,"s"+"__FolderUnitType_StructSpellVamp_Allocation__allocInit_autoRun") call Icx(function lWo,"s"+"__FolderUnitType_FolderVertexColor_StructRed_Allocation__allocInit_autoRun") call Icx(function lyo,"s"+"__FolderUnitType_FolderVertexColor_StructGreen_Allocation__allocInit_autoRun") call Icx(function lYo,"s"+"__FolderUnitType_FolderVertexColor_StructBlue_Allocation__allocInit_autoRun") +call Icx(function lzo,"s"+"__FolderUnitType_FolderVertexColor_StructAlpha_Allocation__allocInit_autoRun") call Icx(function lZo,"s"+"__FolderUnitType_StructVertexColor_Allocation__allocInit_autoRun") call Icx(function l_o,"s"+"__FolderUnitType_FolderHero_StructPrimaryAttribute_Allocation__allocInit_autoRun") call Icx(function l0o,"s"+"__FolderUnitType_FolderHero_FolderAgility_StructPerLevel_Allocation__allocInit_autoRun") call Icx(function l1o,"s"+"__FolderUnitType_FolderHero_StructAgility_Allocation__allocInit_autoRun") +call Icx(function l2o,"s"+"__FolderUnitType_FolderHero_StructArmorPerLevel_Allocation__allocInit_autoRun") call Icx(function l3o,"s"+"__FolderUnitType_FolderHero_FolderIntelligence_StructPerLevel_Allocation__allocInit_autoRun") +call Icx(function l4o,"s"+"__FolderUnitType_FolderHero_StructIntelligence_Allocation__allocInit_autoRun") call Icx(function l5o,"s"+"__FolderUnitType_FolderHero_FolderStrength_StructPerLevel_Allocation__allocInit_autoRun") +call Icx(function l6o,"s"+"__FolderUnitType_FolderHero_StructStrength_Allocation__allocInit_autoRun") call Icx(function l7o,"s"+"__FolderUnitType_StructHero_Allocation__allocInit_autoRun") call Icx(function mJo,"s"+"__UnitType_objInits_autoRun") +call Icx(function mko,"s"+"__UnitType_Allocation__allocInit_autoRun") call Icx(function mKo,"s"+"__Force_Allocation__allocInit_autoRun") call Icx(function mlo,"s"+"__PlayerController_Allocation__allocInit_autoRun") call Icx(function mLo,"s"+"__PlayerSlotState_Allocation__allocInit_autoRun") +call Icx(function mmo,"s"+"__Team_Allocation__allocInit_autoRun") call Icx(function mMo,"s"+"__FolderUser_StructId_Allocation__allocInit_autoRun") +call Icx(function mpo,"s"+"__FolderUser_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call Icx(function mPo,"s"+"__FolderUser_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function mqo,"s"+"__FolderUser_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function mQo,"s"+"__FolderUser_StructData_Allocation__allocInit_autoRun") call Icx(function mso,"s"+"__FolderUser_FolderEvent_StructNative_Allocation__allocInit_autoRun") +call Icx(function mSo,"s"+"__FolderUser_StructEvent_Allocation__allocInit_autoRun") call Icx(function mto,"s"+"__FolderUser_StructController_Allocation__allocInit_autoRun") +call Icx(function mTo,"s"+"__FolderUser_StructHostAppointment_Allocation__allocInit_autoRun") call Icx(function muo,"s"+"__FolderUser_StructHero_Allocation__allocInit_autoRun") call Icx(function mUo,"s"+"__FolderUser_FolderKeyEvent_StructDownArrow_Allocation__allocInit_autoRun") call Icx(function mwo,"s"+"__FolderUser_FolderKeyEvent_StructLeftArrow_Allocation__allocInit_autoRun") call Icx(function mWo,"s"+"__FolderUser_FolderKeyEvent_StructRightArrow_Allocation__allocInit_autoRun") call Icx(function myo,"s"+"__FolderUser_FolderKeyEvent_StructUpArrow_Allocation__allocInit_autoRun") +call Icx(function mYo,"s"+"__FolderUser_StructKeyEvent_Allocation__allocInit_autoRun") call Icx(function mzo,"s"+"__FolderUser_StructSlotState_Allocation__allocInit_autoRun") call Icx(function mZo,"s"+"__FolderUser_StructState_Allocation__allocInit_autoRun") call Icx(function m_o,"s"+"__FolderUser_StructTeam_Allocation__allocInit_autoRun") call Icx(function m0o,"s"+"__User_objInits_autoRun") +call Icx(function m1o,"s"+"__User_Allocation__allocInit_autoRun") call Icx(function pMo,"s"+"__User_initializer_Init_autoRun") +call Icx(function ppo,"s"+"__WeatherType_Allocation__allocInit_autoRun") +call Icx(function pSo,"s"+"__WeatherEffect_objInits_autoRun") call Icx(function pto,"s"+"__WeatherEffect_Allocation__allocInit_autoRun") call Icx(function pzo,"s"+"__WeatherEffect_initializer_Init_autoRun") call Icx(function pZo,"s"+"__Initialization_Allocation__allocInit_autoRun") call Icx(function p_o,"s"+"__FolderAct_StructId_Allocation__allocInit_autoRun") call Icx(function p0o,"s"+"__FolderAct_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function p1o,"s"+"__FolderAct_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function p2o,"s"+"__FolderAct_StructData_Allocation__allocInit_autoRun") call Icx(function p3o,"s"+"__FolderAct_StructEvent_Allocation__allocInit_autoRun") call Icx(function p4o,"s"+"__FolderAct_StructLevelSets_Allocation__allocInit_autoRun") call Icx(function p5o,"s"+"__Act_Allocation__allocInit_autoRun") +call Icx(function PHo,"s"+"__Act_initializer_Init_autoRun") call Icx(function Pjo,"s"+"__ActUpgrades_Allocation__allocInit_autoRun") +call Icx(function PMo,"s"+"__ActUpgrades_initializer_Init_autoRun") call Icx(function Ppo,"s"+"__AfterIntro_Allocation__allocInit_autoRun") call Icx(function Pqo,"s"+"__AfterIntro_initializer_Init_autoRun") call Icx(function PSo,"s"+"__BrazierOracle_objInits_autoRun") call Icx(function Pto,"s"+"__BrazierOracle_Allocation__allocInit_autoRun") call Icx(function qro,"s"+"__BrazierOracle_initializer_Init_autoRun") call Icx(function qio,"s"+"__CameraQuickPosition_Allocation__allocInit_autoRun") +call Icx(function qXo,"s"+"__CameraQuickPosition_initializer_Init_autoRun") call Icx(function qRo,"s"+"__MarkOfThePaw_objInits_autoRun") +call Icx(function qIo,"s"+"__MarkOfThePaw_Allocation__allocInit_autoRun") call Icx(function qbo,"s"+"__MarkOfThePaw_initializer_Init_autoRun") +call Icx(function qBo,"s"+"__CreepLoot_Allocation__allocInit_autoRun") call Icx(function qco,"s"+"__Creep_Allocation__allocInit_autoRun") call Icx(function qCo,"s"+"__CreepLocation_Allocation__allocInit_autoRun") call Icx(function qdo,"s"+"__FolderCreepSet_StructId_Allocation__allocInit_autoRun") +call Icx(function qDo,"s"+"__FolderCreepSet_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function qfo,"s"+"__FolderCreepSet_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function qFo,"s"+"__FolderCreepSet_StructData_Allocation__allocInit_autoRun") call Icx(function qgo,"s"+"__FolderCreepSet_StructEvent_Allocation__allocInit_autoRun") call Icx(function qGo,"s"+"__CreepSet_Allocation__allocInit_autoRun") call Icx(function QBo,"s"+"__CreepSet_initializer_Init_autoRun") +call Icx(function Qco,"s"+"__DefenderSpawnLocation_Allocation__allocInit_autoRun") call Icx(function QCo,"s"+"__FolderDefenderSpawnType_StructId_Allocation__allocInit_autoRun") call Icx(function Qdo,"s"+"__FolderDefenderSpawnType_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function QDo,"s"+"__FolderDefenderSpawnType_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function Qfo,"s"+"__FolderDefenderSpawnType_StructData_Allocation__allocInit_autoRun") call Icx(function QFo,"s"+"__FolderDefenderSpawnType_StructEvent_Allocation__allocInit_autoRun") +call Icx(function Qgo,"s"+"__DefenderSpawnType_Allocation__allocInit_autoRun") call Icx(function QGo,"s"+"__FolderDefenderSpawnGroup_StructId_Allocation__allocInit_autoRun") call Icx(function Qho,"s"+"__FolderDefenderSpawnGroup_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function QHo,"s"+"__FolderDefenderSpawnGroup_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function Qjo,"s"+"__FolderDefenderSpawnGroup_StructData_Allocation__allocInit_autoRun") +call Icx(function QJo,"s"+"__DefenderSpawnGroup_Allocation__allocInit_autoRun") call Icx(function Qko,"s"+"__FolderDefenderSpawnWave_StructId_Allocation__allocInit_autoRun") call Icx(function QKo,"s"+"__FolderDefenderSpawnWave_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function Qlo,"s"+"__FolderDefenderSpawnWave_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function QLo,"s"+"__FolderDefenderSpawnWave_StructData_Allocation__allocInit_autoRun") call Icx(function Qmo,"s"+"__FolderDefenderSpawnWave_StructGroups_Allocation__allocInit_autoRun") call Icx(function QMo,"s"+"__DefenderSpawnWave_Allocation__allocInit_autoRun") call Icx(function Qpo,"s"+"__DefenderSpawn_Allocation__allocInit_autoRun") call Icx(function sco,"s"+"__DefenderSpawn_initializer_Init_autoRun") call Icx(function sCo,"s"+"__Difficulty_Allocation__allocInit_autoRun") call Icx(function sdo,"s"+"__Drop_objInits_autoRun") +call Icx(function sDo,"s"+"__Drop_Allocation__allocInit_autoRun") call Icx(function sso,"s"+"__Drop_initializer_Init_autoRun") +call Icx(function s5o,"s"+"__EternalVial_objInits_autoRun") call Icx(function s6o,"s"+"__EternalVial_Allocation__allocInit_autoRun") +call Icx(function SEo,"s"+"__EternalVial_initializer_Init_autoRun") call Icx(function SXo,"s"+"__Explosive_objInits_autoRun") call Icx(function SOo,"s"+"__Explosive_Allocation__allocInit_autoRun") call Icx(function STo,"s"+"__Explosive_initializer_Init_autoRun") call Icx(function SUo,"s"+"__GarbageCollector_objInits_autoRun") +call Icx(function Swo,"s"+"__GarbageCollector_Allocation__allocInit_autoRun") call Icx(function SYo,"s"+"__BoomerangStone_objInits_autoRun") call Icx(function Szo,"s"+"__BoomerangStone_Allocation__allocInit_autoRun") call Icx(function Too,"s"+"__BoomerangStone_initializer_Init_autoRun") call Icx(function Tio,"s"+"__Mallet_objInits_autoRun") call Icx(function Tao,"s"+"__Mallet_Allocation__allocInit_autoRun") call Icx(function TNo,"s"+"__Mallet_initializer_Init_autoRun") call Icx(function Tco,"s"+"__PenguinFeather_objInits_autoRun") call Icx(function TCo,"s"+"__PenguinFeather_Allocation__allocInit_autoRun") call Icx(function TMo,"s"+"__PenguinFeather_initializer_Init_autoRun") call Icx(function TPo,"s"+"__RabbitsFoot_objInits_autoRun") call Icx(function Tqo,"s"+"__RabbitsFoot_Allocation__allocInit_autoRun") +call Icx(function TTo,"s"+"__RabbitsFoot_initializer_Init_autoRun") call Icx(function TUo,"s"+"__RamblersStick_objInits_autoRun") call Icx(function Two,"s"+"__RamblersStick_Allocation__allocInit_autoRun") call Icx(function TZo,"s"+"__RamblersStick_initializer_Init_autoRun") call Icx(function T0o,"s"+"__GruntAxe_objInits_autoRun") +call Icx(function T1o,"s"+"__GruntAxe_Allocation__allocInit_autoRun") call Icx(function T6o,"s"+"__GruntAxe_initializer_Init_autoRun") +call Icx(function T8o,"s"+"__RobynsHood_objInits_autoRun") call Icx(function T9o,"s"+"__RobynsHood_Allocation__allocInit_autoRun") call Icx(function uao,"s"+"__RobynsHood_initializer_Init_autoRun") call Icx(function uVo,"s"+"__ElfinDagger_objInits_autoRun") call Icx(function uEo,"s"+"__ElfinDagger_Allocation__allocInit_autoRun") +call Icx(function ubo,"s"+"__ElfinDagger_initializer_Init_autoRun") call Icx(function uco,"s"+"__FolderSpearOfTheDefender_StructBuff_objInits_autoRun") call Icx(function uCo,"s"+"__FolderSpearOfTheDefender_StructBuff_Allocation__allocInit_autoRun") +call Icx(function uDo,"s"+"__SpearOfTheDefender_objInits_autoRun") call Icx(function ufo,"s"+"__SpearOfTheDefender_Allocation__allocInit_autoRun") call Icx(function umo,"s"+"__SpearOfTheDefender_initializer_Init_autoRun") call Icx(function upo,"s"+"__MeteoriteShard_objInits_autoRun") call Icx(function uPo,"s"+"__MeteoriteShard_Allocation__allocInit_autoRun") call Icx(function uuo,"s"+"__MeteoriteShard_initializer_Init_autoRun") call Icx(function uWo,"s"+"__GoldCoin_objInits_autoRun") +call Icx(function uyo,"s"+"__GoldCoin_Allocation__allocInit_autoRun") call Icx(function Ueo,"s"+"__GoldCoin_initializer_Init_autoRun") +call Icx(function Uro,"s"+"__HeroRevival_objInits_autoRun") call Icx(function Uio,"s"+"__HeroRevival_Allocation__allocInit_autoRun") +call Icx(function UQo,"s"+"__HeroRevival_initializer_Init_autoRun") call Icx(function UTo,"s"+"__Spirit_objInits_autoRun") call Icx(function Uuo,"s"+"__Spirit_Allocation__allocInit_autoRun") call Icx(function UUo,"s"+"__HeroSelection_objInits_autoRun") call Icx(function Uwo,"s"+"__HeroSelection_Allocation__allocInit_autoRun") call Icx(function wZo,"s"+"__HeroSelection_initializer_Init_autoRun") call Icx(function w_o,"s"+"__Hint_Allocation__allocInit_autoRun") call Icx(function w7o,"s"+"__Hint_initializer_Init_autoRun") +call Icx(function w9o,"s"+"__FolderHorseRide_StructTarget_objInits_autoRun") +call Icx(function Wvo,"s"+"__FolderHorseRide_StructTarget_Allocation__allocInit_autoRun") call Icx(function Woo,"s"+"__HorseRide_objInits_autoRun") call Icx(function Wro,"s"+"__HorseRide_Allocation__allocInit_autoRun") call Icx(function W0o,"s"+"__HorseRide_initializer_Init_autoRun") call Icx(function W1o,"s"+"__FolderInfoboard_StructUser_Allocation__allocInit_autoRun") call Icx(function W2o,"s"+"__Infoboard_Allocation__allocInit_autoRun") call Icx(function yuo,"s"+"__Infoboard_initializer_Init_autoRun") call Icx(function yUo,"s"+"__Infocard_Allocation__allocInit_autoRun") call Icx(function y2o,"s"+"__Infocard_initializer_Init_autoRun") +call Icx(function y3o,"s"+"__Intro_Allocation__allocInit_autoRun") call Icx(function Zdo,"s"+"__Intro_initializer_Init_autoRun") call Icx(function ZDo,"s"+"__FolderLevelSet_StructId_Allocation__allocInit_autoRun") +call Icx(function Zfo,"s"+"__FolderLevelSet_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function ZFo,"s"+"__FolderLevelSet_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function Zgo,"s"+"__FolderLevelSet_StructData_Allocation__allocInit_autoRun") call Icx(function ZGo,"s"+"__FolderLevelSet_StructLevels_Allocation__allocInit_autoRun") +call Icx(function Zho,"s"+"__FolderLevelSet_StructQuery_Allocation__allocInit_autoRun") call Icx(function ZHo,"s"+"__LevelSet_Allocation__allocInit_autoRun") call Icx(function Zjo,"s"+"__FolderLevel_StructId_Allocation__allocInit_autoRun") call Icx(function ZJo,"s"+"__FolderLevel_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function Zko,"s"+"__FolderLevel_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function ZKo,"s"+"__FolderLevel_FolderData_StructReal_Allocation__allocInit_autoRun") call Icx(function Zlo,"s"+"__FolderLevel_StructData_Allocation__allocInit_autoRun") call Icx(function ZLo,"s"+"__FolderLevel_StructEvent_Allocation__allocInit_autoRun") +call Icx(function Zmo,"s"+"__Level_Allocation__allocInit_autoRun") call Icx(function vbr,"s"+"__Level_initializer_Init_autoRun") call Icx(function vcr,"s"+"__Library_objInits_autoRun") call Icx(function vCr,"s"+"__Library_Allocation__allocInit_autoRun") +call Icx(function vfr,"s"+"__Library_initializer_Init_autoRun") call Icx(function vGr,"s"+"__Lumber_objInits_autoRun") call Icx(function vhr,"s"+"__Lumber_Allocation__allocInit_autoRun") call Icx(function vPr,"s"+"__Lumber_initializer_Init_autoRun") call Icx(function vqr,"s"+"__FolderNullboard_StructQuestLog_Allocation__allocInit_autoRun") call Icx(function vQr,"s"+"__Nullboard_Allocation__allocInit_autoRun") call Icx(function vwr,"s"+"__Nullboard_initializer_Init_autoRun") call Icx(function vWr,"s"+"__FolderOptionsBoard_StructCameraSmoothing_Allocation__allocInit_autoRun") call Icx(function vyr,"s"+"__FolderOptionsBoard_StructCameraZoom_Allocation__allocInit_autoRun") +call Icx(function vYr,"s"+"__FolderOptionsBoard_StructEffectLevel_Allocation__allocInit_autoRun") call Icx(function vzr,"s"+"__FolderOptionsBoard_StructHint_Allocation__allocInit_autoRun") call Icx(function vZr,"s"+"__FolderOptionsBoard_StructMusicVolume_Allocation__allocInit_autoRun") call Icx(function v_r,"s"+"__FolderOptionsBoard_StructSoundVolume_Allocation__allocInit_autoRun") call Icx(function v0r,"s"+"__OptionsBoard_Allocation__allocInit_autoRun") call Icx(function eor,"s"+"__OptionsBoard_initializer_Init_autoRun") +call Icx(function eir,"s"+"__Pharmacy_objInits_autoRun") +call Icx(function ear,"s"+"__Pharmacy_Allocation__allocInit_autoRun") call Icx(function eEr,"s"+"__EmergencyProvisions_objInits_autoRun") call Icx(function eXr,"s"+"__EmergencyProvisions_Allocation__allocInit_autoRun") +call Icx(function eIr,"s"+"__EmergencyProvisions_initializer_Init_autoRun") call Icx(function eBr,"s"+"__EyeOfTheFlame_objInits_autoRun") call Icx(function ecr,"s"+"__EyeOfTheFlame_Allocation__allocInit_autoRun") call Icx(function egr,"s"+"__EyeOfTheFlame_initializer_Init_autoRun") call Icx(function ejr,"s"+"__TorchLight_objInits_autoRun") call Icx(function eJr,"s"+"__TorchLight_Allocation__allocInit_autoRun") call Icx(function eTr,"s"+"__TorchLight_initializer_Init_autoRun") call Icx(function eWr,"s"+"__HerbalOintment_objInits_autoRun") call Icx(function eyr,"s"+"__HerbalOintment_Allocation__allocInit_autoRun") call Icx(function e6r,"s"+"__HerbalOintment_initializer_Init_autoRun") call Icx(function e8r,"s"+"__FolderScrollOfProtection_StructTarget_objInits_autoRun") call Icx(function e9r,"s"+"__FolderScrollOfProtection_StructTarget_Allocation__allocInit_autoRun") call Icx(function xxr,"s"+"__ScrollOfProtection_objInits_autoRun") call Icx(function xor,"s"+"__ScrollOfProtection_Allocation__allocInit_autoRun") call Icx(function xOr,"s"+"__ScrollOfProtection_initializer_Init_autoRun") call Icx(function xIr,"s"+"__FolderFireWater_StructBuff_objInits_autoRun") call Icx(function xAr,"s"+"__FolderFireWater_StructBuff_Allocation__allocInit_autoRun") call Icx(function xBr,"s"+"__FireWater_objInits_autoRun") call Icx(function xcr,"s"+"__FireWater_Allocation__allocInit_autoRun") call Icx(function xjr,"s"+"__FireWater_initializer_Init_autoRun") call Icx(function xLr,"s"+"__IceTea_objInits_autoRun") call Icx(function xmr,"s"+"__IceTea_Allocation__allocInit_autoRun") call Icx(function xPr,"s"+"__IceTea_initializer_Init_autoRun") call Icx(function xsr,"s"+"__Meat_objInits_autoRun") +call Icx(function xSr,"s"+"__Meat_Allocation__allocInit_autoRun") call Icx(function x0r,"s"+"__Meat_initializer_Init_autoRun") +call Icx(function x4r,"s"+"__TeleportScroll_objInits_autoRun") call Icx(function x5r,"s"+"__TeleportScroll_Allocation__allocInit_autoRun") call Icx(function oOr,"s"+"__TeleportScroll_initializer_Init_autoRun") call Icx(function oIr,"s"+"__Rune_objInits_autoRun") +call Icx(function oAr,"s"+"__Rune_Allocation__allocInit_autoRun") call Icx(function olr,"s"+"__Rune_initializer_Init_autoRun") +call Icx(function opr,"s"+"__Snowmen_objInits_autoRun") call Icx(function oPr,"s"+"__Snowmen_Allocation__allocInit_autoRun") +call Icx(function our,"s"+"__Snowmen_initializer_Init_autoRun") call Icx(function oUr,"s"+"__SpawnLocation_Allocation__allocInit_autoRun") call Icx(function owr,"s"+"__FolderSpawnGroup_StructId_Allocation__allocInit_autoRun") call Icx(function oWr,"s"+"__FolderSpawnGroup_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function oyr,"s"+"__FolderSpawnGroup_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function oYr,"s"+"__FolderSpawnGroup_StructData_Allocation__allocInit_autoRun") +call Icx(function ozr,"s"+"__SpawnGroup_Allocation__allocInit_autoRun") call Icx(function oZr,"s"+"__FolderSpawnWave_StructId_Allocation__allocInit_autoRun") call Icx(function o_r,"s"+"__FolderSpawnWave_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function o0r,"s"+"__FolderSpawnWave_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function o1r,"s"+"__FolderSpawnWave_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call Icx(function o2r,"s"+"__FolderSpawnWave_FolderData_StructReal_Allocation__allocInit_autoRun") call Icx(function o3r,"s"+"__FolderSpawnWave_StructData_Allocation__allocInit_autoRun") call Icx(function o4r,"s"+"__FolderSpawnWave_StructGroups_Allocation__allocInit_autoRun") call Icx(function o5r,"s"+"__SpawnWave_Allocation__allocInit_autoRun") call Icx(function o6r,"s"+"__FolderSpawn_StructQueue_Allocation__allocInit_autoRun") +call Icx(function o8r,"s"+"__FolderSpawn_StructShadow_objInits_autoRun") +call Icx(function o9r,"s"+"__FolderSpawn_StructShadow_Allocation__allocInit_autoRun") call Icx(function rvr,"s"+"__Spawn_Allocation__allocInit_autoRun") call Icx(function anr,"s"+"__Spawn_initializer_Init_autoRun") call Icx(function aVr,"s"+"__FolderSpawnType_StructId_Allocation__allocInit_autoRun") call Icx(function aEr,"s"+"__FolderSpawnType_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function aXr,"s"+"__FolderSpawnType_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function aOr,"s"+"__FolderSpawnType_StructData_Allocation__allocInit_autoRun") call Icx(function aRr,"s"+"__FolderSpawnType_StructEvent_Allocation__allocInit_autoRun") +call Icx(function aIr,"s"+"__FolderSpawnType_StructChampion_Allocation__allocInit_autoRun") call Icx(function aAr,"s"+"__FolderSpawnType_StructItems_Allocation__allocInit_autoRun") +call Icx(function aNr,"s"+"__SpawnType_Allocation__allocInit_autoRun") call Icx(function abr,"s"+"__StructInfo_Allocation__allocInit_autoRun") call Icx(function agr,"s"+"__StructInfo_initializer_Init_autoRun") call Icx(function ahr,"s"+"__Tavern_objInits_autoRun") call Icx(function aHr,"s"+"__Tavern_Allocation__allocInit_autoRun") call Icx(function aKr,"s"+"__TropicalRainbow_objInits_autoRun") call Icx(function alr,"s"+"__TropicalRainbow_Allocation__allocInit_autoRun") +call Icx(function aMr,"s"+"__TropicalRainbow_initializer_Init_autoRun") call Icx(function aPr,"s"+"__FolderTomes_StructAgi_objInits_autoRun") call Icx(function aqr,"s"+"__FolderTomes_StructAgi_Allocation__allocInit_autoRun") call Icx(function asr,"s"+"__FolderTomes_StructInt_objInits_autoRun") call Icx(function aSr,"s"+"__FolderTomes_StructInt_Allocation__allocInit_autoRun") call Icx(function aTr,"s"+"__FolderTomes_StructStr_objInits_autoRun") call Icx(function aur,"s"+"__FolderTomes_StructStr_Allocation__allocInit_autoRun") call Icx(function aUr,"s"+"__Tomes_Allocation__allocInit_autoRun") call Icx(function a1r,"s"+"__Tomes_initializer_Init_autoRun") call Icx(function a2r,"s"+"__UnitNameTag_Allocation__allocInit_autoRun") +call Icx(function a7r,"s"+"__UnitNameTag_initializer_Init_autoRun") call Icx(function a8r,"s"+"__UnitStatus_Allocation__allocInit_autoRun") call Icx(function nMr,"s"+"__UnitStatus_initializer_Init_autoRun") call Icx(function nPr,"s"+"__VictoryRush_objInits_autoRun") call Icx(function nqr,"s"+"__VictoryRush_Allocation__allocInit_autoRun") +call Icx(function ntr,"s"+"__VictoryRush_initializer_Init_autoRun") call Icx(function nWr,"s"+"__FolderWaypoint_FolderRegionCheck_StructRetreat_objInits_autoRun") call Icx(function nyr,"s"+"__FolderWaypoint_FolderRegionCheck_StructRetreat_Allocation__allocInit_autoRun") call Icx(function nYr,"s"+"__FolderWaypoint_StructRegionCheck_Allocation__allocInit_autoRun") call Icx(function nZr,"s"+"__FolderWaypoint_StructSpawns_objInits_autoRun") call Icx(function n_r,"s"+"__FolderWaypoint_StructSpawns_Allocation__allocInit_autoRun") +call Icx(function n0r,"s"+"__Waypoint_Allocation__allocInit_autoRun") call Icx(function Vdr,"s"+"__Waypoint_initializer_Init_autoRun") +call Icx(function VDr,"s"+"__Zoom_Allocation__allocInit_autoRun") call Icx(function Vtr,"s"+"__Zoom_initializer_Init_autoRun") +call Icx(function VTr,"s"+"__AxeFighter_Allocation__allocInit_autoRun") call Icx(function VZr,"s"+"__AxeFighter_initializer_Init_autoRun") call Icx(function V_r,"s"+"__Balduir_Allocation__allocInit_autoRun") +call Icx(function V2r,"s"+"__Balduir_initializer_Init_autoRun") call Icx(function V3r,"s"+"__FolderAura_StructId_Allocation__allocInit_autoRun") +call Icx(function V4r,"s"+"__FolderAura_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call Icx(function V5r,"s"+"__FolderAura_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function V6r,"s"+"__FolderAura_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function V7r,"s"+"__FolderAura_StructData_Allocation__allocInit_autoRun") call Icx(function V8r,"s"+"__FolderAura_StructEvent_Allocation__allocInit_autoRun") call Icx(function V9r,"s"+"__FolderAura_StructTarget_Allocation__allocInit_autoRun") +call Icx(function Evr,"s"+"__Aura_Allocation__allocInit_autoRun") call Icx(function EFr,"s"+"__Aura_initializer_Init_autoRun") +call Icx(function Egr,"s"+"__AIBoost_Allocation__allocInit_autoRun") +call Icx(function Xkr,"s"+"__AIBoost_initializer_Init_autoRun") call Icx(function XLr,"s"+"__Boost_objInits_autoRun") call Icx(function Xmr,"s"+"__Boost_Allocation__allocInit_autoRun") call Icx(function Xqr,"s"+"__Boost_initializer_Init_autoRun") call Icx(function XQr,"s"+"__AIBurningSpirit_Allocation__allocInit_autoRun") +call Icx(function X3r,"s"+"__AIBurningSpirit_initializer_Init_autoRun") call Icx(function X6r,"s"+"__BurningSpirit_objInits_autoRun") call Icx(function X7r,"s"+"__BurningSpirit_Allocation__allocInit_autoRun") call Icx(function X8r,"s"+"__AIChaosBall_Allocation__allocInit_autoRun") +call Icx(function Oxr,"s"+"__AIChaosBall_initializer_Init_autoRun") call Icx(function Oir,"s"+"__ChaosBall_objInits_autoRun") call Icx(function Oar,"s"+"__ChaosBall_Allocation__allocInit_autoRun") call Icx(function Omr,"s"+"__ChaosBall_initializer_Init_autoRun") call Icx(function Opr,"s"+"__FolderEnergyCharge_StructTarget_objInits_autoRun") call Icx(function OPr,"s"+"__FolderEnergyCharge_StructTarget_Allocation__allocInit_autoRun") +call Icx(function Osr,"s"+"__EnergyCharge_objInits_autoRun") +call Icx(function OSr,"s"+"__EnergyCharge_Allocation__allocInit_autoRun") call Icx(function O2r,"s"+"__EnergyCharge_initializer_Init_autoRun") +call Icx(function O3r,"s"+"__AIFlamelet_Allocation__allocInit_autoRun") call Icx(function O7r,"s"+"__AIFlamelet_initializer_Init_autoRun") call Icx(function Rvr,"s"+"__Flamelet_objInits_autoRun") +call Icx(function Rer,"s"+"__Flamelet_Allocation__allocInit_autoRun") call Icx(function RNr,"s"+"__Flamelet_initializer_Init_autoRun") +call Icx(function RBr,"s"+"__FuzzyAttack_objInits_autoRun") call Icx(function Rcr,"s"+"__FuzzyAttack_Allocation__allocInit_autoRun") +call Icx(function Rlr,"s"+"__FuzzyAttack_initializer_Init_autoRun") call Icx(function Rmr,"s"+"__FolderGreenNova_StructBuff_objInits_autoRun") call Icx(function RMr,"s"+"__FolderGreenNova_StructBuff_Allocation__allocInit_autoRun") call Icx(function RPr,"s"+"__GreenNova_objInits_autoRun") call Icx(function Rqr,"s"+"__GreenNova_Allocation__allocInit_autoRun") call Icx(function RYr,"s"+"__GreenNova_initializer_Init_autoRun") call Icx(function Rzr,"s"+"__AIHeal_Allocation__allocInit_autoRun") call Icx(function R1r,"s"+"__AIHeal_initializer_Init_autoRun") call Icx(function R3r,"s"+"__Heal_objInits_autoRun") +call Icx(function R4r,"s"+"__Heal_Allocation__allocInit_autoRun") call Icx(function R7r,"s"+"__Heal_initializer_Init_autoRun") +call Icx(function R8r,"s"+"__AIHealExplosion_Allocation__allocInit_autoRun") +call Icx(function Ier,"s"+"__AIHealExplosion_initializer_Init_autoRun") call Icx(function Ior,"s"+"__HealExplosion_objInits_autoRun") call Icx(function Irr,"s"+"__HealExplosion_Allocation__allocInit_autoRun") call Icx(function IOr,"s"+"__HealExplosion_initializer_Init_autoRun") call Icx(function INr,"s"+"__IceArrows_objInits_autoRun") call Icx(function Ibr,"s"+"__IceArrows_Allocation__allocInit_autoRun") call Icx(function Ihr,"s"+"__IceArrows_initializer_Init_autoRun") call Icx(function IJr,"s"+"__LightningShield_objInits_autoRun") call Icx(function Ikr,"s"+"__LightningShield_Allocation__allocInit_autoRun") +call Icx(function Iqr,"s"+"__LightningShield_initializer_Init_autoRun") call Icx(function Isr,"s"+"__FolderLunarRestoration_StructRevival_objInits_autoRun") +call Icx(function ISr,"s"+"__FolderLunarRestoration_StructRevival_Allocation__allocInit_autoRun") call Icx(function IUr,"s"+"__LunarRestoration_objInits_autoRun") +call Icx(function Iwr,"s"+"__LunarRestoration_Allocation__allocInit_autoRun") call Icx(function Arr,"s"+"__LunarRestoration_initializer_Init_autoRun") +call Icx(function Air,"s"+"__AIPurge_Allocation__allocInit_autoRun") +call Icx(function AOr,"s"+"__AIPurge_initializer_Init_autoRun") call Icx(function AAr,"s"+"__Purge_objInits_autoRun") call Icx(function ANr,"s"+"__Purge_Allocation__allocInit_autoRun") call Icx(function ATr,"s"+"__Purge_initializer_Init_autoRun") call Icx(function AUr,"s"+"__FolderSoakingPoison_StructTarget_objInits_autoRun") +call Icx(function Awr,"s"+"__FolderSoakingPoison_StructTarget_Allocation__allocInit_autoRun") call Icx(function AYr,"s"+"__SoakingPoison_objInits_autoRun") call Icx(function Azr,"s"+"__SoakingPoison_Allocation__allocInit_autoRun") call Icx(function Nvr,"s"+"__SoakingPoison_initializer_Init_autoRun") call Icx(function Nor,"s"+"__Stampede_objInits_autoRun") +call Icx(function Nrr,"s"+"__Stampede_Allocation__allocInit_autoRun") call Icx(function NIr,"s"+"__Stampede_initializer_Init_autoRun") +call Icx(function NAr,"s"+"__AIStomp_Allocation__allocInit_autoRun") +call Icx(function NBr,"s"+"__AIStomp_initializer_Init_autoRun") call Icx(function NCr,"s"+"__Stomp_objInits_autoRun") call Icx(function Ndr,"s"+"__Stomp_Allocation__allocInit_autoRun") call Icx(function Njr,"s"+"__Stomp_initializer_Init_autoRun") call Icx(function Nmr,"s"+"__Barrage_objInits_autoRun") call Icx(function NMr,"s"+"__Barrage_Allocation__allocInit_autoRun") +call Icx(function Nur,"s"+"__Barrage_initializer_Init_autoRun") call Icx(function NUr,"s"+"__AIBouncyBomb_Allocation__allocInit_autoRun") call Icx(function NYr,"s"+"__AIBouncyBomb_initializer_Init_autoRun") +call Icx(function NZr,"s"+"__BouncyBomb_objInits_autoRun") call Icx(function N_r,"s"+"__BouncyBomb_Allocation__allocInit_autoRun") call Icx(function bXr,"s"+"__BouncyBomb_initializer_Init_autoRun") call Icx(function bAr,"s"+"__BurningOil_objInits_autoRun") call Icx(function bNr,"s"+"__BurningOil_Allocation__allocInit_autoRun") call Icx(function bkr,"s"+"__BurningOil_initializer_Init_autoRun") call Icx(function bmr,"s"+"__ChainLightning_objInits_autoRun") call Icx(function bMr,"s"+"__ChainLightning_Allocation__allocInit_autoRun") call Icx(function b6r,"s"+"__ChainLightning_initializer_Init_autoRun") call Icx(function b7r,"s"+"__FolderCleaver_StructId_Allocation__allocInit_autoRun") call Icx(function b8r,"s"+"__FolderCleaver_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call Icx(function b9r,"s"+"__FolderCleaver_FolderData_StructInteger_Allocation__allocInit_autoRun") call Icx(function Bvr,"s"+"__FolderCleaver_StructData_Allocation__allocInit_autoRun") call Icx(function Ber,"s"+"__FolderCleaver_StructWave_objInits_autoRun") +call Icx(function Bxr,"s"+"__FolderCleaver_StructWave_Allocation__allocInit_autoRun") call Icx(function Brr,"s"+"__Cleaver_objInits_autoRun") call Icx(function Bir,"s"+"__Cleaver_Allocation__allocInit_autoRun") +call Icx(function BKr,"s"+"__Cleaver_initializer_Init_autoRun") call Icx(function Bmr,"s"+"__ColdResistance_objInits_autoRun") call Icx(function BMr,"s"+"__ColdResistance_Allocation__allocInit_autoRun") call Icx(function BQr,"s"+"__ColdResistance_initializer_Init_autoRun") call Icx(function BSr,"s"+"__DeathAxe_objInits_autoRun") +call Icx(function Btr,"s"+"__DeathAxe_Allocation__allocInit_autoRun") call Icx(function B6r,"s"+"__DeathAxe_initializer_Init_autoRun") +call Icx(function B8r,"s"+"__FolderDrumRoll_StructTarget_objInits_autoRun") call Icx(function B9r,"s"+"__FolderDrumRoll_StructTarget_Allocation__allocInit_autoRun") +call Icx(function cxr,"s"+"__DrumRoll_objInits_autoRun") +call Icx(function cor,"s"+"__DrumRoll_Allocation__allocInit_autoRun") call Icx(function cJr,"s"+"__DrumRoll_initializer_Init_autoRun") +call Icx(function cKr,"s"+"__FolderEnvenomedSpears_StructTarget_objInits_autoRun") call Icx(function clr,"s"+"__FolderEnvenomedSpears_StructTarget_Allocation__allocInit_autoRun") call Icx(function cMr,"s"+"__EnvenomedSpears_objInits_autoRun") call Icx(function cpr,"s"+"__EnvenomedSpears_Allocation__allocInit_autoRun") +call Icx(function czr,"s"+"__EnvenomedSpears_initializer_Init_autoRun") call Icx(function cZr,"s"+"__AIKnockout_Allocation__allocInit_autoRun") call Icx(function c2r,"s"+"__AIKnockout_initializer_Init_autoRun") call Icx(function c4r,"s"+"__FolderKnockout_StructTarget_objInits_autoRun") call Icx(function c5r,"s"+"__FolderKnockout_StructTarget_Allocation__allocInit_autoRun") +call Icx(function c7r,"s"+"__Knockout_objInits_autoRun") +call Icx(function c8r,"s"+"__Knockout_Allocation__allocInit_autoRun") call Icx(function Ccr,"s"+"__Knockout_initializer_Init_autoRun") +call Icx(function CCr,"s"+"__AIMedipack_Allocation__allocInit_autoRun") call Icx(function CFr,"s"+"__AIMedipack_initializer_Init_autoRun") call Icx(function CGr,"s"+"__Medipack_objInits_autoRun") +call Icx(function Chr,"s"+"__Medipack_Allocation__allocInit_autoRun") call Icx(function CJr,"s"+"__Medipack_initializer_Init_autoRun") +call Icx(function Clr,"s"+"__MutingShout_objInits_autoRun") call Icx(function CLr,"s"+"__MutingShout_Allocation__allocInit_autoRun") +call Icx(function CPr,"s"+"__MutingShout_initializer_Init_autoRun") call Icx(function CQr,"s"+"__Realplex_objInits_autoRun") +call Icx(function Csr,"s"+"__Realplex_Allocation__allocInit_autoRun") call Icx(function ddr,"s"+"__Realplex_initializer_Init_autoRun") +call Icx(function dFr,"s"+"__SerpentWard_objInits_autoRun") call Icx(function dgr,"s"+"__SerpentWard_Allocation__allocInit_autoRun") +call Icx(function dmr,"s"+"__SerpentWard_initializer_Init_autoRun") call Icx(function dPr,"s"+"__SpiritWolves_objInits_autoRun") +call Icx(function dqr,"s"+"__SpiritWolves_Allocation__allocInit_autoRun") call Icx(function d1r,"s"+"__SpiritWolves_initializer_Init_autoRun") +call Icx(function d3r,"s"+"__Stormbolt_objInits_autoRun") call Icx(function d4r,"s"+"__Stormbolt_Allocation__allocInit_autoRun") call Icx(function Dvr,"s"+"__Stormbolt_initializer_Init_autoRun") call Icx(function Dor,"s"+"__SummonMinions_objInits_autoRun") call Icx(function Drr,"s"+"__SummonMinions_Allocation__allocInit_autoRun") call Icx(function DFr,"s"+"__SummonMinions_initializer_Init_autoRun") call Icx(function DGr,"s"+"__Artifact_objInits_autoRun") +call Icx(function Dhr,"s"+"__Artifact_Allocation__allocInit_autoRun") call Icx(function Djr,"s"+"__Artifact_initializer_Init_autoRun") +call Icx(function DJr,"s"+"__FolderBatSwarm_StructMissile_objInits_autoRun") +call Icx(function Dkr,"s"+"__FolderBatSwarm_StructMissile_Allocation__allocInit_autoRun") call Icx(function Dmr,"s"+"__BatSwarm_objInits_autoRun") +call Icx(function DMr,"s"+"__BatSwarm_Allocation__allocInit_autoRun") call Icx(function D1r,"s"+"__BatSwarm_initializer_Init_autoRun") +call Icx(function D7r,"s"+"__HawkEye_objInits_autoRun") call Icx(function D8r,"s"+"__HawkEye_Allocation__allocInit_autoRun") +call Icx(function fBr,"s"+"__HawkEye_initializer_Init_autoRun") call Icx(function fdr,"s"+"__FolderMagicBottle_StructBuff_objInits_autoRun") +call Icx(function fDr,"s"+"__FolderMagicBottle_StructBuff_Allocation__allocInit_autoRun") call Icx(function fFr,"s"+"__MagicBottle_objInits_autoRun") call Icx(function fgr,"s"+"__MagicBottle_Allocation__allocInit_autoRun") +call Icx(function fpr,"s"+"__MagicBottle_initializer_Init_autoRun") call Icx(function fqr,"s"+"__FolderRedwoodValkyrie_StructAir_objInits_autoRun") call Icx(function fQr,"s"+"__FolderRedwoodValkyrie_StructAir_Allocation__allocInit_autoRun") +call Icx(function ftr,"s"+"__RedwoodValkyrie_objInits_autoRun") call Icx(function fTr,"s"+"__RedwoodValkyrie_Allocation__allocInit_autoRun") +call Icx(function Fxr,"s"+"__RedwoodValkyrie_initializer_Init_autoRun") call Icx(function Far,"s"+"__SapphireblueDagger_objInits_autoRun") call Icx(function Fnr,"s"+"__SapphireblueDagger_Allocation__allocInit_autoRun") call Icx(function Fbr,"s"+"__SapphireblueDagger_initializer_Init_autoRun") call Icx(function FCr,"s"+"__SilentBoots_objInits_autoRun") call Icx(function Fdr,"s"+"__SilentBoots_Allocation__allocInit_autoRun") +call Icx(function gxr,"s"+"__SilentBoots_initializer_Init_autoRun") call Icx(function gir,"s"+"__StoneShield_objInits_autoRun") call Icx(function gar,"s"+"__StoneShield_Allocation__allocInit_autoRun") +call Icx(function gBr,"s"+"__StoneShield_initializer_Init_autoRun") call Icx(function gfr,"s"+"__TaintedLeaf_objInits_autoRun") call Icx(function gFr,"s"+"__TaintedLeaf_Allocation__allocInit_autoRun") +call Icx(function gmr,"s"+"__TaintedLeaf_initializer_Init_autoRun") call Icx(function gSr,"s"+"__FolderVioletEarring_StructCharge_objInits_autoRun") +call Icx(function gtr,"s"+"__FolderVioletEarring_StructCharge_Allocation__allocInit_autoRun") call Icx(function gur,"s"+"__FolderVioletEarring_StructPort_objInits_autoRun") call Icx(function gUr,"s"+"__FolderVioletEarring_StructPort_Allocation__allocInit_autoRun") call Icx(function gWr,"s"+"__VioletEarring_objInits_autoRun") call Icx(function gyr,"s"+"__VioletEarring_Allocation__allocInit_autoRun") call Icx(function GVr,"s"+"__VioletEarring_initializer_Init_autoRun") call Icx(function GOr,"s"+"__FolderVomit_StructTarget_objInits_autoRun") +call Icx(function GRr,"s"+"__FolderVomit_StructTarget_Allocation__allocInit_autoRun") call Icx(function GAr,"s"+"__Vomit_objInits_autoRun") call Icx(function GNr,"s"+"__Vomit_Allocation__allocInit_autoRun") call Icx(function GLr,"s"+"__Vomit_initializer_Init_autoRun") call Icx(function Gpr,"s"+"__FolderWhiteStaff_StructTarget_objInits_autoRun") call Icx(function GPr,"s"+"__FolderWhiteStaff_StructTarget_Allocation__allocInit_autoRun") call Icx(function GSr,"s"+"__WhiteStaff_objInits_autoRun") call Icx(function Gtr,"s"+"__WhiteStaff_Allocation__allocInit_autoRun") call Icx(function G_r,"s"+"__WhiteStaff_initializer_Init_autoRun") call Icx(function G1r,"s"+"__FolderBarrier_StructKnockback_objInits_autoRun") call Icx(function G2r,"s"+"__FolderBarrier_StructKnockback_Allocation__allocInit_autoRun") call Icx(function hEr,"s"+"__Barrier_objInits_autoRun") call Icx(function hXr,"s"+"__Barrier_Allocation__allocInit_autoRun") +call Icx(function hgr,"s"+"__Barrier_initializer_Init_autoRun") call Icx(function hhr,"s"+"__FolderBlizzard_StructWave_objInits_autoRun") call Icx(function hHr,"s"+"__FolderBlizzard_StructWave_Allocation__allocInit_autoRun") call Icx(function hkr,"s"+"__Blizzard_objInits_autoRun") +call Icx(function hKr,"s"+"__Blizzard_Allocation__allocInit_autoRun") call Icx(function hWr,"s"+"__Blizzard_initializer_Init_autoRun") +call Icx(function hzr,"s"+"__FolderChillyBreath_StructBuff_objInits_autoRun") call Icx(function hZr,"s"+"__FolderChillyBreath_StructBuff_Allocation__allocInit_autoRun") call Icx(function h1r,"s"+"__ChillyBreath_objInits_autoRun") +call Icx(function h2r,"s"+"__ChillyBreath_Allocation__allocInit_autoRun") call Icx(function Hlr,"s"+"__ChillyBreath_initializer_Init_autoRun") +call Icx(function HLr,"s"+"__ElementalSpellToHero_Allocation__allocInit_autoRun") call Icx(function HSr,"s"+"__ElementalSpellToHero_initializer_Init_autoRun") +call Icx(function Hur,"s"+"__FolderFireburst_StructShot_objInits_autoRun") call Icx(function HUr,"s"+"__FolderFireburst_StructShot_Allocation__allocInit_autoRun") call Icx(function Hyr,"s"+"__Fireburst_objInits_autoRun") call Icx(function HYr,"s"+"__Fireburst_Allocation__allocInit_autoRun") call Icx(function jcr,"s"+"__Fireburst_initializer_Init_autoRun") call Icx(function jdr,"s"+"__FlameTongue_objInits_autoRun") call Icx(function jDr,"s"+"__FlameTongue_Allocation__allocInit_autoRun") +call Icx(function jSr,"s"+"__FlameTongue_initializer_Init_autoRun") call Icx(function jur,"s"+"__FolderFrozenStar_StructTarget_objInits_autoRun") call Icx(function jUr,"s"+"__FolderFrozenStar_StructTarget_Allocation__allocInit_autoRun") call Icx(function jWr,"s"+"__FolderFrozenStar_StructExplosion_objInits_autoRun") +call Icx(function jyr,"s"+"__FolderFrozenStar_StructExplosion_Allocation__allocInit_autoRun") call Icx(function jzr,"s"+"__FrozenStar_objInits_autoRun") call Icx(function jZr,"s"+"__FrozenStar_Allocation__allocInit_autoRun") call Icx(function Jnr,"s"+"__FrozenStar_initializer_Init_autoRun") call Icx(function Jbr,"s"+"__FolderGhostSword_StructSword_objInits_autoRun") +call Icx(function JBr,"s"+"__FolderGhostSword_StructSword_Allocation__allocInit_autoRun") call Icx(function Jdr,"s"+"__GhostSword_objInits_autoRun") call Icx(function JDr,"s"+"__GhostSword_Allocation__allocInit_autoRun") call Icx(function JUr,"s"+"__GhostSword_initializer_Init_autoRun") call Icx(function Jyr,"s"+"__FolderHackNSlay_StructTarget_objInits_autoRun") +call Icx(function JYr,"s"+"__FolderHackNSlay_StructTarget_Allocation__allocInit_autoRun") call Icx(function J_r,"s"+"__HackNSlay_objInits_autoRun") call Icx(function J0r,"s"+"__HackNSlay_Allocation__allocInit_autoRun") call Icx(function ker,"s"+"__HackNSlay_initializer_Init_autoRun") call Icx(function krr,"s"+"__IceBlock_objInits_autoRun") +call Icx(function kir,"s"+"__IceBlock_Allocation__allocInit_autoRun") call Icx(function kVr,"s"+"__IceBlock_initializer_Init_autoRun") +call Icx(function kRr,"s"+"__IceShock_objInits_autoRun") +call Icx(function kIr,"s"+"__IceShock_Allocation__allocInit_autoRun") call Icx(function kBr,"s"+"__IceShock_initializer_Init_autoRun") +call Icx(function kdr,"s"+"__FolderInnerForce_StructCrit_objInits_autoRun") call Icx(function kDr,"s"+"__FolderInnerForce_StructCrit_Allocation__allocInit_autoRun") +call Icx(function kFr,"s"+"__InnerForce_objInits_autoRun") call Icx(function kgr,"s"+"__InnerForce_Allocation__allocInit_autoRun") call Icx(function kTr,"s"+"__InnerForce_initializer_Init_autoRun") call Icx(function kwr,"s"+"__Monolith_objInits_autoRun") +call Icx(function kWr,"s"+"__Monolith_Allocation__allocInit_autoRun") call Icx(function Ker,"s"+"__Monolith_initializer_Init_autoRun") +call Icx(function Krr,"s"+"__FolderSacredAura_StructTarget_objInits_autoRun") call Icx(function Kir,"s"+"__FolderSacredAura_StructTarget_Allocation__allocInit_autoRun") call Icx(function KVr,"s"+"__SacredAura_objInits_autoRun") call Icx(function KEr,"s"+"__SacredAura_Allocation__allocInit_autoRun") call Icx(function KBr,"s"+"__SacredAura_initializer_Init_autoRun") call Icx(function Kdr,"s"+"__FolderSeverance_StructBuff_objInits_autoRun") call Icx(function KDr,"s"+"__FolderSeverance_StructBuff_Allocation__allocInit_autoRun") call Icx(function KFr,"s"+"__Severance_objInits_autoRun") call Icx(function Kgr,"s"+"__Severance_Allocation__allocInit_autoRun") call Icx(function KQr,"s"+"__Severance_initializer_Init_autoRun") call Icx(function KSr,"s"+"__FolderSnowySphere_StructParticle_objInits_autoRun") +call Icx(function Ktr,"s"+"__FolderSnowySphere_StructParticle_Allocation__allocInit_autoRun") call Icx(function Kur,"s"+"__SnowySphere_objInits_autoRun") call Icx(function KUr,"s"+"__SnowySphere_Allocation__allocInit_autoRun") +call Icx(function lor,"s"+"__SnowySphere_initializer_Init_autoRun") call Icx(function lir,"s"+"__Thunderstrike_objInits_autoRun") call Icx(function lar,"s"+"__Thunderstrike_Allocation__allocInit_autoRun") call Icx(function lGr,"s"+"__Thunderstrike_initializer_Init_autoRun") call Icx(function lmr,"s"+"__TwinWolves_objInits_autoRun") call Icx(function lMr,"s"+"__TwinWolves_Allocation__allocInit_autoRun") call Icx(function lzr,"s"+"__TwinWolves_initializer_Init_autoRun") call Icx(function l0r,"s"+"__Brotherhood_objInits_autoRun") call Icx(function l1r,"s"+"__Brotherhood_Allocation__allocInit_autoRun") +call Icx(function Ler,"s"+"__Brotherhood_initializer_Init_autoRun") call Icx(function Lir,"s"+"__Carnivore_objInits_autoRun") call Icx(function Lar,"s"+"__Carnivore_Allocation__allocInit_autoRun") call Icx(function LXr,"s"+"__Carnivore_initializer_Init_autoRun") call Icx(function LIr,"s"+"__WolfsMark_objInits_autoRun") call Icx(function LAr,"s"+"__WolfsMark_Allocation__allocInit_autoRun") call Icx(function Lbr,"s"+"__WolfsMark_initializer_Init_autoRun") call Icx(function LBr,"s"+"__FolderVividMeteor_StructEffects_objInits_autoRun") call Icx(function Lcr,"s"+"__FolderVividMeteor_StructEffects_Allocation__allocInit_autoRun") +call Icx(function LDr,"s"+"__VividMeteor_objInits_autoRun") call Icx(function Lfr,"s"+"__VividMeteor_Allocation__allocInit_autoRun") +call Icx(function LSr,"s"+"__VividMeteor_initializer_Init_autoRun") call Icx(function LUr,"s"+"__WarmthMagnetism_objInits_autoRun") call Icx(function Lwr,"s"+"__WarmthMagnetism_Allocation__allocInit_autoRun") +call Icx(function L4r,"s"+"__WarmthMagnetism_initializer_Init_autoRun") call Icx(function L6r,"s"+"__FolderAmaterasu_StructTarget_objInits_autoRun") +call Icx(function L7r,"s"+"__FolderAmaterasu_StructTarget_Allocation__allocInit_autoRun") call Icx(function mvr,"s"+"__Amaterasu_objInits_autoRun") call Icx(function mer,"s"+"__Amaterasu_Allocation__allocInit_autoRun") call Icx(function mXr,"s"+"__Amaterasu_initializer_Init_autoRun") call Icx(function mAr,"s"+"__FolderArcaneAttractor_StructTarget_objInits_autoRun") call Icx(function mNr,"s"+"__FolderArcaneAttractor_StructTarget_Allocation__allocInit_autoRun") call Icx(function mcr,"s"+"__ArcaneAttractor_objInits_autoRun") call Icx(function mCr,"s"+"__ArcaneAttractor_Allocation__allocInit_autoRun") +call Icx(function mKr,"s"+"__ArcaneAttractor_initializer_Init_autoRun") call Icx(function mPr,"s"+"__ArcticWolf_objInits_autoRun") call Icx(function mqr,"s"+"__ArcticWolf_Allocation__allocInit_autoRun") call Icx(function m6r,"s"+"__ArcticWolf_initializer_Init_autoRun") call Icx(function m8r,"s"+"__FolderBoulderCrash_StructVisuals_objInits_autoRun") +call Icx(function m9r,"s"+"__FolderBoulderCrash_StructVisuals_Allocation__allocInit_autoRun") call Icx(function Mxr,"s"+"__BoulderCrash_objInits_autoRun") +call Icx(function Mor,"s"+"__BoulderCrash_Allocation__allocInit_autoRun") call Icx(function Mkr,"s"+"__BoulderCrash_initializer_Init_autoRun") +call Icx(function Mpr,"s"+"__Conflagration_objInits_autoRun") call Icx(function MPr,"s"+"__Conflagration_Allocation__allocInit_autoRun") call Icx(function pvr,"s"+"__Conflagration_initializer_Init_autoRun") call Icx(function pxr,"s"+"__FolderCyclone_StructRelocate_objInits_autoRun") +call Icx(function por,"s"+"__FolderCyclone_StructRelocate_Allocation__allocInit_autoRun") call Icx(function par,"s"+"__Cyclone_objInits_autoRun") call Icx(function pnr,"s"+"__Cyclone_Allocation__allocInit_autoRun") +call Icx(function pgr,"s"+"__Cyclone_initializer_Init_autoRun") call Icx(function phr,"s"+"__FolderWindDance_StructTarget_objInits_autoRun") +call Icx(function pHr,"s"+"__FolderWindDance_StructTarget_Allocation__allocInit_autoRun") call Icx(function pKr,"s"+"__WindDance_objInits_autoRun") call Icx(function plr,"s"+"__WindDance_Allocation__allocInit_autoRun") call Icx(function pqr,"s"+"__DeprivingShock_objInits_autoRun") call Icx(function pQr,"s"+"__DeprivingShock_Allocation__allocInit_autoRun") call Icx(function pYr,"s"+"__DeprivingShock_initializer_Init_autoRun") call Icx(function p_r,"s"+"__FolderDoppelganger_StructBigBoom_objInits_autoRun") +call Icx(function p0r,"s"+"__FolderDoppelganger_StructBigBoom_Allocation__allocInit_autoRun") call Icx(function p3r,"s"+"__FolderDoppelganger_StructFireBuff_objInits_autoRun") call Icx(function p4r,"s"+"__FolderDoppelganger_StructFireBuff_Allocation__allocInit_autoRun") call Icx(function p8r,"s"+"__FolderDoppelganger_StructIceBuff_objInits_autoRun") +call Icx(function p9r,"s"+"__FolderDoppelganger_StructIceBuff_Allocation__allocInit_autoRun") call Icx(function Prr,"s"+"__Doppelganger_objInits_autoRun") +call Icx(function Pir,"s"+"__Doppelganger_Allocation__allocInit_autoRun") call Icx(function Ppr,"s"+"__Doppelganger_initializer_Init_autoRun") +call Icx(function PQr,"s"+"__EbonyShot_objInits_autoRun") call Icx(function Psr,"s"+"__EbonyShot_Allocation__allocInit_autoRun") call Icx(function P3r,"s"+"__EbonyShot_initializer_Init_autoRun") call Icx(function P6r,"s"+"__FolderEmphaticBite_StructBuff_objInits_autoRun") call Icx(function P7r,"s"+"__FolderEmphaticBite_StructBuff_Allocation__allocInit_autoRun") call Icx(function qer,"s"+"__EmphaticBite_objInits_autoRun") +call Icx(function qxr,"s"+"__EmphaticBite_Allocation__allocInit_autoRun") call Icx(function qdr,"s"+"__EmphaticBite_initializer_Init_autoRun") +call Icx(function qfr,"s"+"__EnchantedArrow_objInits_autoRun") call Icx(function qFr,"s"+"__EnchantedArrow_Allocation__allocInit_autoRun") call Icx(function qWr,"s"+"__EnchantedArrow_initializer_Init_autoRun") call Icx(function qzr,"s"+"__FolderFairyShape_StructRevert_objInits_autoRun") call Icx(function qZr,"s"+"__FolderFairyShape_StructRevert_Allocation__allocInit_autoRun") call Icx(function q9r,"s"+"__FairyShape_objInits_autoRun") call Icx(function Qvr,"s"+"__FairyShape_Allocation__allocInit_autoRun") call Icx(function QCr,"s"+"__FairyShape_initializer_Init_autoRun") call Icx(function QFr,"s"+"__FolderFairysTears_StructTarget_objInits_autoRun") call Icx(function Qgr,"s"+"__FolderFairysTears_StructTarget_Allocation__allocInit_autoRun") call Icx(function QHr,"s"+"__FairysTears_objInits_autoRun") call Icx(function Qjr,"s"+"__FairysTears_Allocation__allocInit_autoRun") +call Icx(function QSr,"s"+"__FairysTears_initializer_Init_autoRun") call Icx(function Qur,"s"+"__FountainOfLifeAndDeath_objInits_autoRun") call Icx(function QUr,"s"+"__FountainOfLifeAndDeath_Allocation__allocInit_autoRun") call Icx(function Q1r,"s"+"__FountainOfLifeAndDeath_initializer_Init_autoRun") call Icx(function Q4r,"s"+"__FolderDecayAura_StructTarget_objInits_autoRun") +call Icx(function Q5r,"s"+"__FolderDecayAura_StructTarget_Allocation__allocInit_autoRun") call Icx(function Q9r,"s"+"__DecayAura_objInits_autoRun") call Icx(function svr,"s"+"__DecayAura_Allocation__allocInit_autoRun") call Icx(function sXr,"s"+"__DecayAura_initializer_Init_autoRun") call Icx(function sOr,"s"+"__AIPalingenesis_Allocation__allocInit_autoRun") call Icx(function scr,"s"+"__AIPalingenesis_initializer_Init_autoRun") call Icx(function sDr,"s"+"__Palingenesis_objInits_autoRun") +call Icx(function sfr,"s"+"__Palingenesis_Allocation__allocInit_autoRun") call Icx(function sJr,"s"+"__Palingenesis_initializer_Init_autoRun") +call Icx(function slr,"s"+"__FolderGarmentsOfTheSalamander_StructRegen_objInits_autoRun") call Icx(function sLr,"s"+"__FolderGarmentsOfTheSalamander_StructRegen_Allocation__allocInit_autoRun") call Icx(function ssr,"s"+"__GarmentsOfTheSalamander_objInits_autoRun") call Icx(function sSr,"s"+"__GarmentsOfTheSalamander_Allocation__allocInit_autoRun") +call Icx(function s3r,"s"+"__GarmentsOfTheSalamander_initializer_Init_autoRun") call Icx(function s4r,"s"+"__FolderHandOfNature_StructId_Allocation__allocInit_autoRun") +call Icx(function s5r,"s"+"__FolderHandOfNature_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call Icx(function s6r,"s"+"__FolderHandOfNature_FolderData_StructInteger_Allocation__allocInit_autoRun") +call Icx(function s7r,"s"+"__FolderHandOfNature_StructData_Allocation__allocInit_autoRun") call Icx(function s9r,"s"+"__FolderHandOfNature_StructPrison_objInits_autoRun") call Icx(function Svr,"s"+"__FolderHandOfNature_StructPrison_Allocation__allocInit_autoRun") +call Icx(function Sor,"s"+"__FolderHandOfNature_FolderRoots_StructBuff_objInits_autoRun") call Icx(function Srr,"s"+"__FolderHandOfNature_FolderRoots_StructBuff_Allocation__allocInit_autoRun") call Icx(function Sir,"s"+"__FolderHandOfNature_StructRoots_objInits_autoRun") call Icx(function Sar,"s"+"__FolderHandOfNature_StructRoots_Allocation__allocInit_autoRun") call Icx(function Snr,"s"+"__FolderHandOfNature_StructNova_objInits_autoRun") call Icx(function SVr,"s"+"__FolderHandOfNature_StructNova_Allocation__allocInit_autoRun") call Icx(function SBr,"s"+"__HandOfNature_objInits_autoRun") +call Icx(function Scr,"s"+"__HandOfNature_Allocation__allocInit_autoRun") call Icx(function S5r,"s"+"__HandOfNature_initializer_Init_autoRun") +call Icx(function S8r,"s"+"__FolderSlowPoison_StructTarget_objInits_autoRun") call Icx(function S9r,"s"+"__FolderSlowPoison_StructTarget_Allocation__allocInit_autoRun") call Icx(function txr,"s"+"__SlowPoison_objInits_autoRun") call Icx(function tor,"s"+"__SlowPoison_Allocation__allocInit_autoRun") call Icx(function tbr,"s"+"__SlowPoison_initializer_Init_autoRun") call Icx(function tCr,"s"+"__FolderHopNDrop_FolderSetMines_StructMine_objInits_autoRun") +call Icx(function tdr,"s"+"__FolderHopNDrop_FolderSetMines_StructMine_Allocation__allocInit_autoRun") call Icx(function tFr,"s"+"__FolderHopNDrop_StructSetMines_objInits_autoRun") call Icx(function tgr,"s"+"__FolderHopNDrop_StructSetMines_Allocation__allocInit_autoRun") call Icx(function tHr,"s"+"__HopNDrop_objInits_autoRun") +call Icx(function tjr,"s"+"__HopNDrop_Allocation__allocInit_autoRun") call Icx(function tWr,"s"+"__HopNDrop_initializer_Init_autoRun") +call Icx(function tYr,"s"+"__FolderInfection_StructCone_objInits_autoRun") call Icx(function tzr,"s"+"__FolderInfection_StructCone_Allocation__allocInit_autoRun") call Icx(function t0r,"s"+"__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_objInits_autoRun") call Icx(function t1r,"s"+"__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_Allocation__allocInit_autoRun") +call Icx(function t9r,"s"+"__FolderInfection_StructSummon_objInits_autoRun") +call Icx(function Tvr,"s"+"__FolderInfection_StructSummon_Allocation__allocInit_autoRun") call Icx(function Tor,"s"+"__FolderInfection_StructTarget_objInits_autoRun") +call Icx(function Trr,"s"+"__FolderInfection_StructTarget_Allocation__allocInit_autoRun") call Icx(function Tnr,"s"+"__Infection_objInits_autoRun") call Icx(function TVr,"s"+"__Infection_Allocation__allocInit_autoRun") call Icx(function TLr,"s"+"__Infection_initializer_Init_autoRun") call Icx(function Tpr,"s"+"__FolderKhakiRecovery_StructRestoration_objInits_autoRun") call Icx(function TPr,"s"+"__FolderKhakiRecovery_StructRestoration_Allocation__allocInit_autoRun") call Icx(function Ttr,"s"+"__KhakiRecovery_objInits_autoRun") call Icx(function TTr,"s"+"__KhakiRecovery_Allocation__allocInit_autoRun") call Icx(function uir,"s"+"__KhakiRecovery_initializer_Init_autoRun") call Icx(function uOr,"s"+"__ManaColossus_objInits_autoRun") +call Icx(function uRr,"s"+"__ManaColossus_Allocation__allocInit_autoRun") call Icx(function uNr,"s"+"__ManaColossus_initializer_Init_autoRun") +call Icx(function ucr,"s"+"__FolderTheurgicVessel_StructTarget_objInits_autoRun") call Icx(function uCr,"s"+"__FolderTheurgicVessel_StructTarget_Allocation__allocInit_autoRun") call Icx(function ufr,"s"+"__TheurgicVessel_objInits_autoRun") call Icx(function uFr,"s"+"__TheurgicVessel_Allocation__allocInit_autoRun") call Icx(function uLr,"s"+"__TheurgicVessel_initializer_Init_autoRun") call Icx(function upr,"s"+"__FolderManaLaser_StructRevert_objInits_autoRun") +call Icx(function uPr,"s"+"__FolderManaLaser_StructRevert_Allocation__allocInit_autoRun") call Icx(function usr,"s"+"__ManaLaser_objInits_autoRun") call Icx(function uSr,"s"+"__ManaLaser_Allocation__allocInit_autoRun") call Icx(function Uor,"s"+"__ManaLaser_initializer_Init_autoRun") call Icx(function Uir,"s"+"__FolderMassMimesis_StructCharm_objInits_autoRun") call Icx(function Uar,"s"+"__FolderMassMimesis_StructCharm_Allocation__allocInit_autoRun") call Icx(function Unr,"s"+"__FolderMassMimesis_StructMissile_objInits_autoRun") call Icx(function UVr,"s"+"__FolderMassMimesis_StructMissile_Allocation__allocInit_autoRun") +call Icx(function UOr,"s"+"__MassMimesis_objInits_autoRun") call Icx(function URr,"s"+"__MassMimesis_Allocation__allocInit_autoRun") +call Icx(function UKr,"s"+"__MassMimesis_initializer_Init_autoRun") call Icx(function UPr,"s"+"__MountainKing_objInits_autoRun") +call Icx(function Uqr,"s"+"__MountainKing_Allocation__allocInit_autoRun") call Icx(function UWr,"s"+"__MountainKing_initializer_Init_autoRun") +call Icx(function UYr,"s"+"__Thunderbringer_objInits_autoRun") call Icx(function Uzr,"s"+"__Thunderbringer_Allocation__allocInit_autoRun") call Icx(function U1r,"s"+"__Thunderbringer_initializer_Init_autoRun") call Icx(function U5r,"s"+"__NegationWave_objInits_autoRun") +call Icx(function U6r,"s"+"__NegationWave_Allocation__allocInit_autoRun") call Icx(function wIr,"s"+"__NegationWave_initializer_Init_autoRun") +call Icx(function wCr,"s"+"__FolderNurturingGrounds_StructEgg_objInits_autoRun") +call Icx(function wdr,"s"+"__FolderNurturingGrounds_StructEgg_Allocation__allocInit_autoRun") call Icx(function wFr,"s"+"__NurturingGrounds_objInits_autoRun") +call Icx(function wgr,"s"+"__NurturingGrounds_Allocation__allocInit_autoRun") call Icx(function Wir,"s"+"__NurturingGrounds_initializer_Init_autoRun") +call Icx(function Wnr,"s"+"__FolderPandaPaw_FolderArrival_StructTarget_objInits_autoRun") call Icx(function WVr,"s"+"__FolderPandaPaw_FolderArrival_StructTarget_Allocation__allocInit_autoRun") call Icx(function WOr,"s"+"__FolderPandaPaw_StructArrival_objInits_autoRun") +call Icx(function WRr,"s"+"__FolderPandaPaw_StructArrival_Allocation__allocInit_autoRun") call Icx(function WNr,"s"+"__FolderPandaPaw_StructLeech_objInits_autoRun") call Icx(function Wbr,"s"+"__FolderPandaPaw_StructLeech_Allocation__allocInit_autoRun") call Icx(function WCr,"s"+"__PandaPaw_objInits_autoRun") +call Icx(function Wdr,"s"+"__PandaPaw_Allocation__allocInit_autoRun") call Icx(function W9r,"s"+"__PandaPaw_initializer_Init_autoRun") +call Icx(function yer,"s"+"__FolderPurgingRain_StructWave_objInits_autoRun") +call Icx(function yxr,"s"+"__FolderPurgingRain_StructWave_Allocation__allocInit_autoRun") call Icx(function yir,"s"+"__PurgingRain_objInits_autoRun") call Icx(function yar,"s"+"__PurgingRain_Allocation__allocInit_autoRun") +call Icx(function ygr,"s"+"__PurgingRain_initializer_Init_autoRun") call Icx(function yhr,"s"+"__FolderRazorBladeDrawBack_StructBlade_objInits_autoRun") +call Icx(function yHr,"s"+"__FolderRazorBladeDrawBack_StructBlade_Allocation__allocInit_autoRun") call Icx(function yJr,"s"+"__RazorBladeDrawBack_objInits_autoRun") call Icx(function ykr,"s"+"__RazorBladeDrawBack_Allocation__allocInit_autoRun") call Icx(function yqr,"s"+"__RazorBladeDrawBack_initializer_Init_autoRun") call Icx(function ySr,"s"+"__FolderRazorBlade_StructVamp_objInits_autoRun") call Icx(function ytr,"s"+"__FolderRazorBlade_StructVamp_Allocation__allocInit_autoRun") +call Icx(function yUr,"s"+"__RazorBlade_objInits_autoRun") call Icx(function ywr,"s"+"__RazorBlade_Allocation__allocInit_autoRun") call Icx(function YSr,"s"+"__RazorBlade_initializer_Init_autoRun") call Icx(function Yur,"s"+"__FolderRelentlessShiver_StructBuff_objInits_autoRun") call Icx(function YUr,"s"+"__FolderRelentlessShiver_StructBuff_Allocation__allocInit_autoRun") call Icx(function YWr,"s"+"__FolderRelentlessShiver_StructMissile_objInits_autoRun") +call Icx(function Yyr,"s"+"__FolderRelentlessShiver_StructMissile_Allocation__allocInit_autoRun") call Icx(function Y0r,"s"+"__RelentlessShiver_objInits_autoRun") +call Icx(function Y1r,"s"+"__RelentlessShiver_Allocation__allocInit_autoRun") call Icx(function zEr,"s"+"__RelentlessShiver_initializer_Init_autoRun") +call Icx(function zOr,"s"+"__FolderRigorMortis_StructAfterBuff_objInits_autoRun") call Icx(function zRr,"s"+"__FolderRigorMortis_StructAfterBuff_Allocation__allocInit_autoRun") call Icx(function zAr,"s"+"__RigorMortis_objInits_autoRun") call Icx(function zNr,"s"+"__RigorMortis_Allocation__allocInit_autoRun") +call Icx(function zgr,"s"+"__RigorMortis_initializer_Init_autoRun") call Icx(function zGr,"s"+"__FolderSakeBomb_StructMissile_objInits_autoRun") +call Icx(function zhr,"s"+"__FolderSakeBomb_StructMissile_Allocation__allocInit_autoRun") call Icx(function zJr,"s"+"__SakeBomb_objInits_autoRun") +call Icx(function zkr,"s"+"__SakeBomb_Allocation__allocInit_autoRun") call Icx(function zYr,"s"+"__SakeBomb_initializer_Init_autoRun") +call Icx(function z_r,"s"+"__SanguineEyes_objInits_autoRun") +call Icx(function z0r,"s"+"__SanguineEyes_Allocation__allocInit_autoRun") call Icx(function z6r,"s"+"__SanguineEyes_initializer_Init_autoRun") +call Icx(function z8r,"s"+"__FolderShamanicBubble_StructTarget_objInits_autoRun") call Icx(function z9r,"s"+"__FolderShamanicBubble_StructTarget_Allocation__allocInit_autoRun") call Icx(function Zer,"s"+"__FolderShamanicBubble_StructTransition_objInits_autoRun") call Icx(function Zxr,"s"+"__FolderShamanicBubble_StructTransition_Allocation__allocInit_autoRun") call Icx(function Zir,"s"+"__ShamanicBubble_objInits_autoRun") call Icx(function Zar,"s"+"__ShamanicBubble_Allocation__allocInit_autoRun") call Icx(function ZFr,"s"+"__ShamanicBubble_initializer_Init_autoRun") call Icx(function ZHr,"s"+"__FolderSleepingDraft_StructBuff_objInits_autoRun") call Icx(function Zjr,"s"+"__FolderSleepingDraft_StructBuff_Allocation__allocInit_autoRun") call Icx(function ZKr,"s"+"__SleepingDraft_objInits_autoRun") call Icx(function Zlr,"s"+"__SleepingDraft_Allocation__allocInit_autoRun") call Icx(function ZWr,"s"+"__SleepingDraft_initializer_Init_autoRun") call Icx(function Zyr,"s"+"__FolderSoberUp_StructHealMissile_objInits_autoRun") call Icx(function ZYr,"s"+"__FolderSoberUp_StructHealMissile_Allocation__allocInit_autoRun") +call Icx(function Z_r,"s"+"__SoberUp_objInits_autoRun") call Icx(function Z0r,"s"+"__SoberUp_Allocation__allocInit_autoRun") +call Icx(function vei,"s"+"__SoberUp_initializer_Init_autoRun") call Icx(function vri,"s"+"__FolderSteelImpalement_StructTarget_objInits_autoRun") call Icx(function vii,"s"+"__FolderSteelImpalement_StructTarget_Allocation__allocInit_autoRun") call Icx(function vVi,"s"+"__SteelImpalement_objInits_autoRun") call Icx(function vEi,"s"+"__SteelImpalement_Allocation__allocInit_autoRun") +call Icx(function vgi,"s"+"__SteelImpalement_initializer_Init_autoRun") call Icx(function vGi,"s"+"__FolderSummonPolarBear_FolderSummon_StructCallback_Allocation__allocInit_autoRun") call Icx(function vmi,"s"+"__FolderSummonPolarBear_StructSummon_objInits_autoRun") call Icx(function vMi,"s"+"__FolderSummonPolarBear_StructSummon_Allocation__allocInit_autoRun") call Icx(function vPi,"s"+"__SummonPolarBear_objInits_autoRun") call Icx(function vqi,"s"+"__SummonPolarBear_Allocation__allocInit_autoRun") +call Icx(function v8i,"s"+"__SummonPolarBear_initializer_Init_autoRun") call Icx(function evi,"s"+"__ArcticBlink_objInits_autoRun") call Icx(function eei,"s"+"__ArcticBlink_Allocation__allocInit_autoRun") +call Icx(function eOi,"s"+"__ArcticBlink_initializer_Init_autoRun") call Icx(function eIi,"s"+"__Devour_objInits_autoRun") call Icx(function eAi,"s"+"__Devour_Allocation__allocInit_autoRun") call Icx(function eBi,"s"+"__Devour_initializer_Init_autoRun") call Icx(function edi,"s"+"__Susanoo_objInits_autoRun") call Icx(function eDi,"s"+"__Susanoo_Allocation__allocInit_autoRun") +call Icx(function eLi,"s"+"__Susanoo_initializer_Init_autoRun") call Icx(function eQi,"s"+"__Swiftness_objInits_autoRun") call Icx(function esi,"s"+"__Swiftness_Allocation__allocInit_autoRun") call Icx(function eUi,"s"+"__Swiftness_initializer_Init_autoRun") call Icx(function eyi,"s"+"__FolderTempestStrike_StructCriticalAttacks_objInits_autoRun") call Icx(function eYi,"s"+"__FolderTempestStrike_StructCriticalAttacks_Allocation__allocInit_autoRun") call Icx(function e_i,"s"+"__TempestStrike_objInits_autoRun") call Icx(function e0i,"s"+"__TempestStrike_Allocation__allocInit_autoRun") call Icx(function xvi,"s"+"__TempestStrike_initializer_Init_autoRun") call Icx(function xei,"s"+"__FolderTsukuyomi_StructMissile_objInits_autoRun") call Icx(function xxi,"s"+"__FolderTsukuyomi_StructMissile_Allocation__allocInit_autoRun") call Icx(function xri,"s"+"__FolderTsukuyomi_StructRelocate_objInits_autoRun") call Icx(function xii,"s"+"__FolderTsukuyomi_StructRelocate_Allocation__allocInit_autoRun") call Icx(function xni,"s"+"__FolderTsukuyomi_StructTarget_objInits_autoRun") +call Icx(function xVi,"s"+"__FolderTsukuyomi_StructTarget_Allocation__allocInit_autoRun") call Icx(function xOi,"s"+"__Tsukuyomi_objInits_autoRun") call Icx(function xRi,"s"+"__Tsukuyomi_Allocation__allocInit_autoRun") call Icx(function xPi,"s"+"__Tsukuyomi_initializer_Init_autoRun") call Icx(function xqi,"s"+"__FolderWanShroud_StructMissile_objInits_autoRun") call Icx(function xQi,"s"+"__FolderWanShroud_StructMissile_Allocation__allocInit_autoRun") call Icx(function xti,"s"+"__FolderWanShroud_StructTarget_objInits_autoRun") +call Icx(function xTi,"s"+"__FolderWanShroud_StructTarget_Allocation__allocInit_autoRun") call Icx(function xUi,"s"+"__WanShroud_objInits_autoRun") call Icx(function xwi,"s"+"__WanShroud_Allocation__allocInit_autoRun") call Icx(function oEi,"s"+"__WanShroud_initializer_Init_autoRun") call Icx(function oRi,"s"+"__FolderWarcry_StructTarget_objInits_autoRun") call Icx(function oIi,"s"+"__FolderWarcry_StructTarget_Allocation__allocInit_autoRun") call Icx(function oNi,"s"+"__Warcry_objInits_autoRun") call Icx(function obi,"s"+"__Warcry_Allocation__allocInit_autoRun") call Icx(function ohi,"s"+"__Warcry_initializer_Init_autoRun") call Icx(function omi,"s"+"__FolderWaterBindings_StructSummon_objInits_autoRun") +call Icx(function oMi,"s"+"__FolderWaterBindings_StructSummon_Allocation__allocInit_autoRun") call Icx(function oPi,"s"+"__WaterBindings_objInits_autoRun") call Icx(function oqi,"s"+"__WaterBindings_Allocation__allocInit_autoRun") call Icx(function oui,"s"+"__WaterBindings_initializer_Init_autoRun") call Icx(function oyi,"s"+"__Lariat_objInits_autoRun") call Icx(function oYi,"s"+"__Lariat_Allocation__allocInit_autoRun") call Icx(function o3i,"s"+"__Lariat_initializer_Init_autoRun") call Icx(function o9i,"s"+"__FolderSoakingAttack_StructTarget_objInits_autoRun") +call Icx(function rvi,"s"+"__FolderSoakingAttack_StructTarget_Allocation__allocInit_autoRun") call Icx(function roi,"s"+"__SoakingAttack_objInits_autoRun") call Icx(function rri,"s"+"__SoakingAttack_Allocation__allocInit_autoRun") call Icx(function rci,"s"+"__SoakingAttack_initializer_Init_autoRun") call Icx(function rDi,"s"+"__FolderZodiacAura_StructTarget_objInits_autoRun") call Icx(function rfi,"s"+"__FolderZodiacAura_StructTarget_Allocation__allocInit_autoRun") call Icx(function rGi,"s"+"__ZodiacAura_objInits_autoRun") call Icx(function rhi,"s"+"__ZodiacAura_Allocation__allocInit_autoRun") call Icx(function rpi,"s"+"__ZodiacAura_initializer_Init_autoRun") call Icx(function rQi,"s"+"__Zodiac_objInits_autoRun") call Icx(function rsi,"s"+"__Zodiac_Allocation__allocInit_autoRun") call Icx(function ryi,"s"+"__Zodiac_initializer_Init_autoRun") call Icx(function r_i,"s"+"__BigHealingWave_objInits_autoRun") call Icx(function r0i,"s"+"__BigHealingWave_Allocation__allocInit_autoRun") call Icx(function ixi,"s"+"__BigHealingWave_initializer_Init_autoRun") call Icx(function iii,"s"+"__BurningSpiritMeteorite_objInits_autoRun") call Icx(function iai,"s"+"__BurningSpiritMeteorite_Allocation__allocInit_autoRun") call Icx(function iRi,"s"+"__BurningSpiritMeteorite_initializer_Init_autoRun") call Icx(function iAi,"s"+"__BurnLumber_objInits_autoRun") call Icx(function iNi,"s"+"__BurnLumber_Allocation__allocInit_autoRun") call Icx(function idi,"s"+"__BurnLumber_initializer_Init_autoRun") call Icx(function ifi,"s"+"__CoreFusion_objInits_autoRun") call Icx(function iFi,"s"+"__CoreFusion_Allocation__allocInit_autoRun") call Icx(function imi,"s"+"__CoreFusion_initializer_Init_autoRun") call Icx(function iqi,"s"+"__DarkAttack_objInits_autoRun") call Icx(function iQi,"s"+"__DarkAttack_Allocation__allocInit_autoRun") call Icx(function iyi,"s"+"__DarkAttack_initializer_Init_autoRun") call Icx(function izi,"s"+"__FolderFountainAura_StructTarget_objInits_autoRun") call Icx(function iZi,"s"+"__FolderFountainAura_StructTarget_Allocation__allocInit_autoRun") +call Icx(function i1i,"s"+"__FountainAura_objInits_autoRun") +call Icx(function i2i,"s"+"__FountainAura_Allocation__allocInit_autoRun") call Icx(function axi,"s"+"__FountainAura_initializer_Init_autoRun") +call Icx(function aai,"s"+"__FountainHeal_objInits_autoRun") +call Icx(function ani,"s"+"__FountainHeal_Allocation__allocInit_autoRun") call Icx(function aCi,"s"+"__FountainHeal_initializer_Init_autoRun") +call Icx(function aFi,"s"+"__FrostAttack_objInits_autoRun") call Icx(function agi,"s"+"__FrostAttack_Allocation__allocInit_autoRun") +call Icx(function ami,"s"+"__FrostAttack_initializer_Init_autoRun") call Icx(function aPi,"s"+"__Invisibility_objInits_autoRun") +call Icx(function aqi,"s"+"__Invisibility_Allocation__allocInit_autoRun") call Icx(function aui,"s"+"__Invisibility_initializer_Init_autoRun") +call Icx(function aWi,"s"+"__Invulnerability_objInits_autoRun") call Icx(function ayi,"s"+"__Invulnerability_Allocation__allocInit_autoRun") +call Icx(function a1i,"s"+"__Invulnerability_initializer_Init_autoRun") call Icx(function a3i,"s"+"__FolderLapidation_StructBuff_objInits_autoRun") call Icx(function a4i,"s"+"__FolderLapidation_StructBuff_Allocation__allocInit_autoRun") +call Icx(function a6i,"s"+"__Lapidation_objInits_autoRun") call Icx(function a7i,"s"+"__Lapidation_Allocation__allocInit_autoRun") call Icx(function nXi,"s"+"__Lapidation_initializer_Init_autoRun") call Icx(function nNi,"s"+"__LightningAttack_objInits_autoRun") call Icx(function nbi,"s"+"__LightningAttack_Allocation__allocInit_autoRun") +call Icx(function nMi,"s"+"__LightningAttack_initializer_Init_autoRun") call Icx(function nqi,"s"+"__MagicImmunity_objInits_autoRun") call Icx(function nQi,"s"+"__MagicImmunity_Allocation__allocInit_autoRun") call Icx(function nTi,"s"+"__MagicImmunity_initializer_Init_autoRun") call Icx(function nUi,"s"+"__MeteoriteProtection_objInits_autoRun") call Icx(function nwi,"s"+"__MeteoriteProtection_Allocation__allocInit_autoRun") +call Icx(function nyi,"s"+"__RefreshMana_objInits_autoRun") call Icx(function nYi,"s"+"__RefreshMana_Allocation__allocInit_autoRun") +call Icx(function n3i,"s"+"__RefreshMana_initializer_Init_autoRun") call Icx(function n5i,"s"+"__FolderRevealAura_StructTarget_objInits_autoRun") call Icx(function n6i,"s"+"__FolderRevealAura_StructTarget_Allocation__allocInit_autoRun") call Icx(function n9i,"s"+"__RevealAura_objInits_autoRun") call Icx(function Vvi,"s"+"__RevealAura_Allocation__allocInit_autoRun") call Icx(function VXi,"s"+"__RevealAura_initializer_Init_autoRun") call Icx(function VRi,"s"+"__Meteorite_objInits_autoRun") call Icx(function VIi,"s"+"__Meteorite_Allocation__allocInit_autoRun") call Icx(function Vji,"s"+"__Meteorite_initializer_Init_autoRun") call Icx(function VJi,"s"+"__Pengu_Allocation__allocInit_autoRun") call Icx(function VLi,"s"+"__Pengu_initializer_Init_autoRun") call Icx(function VMi,"s"+"__Sebastian_objInits_autoRun") call Icx(function Vpi,"s"+"__Sebastian_Allocation__allocInit_autoRun") call Icx(function VQi,"s"+"__Sebastian_initializer_Init_autoRun") call Icx(function Vsi,"s"+"__Loading_Allocation__allocInit_autoRun") +return true endfunction function Vti takes nothing returns boolean set Hg=CreateTrigger() call TriggerAddCondition(Hg,Condition(function dMx)) +set Fg=CreateTrigger() call TriggerAddCondition(Fg,Condition(function dHx)) +set Xd=CreateTrigger() call TriggerAddCondition(Xd,Condition(function BBx)) +return true endfunction function VTi takes nothing returns nothing set lf=dpx(kf,Kf) endfunction function Vui takes nothing returns nothing call dJx(kf,Kf,Bg,cg) endfunction function VUi takes nothing returns nothing call Kcx(kf,Yp) endfunction function Vwi takes nothing returns nothing set lf=KBx(kf,Yp,Zp) +endfunction function VWi takes nothing returns nothing call Kix(kf) +endfunction function Vyi takes nothing returns nothing call vfo(kf) +endfunction function VYi takes nothing returns nothing call tTo(kf,Yp,Zp,QFv) endfunction function Vzi takes nothing returns nothing call b3r(kf,Kf,Bg,cg,Roe) endfunction function VZi takes nothing returns nothing call Kpr(kf,Yp,Zp,QFv,Kf) endfunction function V_i takes nothing returns nothing call nHi(kf,Kf,Bg,cg,Roe) endfunction function V0i takes nothing returns boolean set Lf=CreateTrigger() call TriggerAddCondition(Lf,Condition(function VTi)) +set Cg=CreateTrigger() call TriggerAddCondition(Cg,Condition(function Vui)) +set zp=CreateTrigger() call TriggerAddCondition(zp,Condition(function VUi)) +set vP=CreateTrigger() call TriggerAddCondition(vP,Condition(function Vwi)) +set OP=CreateTrigger() call TriggerAddCondition(OP,Condition(function VWi)) +set n2v=CreateTrigger() call TriggerAddCondition(n2v,Condition(function Vyi)) set Qgv=CreateTrigger() call TriggerAddCondition(Qgv,Condition(function VYi)) set Rre=CreateTrigger() call TriggerAddCondition(Rre,Condition(function Vzi)) set H8e=CreateTrigger() call TriggerAddCondition(H8e,Condition(function VZi)) set nDx=CreateTrigger() call TriggerAddCondition(nDx,Condition(function V_i)) return true endfunction function V1i takes nothing returns boolean set j=InitHashtable() call SaveStr(j,GetHandleId(Condition(function Vbx)),0,"I"+"nitPlayerSlots") call SaveStr(j,GetHandleId(Condition(function config)),0,"c"+"onfig") call SaveStr(j,GetHandleId(Condition(function VDx)),0,"s"+"__FolderUser_FolderEvent_StructNative_GetTrigger") call SaveStr(j,GetHandleId(Condition(function Vjx)),0,"P"+"rintBufferStack") +call SaveStr(j,GetHandleId(Condition(function VLx)),0,"D"+"ebugBufferFinish") call SaveStr(j,GetHandleId(Condition(function V3x)),0,"s"+"__EventResponse_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Eqx)),0,"h"+"erospell__Actions") call SaveStr(j,GetHandleId(Condition(function Esx)),0,"h"+"erospell__Init") call SaveStr(j,GetHandleId(Condition(function Eyx)),0,"l"+"oadmem__Actions") +call SaveStr(j,GetHandleId(Condition(function Ezx)),0,"l"+"oadmem__Init") call SaveStr(j,GetHandleId(Condition(function EZx)),0,"m"+"emtabletest__Actions") call SaveStr(j,GetHandleId(Condition(function E_x)),0,"m"+"emtabletest__Init") call SaveStr(j,GetHandleId(Condition(function E1x)),0,"s"+"__GameMessage_allocCustom") call SaveStr(j,GetHandleId(Condition(function E3x)),0,"s"+"__Timer_allocCustom") +call SaveStr(j,GetHandleId(Condition(function E5x)),0,"s"+"__Timer_Create") call SaveStr(j,GetHandleId(Condition(function XXx)),0,"s"+"__Timer_GetExpired") call SaveStr(j,GetHandleId(Condition(function Xcx)),0,"s"+"__GameMessage_EndingByTimer") +call SaveStr(j,GetHandleId(Condition(function X1x)),0,"T"+"rig_Unbezeichneter_Ausl__ser_002_Actions") call SaveStr(j,GetHandleId(Condition(function X2x)),0,"s"+"ay__init") call SaveStr(j,GetHandleId(Condition(function X3x)),0,"s"+"ethp__Actions") call SaveStr(j,GetHandleId(Condition(function X4x)),0,"s"+"ethp__Init") call SaveStr(j,GetHandleId(Condition(function Oxx)),0,"s"+"etlvl__Actions") call SaveStr(j,GetHandleId(Condition(function Oox)),0,"s"+"etlvl__Init") +call SaveStr(j,GetHandleId(Condition(function OOx)),0,"T"+"rig_takeunit_Enum") call SaveStr(j,GetHandleId(Condition(function ORx)),0,"T"+"rig_takeunit_Actions") call SaveStr(j,GetHandleId(Condition(function OIx)),0,"t"+"akeunit__init") call SaveStr(j,GetHandleId(Condition(function OAx)),0,"r"+"pgcam__Actions") call SaveStr(j,GetHandleId(Condition(function ONx)),0,"r"+"pgcam__Init") +call SaveStr(j,GetHandleId(Condition(function Obx)),0,"C"+"reateRegions") call SaveStr(j,GetHandleId(Condition(function OBx)),0,"C"+"reateCameras") call SaveStr(j,GetHandleId(Condition(function Ocx)),0,"C"+"reateAllDestructables") call SaveStr(j,GetHandleId(Condition(function OCx)),0,"C"+"reateAllItems") call SaveStr(j,GetHandleId(Condition(function Ofx)),0,"s"+"__preplaced_allocCustom") +call SaveStr(j,GetHandleId(Condition(function OJx)),0,"s"+"__preplaced_initRects") call SaveStr(j,GetHandleId(Condition(function OPx)),0,"s"+"__preplaced_initUnits") call SaveStr(j,GetHandleId(Condition(function OQx)),0,"s"+"__Loading_UpdateCam_Exec") call SaveStr(j,GetHandleId(Condition(function Osx)),0,"s"+"__Loading_WaitLoop") call SaveStr(j,GetHandleId(Condition(function OSx)),0,"s"+"__Loading_Start") +call SaveStr(j,GetHandleId(Condition(function OTx)),0,"s"+"__Loading_allocCustom") call SaveStr(j,GetHandleId(Condition(function OWx)),0,"s"+"__Loading_RunInits_HEADER") call SaveStr(j,GetHandleId(Condition(function Ozx)),0,"s"+"__EffectLevel_allocCustom") call SaveStr(j,GetHandleId(Condition(function O0x)),0,"s"+"__EffectLevel_Init") call SaveStr(j,GetHandleId(Condition(function O1x)),0,"s"+"__Loading_RunInits_HEADER_EVENT") +call SaveStr(j,GetHandleId(Condition(function O2x)),0,"s"+"__Loading_RunInits_HEADER_2") +call SaveStr(j,GetHandleId(Condition(function O3x)),0,"s"+"__Loading_RunInits_HEADER_GROUP") +call SaveStr(j,GetHandleId(Condition(function O5x)),0,"s"+"__ObjThread_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Rxx)),0,"s"+"__ObjThread_PrintErrors") +call SaveStr(j,GetHandleId(Condition(function Rrx)),0,"s"+"__Trigger_RunObjectInits_Exec_Exec") call SaveStr(j,GetHandleId(Condition(function Rnx)),0,"s"+"__Trigger_RunObjectInits_Exec") call SaveStr(j,GetHandleId(Condition(function REx)),0,"s"+"__Loading_RunInits_HEADER_3") +call SaveStr(j,GetHandleId(Condition(function RXx)),0,"s"+"__Loading_RunInits_HEADER_4") +call SaveStr(j,GetHandleId(Condition(function ROx)),0,"s"+"__Loading_RunInits_HEADER_5") +call SaveStr(j,GetHandleId(Condition(function RRx)),0,"s"+"__Loading_RunInits_HEADER_6") +call SaveStr(j,GetHandleId(Condition(function RIx)),0,"s"+"__Loading_RunInits_HEADER_7") +call SaveStr(j,GetHandleId(Condition(function RAx)),0,"s"+"__Loading_RunInits_HEADER_8") +call SaveStr(j,GetHandleId(Condition(function RNx)),0,"s"+"__Loading_RunInits_HEADER_BUFFS") +call SaveStr(j,GetHandleId(Condition(function Rbx)),0,"s"+"__Loading_RunInits_COMMANDS") +call SaveStr(j,GetHandleId(Condition(function RBx)),0,"s"+"__Loading_RunInits_ITEMS_MISC") call SaveStr(j,GetHandleId(Condition(function Rcx)),0,"s"+"__Loading_RunInits_ITEMS_ACT1") call SaveStr(j,GetHandleId(Condition(function RCx)),0,"s"+"__Loading_RunInits_ITEMS_ACT2") call SaveStr(j,GetHandleId(Condition(function Rdx)),0,"s"+"__Loading_RunInits_ITEMS_ACT3") call SaveStr(j,GetHandleId(Condition(function RDx)),0,"s"+"__Loading_RunInits_SPEECHES") +call SaveStr(j,GetHandleId(Condition(function Rfx)),0,"s"+"__Loading_RunInits_SPELLS_HEADER") call SaveStr(j,GetHandleId(Condition(function RFx)),0,"s"+"__Loading_RunInits_SPELLS_MISC") call SaveStr(j,GetHandleId(Condition(function Rgx)),0,"s"+"__Loading_RunInits_SPELLS_ACT1") call SaveStr(j,GetHandleId(Condition(function RGx)),0,"s"+"__Loading_RunInits_SPELLS_ACT2") call SaveStr(j,GetHandleId(Condition(function Rhx)),0,"s"+"__Loading_RunInits_SPELLS_HERO") call SaveStr(j,GetHandleId(Condition(function RHx)),0,"s"+"__Loading_RunInits_SPELLS_ARTIFACTS") +call SaveStr(j,GetHandleId(Condition(function Rjx)),0,"s"+"__Loading_RunInits_SPELLS_PURCHASABLE") call SaveStr(j,GetHandleId(Condition(function RJx)),0,"s"+"__Loading_RunInits_SPELLS_ELEMENTAL") +call SaveStr(j,GetHandleId(Condition(function Rkx)),0,"s"+"__Loading_RunInits_SPELLS_GRANT_ELEMENTALS") call SaveStr(j,GetHandleId(Condition(function RKx)),0,"s"+"__Loading_RunInits_UNITS") call SaveStr(j,GetHandleId(Condition(function Rlx)),0,"s"+"__Loading_RunInits_OTHER") call SaveStr(j,GetHandleId(Condition(function RLx)),0,"s"+"__Initialization_Other") call SaveStr(j,GetHandleId(Condition(function Rmx)),0,"s"+"__Loading_RunInits_CREEPBUFFS") call SaveStr(j,GetHandleId(Condition(function RMx)),0,"s"+"__Loading_RunInits_MISC") +call SaveStr(j,GetHandleId(Condition(function Rpx)),0,"s"+"__Loading_RunInits_MISC_2") call SaveStr(j,GetHandleId(Condition(function RPx)),0,"s"+"__Loading_RunInits_MISC_LEVEL") call SaveStr(j,GetHandleId(Condition(function Rqx)),0,"s"+"__Loading_RunInits_MISC_3") call SaveStr(j,GetHandleId(Condition(function RQx)),0,"s"+"__Loading_RunInits_MISC_4") call SaveStr(j,GetHandleId(Condition(function Rsx)),0,"s"+"__Loading_RunInits_MISC_5") call SaveStr(j,GetHandleId(Condition(function RSx)),0,"s"+"__Loading_RunInits_AI_HEADER") call SaveStr(j,GetHandleId(Condition(function Rtx)),0,"s"+"__Loading_RunInits_AI_SPELLS") call SaveStr(j,GetHandleId(Condition(function RTx)),0,"s"+"__Loading_RunInits_AI_MISC") call SaveStr(j,GetHandleId(Condition(function Rux)),0,"s"+"__Loading_RunInits_PREPLACED") call SaveStr(j,GetHandleId(Condition(function RUx)),0,"s"+"__Loading_Ending") call SaveStr(j,GetHandleId(Condition(function Ryx)),0,"s"+"__Music_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Rzx)),0,"s"+"__Loading_Ending2") call SaveStr(j,GetHandleId(Condition(function R_x)),0,"s"+"__Initialization_TriggerEvents") call SaveStr(j,GetHandleId(Condition(function R0x)),0,"s"+"__Initialization_Start") call SaveStr(j,GetHandleId(Condition(function R1x)),0,"s"+"__Initialization_EndLoading") +call SaveStr(j,GetHandleId(Condition(function R2x)),0,"s"+"__Loading_QUEUED_Count") call SaveStr(j,GetHandleId(Condition(function R3x)),0,"s"+"__Loading_IsSinglePlayer") call SaveStr(j,GetHandleId(Condition(function R4x)),0,"s"+"__Loading_QUEUED_FetchFirst") +call SaveStr(j,GetHandleId(Condition(function R5x)),0,"s"+"__Loading_Queue_Exec") call SaveStr(j,GetHandleId(Condition(function R8x)),0,"s"+"__Loading_ExecQueue_Exec") call SaveStr(j,GetHandleId(Condition(function Ivx)),0,"s"+"__Initialization_ProcessLoading") +call SaveStr(j,GetHandleId(Condition(function Iex)),0,"s"+"__Initialization_StartLoading") call SaveStr(j,GetHandleId(Condition(function Ixx)),0,"s"+"__Basic_GetAllocModuleFromQueue_Exec") call SaveStr(j,GetHandleId(Condition(function Irx)),0,"s"+"__Basic_AllocDec_Exec") call SaveStr(j,GetHandleId(Condition(function IIx)),0,"s"+"__Basic_AllocInc_Exec") call SaveStr(j,GetHandleId(Condition(function IAx)),0,"s"+"__Basic_Init") call SaveStr(j,GetHandleId(Condition(function INx)),0,"D"+"ebugExScope__init_debugInit") +call SaveStr(j,GetHandleId(Condition(function IBx)),0,"D"+"ecStack") +call SaveStr(j,GetHandleId(Condition(function IDx)),0,"s"+"__Queue_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Ifx)),0,"s"+"__ObjThread_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IFx)),0,"s"+"__FolderMath_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Igx)),0,"s"+"__FolderMath_StructHex_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Ijx)),0,"s"+"__LightningType_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Ikx)),0,"s"+"__FolderMath_StructShapes_Init_obj_obj_testBolt_wc3bolt") +call SaveStr(j,GetHandleId(Condition(function IKx)),0,"s"+"__FolderMath_StructShapes_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Ilx)),0,"s"+"__FolderMath_StructShapes_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function IMx)),0,"s"+"__Math_LogOf2I_Init") +call SaveStr(j,GetHandleId(Condition(function Ipx)),0,"s"+"__FolderMath_StructHex_Init") +call SaveStr(j,GetHandleId(Condition(function IPx)),0,"s"+"__Math_Init") +call SaveStr(j,GetHandleId(Condition(function Iqx)),0,"s"+"__Math_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function IQx)),0,"s"+"__FolderGameCache_StructBoolean_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Isx)),0,"s"+"__FolderGameCache_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ISx)),0,"s"+"__FolderGameCache_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Itx)),0,"s"+"__FolderGameCache_StructString_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ITx)),0,"s"+"__GameCache_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Iux)),0,"s"+"__FolderHashTable_StructBoolean_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IUx)),0,"s"+"__FolderHashTable_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Iwx)),0,"s"+"__FolderHashTable_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IWx)),0,"s"+"__FolderHashTable_StructString_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Iyx)),0,"s"+"__HashTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IYx)),0,"s"+"__FolderDataTableHead_FolderIntegerKeys_StructD2_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Izx)),0,"s"+"__FolderDataTableHead_StructIntegerKeys_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IZx)),0,"s"+"__FolderDataTableHead_StructStringKeys_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function I_x)),0,"s"+"__DataTableHead_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function I0x)),0,"s"+"__FolderDataTable_FolderIntegerKeys_FolderD2_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function I1x)),0,"s"+"__FolderDataTable_FolderIntegerKeys_StructD2_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function I2x)),0,"s"+"__FolderDataTable_FolderIntegerKeys_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function I3x)),0,"s"+"__FolderDataTable_StructIntegerKeys_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function I4x)),0,"s"+"__FolderDataTable_FolderStringKeys_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function I5x)),0,"s"+"__FolderDataTable_StructStringKeys_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function I6x)),0,"s"+"__FolderDataTable_StructNative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function I7x)),0,"s"+"__DataTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function I8x)),0,"s"+"__DataTableHead_Init") call SaveStr(j,GetHandleId(Condition(function Avx)),0,"s"+"__DataTable_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Axx)),0,"s"+"__DataTableHead_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Arx)),0,"s"+"__HashTable_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Aix)),0,"s"+"__HashTable_Create") call SaveStr(j,GetHandleId(Condition(function AVx)),0,"s"+"__GameCache_allocCustom") +call SaveStr(j,GetHandleId(Condition(function AEx)),0,"s"+"__GameCache_Create") call SaveStr(j,GetHandleId(Condition(function AXx)),0,"s"+"__DataTableHead_Create") call SaveStr(j,GetHandleId(Condition(function AAx)),0,"s"+"__DataTable_Create") call SaveStr(j,GetHandleId(Condition(function ANx)),0,"s"+"__Data_Init") +call SaveStr(j,GetHandleId(Condition(function Abx)),0,"s"+"__DataTable_Init") call SaveStr(j,GetHandleId(Condition(function ABx)),0,"s"+"__DataTable_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Acx)),0,"s"+"__Animation_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ACx)),0,"s"+"__AttachPoint_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Adx)),0,"s"+"__Attack_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ADx)),0,"s"+"__Attack_Init") call SaveStr(j,GetHandleId(Condition(function Afx)),0,"s"+"__Attack_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function AFx)),0,"s"+"__FolderEventResponse_StructAct_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Agx)),0,"s"+"__FolderEventResponse_StructAura_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function AGx)),0,"s"+"__FolderEventResponse_StructBool_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Ahx)),0,"s"+"__FolderEventResponse_StructBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function AHx)),0,"s"+"__FolderEventResponse_StructDefenderSpawnType_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Ajx)),0,"s"+"__FolderEventResponse_StructDestructable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function AJx)),0,"s"+"__FolderEventResponse_StructDestructableType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Akx)),0,"s"+"__FolderEventResponse_StructDialog_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function AKx)),0,"s"+"__FolderEventResponse_StructDummyUnit_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Alx)),0,"s"+"__FolderEventResponse_StructDynamic_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ALx)),0,"s"+"__FolderEventResponse_StructEvent_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Amx)),0,"s"+"__FolderEventResponse_StructItem_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function AMx)),0,"s"+"__FolderEventResponse_StructItemType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Apx)),0,"s"+"__FolderEventResponse_StructLevel_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function APx)),0,"s"+"__FolderEventResponse_StructLightning_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Aqx)),0,"s"+"__FolderEventResponse_StructMissile_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function AQx)),0,"s"+"__FolderEventResponse_StructMissileCheckpoint_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Asx)),0,"s"+"__FolderEventResponse_StructOrder_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ASx)),0,"s"+"__FolderEventResponse_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Atx)),0,"s"+"__FolderEventResponse_StructRect_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ATx)),0,"s"+"__FolderEventResponse_StructRegion_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Aux)),0,"s"+"__FolderEventResponse_StructSpawnType_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function AUx)),0,"s"+"__FolderEventResponse_StructSpell_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Awx)),0,"s"+"__FolderEventResponse_StructSpellInstance_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function AWx)),0,"s"+"__FolderEventResponse_StructSpot_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Ayx)),0,"s"+"__FolderEventResponse_StructString_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function AYx)),0,"s"+"__FolderEventResponse_StructTile_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Azx)),0,"s"+"__FolderEventResponse_StructUbersplat_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function AZx)),0,"s"+"__FolderEventResponse_StructUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A_x)),0,"s"+"__FolderEventResponse_StructUnitEffect_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A0x)),0,"s"+"__FolderEventResponse_StructUnitMod_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A1x)),0,"s"+"__FolderEventResponse_StructUnitType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A2x)),0,"s"+"__FolderEventResponse_StructUser_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A3x)),0,"s"+"__EventResponse_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A4x)),0,"s"+"__EventPriority_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A5x)),0,"s"+"__EventType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A6x)),0,"s"+"__FolderEvent_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A7x)),0,"s"+"__FolderEvent_FolderData_StructBoolean_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A8x)),0,"s"+"__FolderEvent_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A9x)),0,"s"+"__FolderEvent_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Nvx)),0,"s"+"__FolderEvent_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Nex)),0,"s"+"__FolderEvent_StructLimit_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Nxx)),0,"s"+"__Event_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Nix)),0,"s"+"__EventType_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Nnx)),0,"s"+"__EventPriority_allocCustom") +call SaveStr(j,GetHandleId(Condition(function NXx)),0,"s"+"__EventPriority_Init") call SaveStr(j,GetHandleId(Condition(function NOx)),0,"s"+"__Event_Init") call SaveStr(j,GetHandleId(Condition(function NRx)),0,"s"+"__Event_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function NIx)),0,"s"+"__CharacterSpeech_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Nbx)),0,"s"+"__CommandHeader_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Ncx)),0,"s"+"__Event_allocCustom") +call SaveStr(j,GetHandleId(Condition(function NDx)),0,"s"+"__Event_CreateBasic") +call SaveStr(j,GetHandleId(Condition(function NFx)),0,"s"+"__Trigger_allocCustom") call SaveStr(j,GetHandleId(Condition(function NGx)),0,"s"+"__Trigger_Create") call SaveStr(j,GetHandleId(Condition(function Nqx)),0,"s"+"__CommandHeader_Event_Chat") call SaveStr(j,GetHandleId(Condition(function NWx)),0,"s"+"__BoolExpr_allocCustom") call SaveStr(j,GetHandleId(Condition(function N1x)),0,"s"+"__CommandHeader_Conditions") call SaveStr(j,GetHandleId(Condition(function bnx)),0,"s"+"__TextTag_allocCustom") call SaveStr(j,GetHandleId(Condition(function bBx)),0,"s"+"__FolderTextTag_StructCreateRising_Move") +call SaveStr(j,GetHandleId(Condition(function bmx)),0,"s"+"__FolderTextTag_StructCreateRising_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function bqx)),0,"s"+"__FolderTextTag_StructFadingOut_Update") call SaveStr(j,GetHandleId(Condition(function bSx)),0,"s"+"__FolderTextTag_FolderFadingOut_StructDelay_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function b2x)),0,"s"+"__CharacterSpeech_Event_Chat") call SaveStr(j,GetHandleId(Condition(function b4x)),0,"s"+"__CharacterSpeech_Init") call SaveStr(j,GetHandleId(Condition(function b5x)),0,"s"+"__CharacterSpeech_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function b6x)),0,"s"+"__ClearSpawns_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function BBx)),0,"s"+"__Unit_Destroy_autoExec_evalTarget") call SaveStr(j,GetHandleId(Condition(function BCx)),0,"s"+"__Spawn_RemoveAllUnits") call SaveStr(j,GetHandleId(Condition(function BDx)),0,"s"+"__ClearSpawns_Event_Chat") call SaveStr(j,GetHandleId(Condition(function Bfx)),0,"s"+"__ClearSpawns_Init") call SaveStr(j,GetHandleId(Condition(function BFx)),0,"s"+"__ClearSpawns_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Bgx)),0,"s"+"__CommandAutoCast_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Bjx)),0,"s"+"__Group_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Bkx)),0,"s"+"__Group_Create") call SaveStr(j,GetHandleId(Condition(function Bwx)),0,"s"+"__FolderUnit_FolderEvent_StructNative_GetEnum") call SaveStr(j,GetHandleId(Condition(function BWx)),0,"s"+"__CommandAutoCast_Enum") call SaveStr(j,GetHandleId(Condition(function Byx)),0,"s"+"__CommandAutoCast_Event_Chat") call SaveStr(j,GetHandleId(Condition(function BYx)),0,"s"+"__CommandAutoCast_Init") call SaveStr(j,GetHandleId(Condition(function Bzx)),0,"s"+"__CommandAutoCast_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function BZx)),0,"s"+"__CommandBuff_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function cGx)),0,"s"+"__Sound_StopEx_Delay") call SaveStr(j,GetHandleId(Condition(function CUx)),0,"s"+"__UnitEffect_allocCustom") call SaveStr(j,GetHandleId(Condition(function C5x)),0,"s"+"__UnitSound_allocCustom") +call SaveStr(j,GetHandleId(Condition(function C7x)),0,"s"+"__Sound_allocCustom") +call SaveStr(j,GetHandleId(Condition(function dbx)),0,"s"+"__BuffRef_allocCustom") call SaveStr(j,GetHandleId(Condition(function dHx)),0,"s"+"__FolderUnit_StructBuffs_AddRaw_autoExec_evalTarget") +call SaveStr(j,GetHandleId(Condition(function dMx)),0,"s"+"__FolderUnit_StructBuffs_Remove_autoExec_evalTarget") +call SaveStr(j,GetHandleId(Condition(function dqx)),0,"s"+"__FolderUnit_FolderBuffs_StructTimed_allocCustom") call SaveStr(j,GetHandleId(Condition(function d_x)),0,"s"+"__FolderUnit_FolderBuffs_StructTimed_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function d2x)),0,"s"+"__FolderUnit_FolderBuffs_FolderTimed_StructCountdown_allocCustom") call SaveStr(j,GetHandleId(Condition(function d3x)),0,"s"+"__FolderUnit_FolderBuffs_FolderTimed_StructCountdown_StartCountdown") +call SaveStr(j,GetHandleId(Condition(function d6x)),0,"s"+"__FolderUnit_FolderBuffs_FolderTimed_StructCountdown_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function Dex)),0,"s"+"__CommandBuff_Enum") call SaveStr(j,GetHandleId(Condition(function Dxx)),0,"s"+"__CommandBuff_Event_Chat") call SaveStr(j,GetHandleId(Condition(function Drx)),0,"s"+"__CommandBuff_Event_ListAll_Chat") call SaveStr(j,GetHandleId(Condition(function Dix)),0,"s"+"__CommandBuff_Init") call SaveStr(j,GetHandleId(Condition(function Dax)),0,"s"+"__CommandBuff_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Dnx)),0,"s"+"__CommandCreateDestructable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function DOx)),0,"s"+"__Destructable_allocCustom") call SaveStr(j,GetHandleId(Condition(function Dgx)),0,"s"+"__CommandCreateDestructable_Event_Chat") call SaveStr(j,GetHandleId(Condition(function DGx)),0,"s"+"__CommandCreateDestructable_Init") call SaveStr(j,GetHandleId(Condition(function Dhx)),0,"s"+"__CommandCreateDestructable_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function DHx)),0,"s"+"__CommandCreateItem_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Dkx)),0,"s"+"__Item_allocCustom") call SaveStr(j,GetHandleId(Condition(function fEx)),0,"s"+"__CommandCreateItem_Event_Chat") call SaveStr(j,GetHandleId(Condition(function fXx)),0,"s"+"__CommandCreateItem_Init") call SaveStr(j,GetHandleId(Condition(function fOx)),0,"s"+"__CommandCreateItem_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function fRx)),0,"s"+"__CommandCreateQuake_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function fAx)),0,"s"+"__FolderCamera_StructSeismic_allocCustom") call SaveStr(j,GetHandleId(Condition(function fbx)),0,"s"+"__Force_allocCustom") +call SaveStr(j,GetHandleId(Condition(function fBx)),0,"s"+"__Force_Create") call SaveStr(j,GetHandleId(Condition(function fJx)),0,"s"+"__FolderCamera_StructSeismic_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function fKx)),0,"s"+"__FolderCamera_StructSeismic_UpdateAll") call SaveStr(j,GetHandleId(Condition(function fpx)),0,"s"+"__CommandCreateQuake_Event_Chat") +call SaveStr(j,GetHandleId(Condition(function ftx)),0,"s"+"__FolderCamera_StructPanTimedViaBounds_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function fux)),0,"s"+"__FolderCamera_StructPanTimedViaBounds_UpdateReset") call SaveStr(j,GetHandleId(Condition(function fUx)),0,"s"+"__FolderCamera_StructPanTimedViaBounds_UpdateAll") call SaveStr(j,GetHandleId(Condition(function fzx)),0,"s"+"__FolderCamera_StructShake_UpdateAll") call SaveStr(j,GetHandleId(Condition(function f1x)),0,"s"+"__CommandCreateQuake_Event_Shake_Chat") call SaveStr(j,GetHandleId(Condition(function f4x)),0,"s"+"__CommandCreateQuake_Init") call SaveStr(j,GetHandleId(Condition(function f5x)),0,"s"+"__CommandCreateQuake_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function f6x)),0,"s"+"__CommandCreateUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function f9x)),0,"s"+"__CommandCreateUnit_Event_Chat") call SaveStr(j,GetHandleId(Condition(function Fxx)),0,"s"+"__CommandCreateUnit_Init") call SaveStr(j,GetHandleId(Condition(function Fox)),0,"s"+"__CommandCreateUnit_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Frx)),0,"s"+"__CommandDebug_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Fix)),0,"s"+"__CommandDebug_Event_Chat") call SaveStr(j,GetHandleId(Condition(function Fax)),0,"s"+"__CommandDebug_Init") +call SaveStr(j,GetHandleId(Condition(function Fnx)),0,"s"+"__CommandDebug_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function FVx)),0,"s"+"__CommandExp_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function FXx)),0,"s"+"__CommandExp_Enum") call SaveStr(j,GetHandleId(Condition(function FOx)),0,"s"+"__CommandExp_Event_Chat") +call SaveStr(j,GetHandleId(Condition(function FRx)),0,"s"+"__CommandExp_Init") call SaveStr(j,GetHandleId(Condition(function FIx)),0,"s"+"__CommandExp_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function FAx)),0,"s"+"__CommandHeader_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function FNx)),0,"s"+"__CommandHeroAttribute_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function F4x)),0,"s"+"__FolderUnit_StructManaRegeneration_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function F5x)),0,"s"+"__FolderUnit_StructManaRegeneration_FOR_EACH_LIST_FetchFirst") call SaveStr(j,GetHandleId(Condition(function gox)),0,"s"+"__FolderUnit_StructManaRegeneration_Interval") call SaveStr(j,GetHandleId(Condition(function g5x)),0,"s"+"__FolderUnit_StructLifeRegeneration_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function g6x)),0,"s"+"__FolderUnit_StructLifeRegeneration_FOR_EACH_LIST_FetchFirst") call SaveStr(j,GetHandleId(Condition(function Gvx)),0,"s"+"__FolderTextTag_StructCreateJumping_Move") call SaveStr(j,GetHandleId(Condition(function Grx)),0,"s"+"__FolderTextTag_StructCreateJumping_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function Gbx)),0,"s"+"__FolderUnit_StructLifeRegeneration_Interval") call SaveStr(j,GetHandleId(Condition(function Gyx)),0,"s"+"__CommandHeroAttribute_Enum") +call SaveStr(j,GetHandleId(Condition(function GYx)),0,"s"+"__CommandHeroAttribute_Event_Chat") call SaveStr(j,GetHandleId(Condition(function GZx)),0,"s"+"__CommandHeroAttribute_Init") +call SaveStr(j,GetHandleId(Condition(function G_x)),0,"s"+"__CommandHeroAttribute_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function G0x)),0,"s"+"__CommandKillUnit_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function G3x)),0,"s"+"__CommandKillUnit_Enum") call SaveStr(j,GetHandleId(Condition(function G4x)),0,"s"+"__CommandKillUnit_Event_Chat") call SaveStr(j,GetHandleId(Condition(function G5x)),0,"s"+"__CommandKillUnit_Init") call SaveStr(j,GetHandleId(Condition(function G6x)),0,"s"+"__CommandKillUnit_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function G7x)),0,"s"+"__CommandRefreshAbility_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function hBx)),0,"s"+"__SpellInstance_allocCustom") +call SaveStr(j,GetHandleId(Condition(function hhx)),0,"s"+"__FolderUnit_FolderAbilities_StructCooldown_allocCustom") +call SaveStr(j,GetHandleId(Condition(function hpx)),0,"s"+"__FolderUnit_FolderAbilities_StructCooldown_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function HKx)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructLose_Update") +call SaveStr(j,GetHandleId(Condition(function H5x)),0,"s"+"__CommandRefreshAbility_Event_NoCd_Cast") +call SaveStr(j,GetHandleId(Condition(function H7x)),0,"s"+"__CommandRefreshAbility_Enum") call SaveStr(j,GetHandleId(Condition(function H8x)),0,"s"+"__CommandRefreshAbility_Event_Chat") call SaveStr(j,GetHandleId(Condition(function jix)),0,"s"+"__Group_DoEx_Enum") call SaveStr(j,GetHandleId(Condition(function jEx)),0,"s"+"__CommandRefreshAbility_NoCd_Chat_Enum") call SaveStr(j,GetHandleId(Condition(function jXx)),0,"s"+"__CommandRefreshAbility_Event_NoCd_Chat") +call SaveStr(j,GetHandleId(Condition(function jOx)),0,"s"+"__CommandRefreshAbility_Init") call SaveStr(j,GetHandleId(Condition(function jRx)),0,"s"+"__CommandRefreshAbility_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function jIx)),0,"s"+"__CommandRemoveUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function jAx)),0,"s"+"__CommandRemoveUnit_Enum") call SaveStr(j,GetHandleId(Condition(function jNx)),0,"s"+"__CommandRemoveUnit_Event_Chat") call SaveStr(j,GetHandleId(Condition(function jbx)),0,"s"+"__CommandRemoveUnit_Init") call SaveStr(j,GetHandleId(Condition(function jBx)),0,"s"+"__CommandRemoveUnit_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function jcx)),0,"s"+"__CommandScaleUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function jlx)),0,"s"+"__FolderUnit_FolderScale_StructTimed_allocCustom") call SaveStr(j,GetHandleId(Condition(function jpx)),0,"s"+"__FolderUnit_FolderScale_StructTimed_Update") +call SaveStr(j,GetHandleId(Condition(function jtx)),0,"s"+"__FolderUnit_FolderScale_StructTimed_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function jUx)),0,"s"+"__CommandScaleUnit_Enum") +call SaveStr(j,GetHandleId(Condition(function jwx)),0,"s"+"__CommandScaleUnit_Event_Chat") call SaveStr(j,GetHandleId(Condition(function jWx)),0,"s"+"__CommandScaleUnit_Init") +call SaveStr(j,GetHandleId(Condition(function jyx)),0,"s"+"__CommandScaleUnit_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function jYx)),0,"s"+"__CommandSpell_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function jZx)),0,"s"+"__CommandSpell_Enum") +call SaveStr(j,GetHandleId(Condition(function j_x)),0,"s"+"__CommandSpell_Event_Chat") call SaveStr(j,GetHandleId(Condition(function j1x)),0,"s"+"__CommandSpell_Event_ListAll_Chat") call SaveStr(j,GetHandleId(Condition(function j2x)),0,"s"+"__CommandSpell_Init") +call SaveStr(j,GetHandleId(Condition(function j3x)),0,"s"+"__CommandSpell_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function j4x)),0,"s"+"__CommandSwift_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function j6x)),0,"s"+"__CommandSwift_Enum") +call SaveStr(j,GetHandleId(Condition(function j7x)),0,"s"+"__CommandSwift_Event_Chat") call SaveStr(j,GetHandleId(Condition(function j8x)),0,"s"+"__CommandSwift_Init") +call SaveStr(j,GetHandleId(Condition(function j9x)),0,"s"+"__CommandSwift_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Jvx)),0,"s"+"__CommandTest_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Jex)),0,"s"+"__CommandTest_Event_Chat") call SaveStr(j,GetHandleId(Condition(function Jxx)),0,"s"+"__CommandTest_Init") call SaveStr(j,GetHandleId(Condition(function Jox)),0,"s"+"__CommandTest_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Jrx)),0,"s"+"__CommandVertexColorUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Jix)),0,"s"+"__User_GetLocal") +call SaveStr(j,GetHandleId(Condition(function JXx)),0,"s"+"__FolderUnit_FolderVertexColor_StructTimed_allocCustom") call SaveStr(j,GetHandleId(Condition(function JRx)),0,"s"+"__FolderUnit_FolderVertexColor_StructTimed_Update") call SaveStr(j,GetHandleId(Condition(function Jcx)),0,"s"+"__FolderUnit_FolderVertexColor_StructTimed_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function Jdx)),0,"s"+"__CommandVertexColorUnit_Enum") call SaveStr(j,GetHandleId(Condition(function JDx)),0,"s"+"__CommandVertexColorUnit_Event_Chat") +call SaveStr(j,GetHandleId(Condition(function Jfx)),0,"s"+"__CommandVertexColorUnit_Init") call SaveStr(j,GetHandleId(Condition(function JFx)),0,"s"+"__CommandVertexColorUnit_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Jgx)),0,"s"+"__MoveUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function JMx)),0,"s"+"__TranslationAccelerated_allocCustom") call SaveStr(j,GetHandleId(Condition(function J9x)),0,"s"+"__TranslationAccelerated_Update") +call SaveStr(j,GetHandleId(Condition(function kvx)),0,"s"+"__TranslationAccelerated_DestroyByTimer") +call SaveStr(j,GetHandleId(Condition(function kax)),0,"s"+"__Lightning_allocCustom") +call SaveStr(j,GetHandleId(Condition(function kDx)),0,"s"+"__FolderLightning_StructFromSpotToUnit_allocCustom") call SaveStr(j,GetHandleId(Condition(function kjx)),0,"s"+"__FolderLightning_StructFromSpotToUnit_Update") call SaveStr(j,GetHandleId(Condition(function ktx)),0,"s"+"__FolderLightning_StructDestroyTimed_allocCustom") call SaveStr(j,GetHandleId(Condition(function kwx)),0,"s"+"__FolderLightning_FolderColor_StructTimed_allocCustom") call SaveStr(j,GetHandleId(Condition(function kYx)),0,"s"+"__FolderLightning_FolderColor_StructTimed_Update") call SaveStr(j,GetHandleId(Condition(function k3x)),0,"s"+"__FolderLightning_FolderColor_StructTimed_EndingByTimer") +call SaveStr(j,GetHandleId(Condition(function Kvx)),0,"s"+"__Lightning_CleanUp") +call SaveStr(j,GetHandleId(Condition(function Kox)),0,"s"+"__FolderLightning_StructDestroyTimed_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function Kdx)),0,"s"+"__MoveUnit_Enum") +call SaveStr(j,GetHandleId(Condition(function KDx)),0,"s"+"__MoveUnit_Event_Chat") call SaveStr(j,GetHandleId(Condition(function Kfx)),0,"s"+"__MoveUnit_Init") +call SaveStr(j,GetHandleId(Condition(function KFx)),0,"s"+"__MoveUnit_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Kgx)),0,"s"+"__PingSpawns_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Kjx)),0,"s"+"__PingSpawns_Enum") call SaveStr(j,GetHandleId(Condition(function KJx)),0,"s"+"__PingSpawns_Event_Chat") +call SaveStr(j,GetHandleId(Condition(function Kkx)),0,"s"+"__PingSpawns_Init") call SaveStr(j,GetHandleId(Condition(function KKx)),0,"s"+"__PingSpawns_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Klx)),0,"s"+"__RequestEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function KLx)),0,"s"+"__RequestEvent_Event_Chat") call SaveStr(j,GetHandleId(Condition(function Kmx)),0,"s"+"__RequestEvent_Init") +call SaveStr(j,GetHandleId(Condition(function KMx)),0,"s"+"__RequestEvent_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Kpx)),0,"s"+"__RequestKeyMacro_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function KPx)),0,"s"+"__RequestKeyMacro_Event_Chat") call SaveStr(j,GetHandleId(Condition(function Kqx)),0,"s"+"__RequestKeyMacro_Init") call SaveStr(j,GetHandleId(Condition(function KQx)),0,"s"+"__RequestKeyMacro_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Ksx)),0,"s"+"__RequestTimers_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function KSx)),0,"s"+"__Timer_FOR_EACH_RUNNING_LIST_Set") call SaveStr(j,GetHandleId(Condition(function Ktx)),0,"s"+"__Timer_FOR_EACH_RUNNING_LIST_FetchFirst") call SaveStr(j,GetHandleId(Condition(function KTx)),0,"s"+"__Timer_RequestRunningList") call SaveStr(j,GetHandleId(Condition(function Kux)),0,"s"+"__RequestTimers_Event_Chat") call SaveStr(j,GetHandleId(Condition(function KUx)),0,"s"+"__RequestTimers_Init") call SaveStr(j,GetHandleId(Condition(function Kwx)),0,"s"+"__RequestTimers_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function KWx)),0,"s"+"__SetDmgTest_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Kyx)),0,"s"+"__SetDmgTest_Enum") call SaveStr(j,GetHandleId(Condition(function KYx)),0,"s"+"__SetDmgTest_Event_Chat") +call SaveStr(j,GetHandleId(Condition(function Kzx)),0,"s"+"__SetDmgTest_Init") call SaveStr(j,GetHandleId(Condition(function KZx)),0,"s"+"__SetDmgTest_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function K_x)),0,"s"+"__SetVar_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function K1x)),0,"s"+"__SetVar_Event_Chat") +call SaveStr(j,GetHandleId(Condition(function K2x)),0,"s"+"__SetVar_Init") call SaveStr(j,GetHandleId(Condition(function K3x)),0,"s"+"__SetVar_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function K4x)),0,"s"+"__FolderVoteHost_StructVotes_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function K5x)),0,"s"+"__VoteHost_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function K6x)),0,"s"+"__VoteHost_Event_Chat") call SaveStr(j,GetHandleId(Condition(function K7x)),0,"s"+"__VoteHost_Init") +call SaveStr(j,GetHandleId(Condition(function K8x)),0,"s"+"__VoteHost_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function K9x)),0,"s"+"__PathingBlockers_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function lvx)),0,"s"+"__PathingBlockers_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lxx)),0,"s"+"__PathingBlockers_Enum") call SaveStr(j,GetHandleId(Condition(function lox)),0,"s"+"__PathingBlockers_Init") call SaveStr(j,GetHandleId(Condition(function lrx)),0,"s"+"__PathingBlockers_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function lix)),0,"s"+"__preplaced_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lax)),0,"s"+"__BoolExpr_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lVx)),0,"s"+"__BoolExpr_DefaultTrue") call SaveStr(j,GetHandleId(Condition(function lEx)),0,"s"+"__BoolExpr_Init") +call SaveStr(j,GetHandleId(Condition(function lXx)),0,"s"+"__BoolExpr_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function lOx)),0,"s"+"__FolderBuff_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lRx)),0,"s"+"__FolderBuff_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lIx)),0,"s"+"__FolderBuff_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lAx)),0,"s"+"__FolderBuff_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lNx)),0,"s"+"__FolderBuff_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lbx)),0,"s"+"__FolderBuff_FolderData_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lBx)),0,"s"+"__FolderBuff_FolderData_FolderString_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lcx)),0,"s"+"__FolderBuff_FolderData_StructString_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lCx)),0,"s"+"__FolderBuff_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ldx)),0,"s"+"__FolderBuff_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lDx)),0,"s"+"__FolderBuff_StructTargetEffects_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lfx)),0,"s"+"__FolderBuff_StructLoopSounds_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lFx)),0,"s"+"__FolderBuff_StructVariants_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lgx)),0,"s"+"__FolderBuff_StructUnitMods_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lGx)),0,"s"+"__FolderBuff_StructUnitModSets_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lhx)),0,"s"+"__Buff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lHx)),0,"s"+"__Buff_Init") +call SaveStr(j,GetHandleId(Condition(function ljx)),0,"s"+"__Buff_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function lJx)),0,"s"+"__FolderCameraField_StructTimed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lkx)),0,"s"+"__CameraField_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lKx)),0,"s"+"__FolderCamera_StructEye_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function llx)),0,"s"+"__FolderCamera_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lLx)),0,"s"+"__FolderCamera_StructPanTimedViaBounds_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lmx)),0,"s"+"__FolderCamera_StructShake_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lMx)),0,"s"+"__FolderCamera_StructSeismic_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lpx)),0,"s"+"__Camera_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lqx)),0,"s"+"__FolderUser_FolderEvent_StructNative_GetEnum") call SaveStr(j,GetHandleId(Condition(function lQx)),0,"s"+"__Force_Do_Enum") +call SaveStr(j,GetHandleId(Condition(function lSx)),0,"s"+"__FolderCamera_StructPanTimedViaBounds_InitPlayer") call SaveStr(j,GetHandleId(Condition(function ltx)),0,"s"+"__FolderCamera_StructPanTimedViaBounds_Init") +call SaveStr(j,GetHandleId(Condition(function lyx)),0,"s"+"__FolderCamera_StructSeismic_UpdateAll_Exec") +call SaveStr(j,GetHandleId(Condition(function l7x)),0,"s"+"__FolderCamera_StructSeismic_Init") call SaveStr(j,GetHandleId(Condition(function l8x)),0,"s"+"__FolderCamera_StructShake_InitPlayer") call SaveStr(j,GetHandleId(Condition(function l9x)),0,"s"+"__FolderCamera_StructShake_Init") +call SaveStr(j,GetHandleId(Condition(function Lex)),0,"s"+"__CameraField_allocCustom") call SaveStr(j,GetHandleId(Condition(function Lox)),0,"s"+"__CameraField_Init") call SaveStr(j,GetHandleId(Condition(function Lrx)),0,"s"+"__Camera_Init") call SaveStr(j,GetHandleId(Condition(function Lix)),0,"s"+"__Camera_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Lax)),0,"s"+"__FolderDestructableType_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Lnx)),0,"s"+"__FolderDestructableType_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function LVx)),0,"s"+"__FolderDestructableType_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function LEx)),0,"s"+"__FolderDestructableType_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function LXx)),0,"s"+"__FolderDestructableType_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function LOx)),0,"s"+"__FolderDestructableType_FolderData_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function LRx)),0,"s"+"__FolderDestructableType_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function LIx)),0,"s"+"__FolderDestructableType_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function LAx)),0,"s"+"__FolderDestructableType_StructPreload_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function LBx)),0,"s"+"__DestructableType_allocCustom") call SaveStr(j,GetHandleId(Condition(function Lfx)),0,"s"+"__DestructableType_Init_obj_obj_keg_wc3dest") +call SaveStr(j,GetHandleId(Condition(function LFx)),0,"s"+"__DestructableType_Init_obj_obj_explosive_wc3dest") call SaveStr(j,GetHandleId(Condition(function Lgx)),0,"s"+"__DestructableType_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function LGx)),0,"s"+"__DestructableType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Lhx)),0,"s"+"__FolderDestructable_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function LHx)),0,"s"+"__FolderDestructable_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Ljx)),0,"s"+"__FolderDestructable_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function LJx)),0,"s"+"__FolderDestructable_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Lkx)),0,"s"+"__FolderDestructable_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function LKx)),0,"s"+"__FolderDestructable_FolderData_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Llx)),0,"s"+"__FolderDestructable_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function LLx)),0,"s"+"__FolderDestructable_FolderEvent_StructNative_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Lmx)),0,"s"+"__FolderDestructable_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function LMx)),0,"s"+"__FolderDestructable_StructType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Lpx)),0,"s"+"__FolderDestructable_StructTimedLife_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function LPx)),0,"s"+"__FolderDestructable_FolderEnum_StructInRange_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Lqx)),0,"s"+"__FolderDestructable_StructEnum_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function LQx)),0,"s"+"__FolderDestructable_StructLife_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Lsx)),0,"s"+"__Destructable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Lwx)),0,"s"+"__Destructable_Death_Trig") call SaveStr(j,GetHandleId(Condition(function Lyx)),0,"s"+"__Destructable_Start_Enum") call SaveStr(j,GetHandleId(Condition(function Lzx)),0,"s"+"__Destructable_Event_Start") call SaveStr(j,GetHandleId(Condition(function L_x)),0,"s"+"__Rectangle_allocCustom") +call SaveStr(j,GetHandleId(Condition(function L3x)),0,"s"+"__FolderDestructable_FolderEnum_StructInRange_Conditions") call SaveStr(j,GetHandleId(Condition(function L5x)),0,"s"+"__FolderDestructable_FolderEnum_StructInRange_Init") call SaveStr(j,GetHandleId(Condition(function mox)),0,"s"+"__FolderDestructable_StructTimedLife_Event_Death") call SaveStr(j,GetHandleId(Condition(function mrx)),0,"s"+"__DestructableType_Init") +call SaveStr(j,GetHandleId(Condition(function mix)),0,"s"+"__Destructable_Init") +call SaveStr(j,GetHandleId(Condition(function mnx)),0,"s"+"__Destructable_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function mVx)),0,"s"+"__FolderDialogButton_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mEx)),0,"s"+"__FolderDialogButton_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mXx)),0,"s"+"__FolderDialogButton_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mOx)),0,"s"+"__FolderDialogButton_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mRx)),0,"s"+"__FolderDialogButton_FolderData_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mIx)),0,"s"+"__FolderDialogButton_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mAx)),0,"s"+"__FolderDialogButton_FolderEvent_StructNative_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mNx)),0,"s"+"__FolderDialogButton_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mbx)),0,"s"+"__DialogButton_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mBx)),0,"s"+"__FolderDialog_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mcx)),0,"s"+"__FolderDialog_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mCx)),0,"s"+"__FolderDialog_FolderData_StructBoolean_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mdx)),0,"s"+"__FolderDialog_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mDx)),0,"s"+"__FolderDialog_FolderData_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mfx)),0,"s"+"__FolderDialog_StructData_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mFx)),0,"s"+"__FolderDialog_FolderEvent_StructNative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mgx)),0,"s"+"__FolderDialog_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mGx)),0,"s"+"__FolderDialog_StructButtons_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mhx)),0,"s"+"__Dialog_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mwx)),0,"s"+"__Dialog_ClickTrig") call SaveStr(j,GetHandleId(Condition(function mWx)),0,"s"+"__DialogButton_Init") +call SaveStr(j,GetHandleId(Condition(function myx)),0,"s"+"__Dialog_Init") call SaveStr(j,GetHandleId(Condition(function mYx)),0,"s"+"__Dialog_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function mzx)),0,"s"+"__EffectLevel_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mZx)),0,"s"+"__FolderSpotEffectWithSize_StructDestroyTimed_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function m_x)),0,"s"+"__SpotEffectWithSize_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function m0x)),0,"s"+"__SpotEffectWithSize_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function m1x)),0,"s"+"__DummyUnitEffect_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function m2x)),0,"s"+"__FolderSpotEffect_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function m3x)),0,"s"+"__FolderSpotEffect_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function m4x)),0,"s"+"__FolderSpotEffect_FolderData_StructBoolean_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function m5x)),0,"s"+"__FolderSpotEffect_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function m6x)),0,"s"+"__FolderSpotEffect_StructData_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function m7x)),0,"s"+"__FolderSpotEffect_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function m8x)),0,"s"+"__FolderSpotEffect_StructDestroyTimed_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function m9x)),0,"s"+"__SpotEffect_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Mvx)),0,"s"+"__SpotEffect_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Mex)),0,"s"+"__FolderUnitEffect_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Mxx)),0,"s"+"__FolderUnitEffect_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Mox)),0,"s"+"__FolderUnitEffect_FolderData_StructBoolean_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Mrx)),0,"s"+"__FolderUnitEffect_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Mix)),0,"s"+"__FolderUnitEffect_StructData_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Max)),0,"s"+"__FolderUnitEffect_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Mnx)),0,"s"+"__FolderUnitEffect_StructDestroyTimed_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function MVx)),0,"s"+"__UnitEffect_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function MEx)),0,"s"+"__Effect_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Mdx)),0,"s"+"__DummyUnitEffect_Event_Death") call SaveStr(j,GetHandleId(Condition(function MDx)),0,"s"+"__DummyUnitEffect_Event_Destroy") +call SaveStr(j,GetHandleId(Condition(function Mfx)),0,"s"+"__DummyUnitEffect_Init") call SaveStr(j,GetHandleId(Condition(function MFx)),0,"s"+"__SpotEffectWithSize_Init") call SaveStr(j,GetHandleId(Condition(function Mhx)),0,"s"+"__UnitEffect_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function MHx)),0,"s"+"__UnitEffect_Event_Unit_Death") call SaveStr(j,GetHandleId(Condition(function Mjx)),0,"s"+"__UnitEffect_Event_Unit_Destroy") +call SaveStr(j,GetHandleId(Condition(function Mkx)),0,"s"+"__UnitEffect_Event_Unit_Revive") call SaveStr(j,GetHandleId(Condition(function Mlx)),0,"s"+"__UnitEffect_Event_Unit_TypeChange") call SaveStr(j,GetHandleId(Condition(function MLx)),0,"s"+"__UnitEffect_Init") call SaveStr(j,GetHandleId(Condition(function Mmx)),0,"s"+"__Effect_Init") call SaveStr(j,GetHandleId(Condition(function MMx)),0,"s"+"__Effect_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Mpx)),0,"s"+"__FolderEventMemoryHead_FolderIntegerKeys_StructD2_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function MPx)),0,"s"+"__FolderEventMemoryHead_StructIntegerKeys_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Mqx)),0,"s"+"__FolderEventMemory_FolderIntegerKeys_FolderD2_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function MQx)),0,"s"+"__FolderEventMemory_FolderIntegerKeys_StructD2_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Msx)),0,"s"+"__FolderEventMemory_FolderIntegerKeys_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function MSx)),0,"s"+"__FolderEventMemory_StructIntegerKeys_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Mtx)),0,"s"+"__FolderEventMemoryHead_StructIntegerKeys_Init") call SaveStr(j,GetHandleId(Condition(function MTx)),0,"s"+"__FolderEventMemory_FolderIntegerKeys_FolderD2_StructTable_Init") +call SaveStr(j,GetHandleId(Condition(function Mux)),0,"s"+"__FolderEventMemory_FolderIntegerKeys_StructTable_Init") call SaveStr(j,GetHandleId(Condition(function MUx)),0,"s"+"__FolderEventMemory_StructIntegerKeys_Init") call SaveStr(j,GetHandleId(Condition(function Mwx)),0,"s"+"__EventMemory_Init") call SaveStr(j,GetHandleId(Condition(function MWx)),0,"s"+"__EventMemory_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Myx)),0,"s"+"__EventPair_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function MYx)),0,"s"+"__FolderEventCombination_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Mzx)),0,"s"+"__FolderEventCombination_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function MZx)),0,"s"+"__FolderEventCombination_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function M_x)),0,"s"+"__FolderEventCombination_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function M0x)),0,"s"+"__FolderEventCombination_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function M1x)),0,"s"+"__FolderEventCombination_StructRemainingEventsAmount_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function M2x)),0,"s"+"__FolderEventCombination_StructEvents_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function M3x)),0,"s"+"__FolderEventCombination_StructSubjects_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function M4x)),0,"s"+"__FolderEventCombination_FolderPeriodic_StructSubjectsA_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function M5x)),0,"s"+"__FolderEventCombination_StructPeriodic_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function M6x)),0,"s"+"__FolderEventCombination_StructPairs_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function M7x)),0,"s"+"__EventCombination_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function M8x)),0,"s"+"__EventCombination_Init") +call SaveStr(j,GetHandleId(Condition(function M9x)),0,"s"+"__EventCombination_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function pvx)),0,"s"+"__Announcement_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pex)),0,"s"+"__GameMessage_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function pxx)),0,"s"+"__CineFilter_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pox)),0,"s"+"__FolderGame_StructFloatState_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function prx)),0,"s"+"__FolderGame_StructTimeOfDay_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pix)),0,"s"+"__Announcement_Init") +call SaveStr(j,GetHandleId(Condition(function pax)),0,"s"+"__Ping_Init") +call SaveStr(j,GetHandleId(Condition(function pVx)),0,"s"+"__PingColor_allocCustom") +call SaveStr(j,GetHandleId(Condition(function pRx)),0,"s"+"__PingColor_Init") call SaveStr(j,GetHandleId(Condition(function pIx)),0,"s"+"__Game_Init") +call SaveStr(j,GetHandleId(Condition(function pAx)),0,"s"+"__Game_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function pNx)),0,"s"+"__PingColor_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pbx)),0,"s"+"__Ping_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pBx)),0,"s"+"__FolderGroup_StructRefs_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pcx)),0,"s"+"__FolderGroup_StructCountUnits_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pCx)),0,"s"+"__FolderGroup_StructNearestUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pdx)),0,"s"+"__FolderGroup_StructOrder_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function pDx)),0,"s"+"__FolderGroup_StructRandomUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pfx)),0,"s"+"__FolderGroup_FolderEnumUnits_FolderInLine_StructWithCollision_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pFx)),0,"s"+"__FolderGroup_FolderEnumUnits_StructInLine_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pgx)),0,"s"+"__FolderGroup_FolderEnumUnits_FolderInRange_StructWithCollision_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pGx)),0,"s"+"__FolderGroup_FolderEnumUnits_StructInRange_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function phx)),0,"s"+"__FolderGroup_FolderEnumUnits_FolderInRect_StructWithCollision_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pHx)),0,"s"+"__FolderGroup_FolderEnumUnits_StructInRect_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pjx)),0,"s"+"__FolderGroup_StructEnumUnits_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function pJx)),0,"s"+"__Group_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pKx)),0,"s"+"__FolderUnit_FolderEvent_StructNative_GetFilter") +call SaveStr(j,GetHandleId(Condition(function pUx)),0,"s"+"__FolderGroup_FolderEnumUnits_StructInLine_Conditions") call SaveStr(j,GetHandleId(Condition(function p8x)),0,"s"+"__FolderGroup_FolderEnumUnits_FolderInLine_StructWithCollision_Conditions") call SaveStr(j,GetHandleId(Condition(function p9x)),0,"s"+"__FolderGroup_FolderEnumUnits_FolderInLine_StructWithCollision_Init") +call SaveStr(j,GetHandleId(Condition(function Pvx)),0,"s"+"__FolderGroup_FolderEnumUnits_StructInLine_Init") +call SaveStr(j,GetHandleId(Condition(function Pex)),0,"s"+"__FolderGroup_FolderEnumUnits_StructInRange_Conditions") call SaveStr(j,GetHandleId(Condition(function Prx)),0,"s"+"__FolderGroup_FolderEnumUnits_FolderInRange_StructWithCollision_Conditions") call SaveStr(j,GetHandleId(Condition(function Pax)),0,"s"+"__FolderGroup_FolderEnumUnits_FolderInRange_StructWithCollision_ConditionsWithZ") +call SaveStr(j,GetHandleId(Condition(function Pnx)),0,"s"+"__FolderGroup_FolderEnumUnits_FolderInRange_StructWithCollision_Init") call SaveStr(j,GetHandleId(Condition(function PVx)),0,"s"+"__FolderGroup_FolderEnumUnits_StructInRange_Init") call SaveStr(j,GetHandleId(Condition(function PEx)),0,"s"+"__FolderGroup_FolderEnumUnits_StructInRect_Conditions") call SaveStr(j,GetHandleId(Condition(function PXx)),0,"s"+"__FolderGroup_FolderEnumUnits_FolderInRect_StructWithCollision_Conditions") call SaveStr(j,GetHandleId(Condition(function POx)),0,"s"+"__FolderGroup_FolderEnumUnits_FolderInRect_StructWithCollision_Init") +call SaveStr(j,GetHandleId(Condition(function PRx)),0,"s"+"__FolderGroup_FolderEnumUnits_StructInRect_Init") +call SaveStr(j,GetHandleId(Condition(function PIx)),0,"s"+"__FolderGroup_StructEnumUnits_Init") call SaveStr(j,GetHandleId(Condition(function PNx)),0,"s"+"__UnitList_allocCustom") call SaveStr(j,GetHandleId(Condition(function PCx)),0,"s"+"__UnitList_Init") +call SaveStr(j,GetHandleId(Condition(function Pdx)),0,"s"+"__Group_Init") call SaveStr(j,GetHandleId(Condition(function PDx)),0,"s"+"__Group_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Pfx)),0,"s"+"__FolderUnitList_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function PFx)),0,"s"+"__FolderUnitList_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Pgx)),0,"s"+"__FolderUnitList_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function PGx)),0,"s"+"__FolderUnitList_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Phx)),0,"s"+"__FolderUnitList_StructRefs_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function PHx)),0,"s"+"__UnitList_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Pjx)),0,"s"+"__FolderItemClass_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function PJx)),0,"s"+"__FolderItemClass_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Pkx)),0,"s"+"__FolderItemClass_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function PKx)),0,"s"+"__FolderItemClass_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Plx)),0,"s"+"__ItemClass_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function PLx)),0,"s"+"__FolderItem_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Pmx)),0,"s"+"__FolderItem_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function PMx)),0,"s"+"__FolderItem_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Ppx)),0,"s"+"__FolderItem_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function PPx)),0,"s"+"__FolderItem_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Pqx)),0,"s"+"__FolderItem_FolderEvent_StructNative_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function PQx)),0,"s"+"__FolderItem_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Psx)),0,"s"+"__FolderItem_StructClasses_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function PSx)),0,"s"+"__FolderItem_StructType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Ptx)),0,"s"+"__FolderItem_StructAbilities_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function PTx)),0,"s"+"__FolderItem_StructChargesAmount_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Pux)),0,"s"+"__FolderItem_StructPosition_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function PUx)),0,"s"+"__Item_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function PWx)),0,"s"+"__ItemClass_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Pzx)),0,"s"+"__ItemClass_Create") call SaveStr(j,GetHandleId(Condition(function PZx)),0,"s"+"__ItemClass_Init") call SaveStr(j,GetHandleId(Condition(function P_x)),0,"s"+"__Item_Start_Enum") call SaveStr(j,GetHandleId(Condition(function P0x)),0,"s"+"__Item_Event_Start") call SaveStr(j,GetHandleId(Condition(function P1x)),0,"s"+"__FolderItem_StructAbilities_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function P3x)),0,"s"+"__FolderItem_StructClasses_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function P4x)),0,"s"+"__ItemType_Init") +call SaveStr(j,GetHandleId(Condition(function P5x)),0,"s"+"__Item_Init") +call SaveStr(j,GetHandleId(Condition(function P6x)),0,"s"+"__Item_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function P7x)),0,"s"+"__FolderItemType_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function P8x)),0,"s"+"__FolderItemType_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function P9x)),0,"s"+"__FolderItemType_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function qvx)),0,"s"+"__FolderItemType_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function qex)),0,"s"+"__FolderItemType_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qxx)),0,"s"+"__FolderItemType_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qox)),0,"s"+"__FolderItemType_StructAbilities_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qrx)),0,"s"+"__FolderItemType_StructChargesAmount_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qix)),0,"s"+"__FolderItemType_StructClasses_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qax)),0,"s"+"__FolderItemType_StructPreload_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qnx)),0,"s"+"__FolderItemType_StructUsageGoldCost_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qVx)),0,"s"+"__ItemType_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function qEx)),0,"s"+"__ItemType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qXx)),0,"s"+"__LightningType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qOx)),0,"s"+"__FolderLightning_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qRx)),0,"s"+"__FolderLightning_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qIx)),0,"s"+"__FolderLightning_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qAx)),0,"s"+"__FolderLightning_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qNx)),0,"s"+"__FolderLightning_StructEvent_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function qbx)),0,"s"+"__FolderLightning_FolderColor_StructRed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qBx)),0,"s"+"__FolderLightning_FolderColor_StructGreen_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function qcx)),0,"s"+"__FolderLightning_FolderColor_StructBlue_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qCx)),0,"s"+"__FolderLightning_FolderColor_StructAlpha_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function qdx)),0,"s"+"__FolderLightning_FolderColor_StructTimed_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function qDx)),0,"s"+"__FolderLightning_StructColor_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function qfx)),0,"s"+"__FolderLightning_StructFromDummyUnitToUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qFx)),0,"s"+"__FolderLightning_StructFromSpotToDummyUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qgx)),0,"s"+"__FolderLightning_StructFromSpotToSpot_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qGx)),0,"s"+"__FolderLightning_StructFromSpotToUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qhx)),0,"s"+"__FolderLightning_StructFromUnitToUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qHx)),0,"s"+"__FolderLightning_StructDestroyTimed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qjx)),0,"s"+"__Lightning_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qJx)),0,"s"+"__LightningType_Init") call SaveStr(j,GetHandleId(Condition(function qlx)),0,"s"+"__FolderLightning_FolderColor_StructTimed_Event_Destroy") +call SaveStr(j,GetHandleId(Condition(function qLx)),0,"s"+"__FolderLightning_FolderColor_StructTimed_Init") call SaveStr(j,GetHandleId(Condition(function qmx)),0,"s"+"__FolderLightning_StructDestroyTimed_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function qTx)),0,"s"+"__FolderLightning_StructFromDummyUnitToUnit_Event_Parent_Stop") call SaveStr(j,GetHandleId(Condition(function qux)),0,"s"+"__FolderLightning_StructFromDummyUnitToUnit_Event_Source_Destroy") call SaveStr(j,GetHandleId(Condition(function qUx)),0,"s"+"__FolderLightning_StructFromDummyUnitToUnit_Event_Target_Destroy") call SaveStr(j,GetHandleId(Condition(function qwx)),0,"s"+"__FolderLightning_StructFromDummyUnitToUnit_Init") call SaveStr(j,GetHandleId(Condition(function q_x)),0,"s"+"__FolderLightning_StructFromSpotToDummyUnit_Event_Parent_Stop") call SaveStr(j,GetHandleId(Condition(function q0x)),0,"s"+"__FolderLightning_StructFromSpotToDummyUnit_Event_Target_Destroy") call SaveStr(j,GetHandleId(Condition(function q1x)),0,"s"+"__FolderLightning_StructFromSpotToDummyUnit_Init") call SaveStr(j,GetHandleId(Condition(function q6x)),0,"s"+"__FolderLightning_StructFromSpotToSpot_Event_Parent_Stop") call SaveStr(j,GetHandleId(Condition(function Qxx)),0,"s"+"__FolderLightning_StructFromSpotToUnit_Event_Parent_Stop") call SaveStr(j,GetHandleId(Condition(function Qox)),0,"s"+"__FolderLightning_StructFromSpotToUnit_Event_Target_Destroy") +call SaveStr(j,GetHandleId(Condition(function Qrx)),0,"s"+"__FolderLightning_StructFromSpotToUnit_Init") +call SaveStr(j,GetHandleId(Condition(function QRx)),0,"s"+"__FolderLightning_StructFromUnitToUnit_Event_Parent_Stop") call SaveStr(j,GetHandleId(Condition(function QIx)),0,"s"+"__FolderLightning_StructFromUnitToUnit_Event_Post_Destroy") call SaveStr(j,GetHandleId(Condition(function QAx)),0,"s"+"__FolderLightning_StructFromUnitToUnit_Init") +call SaveStr(j,GetHandleId(Condition(function QNx)),0,"s"+"__Lightning_Init") call SaveStr(j,GetHandleId(Condition(function Qbx)),0,"s"+"__Lightning_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function QBx)),0,"s"+"__LoadingEx_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Qcx)),0,"s"+"__LoadingEx_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QCx)),0,"s"+"__AIAutoCast_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QGx)),0,"s"+"__AIAutoCast_Cooldown_Conditions") call SaveStr(j,GetHandleId(Condition(function Qjx)),0,"s"+"__AIAutoCast_Event_CooldownEnding_Conditions") call SaveStr(j,GetHandleId(Condition(function QJx)),0,"s"+"__AIAutoCast_Event_CooldownStart_Conditions") +call SaveStr(j,GetHandleId(Condition(function QKx)),0,"s"+"__AIAutoCast_Mana_Conditions") call SaveStr(j,GetHandleId(Condition(function Qlx)),0,"s"+"__AIAutoCast_Event_AutoCastOff_Conditions") call SaveStr(j,GetHandleId(Condition(function QLx)),0,"s"+"__AIAutoCast_Event_AutoCastOn_Conditions") call SaveStr(j,GetHandleId(Condition(function Qmx)),0,"s"+"__AIAutoCast_AutoCast_Conditions") call SaveStr(j,GetHandleId(Condition(function QMx)),0,"s"+"__AIAutoCast_Init") call SaveStr(j,GetHandleId(Condition(function Qpx)),0,"s"+"__AIAutoCast_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function QPx)),0,"s"+"__AICastSpell_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Qqx)),0,"s"+"__AICastSpell_Cooldown_Conditions") call SaveStr(j,GetHandleId(Condition(function QQx)),0,"s"+"__AICastSpell_Event_CooldownEnding_Conditions") call SaveStr(j,GetHandleId(Condition(function Qsx)),0,"s"+"__AICastSpell_Event_CooldownStart_Conditions") call SaveStr(j,GetHandleId(Condition(function QSx)),0,"s"+"__AICastSpell_Mana_Conditions") call SaveStr(j,GetHandleId(Condition(function Qtx)),0,"s"+"__AICastSpell_Init") call SaveStr(j,GetHandleId(Condition(function QTx)),0,"s"+"__AICastSpell_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Qux)),0,"s"+"__CustomDrop_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QUx)),0,"s"+"__FolderDummyUnit_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Qwx)),0,"s"+"__FolderDummyUnit_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QWx)),0,"s"+"__FolderDummyUnit_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Qyx)),0,"s"+"__FolderDummyUnit_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QYx)),0,"s"+"__FolderDummyUnit_FolderEvent_StructNative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Qzx)),0,"s"+"__FolderDummyUnit_StructEvent_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function QZx)),0,"s"+"__FolderDummyUnit_StructAbilities_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Q_x)),0,"s"+"__FolderDummyUnit_StructAnimation_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Q0x)),0,"s"+"__FolderDummyUnit_StructDestroyTimed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Q1x)),0,"s"+"__FolderDummyUnit_StructDestruction_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Q2x)),0,"s"+"__FolderDummyUnit_StructFacing_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Q3x)),0,"s"+"__FolderDummyUnit_StructPlayerColor_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Q4x)),0,"s"+"__FolderDummyUnit_StructOrder_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Q5x)),0,"s"+"__FolderDummyUnit_StructOwner_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Q6x)),0,"s"+"__FolderDummyUnit_FolderPosition_StructX_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Q7x)),0,"s"+"__FolderDummyUnit_FolderPosition_StructY_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Q8x)),0,"s"+"__FolderDummyUnit_FolderPosition_StructZ_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Q9x)),0,"s"+"__FolderDummyUnit_StructPosition_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function svx)),0,"s"+"__FolderDummyUnit_StructFollowDummyUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sex)),0,"s"+"__FolderDummyUnit_StructFollowUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sxx)),0,"s"+"__FolderDummyUnit_StructRotate_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sox)),0,"s"+"__FolderDummyUnit_FolderScale_StructTimed_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function srx)),0,"s"+"__FolderDummyUnit_StructScale_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function six)),0,"s"+"__FolderDummyUnit_FolderVertexColor_StructRed_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function sax)),0,"s"+"__FolderDummyUnit_FolderVertexColor_StructGreen_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function snx)),0,"s"+"__FolderDummyUnit_FolderVertexColor_StructBlue_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sVx)),0,"s"+"__FolderDummyUnit_FolderVertexColor_StructAlpha_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sEx)),0,"s"+"__FolderDummyUnit_FolderVertexColor_StructTimed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sXx)),0,"s"+"__FolderDummyUnit_StructVertexColor_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sdx)),0,"s"+"__DummyUnit_Init_obj_obj_locustSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function sDx)),0,"s"+"__DummyUnit_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function sFx)),0,"s"+"__DummyUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sgx)),0,"s"+"__TargetFlag_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sGx)),0,"s"+"__Misc_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sJx)),0,"s"+"__FolderDummyUnit_StructFollowDummyUnit_Event_ParentDestroy") +call SaveStr(j,GetHandleId(Condition(function skx)),0,"s"+"__FolderDummyUnit_StructFollowDummyUnit_Init") call SaveStr(j,GetHandleId(Condition(function sLx)),0,"s"+"__FolderDummyUnit_StructFollowUnit_Event_ParentDestroy") call SaveStr(j,GetHandleId(Condition(function smx)),0,"s"+"__FolderDummyUnit_StructFollowUnit_Init") +call SaveStr(j,GetHandleId(Condition(function sPx)),0,"s"+"__FolderDummyUnit_StructRotate_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function sqx)),0,"s"+"__FolderDummyUnit_StructRotate_Init") +call SaveStr(j,GetHandleId(Condition(function ssx)),0,"s"+"__DummyUnit_allocCustom") +call SaveStr(j,GetHandleId(Condition(function szx)),0,"s"+"__DummyUnit_Init") call SaveStr(j,GetHandleId(Condition(function sZx)),0,"s"+"__Misc_Init") +call SaveStr(j,GetHandleId(Condition(function s_x)),0,"s"+"__Misc_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function s0x)),0,"s"+"__FolderMissileCheckpoint_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function s1x)),0,"s"+"__FolderMissileCheckpoint_FolderData_StructBoolean_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function s2x)),0,"s"+"__FolderMissileCheckpoint_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function s3x)),0,"s"+"__FolderMissileCheckpoint_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function s4x)),0,"s"+"__FolderMissileCheckpoint_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function s5x)),0,"s"+"__MissileCheckpoint_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function s6x)),0,"s"+"__FolderMissile_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function s7x)),0,"s"+"__FolderMissile_FolderData_StructBoolean_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function s8x)),0,"s"+"__FolderMissile_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function s9x)),0,"s"+"__FolderMissile_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Svx)),0,"s"+"__FolderMissile_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Sex)),0,"s"+"__FolderMissile_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Sxx)),0,"s"+"__FolderMissile_StructArc_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Sox)),0,"s"+"__FolderMissile_StructImpact_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Srx)),0,"s"+"__FolderMissile_StructCollisionSize_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Six)),0,"s"+"__FolderMissile_StructDummyUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Sax)),0,"s"+"__FolderMissile_StructAngle_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Snx)),0,"s"+"__FolderMissile_FolderPosition_StructX_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SVx)),0,"s"+"__FolderMissile_FolderPosition_StructY_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SEx)),0,"s"+"__FolderMissile_FolderPosition_StructZ_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SXx)),0,"s"+"__FolderMissile_StructPosition_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SOx)),0,"s"+"__FolderMissile_StructUpdateTime_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SRx)),0,"s"+"__FolderMissile_StructAcceleration_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SIx)),0,"s"+"__FolderMissile_StructSpeed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SAx)),0,"s"+"__FolderMissile_StructGoToSpot_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SNx)),0,"s"+"__FolderMissile_StructCheckpoints_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Sbx)),0,"s"+"__FolderMissile_StructGoToUnit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SBx)),0,"s"+"__Missile_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function SHx)),0,"s"+"__FolderMissile_StructCheckpoints_Event_Destroy") +call SaveStr(j,GetHandleId(Condition(function Sjx)),0,"s"+"__FolderMissile_StructCheckpoints_Init") call SaveStr(j,GetHandleId(Condition(function Smx)),0,"s"+"__FolderMissile_StructDummyUnit_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function Sqx)),0,"s"+"__FolderDummyUnit_StructDestruction_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Syx)),0,"s"+"__FolderDummyUnit_StructDestruction_Ending") call SaveStr(j,GetHandleId(Condition(function SZx)),0,"s"+"__FolderMissile_StructDummyUnit_Event_ParentDestroy") +call SaveStr(j,GetHandleId(Condition(function S_x)),0,"s"+"__FolderMissile_StructDummyUnit_Init") call SaveStr(j,GetHandleId(Condition(function S2x)),0,"s"+"__FolderMissile_StructGoToSpot_Event_Stop") call SaveStr(j,GetHandleId(Condition(function S3x)),0,"s"+"__FolderMissile_StructGoToSpot_Init") +call SaveStr(j,GetHandleId(Condition(function S4x)),0,"s"+"__FolderMissile_StructGoToUnit_Event_CheckpointAdd") call SaveStr(j,GetHandleId(Condition(function S8x)),0,"s"+"__FolderMissile_StructGoToUnit_Event_Stop") call SaveStr(j,GetHandleId(Condition(function tex)),0,"s"+"__FolderMissile_StructGoToUnit_Event_TargetDeath") call SaveStr(j,GetHandleId(Condition(function txx)),0,"s"+"__FolderMissile_StructGoToUnit_Event_TargetDestroy") call SaveStr(j,GetHandleId(Condition(function tox)),0,"s"+"__FolderMissile_StructGoToUnit_Init") +call SaveStr(j,GetHandleId(Condition(function trx)),0,"s"+"__Missile_Init") call SaveStr(j,GetHandleId(Condition(function tix)),0,"s"+"__Missile_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function tax)),0,"s"+"__MultiboardItem_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tnx)),0,"s"+"__FolderMultiboard_StructColumn_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tVx)),0,"s"+"__FolderMultiboard_StructColumnSpan_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tEx)),0,"s"+"__FolderMultiboard_StructRow_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tXx)),0,"s"+"__FolderMultiboard_StructTitle_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tOx)),0,"s"+"__FolderMultiboard_FolderShown_FolderControl_StructPageSwitch_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function tRx)),0,"s"+"__FolderMultiboard_FolderShown_StructControl_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tIx)),0,"s"+"__FolderMultiboard_StructShown_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tAx)),0,"s"+"__Multiboard_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tbx)),0,"s"+"__Queue_allocCustom") +call SaveStr(j,GetHandleId(Condition(function tBx)),0,"s"+"__Queue_Create") call SaveStr(j,GetHandleId(Condition(function tCx)),0,"s"+"__FolderMultiboard_StructShown_InitPlayers") call SaveStr(j,GetHandleId(Condition(function t6x)),0,"s"+"__FolderMultiboard_StructShown_AdjustTitle") call SaveStr(j,GetHandleId(Condition(function TEx)),0,"s"+"__FolderUser_FolderKeyEvent_StructDownArrow_allocCustom") +call SaveStr(j,GetHandleId(Condition(function TQx)),0,"s"+"__OptionsBoard_Event_Down") call SaveStr(j,GetHandleId(Condition(function TSx)),0,"s"+"__FolderUser_FolderKeyEvent_StructLeftArrow_allocCustom") +call SaveStr(j,GetHandleId(Condition(function TYx)),0,"s"+"__OptionsBoard_Event_Left") call SaveStr(j,GetHandleId(Condition(function TZx)),0,"s"+"__FolderUser_FolderKeyEvent_StructRightArrow_allocCustom") call SaveStr(j,GetHandleId(Condition(function T6x)),0,"s"+"__OptionsBoard_Event_Right") call SaveStr(j,GetHandleId(Condition(function T8x)),0,"s"+"__FolderUser_FolderKeyEvent_StructUpArrow_allocCustom") call SaveStr(j,GetHandleId(Condition(function uvx)),0,"s"+"__OptionsBoard_Event_Up") +call SaveStr(j,GetHandleId(Condition(function uax)),0,"s"+"__StructInfo_Event_Down") +call SaveStr(j,GetHandleId(Condition(function uAx)),0,"s"+"__StructInfo_Event_Left") +call SaveStr(j,GetHandleId(Condition(function uNx)),0,"s"+"__StructInfo_Event_Right") call SaveStr(j,GetHandleId(Condition(function ubx)),0,"s"+"__StructInfo_Event_Up") call SaveStr(j,GetHandleId(Condition(function udx)),0,"s"+"__FolderMultiboard_FolderShown_StructControl_Event_Esc") call SaveStr(j,GetHandleId(Condition(function ufx)),0,"s"+"__FolderMultiboard_FolderShown_StructControl_InitPlayers") call SaveStr(j,GetHandleId(Condition(function uJx)),0,"s"+"__FolderMultiboard_FolderShown_FolderControl_StructPageSwitch_Event_Left") call SaveStr(j,GetHandleId(Condition(function uKx)),0,"s"+"__FolderMultiboard_FolderShown_FolderControl_StructPageSwitch_Event_Right") call SaveStr(j,GetHandleId(Condition(function uLx)),0,"s"+"__FolderMultiboard_FolderShown_FolderControl_StructPageSwitch_InitPlayers") call SaveStr(j,GetHandleId(Condition(function umx)),0,"s"+"__FolderMultiboard_FolderShown_FolderControl_StructPageSwitch_Init") call SaveStr(j,GetHandleId(Condition(function uMx)),0,"s"+"__FolderMultiboard_FolderShown_StructControl_Init") call SaveStr(j,GetHandleId(Condition(function upx)),0,"s"+"__FolderMultiboard_StructShown_Init") +call SaveStr(j,GetHandleId(Condition(function uPx)),0,"s"+"__FolderMultiboard_StructTitle_UpdateByTimer") call SaveStr(j,GetHandleId(Condition(function uqx)),0,"s"+"__FolderMultiboard_StructTitle_Event_Start") call SaveStr(j,GetHandleId(Condition(function uQx)),0,"s"+"__FolderMultiboard_StructTitle_Init") +call SaveStr(j,GetHandleId(Condition(function usx)),0,"s"+"__Multiboard_Init") call SaveStr(j,GetHandleId(Condition(function uSx)),0,"s"+"__Multiboard_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function utx)),0,"s"+"__FolderOrder_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function uTx)),0,"s"+"__FolderOrder_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function uux)),0,"s"+"__FolderOrder_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function uUx)),0,"s"+"__FolderOrder_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function uwx)),0,"s"+"__FolderOrder_FolderEvent_StructNative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function uWx)),0,"s"+"__FolderOrder_StructEvent_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function uyx)),0,"s"+"__Order_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function uzx)),0,"s"+"__Order_allocCustom") +call SaveStr(j,GetHandleId(Condition(function u0x)),0,"s"+"__Order_Init") call SaveStr(j,GetHandleId(Condition(function u1x)),0,"s"+"__Order_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function u2x)),0,"s"+"__FolderOrderInstance_StructRefs_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function u3x)),0,"s"+"__OrderInstance_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function u5x)),0,"s"+"__Buff_allocCustom") call SaveStr(j,GetHandleId(Condition(function Unx)),0,"s"+"__UnitModSet_allocCustom") call SaveStr(j,GetHandleId(Condition(function UEx)),0,"s"+"__UnitModSet_Create") +call SaveStr(j,GetHandleId(Condition(function UAx)),0,"s"+"__AILetOff_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function UNx)),0,"s"+"__AILetOff_Init_obj_obj_targetBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Ubx)),0,"s"+"__AILetOff_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function UBx)),0,"s"+"__AILetOff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Udx)),0,"s"+"__AILetOff_Event_Acquire") call SaveStr(j,GetHandleId(Condition(function UDx)),0,"s"+"__AILetOff_Event_Spawn") call SaveStr(j,GetHandleId(Condition(function UGx)),0,"s"+"__AILetOff_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function Uhx)),0,"s"+"__AILetOff_FOR_EACH_LIST_FetchFirst") +call SaveStr(j,GetHandleId(Condition(function UKx)),0,"s"+"__AILetOff_Update") call SaveStr(j,GetHandleId(Condition(function Ulx)),0,"s"+"__AILetOff_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Umx)),0,"s"+"__AILetOff_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function UMx)),0,"s"+"__AILetOff_Event_TargetBuffGain") +call SaveStr(j,GetHandleId(Condition(function Upx)),0,"s"+"__AILetOff_Event_TargetBuffLose") +call SaveStr(j,GetHandleId(Condition(function UPx)),0,"s"+"__AILetOff_Init") +call SaveStr(j,GetHandleId(Condition(function Uqx)),0,"s"+"__AILetOff_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function UQx)),0,"s"+"__FolderReal_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Usx)),0,"s"+"__FolderString_StructColor_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function USx)),0,"s"+"__Boolean_Init") call SaveStr(j,GetHandleId(Condition(function Utx)),0,"s"+"__Char_Init") +call SaveStr(j,GetHandleId(Condition(function UTx)),0,"s"+"__Code_Init") +call SaveStr(j,GetHandleId(Condition(function Uux)),0,"s"+"__Integer_Init") call SaveStr(j,GetHandleId(Condition(function UUx)),0,"s"+"__Real_Init") +call SaveStr(j,GetHandleId(Condition(function Uwx)),0,"s"+"__FolderString_StructColor_Init") +call SaveStr(j,GetHandleId(Condition(function UWx)),0,"s"+"__Primitive_Init") call SaveStr(j,GetHandleId(Condition(function Uyx)),0,"s"+"__Primitive_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function UYx)),0,"s"+"__FolderRectangle_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Uzx)),0,"s"+"__FolderRectangle_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function UZx)),0,"s"+"__FolderRectangle_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function U_x)),0,"s"+"__FolderRectangle_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function U0x)),0,"s"+"__Rectangle_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function U1x)),0,"s"+"__FolderRegion_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function U2x)),0,"s"+"__FolderRegion_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function U3x)),0,"s"+"__FolderRegion_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function U4x)),0,"s"+"__FolderRegion_StructData_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function U5x)),0,"s"+"__FolderRegion_FolderEvent_StructNative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function U6x)),0,"s"+"__FolderRegion_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function U7x)),0,"s"+"__Region_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function U9x)),0,"s"+"__Region_Init") call SaveStr(j,GetHandleId(Condition(function wvx)),0,"s"+"__Region_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function wex)),0,"s"+"__Music_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wxx)),0,"s"+"__SoundChannel_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wox)),0,"s"+"__SoundEax_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wrx)),0,"s"+"__SoundType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wix)),0,"s"+"__Sound_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wnx)),0,"s"+"__SoundEax_allocCustom") call SaveStr(j,GetHandleId(Condition(function wEx)),0,"s"+"__SoundEax_Init") +call SaveStr(j,GetHandleId(Condition(function wAx)),0,"s"+"__SoundChannel_Init") +call SaveStr(j,GetHandleId(Condition(function wDx)),0,"s"+"__Music_Init") call SaveStr(j,GetHandleId(Condition(function wfx)),0,"s"+"__Sound_Init") call SaveStr(j,GetHandleId(Condition(function wFx)),0,"s"+"__Sound_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function wgx)),0,"s"+"__UnitSound_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wGx)),0,"s"+"__HeroSpell_Init_obj_obj_slots0_wc3spell") call SaveStr(j,GetHandleId(Condition(function whx)),0,"s"+"__HeroSpell_Init_obj_obj_slots4_wc3spell") call SaveStr(j,GetHandleId(Condition(function wHx)),0,"s"+"__HeroSpell_Init_obj_obj_slots1_wc3spell") call SaveStr(j,GetHandleId(Condition(function wjx)),0,"s"+"__HeroSpell_Init_obj_obj_slots3_wc3spell") call SaveStr(j,GetHandleId(Condition(function wJx)),0,"s"+"__HeroSpell_Init_obj_obj_slots2_wc3spell") call SaveStr(j,GetHandleId(Condition(function wkx)),0,"s"+"__HeroSpell_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function wKx)),0,"s"+"__HeroSpell_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wlx)),0,"s"+"__SpellClass_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wLx)),0,"s"+"__FolderSpell_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wmx)),0,"s"+"__FolderSpell_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wMx)),0,"s"+"__FolderSpell_FolderData_StructBoolean_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wpx)),0,"s"+"__FolderSpell_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wPx)),0,"s"+"__FolderSpell_FolderData_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wqx)),0,"s"+"__FolderSpell_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wQx)),0,"s"+"__FolderSpell_FolderEvent_StructNative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wsx)),0,"s"+"__FolderSpell_StructEvent_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function wSx)),0,"s"+"__Spell_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function wtx)),0,"s"+"__Spell_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wux)),0,"s"+"__SpellClass_allocCustom") call SaveStr(j,GetHandleId(Condition(function wYx)),0,"s"+"__SpellClass_Init") call SaveStr(j,GetHandleId(Condition(function w3x)),0,"s"+"__HeroSpell_Event_Learn") +call SaveStr(j,GetHandleId(Condition(function w4x)),0,"s"+"__HeroSpell_Event_LevelChange") call SaveStr(j,GetHandleId(Condition(function w5x)),0,"s"+"__HeroSpell_Event_SpellRemove") call SaveStr(j,GetHandleId(Condition(function w8x)),0,"s"+"__FolderUnit_FolderEvent_StructNative_GetTrigger") call SaveStr(j,GetHandleId(Condition(function w9x)),0,"s"+"__HeroSpell_LearnerTrig") +call SaveStr(j,GetHandleId(Condition(function Wrx)),0,"s"+"__HeroSpell_Init") call SaveStr(j,GetHandleId(Condition(function Wix)),0,"s"+"__Spell_Init") call SaveStr(j,GetHandleId(Condition(function Wax)),0,"s"+"__Spell_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Wnx)),0,"s"+"__FolderSpellInstance_StructRefs_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function WVx)),0,"s"+"__SpellInstance_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function WEx)),0,"s"+"__FolderSpot_FolderEvent_StructNative_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function WXx)),0,"s"+"__FolderSpot_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function WOx)),0,"s"+"__FolderSpot_StructBlockCheck_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function WRx)),0,"s"+"__FolderSpot_StructBlockCheck_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function WIx)),0,"s"+"__FolderSpot_StructDeformNova_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function WAx)),0,"s"+"__Spot_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Wbx)),0,"s"+"__Spot_allocCustom") call SaveStr(j,GetHandleId(Condition(function Wcx)),0,"s"+"__FolderSpot_StructBlockCheck_Hide") call SaveStr(j,GetHandleId(Condition(function WCx)),0,"s"+"__FolderSpot_StructBlockCheck_Init") call SaveStr(j,GetHandleId(Condition(function Wdx)),0,"s"+"__Spot_Init") +call SaveStr(j,GetHandleId(Condition(function WDx)),0,"s"+"__Spot_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Wfx)),0,"s"+"__FolderStringData_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function WFx)),0,"s"+"__FolderStringData_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Wgx)),0,"s"+"__FolderStringData_StructData_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function WGx)),0,"s"+"__FolderStringData_FolderEvent_StructNative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Whx)),0,"s"+"__FolderStringData_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function WHx)),0,"s"+"__StringData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Wjx)),0,"s"+"__StringData_Init") call SaveStr(j,GetHandleId(Condition(function WJx)),0,"s"+"__StringData_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Wlx)),0,"s"+"__TileType_allocCustom") call SaveStr(j,GetHandleId(Condition(function Wmx)),0,"s"+"__TileType_Init_obj_obj_ice_wc3tile") +call SaveStr(j,GetHandleId(Condition(function WMx)),0,"s"+"__TileType_Init_obj_obj_blackSquares_wc3tile") call SaveStr(j,GetHandleId(Condition(function Wpx)),0,"s"+"__TileType_Init_obj_obj_dirt_wc3tile") call SaveStr(j,GetHandleId(Condition(function WPx)),0,"s"+"__TileType_Init_obj_obj_blackBricks_wc3tile") +call SaveStr(j,GetHandleId(Condition(function Wqx)),0,"s"+"__TileType_Init_obj_obj_snowCliff_wc3tile") call SaveStr(j,GetHandleId(Condition(function WQx)),0,"s"+"__TileType_Init_obj_obj_runedBricksCliff_wc3tile") call SaveStr(j,GetHandleId(Condition(function Wsx)),0,"s"+"__TileType_Init_obj_obj_tiledBricks_wc3tile") +call SaveStr(j,GetHandleId(Condition(function WSx)),0,"s"+"__TileType_Init_obj_obj_snow_wc3tile") call SaveStr(j,GetHandleId(Condition(function Wtx)),0,"s"+"__TileType_Init_obj_obj_dirtRough_wc3tile") call SaveStr(j,GetHandleId(Condition(function WTx)),0,"s"+"__TileType_Init_obj_obj_darkIce_wc3tile") +call SaveStr(j,GetHandleId(Condition(function Wux)),0,"s"+"__TileType_Init_obj_obj_greyStones_wc3tile") call SaveStr(j,GetHandleId(Condition(function WUx)),0,"s"+"__TileType_Init_obj_obj_runeBricks_wc3tile") call SaveStr(j,GetHandleId(Condition(function Wwx)),0,"s"+"__TileType_Init_obj_obj_grass_wc3tile") call SaveStr(j,GetHandleId(Condition(function WWx)),0,"s"+"__TileType_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Wyx)),0,"s"+"__TileType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function WYx)),0,"s"+"__TileType_Init") +call SaveStr(j,GetHandleId(Condition(function Wzx)),0,"s"+"__TileType_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function WZx)),0,"s"+"__FolderTile_StructType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function W_x)),0,"s"+"__Tile_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function W0x)),0,"s"+"__Tile_Init") +call SaveStr(j,GetHandleId(Condition(function W1x)),0,"s"+"__Tile_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function W2x)),0,"s"+"__FolderTileTypeMod_StructDestroyTimed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function W3x)),0,"s"+"__TileTypeMod_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function W4x)),0,"s"+"__TileTypeMod_Init") call SaveStr(j,GetHandleId(Condition(function W5x)),0,"s"+"__TileTypeMod_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function W8x)),0,"s"+"__UbersplatType_allocCustom") +call SaveStr(j,GetHandleId(Condition(function yvx)),0,"s"+"__UbersplatType_Init_obj_obj_snow_wc3ubersplat") call SaveStr(j,GetHandleId(Condition(function yex)),0,"s"+"__UbersplatType_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function yxx)),0,"s"+"__UbersplatType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yox)),0,"s"+"__FolderUbersplat_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yrx)),0,"s"+"__FolderUbersplat_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yix)),0,"s"+"__FolderUbersplat_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yax)),0,"s"+"__FolderUbersplat_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ynx)),0,"s"+"__FolderUbersplat_StructEvent_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function yVx)),0,"s"+"__FolderUbersplat_StructDestroyTimed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yEx)),0,"s"+"__FolderUbersplat_FolderColor_StructRed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yXx)),0,"s"+"__FolderUbersplat_FolderColor_StructGreen_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function yOx)),0,"s"+"__FolderUbersplat_FolderColor_StructBlue_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yRx)),0,"s"+"__FolderUbersplat_FolderColor_StructAlpha_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function yIx)),0,"s"+"__FolderUbersplat_FolderColor_StructTimed_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function yAx)),0,"s"+"__FolderUbersplat_StructColor_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function yNx)),0,"s"+"__FolderUbersplat_FolderPosition_StructX_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ybx)),0,"s"+"__FolderUbersplat_FolderPosition_StructY_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yBx)),0,"s"+"__FolderUbersplat_StructPosition_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ycx)),0,"s"+"__Ubersplat_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yjx)),0,"s"+"__FolderUbersplat_FolderColor_StructTimed_Event_Destroy") +call SaveStr(j,GetHandleId(Condition(function yJx)),0,"s"+"__FolderUbersplat_FolderColor_StructTimed_Init") call SaveStr(j,GetHandleId(Condition(function ykx)),0,"s"+"__Ubersplat_Init") call SaveStr(j,GetHandleId(Condition(function yKx)),0,"s"+"__Ubersplat_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function ylx)),0,"s"+"__FolderTextTag_StructColor_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yLx)),0,"s"+"__FolderTextTag_StructPosition_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ymx)),0,"s"+"__FolderTextTag_StructText_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yMx)),0,"s"+"__FolderTextTag_StructCreateJumping_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ypx)),0,"s"+"__FolderTextTag_StructCreateMoving_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yPx)),0,"s"+"__FolderTextTag_StructCreateRising_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yqx)),0,"s"+"__FolderTextTag_FolderFadingOut_StructDelay_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yQx)),0,"s"+"__FolderTextTag_StructFadingOut_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ysx)),0,"s"+"__TextTag_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ySx)),0,"s"+"__TextTag_Init") call SaveStr(j,GetHandleId(Condition(function ytx)),0,"s"+"__TextTag_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function yTx)),0,"s"+"__TimerDialog_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function yux)),0,"s"+"__FolderTriggerTimer_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function yUx)),0,"s"+"__FolderTriggerTimer_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ywx)),0,"s"+"__FolderTriggerTimer_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function yWx)),0,"s"+"__FolderTriggerTimer_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yyx)),0,"s"+"__TriggerTimer_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yYx)),0,"s"+"__FolderTimer_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yzx)),0,"s"+"__FolderTimer_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yZx)),0,"s"+"__FolderTimer_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function y_x)),0,"s"+"__FolderTimer_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function y0x)),0,"s"+"__Timer_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function y1x)),0,"s"+"__TimerDialog_Init") call SaveStr(j,GetHandleId(Condition(function y2x)),0,"s"+"__TriggerTimer_Init") +call SaveStr(j,GetHandleId(Condition(function y3x)),0,"s"+"__Timer_Init") call SaveStr(j,GetHandleId(Condition(function y4x)),0,"s"+"__Timer_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function y5x)),0,"s"+"__FolderTrigger_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function y6x)),0,"s"+"__FolderTrigger_FolderData_StructBoolean_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function y7x)),0,"s"+"__FolderTrigger_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function y8x)),0,"s"+"__FolderTrigger_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function y9x)),0,"s"+"__FolderTrigger_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Yvx)),0,"s"+"__FolderTrigger_FolderEvent_StructNative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Yex)),0,"s"+"__FolderTrigger_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Yxx)),0,"s"+"__FolderTrigger_StructRegisterEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Yox)),0,"s"+"__Trigger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Yix)),0,"s"+"__Trigger_Trig") call SaveStr(j,GetHandleId(Condition(function Yax)),0,"s"+"__Trigger_Init") call SaveStr(j,GetHandleId(Condition(function Ynx)),0,"s"+"__Trigger_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function YVx)),0,"s"+"__KnockbackAccelerated_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function YEx)),0,"s"+"__Knockback_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function YXx)),0,"s"+"__TranslationAccelerated_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function YOx)),0,"s"+"__Translation_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function YRx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_decreasingSpells4_wc3spell") call SaveStr(j,GetHandleId(Condition(function YIx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_increasingSpells5_wc3spell") call SaveStr(j,GetHandleId(Condition(function YAx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_decreasingSpells0_wc3spell") call SaveStr(j,GetHandleId(Condition(function YNx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_decreasingSpells6_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ybx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_decreasingSpells5_wc3spell") call SaveStr(j,GetHandleId(Condition(function YBx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_increasingSpells2_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ycx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_increasingSpells0_wc3spell") call SaveStr(j,GetHandleId(Condition(function YCx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_decreasingSpells2_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ydx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_increasingSpells4_wc3spell") call SaveStr(j,GetHandleId(Condition(function YDx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function Yfx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_increasingSpells6_wc3spell") call SaveStr(j,GetHandleId(Condition(function YFx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_increasingSpells3_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ygx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_increasingSpells1_wc3spell") call SaveStr(j,GetHandleId(Condition(function YGx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_decreasingSpells3_wc3spell") call SaveStr(j,GetHandleId(Condition(function Yhx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init_obj_obj_decreasingSpells1_wc3spell") call SaveStr(j,GetHandleId(Condition(function YHx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Yjx)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function YJx)),0,"s"+"__FolderBJUnit_StructArmor_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Ykx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_increasingSpells2_wc3spell") call SaveStr(j,GetHandleId(Condition(function YKx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_increasingSpells6_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ylx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_decreasingSpells1_wc3spell") call SaveStr(j,GetHandleId(Condition(function YLx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_increasingSpells1_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ymx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_decreasingSpells3_wc3spell") call SaveStr(j,GetHandleId(Condition(function YMx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_increasingSpells8_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ypx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_decreasingSpells6_wc3spell") call SaveStr(j,GetHandleId(Condition(function YPx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_decreasingSpells0_wc3spell") call SaveStr(j,GetHandleId(Condition(function Yqx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_decreasingSpells4_wc3spell") call SaveStr(j,GetHandleId(Condition(function YQx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_increasingSpells0_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ysx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_increasingSpells5_wc3spell") call SaveStr(j,GetHandleId(Condition(function YSx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_increasingSpells7_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ytx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_decreasingSpells2_wc3spell") call SaveStr(j,GetHandleId(Condition(function YTx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_decreasingSpells8_wc3spell") call SaveStr(j,GetHandleId(Condition(function Yux)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_decreasingSpells9_wc3spell") call SaveStr(j,GetHandleId(Condition(function YUx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_increasingSpells4_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ywx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_decreasingSpells7_wc3spell") call SaveStr(j,GetHandleId(Condition(function YWx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function Yyx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_decreasingSpells5_wc3spell") call SaveStr(j,GetHandleId(Condition(function YYx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_increasingSpells9_wc3spell") call SaveStr(j,GetHandleId(Condition(function Yzx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init_obj_obj_increasingSpells3_wc3spell") call SaveStr(j,GetHandleId(Condition(function YZx)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Y_x)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Y0x)),0,"s"+"__FolderBJUnit_FolderAttack_StructSpeed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Y1x)),0,"s"+"__FolderBJUnit_StructAttack_Init_obj_obj_attack_wc3spell") call SaveStr(j,GetHandleId(Condition(function Y2x)),0,"s"+"__FolderBJUnit_StructAttack_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Y3x)),0,"s"+"__FolderBJUnit_StructAttack_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Y4x)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_decreasingSpells2_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Y5x)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_increasingSpells5_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Y6x)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_increasingSpells6_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Y7x)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_increasingSpells2_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Y8x)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_decreasingSpells3_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Y9x)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_increasingSpells4_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zvx)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_decreasingSpells5_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zex)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_decreasingSpells4_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zxx)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_increasingSpells0_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zox)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_increasingSpells3_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zrx)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function zix)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_decreasingSpells6_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zax)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_decreasingSpells1_wc3spell") +call SaveStr(j,GetHandleId(Condition(function znx)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_increasingSpells1_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zVx)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init_obj_obj_decreasingSpells0_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zEx)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function zXx)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function zOx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingSpells0_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zRx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingSpells6_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zIx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingItemTypes2_wc3item") call SaveStr(j,GetHandleId(Condition(function zAx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingSpells0_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zNx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingSpells5_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zbx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingSpells1_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zBx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingSpells2_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zcx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingSpells3_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zCx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingSpells4_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zdx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingSpells7_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zDx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingItemTypes4_wc3item") call SaveStr(j,GetHandleId(Condition(function zfx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingSpells7_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zFx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingSpells4_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zgx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingSpells5_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zGx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingSpells6_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zhx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingItemTypes0_wc3item") call SaveStr(j,GetHandleId(Condition(function zHx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingItemTypes3_wc3item") call SaveStr(j,GetHandleId(Condition(function zjx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingItemTypes1_wc3item") call SaveStr(j,GetHandleId(Condition(function zJx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingItemTypes5_wc3item") call SaveStr(j,GetHandleId(Condition(function zkx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingSpells3_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zKx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingItemTypes6_wc3item") call SaveStr(j,GetHandleId(Condition(function zlx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingItemTypes7_wc3item") call SaveStr(j,GetHandleId(Condition(function zLx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingSpells2_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zmx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingItemTypes2_wc3item") call SaveStr(j,GetHandleId(Condition(function zMx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingItemTypes3_wc3item") call SaveStr(j,GetHandleId(Condition(function zpx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function zPx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingItemTypes6_wc3item") call SaveStr(j,GetHandleId(Condition(function zqx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingItemTypes0_wc3item") call SaveStr(j,GetHandleId(Condition(function zQx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingItemTypes5_wc3item") call SaveStr(j,GetHandleId(Condition(function zsx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingItemTypes4_wc3item") call SaveStr(j,GetHandleId(Condition(function zSx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingItemTypes1_wc3item") call SaveStr(j,GetHandleId(Condition(function ztx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_increasingItemTypes7_wc3item") call SaveStr(j,GetHandleId(Condition(function zTx)),0,"s"+"__FolderBJUnit_StructDamage_Init_obj_obj_decreasingSpells1_wc3spell") +call SaveStr(j,GetHandleId(Condition(function zux)),0,"s"+"__FolderBJUnit_StructDamage_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function zUx)),0,"s"+"__FolderBJUnit_StructDamage_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function zwx)),0,"s"+"__FolderBJUnit_StructMovement_Init_obj_obj_move_wc3spell") call SaveStr(j,GetHandleId(Condition(function zWx)),0,"s"+"__FolderBJUnit_StructMovement_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function zyx)),0,"s"+"__FolderBJUnit_StructMovement_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function zYx)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_increasingSpells0_wc3spell") call SaveStr(j,GetHandleId(Condition(function zzx)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_decreasingSpells3_wc3spell") call SaveStr(j,GetHandleId(Condition(function zZx)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_decreasingSpells1_wc3spell") call SaveStr(j,GetHandleId(Condition(function z_x)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_increasingSpells5_wc3spell") call SaveStr(j,GetHandleId(Condition(function z0x)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_decreasingSpells2_wc3spell") call SaveStr(j,GetHandleId(Condition(function z1x)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_decreasingSpells5_wc3spell") call SaveStr(j,GetHandleId(Condition(function z2x)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_increasingSpells2_wc3spell") call SaveStr(j,GetHandleId(Condition(function z3x)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_increasingSpells4_wc3spell") call SaveStr(j,GetHandleId(Condition(function z4x)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_decreasingSpells4_wc3spell") call SaveStr(j,GetHandleId(Condition(function z5x)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function z6x)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_increasingSpells6_wc3spell") call SaveStr(j,GetHandleId(Condition(function z7x)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_increasingSpells1_wc3spell") call SaveStr(j,GetHandleId(Condition(function z8x)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_decreasingSpells0_wc3spell") call SaveStr(j,GetHandleId(Condition(function z9x)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_decreasingSpells6_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zvx)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init_obj_obj_increasingSpells3_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zex)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Zxx)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Zox)),0,"s"+"__FolderBJUnit_FolderHero_StructAgility_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Zrx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_increasingSpells0_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zix)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_increasingSpells4_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zax)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_decreasingSpells0_wc3spell") call SaveStr(j,GetHandleId(Condition(function Znx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_decreasingSpells1_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZVx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_decreasingSpells4_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZEx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_increasingSpells5_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZXx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_increasingSpells6_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZOx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_increasingSpells1_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZRx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_decreasingSpells6_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZIx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_decreasingSpells5_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZAx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_decreasingSpells2_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZNx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_increasingSpells2_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zbx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_increasingSpells3_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZBx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_decreasingSpells3_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zcx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function ZCx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Zdx)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ZDx)),0,"s"+"__FolderBJUnit_FolderHero_StructIntelligence_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Zfx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_decreasingSpells6_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZFx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_decreasingSpells0_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zgx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_increasingSpells6_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZGx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_increasingSpells4_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zhx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_increasingSpells3_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZHx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_decreasingSpells2_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zjx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_decreasingSpells1_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZJx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function Zkx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_increasingSpells5_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZKx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_decreasingSpells4_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zlx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_decreasingSpells3_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZLx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_increasingSpells1_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zmx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_increasingSpells2_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZMx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_increasingSpells0_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zpx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init_obj_obj_decreasingSpells5_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZPx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Zqx)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ZQx)),0,"s"+"__FolderBJUnit_FolderHero_StructStrength_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Zsx)),0,"s"+"__FolderBJUnit_StructHero_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ZSx)),0,"s"+"__BJUnit_Init_obj_obj_skillMenuSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ztx)),0,"s"+"__BJUnit_Init_obj_obj_zEnablerSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZTx)),0,"s"+"__BJUnit_Init_obj_obj_warp_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Zux)),0,"s"+"__BJUnit_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function ZUx)),0,"s"+"__UnitAttackSplash_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Zwx)),0,"s"+"__FolderUnitClass_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ZWx)),0,"s"+"__FolderUnitClass_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Zyx)),0,"s"+"__FolderUnitClass_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ZYx)),0,"s"+"__FolderUnitClass_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Zzx)),0,"s"+"__UnitClass_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ZZx)),0,"s"+"__FolderUnitTypePool_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Z_x)),0,"s"+"__FolderUnitTypePool_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Z0x)),0,"s"+"__FolderUnitTypePool_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Z1x)),0,"s"+"__FolderUnitTypePool_FolderData_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Z2x)),0,"s"+"__FolderUnitTypePool_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Z3x)),0,"s"+"__UnitTypePool_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Z4x)),0,"s"+"__FolderUnit_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Z5x)),0,"s"+"__FolderUnit_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Z6x)),0,"s"+"__FolderUnit_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Z7x)),0,"s"+"__FolderUnit_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Z8x)),0,"s"+"__FolderUnit_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Z9x)),0,"s"+"__FolderUnit_FolderData_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vvo)),0,"s"+"__FolderUnit_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function veo)),0,"s"+"__FolderUnit_FolderEvent_StructCombination_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vxo)),0,"s"+"__FolderUnit_FolderEvent_StructCounted_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function voo)),0,"s"+"__FolderUnit_FolderEvent_StructNative_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function vro)),0,"s"+"__FolderUnit_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vio)),0,"s"+"__FolderUnit_FolderAbilities_StructCooldown_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vao)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructBegin_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function vVo)),0,"s"+"__SoundType_allocCustom") +call SaveStr(j,GetHandleId(Condition(function vEo)),0,"s"+"__SoundType_Create") call SaveStr(j,GetHandleId(Condition(function vXo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Init_obj_obj_loopSound_wc3sound") +call SaveStr(j,GetHandleId(Condition(function vOo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function vRo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function vIo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vgo)),0,"s"+"__FolderUnit_FolderAnimation_StructLoop_allocCustom") +call SaveStr(j,GetHandleId(Condition(function vjo)),0,"s"+"__FolderUnit_FolderAnimation_StructLoop_Update") call SaveStr(j,GetHandleId(Condition(function vMo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function vpo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_FOR_EACH_LIST_FetchFirst") call SaveStr(j,GetHandleId(Condition(function vTo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_AnimateByTimer") call SaveStr(j,GetHandleId(Condition(function vUo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function v1o)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function v3o)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Buff_Init") call SaveStr(j,GetHandleId(Condition(function v4o)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function v5o)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructEffect_Init_obj_obj_unitDummySpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function v6o)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructEffect_Init_obj_obj_pointOrUnitDummySpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function v7o)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructEffect_Init_obj_obj_pointDummySpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function v8o)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructEffect_Init_obj_obj_immediateDummySpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function v9o)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructEffect_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function evo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructEffect_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eeo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructFinish_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function exo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructLearn_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function eoo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructUnlearn_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ero)),0,"s"+"__FolderUnit_FolderAbilities_StructEvents_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function eio)),0,"s"+"__FolderUnit_FolderAbilities_StructAutoCast_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eao)),0,"s"+"__FolderUnit_StructAbilities_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eno)),0,"s"+"__FolderUnit_StructEffects_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eVo)),0,"s"+"__FolderUnit_StructSounds_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function eEo)),0,"s"+"__FolderUnit_StructAttachments_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eXo)),0,"s"+"__FolderUnit_FolderBuffs_FolderEvents_StructChangeLevel_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eOo)),0,"s"+"__FolderUnit_FolderBuffs_FolderEvents_StructGain_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eRo)),0,"s"+"__FolderUnit_FolderBuffs_FolderEvents_StructLose_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eIo)),0,"s"+"__FolderUnit_FolderBuffs_StructEvents_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function eAo)),0,"s"+"__FolderUnit_FolderBuffs_FolderTimed_StructCountdown_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eNo)),0,"s"+"__FolderUnit_FolderBuffs_StructTimed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ebo)),0,"s"+"__FolderUnit_StructBuffs_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eBo)),0,"s"+"__FolderUnit_StructModSets_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eco)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructGain_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eCo)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructLose_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function edo)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructMoveInInventory_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eDo)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructSell_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function efo)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructUse_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eFo)),0,"s"+"__FolderUnit_FolderItems_StructEvents_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ego)),0,"s"+"__FolderUnit_StructItems_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eGo)),0,"s"+"__FolderUnit_StructClasses_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eho)),0,"s"+"__FolderUnit_StructType_Init_obj_obj_changerBase_wc3spell") call SaveStr(j,GetHandleId(Condition(function eHo)),0,"s"+"__FolderUnit_StructType_Init_obj_obj_changerCorporalRevert_wc3spell") +call SaveStr(j,GetHandleId(Condition(function ejo)),0,"s"+"__FolderUnit_StructType_Init_obj_obj_changerCorporal_wc3spell") call SaveStr(j,GetHandleId(Condition(function eJo)),0,"s"+"__FolderUnit_StructType_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function eko)),0,"s"+"__FolderUnit_StructType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eKo)),0,"s"+"__FolderUnit_StructColor_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function elo)),0,"s"+"__FolderUnit_StructOwner_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eLo)),0,"s"+"__FolderUnit_FolderArmor_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function emo)),0,"s"+"__FolderUnit_FolderArmor_FolderBonus_StructDisplayed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eMo)),0,"s"+"__FolderUnit_FolderArmor_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function epo)),0,"s"+"__FolderUnit_FolderArmor_FolderIgnoreDamage_StructRelative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ePo)),0,"s"+"__FolderUnit_FolderArmor_StructIgnoreDamage_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eqo)),0,"s"+"__FolderUnit_FolderArmor_FolderRelative_StructInvisible_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eQo)),0,"s"+"__FolderUnit_FolderArmor_StructRelative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eso)),0,"s"+"__FolderUnit_FolderArmor_StructResistance_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function eSo)),0,"s"+"__FolderUnit_FolderArmor_StructSpell_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eto)),0,"s"+"__FolderUnit_FolderArmor_StructTypeA_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eTo)),0,"s"+"__FolderUnit_StructArmor_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function euo)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructAcquire2_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function eUo)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function ewo)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eWo)),0,"s"+"__FolderUnit_FolderAttack_StructEvents_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eyo)),0,"s"+"__FolderUnit_FolderAttack_FolderMissile_StructSpeed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eYo)),0,"s"+"__FolderUnit_FolderAttack_StructMissile_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ezo)),0,"s"+"__FolderUnit_FolderAttack_StructRange_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function eZo)),0,"s"+"__FolderUnit_FolderAttack_FolderSpeed_StructBaseA_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function e_o)),0,"s"+"__FolderUnit_FolderAttack_FolderSpeed_FolderBonusA_StructDisplayedA_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function e0o)),0,"s"+"__FolderUnit_FolderAttack_FolderSpeed_StructBonusA_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function e1o)),0,"s"+"__FolderUnit_FolderAttack_StructSpeed_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function e2o)),0,"s"+"__FolderUnit_FolderAttack_FolderSplash_StructTargetFlag_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function e3o)),0,"s"+"__FolderUnit_FolderAttack_StructSplash_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function e4o)),0,"s"+"__FolderUnit_StructAttack_Init_obj_obj_disableBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function e5o)),0,"s"+"__FolderUnit_StructAttack_Init_obj_obj_normalBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function e6o)),0,"s"+"__FolderUnit_StructAttack_Init_obj_obj_iconSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function e7o)),0,"s"+"__FolderUnit_StructAttack_Init_obj_obj_disableSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function e8o)),0,"s"+"__FolderUnit_StructAttack_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function e9o)),0,"s"+"__FolderUnit_StructAttack_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function xvo)),0,"s"+"__FolderUnit_StructAttack_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function xeo)),0,"s"+"__FolderUnit_StructAttack_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function xxo)),0,"s"+"__FolderUnit_StructAttack_Buff_Init") +call SaveStr(j,GetHandleId(Condition(function xoo)),0,"s"+"__FolderUnit_StructAttack_initializer_Buff_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function xro)),0,"s"+"__FolderUnit_StructBlood_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xio)),0,"s"+"__FolderUnit_StructBloodExplosion_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function xao)),0,"s"+"__FolderUnit_StructCollisionSize_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xno)),0,"s"+"__FolderUnit_FolderCriticalChanceDefense_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xVo)),0,"s"+"__FolderUnit_FolderCriticalChanceDefense_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xEo)),0,"s"+"__FolderUnit_StructCriticalChanceDefense_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xXo)),0,"s"+"__FolderUnit_FolderCriticalChance_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xOo)),0,"s"+"__FolderUnit_FolderCriticalChance_StructBonus_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function xRo)),0,"s"+"__FolderUnit_StructCriticalChance_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function xIo)),0,"s"+"__FolderUnit_FolderDeath_StructExplosion_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function xAo)),0,"s"+"__FolderUnit_FolderDeath_StructExplosion_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function xNo)),0,"s"+"__FolderUnit_FolderDeath_StructExplosion_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xbo)),0,"s"+"__FolderUnit_FolderDeath_StructExplosion_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function xBo)),0,"s"+"__FolderUnit_FolderDeath_StructExplosion_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function xco)),0,"s"+"__FolderUnit_FolderDeath_StructExplosion_Buff_Init") call SaveStr(j,GetHandleId(Condition(function xCo)),0,"s"+"__FolderUnit_FolderDeath_StructExplosion_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function xdo)),0,"s"+"__FolderUnit_FolderDeath_StructEvents_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function xDo)),0,"s"+"__FolderUnit_FolderDeath_StructProtection_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function xfo)),0,"s"+"__FolderUnit_FolderDeath_StructProtection_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function xFo)),0,"s"+"__FolderUnit_FolderDeath_StructProtection_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function xgo)),0,"s"+"__FolderUnit_FolderDeath_StructProtection_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function xGo)),0,"s"+"__FolderUnit_FolderDeath_StructProtection_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function xho)),0,"s"+"__FolderUnit_FolderDeath_StructProtection_Buff_Init") +call SaveStr(j,GetHandleId(Condition(function xHo)),0,"s"+"__FolderUnit_FolderDeath_StructProtection_initializer_Buff_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function xjo)),0,"s"+"__FolderUnit_StructDeath_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xJo)),0,"s"+"__FolderUnit_FolderDecay_StructDuration_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xko)),0,"s"+"__FolderUnit_FolderDecay_StructEvents_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function xKo)),0,"s"+"__FolderUnit_FolderDecay_StructTimed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xlo)),0,"s"+"__FolderUnit_StructDecay_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xLo)),0,"s"+"__FolderUnit_StructDisplay_Init_obj_obj_dummySpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function xmo)),0,"s"+"__FolderUnit_StructDisplay_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function xMo)),0,"s"+"__FolderUnit_StructDisplay_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xpo)),0,"s"+"__FolderUnit_FolderDrop_StructExp_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function xPo)),0,"s"+"__FolderUnit_FolderDrop_StructSupply_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xqo)),0,"s"+"__FolderUnit_StructDrop_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xQo)),0,"s"+"__FolderUnit_StructEvasion_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xso)),0,"s"+"__FolderUnit_FolderEvasionChanceDefense_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xSo)),0,"s"+"__FolderUnit_FolderEvasionChanceDefense_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xto)),0,"s"+"__FolderUnit_StructEvasionChanceDefense_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xTo)),0,"s"+"__FolderUnit_FolderEvasionChance_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xuo)),0,"s"+"__FolderUnit_FolderEvasionChance_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xUo)),0,"s"+"__FolderUnit_StructEvasionChance_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xwo)),0,"s"+"__FolderUnit_FolderImpact_StructX_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function xWo)),0,"s"+"__FolderUnit_FolderImpact_StructY_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function xyo)),0,"s"+"__FolderUnit_FolderImpact_StructZ_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function xYo)),0,"s"+"__FolderUnit_StructImpact_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function xzo)),0,"s"+"__FolderUnit_StructExp_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xZo)),0,"s"+"__FolderUnit_FolderOutpact_StructX_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function x_o)),0,"s"+"__FolderUnit_FolderOutpact_StructY_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function x0o)),0,"s"+"__FolderUnit_FolderOutpact_StructZ_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function x1o)),0,"s"+"__FolderUnit_StructOutpact_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function x2o)),0,"s"+"__FolderUnit_StructLifeLeech_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function x3o)),0,"s"+"__FolderUnit_StructLifeLeech_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function x4o)),0,"s"+"__FolderUnit_StructManaLeech_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function x5o)),0,"s"+"__FolderUnit_StructManaLeech_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function x7o)),0,"s"+"__FolderUnit_StructInvulnerability_Init_obj_obj_normalBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function x8o)),0,"s"+"__FolderUnit_StructInvulnerability_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function x9o)),0,"s"+"__FolderUnit_StructInvulnerability_Init_obj_obj_noneBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function ovo)),0,"s"+"__FolderUnit_StructInvulnerability_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function oeo)),0,"s"+"__FolderUnit_StructInvulnerability_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oxo)),0,"s"+"__FolderUnit_StructInvulnerability_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function ooo)),0,"s"+"__FolderUnit_StructInvulnerability_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function ono)),0,"s"+"__FolderUnit_StructInvulnerability_Buff_Init") call SaveStr(j,GetHandleId(Condition(function oVo)),0,"s"+"__FolderUnit_StructInvulnerability_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function oEo)),0,"s"+"__FolderUnit_FolderDamage_FolderBase_StructDisplayed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oXo)),0,"s"+"__FolderUnit_FolderDamage_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oOo)),0,"s"+"__FolderUnit_FolderDamage_FolderBonus_StructDisplayed_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function oRo)),0,"s"+"__FolderUnit_FolderDamage_StructBonus_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function oIo)),0,"s"+"__FolderUnit_FolderDamage_StructDelay_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function oAo)),0,"s"+"__FolderUnit_FolderDamage_StructDices_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function oNo)),0,"s"+"__FolderUnit_FolderDamage_StructEvents_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function obo)),0,"s"+"__FolderUnit_FolderDamage_FolderRelative_StructInvisible_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oBo)),0,"s"+"__FolderUnit_FolderDamage_StructRelative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oco)),0,"s"+"__FolderUnit_FolderDamage_StructSides_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function oCo)),0,"s"+"__FolderUnit_FolderDamage_StructSpellRelative_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function odo)),0,"s"+"__FolderUnit_FolderDamage_StructTypeA_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function oDo)),0,"s"+"__FolderUnit_StructDamage_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ofo)),0,"s"+"__FolderUnit_FolderMagicImmunity_StructSpellShield_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function oFo)),0,"s"+"__FolderUnit_FolderMagicImmunity_StructSpellShield_Init_obj_obj_normalBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function ogo)),0,"s"+"__FolderUnit_FolderMagicImmunity_StructSpellShield_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function oGo)),0,"s"+"__FolderUnit_FolderMagicImmunity_StructSpellShield_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oho)),0,"s"+"__FolderUnit_FolderMagicImmunity_StructSpellShield_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function oHo)),0,"s"+"__FolderUnit_FolderMagicImmunity_StructSpellShield_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function ojo)),0,"s"+"__FolderUnit_FolderMagicImmunity_StructSpellShield_Buff_Init") call SaveStr(j,GetHandleId(Condition(function oJo)),0,"s"+"__FolderUnit_FolderMagicImmunity_StructSpellShield_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function oko)),0,"s"+"__FolderUnit_StructMagicImmunity_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function oKo)),0,"s"+"__FolderUnit_StructMagicImmunity_Init_obj_obj_normalBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function olo)),0,"s"+"__FolderUnit_StructMagicImmunity_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function oLo)),0,"s"+"__FolderUnit_StructMagicImmunity_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function omo)),0,"s"+"__FolderUnit_StructMagicImmunity_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function oMo)),0,"s"+"__FolderUnit_StructMagicImmunity_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function opo)),0,"s"+"__FolderUnit_StructMagicImmunity_Buff_Init") call SaveStr(j,GetHandleId(Condition(function oPo)),0,"s"+"__FolderUnit_StructMagicImmunity_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function oqo)),0,"s"+"__FolderUnit_FolderScale_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oQo)),0,"s"+"__FolderUnit_FolderScale_StructTimed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oso)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells20_wc3spell") call SaveStr(j,GetHandleId(Condition(function oSo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells52_wc3spell") call SaveStr(j,GetHandleId(Condition(function oto)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells118_wc3spell") call SaveStr(j,GetHandleId(Condition(function oTo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells135_wc3spell") call SaveStr(j,GetHandleId(Condition(function ouo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells136_wc3spell") call SaveStr(j,GetHandleId(Condition(function oUo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells102_wc3spell") call SaveStr(j,GetHandleId(Condition(function owo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells138_wc3spell") call SaveStr(j,GetHandleId(Condition(function oWo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells142_wc3spell") call SaveStr(j,GetHandleId(Condition(function oyo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells19_wc3spell") call SaveStr(j,GetHandleId(Condition(function oYo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells145_wc3spell") call SaveStr(j,GetHandleId(Condition(function ozo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells148_wc3spell") call SaveStr(j,GetHandleId(Condition(function oZo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells150_wc3spell") call SaveStr(j,GetHandleId(Condition(function o_o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells108_wc3spell") call SaveStr(j,GetHandleId(Condition(function o0o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells155_wc3spell") call SaveStr(j,GetHandleId(Condition(function o1o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells156_wc3spell") call SaveStr(j,GetHandleId(Condition(function o2o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells158_wc3spell") call SaveStr(j,GetHandleId(Condition(function o3o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells159_wc3spell") call SaveStr(j,GetHandleId(Condition(function o4o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells146_wc3spell") call SaveStr(j,GetHandleId(Condition(function o5o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells163_wc3spell") call SaveStr(j,GetHandleId(Condition(function o6o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells165_wc3spell") call SaveStr(j,GetHandleId(Condition(function o7o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells167_wc3spell") call SaveStr(j,GetHandleId(Condition(function o8o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells168_wc3spell") call SaveStr(j,GetHandleId(Condition(function o9o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells169_wc3spell") call SaveStr(j,GetHandleId(Condition(function rvo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells173_wc3spell") call SaveStr(j,GetHandleId(Condition(function reo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells174_wc3spell") call SaveStr(j,GetHandleId(Condition(function rxo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells178_wc3spell") call SaveStr(j,GetHandleId(Condition(function roo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells182_wc3spell") call SaveStr(j,GetHandleId(Condition(function rro)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells112_wc3spell") call SaveStr(j,GetHandleId(Condition(function rio)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells184_wc3spell") call SaveStr(j,GetHandleId(Condition(function rao)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells185_wc3spell") call SaveStr(j,GetHandleId(Condition(function rno)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells149_wc3spell") call SaveStr(j,GetHandleId(Condition(function rVo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells190_wc3spell") call SaveStr(j,GetHandleId(Condition(function rEo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells191_wc3spell") call SaveStr(j,GetHandleId(Condition(function rXo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells192_wc3spell") call SaveStr(j,GetHandleId(Condition(function rOo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells194_wc3spell") call SaveStr(j,GetHandleId(Condition(function rRo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells195_wc3spell") call SaveStr(j,GetHandleId(Condition(function rIo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells101_wc3spell") call SaveStr(j,GetHandleId(Condition(function rAo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells197_wc3spell") call SaveStr(j,GetHandleId(Condition(function rNo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells206_wc3spell") call SaveStr(j,GetHandleId(Condition(function rbo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells208_wc3spell") call SaveStr(j,GetHandleId(Condition(function rBo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells210_wc3spell") call SaveStr(j,GetHandleId(Condition(function rco)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells211_wc3spell") call SaveStr(j,GetHandleId(Condition(function rCo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells213_wc3spell") call SaveStr(j,GetHandleId(Condition(function rdo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells215_wc3spell") call SaveStr(j,GetHandleId(Condition(function rDo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells222_wc3spell") call SaveStr(j,GetHandleId(Condition(function rfo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells225_wc3spell") call SaveStr(j,GetHandleId(Condition(function rFo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells227_wc3spell") call SaveStr(j,GetHandleId(Condition(function rgo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells230_wc3spell") call SaveStr(j,GetHandleId(Condition(function rGo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells232_wc3spell") call SaveStr(j,GetHandleId(Condition(function rho)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells233_wc3spell") call SaveStr(j,GetHandleId(Condition(function rHo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells234_wc3spell") call SaveStr(j,GetHandleId(Condition(function rjo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells235_wc3spell") call SaveStr(j,GetHandleId(Condition(function rJo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells236_wc3spell") call SaveStr(j,GetHandleId(Condition(function rko)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells237_wc3spell") call SaveStr(j,GetHandleId(Condition(function rKo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells242_wc3spell") call SaveStr(j,GetHandleId(Condition(function rlo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells243_wc3spell") call SaveStr(j,GetHandleId(Condition(function rLo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells244_wc3spell") call SaveStr(j,GetHandleId(Condition(function rmo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells246_wc3spell") call SaveStr(j,GetHandleId(Condition(function rMo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells247_wc3spell") call SaveStr(j,GetHandleId(Condition(function rpo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells250_wc3spell") call SaveStr(j,GetHandleId(Condition(function rPo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells251_wc3spell") call SaveStr(j,GetHandleId(Condition(function rqo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells252_wc3spell") call SaveStr(j,GetHandleId(Condition(function rQo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells254_wc3spell") call SaveStr(j,GetHandleId(Condition(function rso)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells256_wc3spell") call SaveStr(j,GetHandleId(Condition(function rSo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells257_wc3spell") call SaveStr(j,GetHandleId(Condition(function rto)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells258_wc3spell") call SaveStr(j,GetHandleId(Condition(function rTo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells111_wc3spell") call SaveStr(j,GetHandleId(Condition(function ruo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells259_wc3spell") call SaveStr(j,GetHandleId(Condition(function rUo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells261_wc3spell") call SaveStr(j,GetHandleId(Condition(function rwo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells263_wc3spell") call SaveStr(j,GetHandleId(Condition(function rWo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells266_wc3spell") call SaveStr(j,GetHandleId(Condition(function ryo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells267_wc3spell") call SaveStr(j,GetHandleId(Condition(function rYo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells268_wc3spell") call SaveStr(j,GetHandleId(Condition(function rzo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells269_wc3spell") call SaveStr(j,GetHandleId(Condition(function rZo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells270_wc3spell") call SaveStr(j,GetHandleId(Condition(function r_o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells273_wc3spell") call SaveStr(j,GetHandleId(Condition(function r0o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells276_wc3spell") call SaveStr(j,GetHandleId(Condition(function r1o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells277_wc3spell") call SaveStr(j,GetHandleId(Condition(function r2o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells207_wc3spell") call SaveStr(j,GetHandleId(Condition(function r3o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells278_wc3spell") call SaveStr(j,GetHandleId(Condition(function r4o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells279_wc3spell") call SaveStr(j,GetHandleId(Condition(function r5o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells27_wc3spell") call SaveStr(j,GetHandleId(Condition(function r6o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells282_wc3spell") call SaveStr(j,GetHandleId(Condition(function r7o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells284_wc3spell") call SaveStr(j,GetHandleId(Condition(function r8o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells285_wc3spell") call SaveStr(j,GetHandleId(Condition(function r9o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells289_wc3spell") call SaveStr(j,GetHandleId(Condition(function ivo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells290_wc3spell") call SaveStr(j,GetHandleId(Condition(function ieo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells291_wc3spell") call SaveStr(j,GetHandleId(Condition(function ixo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells17_wc3spell") call SaveStr(j,GetHandleId(Condition(function ioo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells292_wc3spell") call SaveStr(j,GetHandleId(Condition(function iro)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells14_wc3spell") call SaveStr(j,GetHandleId(Condition(function iio)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells293_wc3spell") call SaveStr(j,GetHandleId(Condition(function iao)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells294_wc3spell") call SaveStr(j,GetHandleId(Condition(function ino)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells298_wc3spell") call SaveStr(j,GetHandleId(Condition(function iVo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells299_wc3spell") call SaveStr(j,GetHandleId(Condition(function iEo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells29_wc3spell") call SaveStr(j,GetHandleId(Condition(function iXo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells429_wc3spell") call SaveStr(j,GetHandleId(Condition(function iOo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells302_wc3spell") call SaveStr(j,GetHandleId(Condition(function iRo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells303_wc3spell") call SaveStr(j,GetHandleId(Condition(function iIo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells304_wc3spell") call SaveStr(j,GetHandleId(Condition(function iAo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells305_wc3spell") call SaveStr(j,GetHandleId(Condition(function iNo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells306_wc3spell") call SaveStr(j,GetHandleId(Condition(function ibo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells307_wc3spell") call SaveStr(j,GetHandleId(Condition(function iBo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells308_wc3spell") call SaveStr(j,GetHandleId(Condition(function ico)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells30_wc3spell") call SaveStr(j,GetHandleId(Condition(function iCo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells310_wc3spell") call SaveStr(j,GetHandleId(Condition(function ido)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells311_wc3spell") call SaveStr(j,GetHandleId(Condition(function iDo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells312_wc3spell") call SaveStr(j,GetHandleId(Condition(function ifo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells313_wc3spell") call SaveStr(j,GetHandleId(Condition(function iFo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells314_wc3spell") call SaveStr(j,GetHandleId(Condition(function igo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells315_wc3spell") call SaveStr(j,GetHandleId(Condition(function iGo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells319_wc3spell") call SaveStr(j,GetHandleId(Condition(function iho)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells321_wc3spell") call SaveStr(j,GetHandleId(Condition(function iHo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells322_wc3spell") call SaveStr(j,GetHandleId(Condition(function ijo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells33_wc3spell") call SaveStr(j,GetHandleId(Condition(function iJo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells323_wc3spell") call SaveStr(j,GetHandleId(Condition(function iko)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells106_wc3spell") call SaveStr(j,GetHandleId(Condition(function iKo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells326_wc3spell") call SaveStr(j,GetHandleId(Condition(function ilo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells327_wc3spell") call SaveStr(j,GetHandleId(Condition(function iLo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells328_wc3spell") call SaveStr(j,GetHandleId(Condition(function imo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells1_wc3spell") +call SaveStr(j,GetHandleId(Condition(function iMo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells331_wc3spell") call SaveStr(j,GetHandleId(Condition(function ipo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells9_wc3spell") +call SaveStr(j,GetHandleId(Condition(function iPo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells336_wc3spell") call SaveStr(j,GetHandleId(Condition(function iqo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells337_wc3spell") call SaveStr(j,GetHandleId(Condition(function iQo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells339_wc3spell") call SaveStr(j,GetHandleId(Condition(function iso)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells340_wc3spell") call SaveStr(j,GetHandleId(Condition(function iSo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells341_wc3spell") call SaveStr(j,GetHandleId(Condition(function ito)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells344_wc3spell") call SaveStr(j,GetHandleId(Condition(function iTo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_transBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function iuo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells345_wc3spell") call SaveStr(j,GetHandleId(Condition(function iUo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells349_wc3spell") call SaveStr(j,GetHandleId(Condition(function iwo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells34_wc3spell") call SaveStr(j,GetHandleId(Condition(function iWo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells351_wc3spell") call SaveStr(j,GetHandleId(Condition(function iyo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells352_wc3spell") call SaveStr(j,GetHandleId(Condition(function iYo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells353_wc3spell") call SaveStr(j,GetHandleId(Condition(function izo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells354_wc3spell") call SaveStr(j,GetHandleId(Condition(function iZo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells358_wc3spell") call SaveStr(j,GetHandleId(Condition(function i_o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells359_wc3spell") call SaveStr(j,GetHandleId(Condition(function i0o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells35_wc3spell") call SaveStr(j,GetHandleId(Condition(function i1o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells360_wc3spell") call SaveStr(j,GetHandleId(Condition(function i2o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells361_wc3spell") call SaveStr(j,GetHandleId(Condition(function i3o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells364_wc3spell") call SaveStr(j,GetHandleId(Condition(function i4o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells367_wc3spell") call SaveStr(j,GetHandleId(Condition(function i5o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells368_wc3spell") call SaveStr(j,GetHandleId(Condition(function i6o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells369_wc3spell") call SaveStr(j,GetHandleId(Condition(function i7o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells371_wc3spell") call SaveStr(j,GetHandleId(Condition(function i8o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells372_wc3spell") call SaveStr(j,GetHandleId(Condition(function i9o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells376_wc3spell") call SaveStr(j,GetHandleId(Condition(function avo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells378_wc3spell") call SaveStr(j,GetHandleId(Condition(function aeo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells379_wc3spell") call SaveStr(j,GetHandleId(Condition(function axo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells37_wc3spell") call SaveStr(j,GetHandleId(Condition(function aoo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells381_wc3spell") call SaveStr(j,GetHandleId(Condition(function aro)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells382_wc3spell") call SaveStr(j,GetHandleId(Condition(function aio)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells383_wc3spell") call SaveStr(j,GetHandleId(Condition(function aao)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells384_wc3spell") call SaveStr(j,GetHandleId(Condition(function ano)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells385_wc3spell") call SaveStr(j,GetHandleId(Condition(function aVo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells387_wc3spell") call SaveStr(j,GetHandleId(Condition(function aEo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells388_wc3spell") call SaveStr(j,GetHandleId(Condition(function aXo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells389_wc3spell") call SaveStr(j,GetHandleId(Condition(function aOo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells38_wc3spell") call SaveStr(j,GetHandleId(Condition(function aRo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells391_wc3spell") call SaveStr(j,GetHandleId(Condition(function aIo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells392_wc3spell") call SaveStr(j,GetHandleId(Condition(function aAo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells393_wc3spell") call SaveStr(j,GetHandleId(Condition(function aNo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells394_wc3spell") call SaveStr(j,GetHandleId(Condition(function abo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells395_wc3spell") call SaveStr(j,GetHandleId(Condition(function aBo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells396_wc3spell") call SaveStr(j,GetHandleId(Condition(function aco)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells399_wc3spell") call SaveStr(j,GetHandleId(Condition(function aCo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells280_wc3spell") call SaveStr(j,GetHandleId(Condition(function ado)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells126_wc3spell") call SaveStr(j,GetHandleId(Condition(function aDo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells403_wc3spell") call SaveStr(j,GetHandleId(Condition(function afo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells404_wc3spell") call SaveStr(j,GetHandleId(Condition(function aFo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells408_wc3spell") call SaveStr(j,GetHandleId(Condition(function ago)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells40_wc3spell") call SaveStr(j,GetHandleId(Condition(function aGo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells417_wc3spell") call SaveStr(j,GetHandleId(Condition(function aho)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells419_wc3spell") call SaveStr(j,GetHandleId(Condition(function aHo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells41_wc3spell") call SaveStr(j,GetHandleId(Condition(function ajo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells420_wc3spell") call SaveStr(j,GetHandleId(Condition(function aJo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells421_wc3spell") call SaveStr(j,GetHandleId(Condition(function ako)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells422_wc3spell") call SaveStr(j,GetHandleId(Condition(function aKo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells423_wc3spell") call SaveStr(j,GetHandleId(Condition(function alo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells275_wc3spell") call SaveStr(j,GetHandleId(Condition(function aLo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells424_wc3spell") call SaveStr(j,GetHandleId(Condition(function amo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells425_wc3spell") call SaveStr(j,GetHandleId(Condition(function aMo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells426_wc3spell") call SaveStr(j,GetHandleId(Condition(function apo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells427_wc3spell") call SaveStr(j,GetHandleId(Condition(function aPo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells431_wc3spell") call SaveStr(j,GetHandleId(Condition(function aqo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells432_wc3spell") call SaveStr(j,GetHandleId(Condition(function aQo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells435_wc3spell") call SaveStr(j,GetHandleId(Condition(function aso)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells436_wc3spell") call SaveStr(j,GetHandleId(Condition(function aSo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells43_wc3spell") call SaveStr(j,GetHandleId(Condition(function ato)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells440_wc3spell") call SaveStr(j,GetHandleId(Condition(function aTo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells442_wc3spell") call SaveStr(j,GetHandleId(Condition(function auo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells445_wc3spell") call SaveStr(j,GetHandleId(Condition(function aUo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells447_wc3spell") call SaveStr(j,GetHandleId(Condition(function awo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells5_wc3spell") +call SaveStr(j,GetHandleId(Condition(function aWo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells449_wc3spell") call SaveStr(j,GetHandleId(Condition(function ayo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells44_wc3spell") call SaveStr(j,GetHandleId(Condition(function aYo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells451_wc3spell") call SaveStr(j,GetHandleId(Condition(function azo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells193_wc3spell") call SaveStr(j,GetHandleId(Condition(function aZo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells456_wc3spell") call SaveStr(j,GetHandleId(Condition(function a_o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells458_wc3spell") call SaveStr(j,GetHandleId(Condition(function a0o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells459_wc3spell") call SaveStr(j,GetHandleId(Condition(function a1o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells460_wc3spell") call SaveStr(j,GetHandleId(Condition(function a2o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells461_wc3spell") call SaveStr(j,GetHandleId(Condition(function a3o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells462_wc3spell") call SaveStr(j,GetHandleId(Condition(function a4o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells463_wc3spell") call SaveStr(j,GetHandleId(Condition(function a5o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells464_wc3spell") call SaveStr(j,GetHandleId(Condition(function a6o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells465_wc3spell") call SaveStr(j,GetHandleId(Condition(function a7o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells466_wc3spell") call SaveStr(j,GetHandleId(Condition(function a8o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells468_wc3spell") call SaveStr(j,GetHandleId(Condition(function a9o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells470_wc3spell") call SaveStr(j,GetHandleId(Condition(function nvo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells8_wc3spell") +call SaveStr(j,GetHandleId(Condition(function neo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells471_wc3spell") call SaveStr(j,GetHandleId(Condition(function nxo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells473_wc3spell") call SaveStr(j,GetHandleId(Condition(function noo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells475_wc3spell") call SaveStr(j,GetHandleId(Condition(function nro)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells476_wc3spell") call SaveStr(j,GetHandleId(Condition(function nio)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells477_wc3spell") call SaveStr(j,GetHandleId(Condition(function nao)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells479_wc3spell") call SaveStr(j,GetHandleId(Condition(function nno)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells47_wc3spell") call SaveStr(j,GetHandleId(Condition(function nVo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells480_wc3spell") call SaveStr(j,GetHandleId(Condition(function nEo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells482_wc3spell") call SaveStr(j,GetHandleId(Condition(function nXo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells483_wc3spell") call SaveStr(j,GetHandleId(Condition(function nOo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells487_wc3spell") call SaveStr(j,GetHandleId(Condition(function nRo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells488_wc3spell") call SaveStr(j,GetHandleId(Condition(function nIo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells489_wc3spell") call SaveStr(j,GetHandleId(Condition(function nAo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells48_wc3spell") call SaveStr(j,GetHandleId(Condition(function nNo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells490_wc3spell") call SaveStr(j,GetHandleId(Condition(function nbo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells491_wc3spell") call SaveStr(j,GetHandleId(Condition(function nBo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells492_wc3spell") call SaveStr(j,GetHandleId(Condition(function nco)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells493_wc3spell") call SaveStr(j,GetHandleId(Condition(function nCo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells220_wc3spell") call SaveStr(j,GetHandleId(Condition(function ndo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells494_wc3spell") call SaveStr(j,GetHandleId(Condition(function nDo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells495_wc3spell") call SaveStr(j,GetHandleId(Condition(function nfo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells498_wc3spell") call SaveStr(j,GetHandleId(Condition(function nFo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells499_wc3spell") call SaveStr(j,GetHandleId(Condition(function ngo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells50_wc3spell") call SaveStr(j,GetHandleId(Condition(function nGo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells51_wc3spell") call SaveStr(j,GetHandleId(Condition(function nho)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells53_wc3spell") call SaveStr(j,GetHandleId(Condition(function nHo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells54_wc3spell") call SaveStr(j,GetHandleId(Condition(function njo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells55_wc3spell") call SaveStr(j,GetHandleId(Condition(function nJo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells56_wc3spell") call SaveStr(j,GetHandleId(Condition(function nko)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells58_wc3spell") call SaveStr(j,GetHandleId(Condition(function nKo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells59_wc3spell") call SaveStr(j,GetHandleId(Condition(function nlo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells362_wc3spell") call SaveStr(j,GetHandleId(Condition(function nLo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells60_wc3spell") call SaveStr(j,GetHandleId(Condition(function nmo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells63_wc3spell") call SaveStr(j,GetHandleId(Condition(function nMo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells65_wc3spell") call SaveStr(j,GetHandleId(Condition(function npo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells67_wc3spell") call SaveStr(j,GetHandleId(Condition(function nPo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells68_wc3spell") call SaveStr(j,GetHandleId(Condition(function nqo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells72_wc3spell") call SaveStr(j,GetHandleId(Condition(function nQo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells74_wc3spell") call SaveStr(j,GetHandleId(Condition(function nso)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells79_wc3spell") call SaveStr(j,GetHandleId(Condition(function nSo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells82_wc3spell") call SaveStr(j,GetHandleId(Condition(function nto)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells83_wc3spell") call SaveStr(j,GetHandleId(Condition(function nTo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells86_wc3spell") call SaveStr(j,GetHandleId(Condition(function nuo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells88_wc3spell") call SaveStr(j,GetHandleId(Condition(function nUo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells89_wc3spell") call SaveStr(j,GetHandleId(Condition(function nwo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells90_wc3spell") call SaveStr(j,GetHandleId(Condition(function nWo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells91_wc3spell") call SaveStr(j,GetHandleId(Condition(function nyo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells94_wc3spell") call SaveStr(j,GetHandleId(Condition(function nYo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells70_wc3spell") call SaveStr(j,GetHandleId(Condition(function nzo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells96_wc3spell") call SaveStr(j,GetHandleId(Condition(function nZo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells98_wc3spell") call SaveStr(j,GetHandleId(Condition(function n_o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells172_wc3spell") call SaveStr(j,GetHandleId(Condition(function n0o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells107_wc3spell") call SaveStr(j,GetHandleId(Condition(function n1o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells12_wc3spell") call SaveStr(j,GetHandleId(Condition(function n2o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells374_wc3spell") call SaveStr(j,GetHandleId(Condition(function n3o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells151_wc3spell") call SaveStr(j,GetHandleId(Condition(function n4o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells7_wc3spell") +call SaveStr(j,GetHandleId(Condition(function n5o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells32_wc3spell") call SaveStr(j,GetHandleId(Condition(function n6o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells287_wc3spell") call SaveStr(j,GetHandleId(Condition(function n7o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells318_wc3spell") call SaveStr(j,GetHandleId(Condition(function n8o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells249_wc3spell") call SaveStr(j,GetHandleId(Condition(function n9o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells255_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vvo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells264_wc3spell") call SaveStr(j,GetHandleId(Condition(function Veo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells452_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vxo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells137_wc3spell") call SaveStr(j,GetHandleId(Condition(function Voo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells99_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vro)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells469_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vio)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells231_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vao)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells377_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vno)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells141_wc3spell") call SaveStr(j,GetHandleId(Condition(function VVo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells411_wc3spell") call SaveStr(j,GetHandleId(Condition(function VEo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells45_wc3spell") call SaveStr(j,GetHandleId(Condition(function VXo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells84_wc3spell") call SaveStr(j,GetHandleId(Condition(function VOo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells397_wc3spell") call SaveStr(j,GetHandleId(Condition(function VRo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells223_wc3spell") call SaveStr(j,GetHandleId(Condition(function VIo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells130_wc3spell") call SaveStr(j,GetHandleId(Condition(function VAo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells122_wc3spell") call SaveStr(j,GetHandleId(Condition(function VNo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells212_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vbo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells139_wc3spell") call SaveStr(j,GetHandleId(Condition(function VBo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells437_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vco)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells21_wc3spell") call SaveStr(j,GetHandleId(Condition(function VCo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells124_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vdo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells229_wc3spell") call SaveStr(j,GetHandleId(Condition(function VDo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells446_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vfo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells15_wc3spell") call SaveStr(j,GetHandleId(Condition(function VFo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells453_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vgo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells0_wc3spell") +call SaveStr(j,GetHandleId(Condition(function VGo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells24_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vho)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells64_wc3spell") call SaveStr(j,GetHandleId(Condition(function VHo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells11_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vjo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells455_wc3spell") call SaveStr(j,GetHandleId(Condition(function VJo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells3_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Vko)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells288_wc3spell") call SaveStr(j,GetHandleId(Condition(function VKo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells78_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vlo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells201_wc3spell") call SaveStr(j,GetHandleId(Condition(function VLo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells472_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vmo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells325_wc3spell") call SaveStr(j,GetHandleId(Condition(function VMo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells133_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vpo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells81_wc3spell") call SaveStr(j,GetHandleId(Condition(function VPo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells217_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vqo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells363_wc3spell") call SaveStr(j,GetHandleId(Condition(function VQo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells171_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vso)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells95_wc3spell") call SaveStr(j,GetHandleId(Condition(function VSo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells87_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vto)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells448_wc3spell") call SaveStr(j,GetHandleId(Condition(function VTo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells406_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vuo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells439_wc3spell") call SaveStr(j,GetHandleId(Condition(function VUo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells69_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vwo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells205_wc3spell") call SaveStr(j,GetHandleId(Condition(function VWo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells413_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vyo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells481_wc3spell") call SaveStr(j,GetHandleId(Condition(function VYo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells441_wc3spell") call SaveStr(j,GetHandleId(Condition(function Vzo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells412_wc3spell") call SaveStr(j,GetHandleId(Condition(function VZo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells281_wc3spell") call SaveStr(j,GetHandleId(Condition(function V_o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells121_wc3spell") call SaveStr(j,GetHandleId(Condition(function V0o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells335_wc3spell") call SaveStr(j,GetHandleId(Condition(function V1o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells216_wc3spell") call SaveStr(j,GetHandleId(Condition(function V2o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells390_wc3spell") call SaveStr(j,GetHandleId(Condition(function V3o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells496_wc3spell") call SaveStr(j,GetHandleId(Condition(function V4o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells109_wc3spell") call SaveStr(j,GetHandleId(Condition(function V5o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells39_wc3spell") call SaveStr(j,GetHandleId(Condition(function V6o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells386_wc3spell") call SaveStr(j,GetHandleId(Condition(function V7o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells120_wc3spell") call SaveStr(j,GetHandleId(Condition(function V8o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_moddedBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function V9o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells410_wc3spell") call SaveStr(j,GetHandleId(Condition(function Evo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells110_wc3spell") call SaveStr(j,GetHandleId(Condition(function Eeo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells262_wc3spell") call SaveStr(j,GetHandleId(Condition(function Exo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells76_wc3spell") call SaveStr(j,GetHandleId(Condition(function Eoo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells342_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ero)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells188_wc3spell") call SaveStr(j,GetHandleId(Condition(function Eio)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells175_wc3spell") call SaveStr(j,GetHandleId(Condition(function Eao)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells199_wc3spell") call SaveStr(j,GetHandleId(Condition(function Eno)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells157_wc3spell") call SaveStr(j,GetHandleId(Condition(function EVo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells438_wc3spell") call SaveStr(j,GetHandleId(Condition(function EEo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells296_wc3spell") call SaveStr(j,GetHandleId(Condition(function EXo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells113_wc3spell") call SaveStr(j,GetHandleId(Condition(function EOo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells260_wc3spell") call SaveStr(j,GetHandleId(Condition(function ERo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells57_wc3spell") call SaveStr(j,GetHandleId(Condition(function EIo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells144_wc3spell") call SaveStr(j,GetHandleId(Condition(function EAo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells373_wc3spell") call SaveStr(j,GetHandleId(Condition(function ENo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells332_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ebo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells115_wc3spell") call SaveStr(j,GetHandleId(Condition(function EBo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells66_wc3spell") call SaveStr(j,GetHandleId(Condition(function Eco)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells324_wc3spell") call SaveStr(j,GetHandleId(Condition(function ECo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells117_wc3spell") call SaveStr(j,GetHandleId(Condition(function Edo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells366_wc3spell") call SaveStr(j,GetHandleId(Condition(function EDo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells116_wc3spell") call SaveStr(j,GetHandleId(Condition(function Efo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells338_wc3spell") call SaveStr(j,GetHandleId(Condition(function EFo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells73_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ego)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells454_wc3spell") call SaveStr(j,GetHandleId(Condition(function EGo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells209_wc3spell") call SaveStr(j,GetHandleId(Condition(function Eho)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells329_wc3spell") call SaveStr(j,GetHandleId(Condition(function EHo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells132_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ejo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells71_wc3spell") call SaveStr(j,GetHandleId(Condition(function EJo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells428_wc3spell") call SaveStr(j,GetHandleId(Condition(function Eko)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells348_wc3spell") call SaveStr(j,GetHandleId(Condition(function EKo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells23_wc3spell") call SaveStr(j,GetHandleId(Condition(function Elo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells241_wc3spell") call SaveStr(j,GetHandleId(Condition(function ELo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells18_wc3spell") call SaveStr(j,GetHandleId(Condition(function Emo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells218_wc3spell") call SaveStr(j,GetHandleId(Condition(function EMo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells162_wc3spell") call SaveStr(j,GetHandleId(Condition(function Epo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells297_wc3spell") call SaveStr(j,GetHandleId(Condition(function EPo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells75_wc3spell") call SaveStr(j,GetHandleId(Condition(function Eqo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells25_wc3spell") call SaveStr(j,GetHandleId(Condition(function EQo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells443_wc3spell") call SaveStr(j,GetHandleId(Condition(function Eso)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells272_wc3spell") call SaveStr(j,GetHandleId(Condition(function ESo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells28_wc3spell") call SaveStr(j,GetHandleId(Condition(function Eto)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells409_wc3spell") call SaveStr(j,GetHandleId(Condition(function ETo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells114_wc3spell") call SaveStr(j,GetHandleId(Condition(function Euo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells486_wc3spell") call SaveStr(j,GetHandleId(Condition(function EUo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells31_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ewo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells4_wc3spell") +call SaveStr(j,GetHandleId(Condition(function EWo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells365_wc3spell") call SaveStr(j,GetHandleId(Condition(function Eyo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells2_wc3spell") +call SaveStr(j,GetHandleId(Condition(function EYo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells13_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ezo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells457_wc3spell") call SaveStr(j,GetHandleId(Condition(function EZo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells375_wc3spell") call SaveStr(j,GetHandleId(Condition(function E_o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells10_wc3spell") call SaveStr(j,GetHandleId(Condition(function E0o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells161_wc3spell") call SaveStr(j,GetHandleId(Condition(function E1o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells85_wc3spell") call SaveStr(j,GetHandleId(Condition(function E2o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells444_wc3spell") call SaveStr(j,GetHandleId(Condition(function E3o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells309_wc3spell") call SaveStr(j,GetHandleId(Condition(function E4o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells430_wc3spell") call SaveStr(j,GetHandleId(Condition(function E5o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells92_wc3spell") call SaveStr(j,GetHandleId(Condition(function E6o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells202_wc3spell") call SaveStr(j,GetHandleId(Condition(function E7o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells62_wc3spell") call SaveStr(j,GetHandleId(Condition(function E8o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells97_wc3spell") call SaveStr(j,GetHandleId(Condition(function E9o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells274_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xvo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells22_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xeo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells434_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xxo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells283_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xoo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells104_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xro)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells484_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xio)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells170_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xao)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells80_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xno)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells200_wc3spell") call SaveStr(j,GetHandleId(Condition(function XVo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells347_wc3spell") call SaveStr(j,GetHandleId(Condition(function XEo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells46_wc3spell") call SaveStr(j,GetHandleId(Condition(function XXo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells402_wc3spell") call SaveStr(j,GetHandleId(Condition(function XOo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells187_wc3spell") call SaveStr(j,GetHandleId(Condition(function XRo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells226_wc3spell") call SaveStr(j,GetHandleId(Condition(function XIo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells248_wc3spell") call SaveStr(j,GetHandleId(Condition(function XAo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells42_wc3spell") call SaveStr(j,GetHandleId(Condition(function XNo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells128_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xbo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells380_wc3spell") call SaveStr(j,GetHandleId(Condition(function XBo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells370_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xco)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells164_wc3spell") call SaveStr(j,GetHandleId(Condition(function XCo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells36_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xdo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells154_wc3spell") call SaveStr(j,GetHandleId(Condition(function XDo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells239_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xfo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells214_wc3spell") call SaveStr(j,GetHandleId(Condition(function XFo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells119_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xgo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells153_wc3spell") call SaveStr(j,GetHandleId(Condition(function XGo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells131_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xho)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells152_wc3spell") call SaveStr(j,GetHandleId(Condition(function XHo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells179_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xjo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells433_wc3spell") call SaveStr(j,GetHandleId(Condition(function XJo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells196_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xko)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells123_wc3spell") call SaveStr(j,GetHandleId(Condition(function XKo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells189_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xlo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells103_wc3spell") call SaveStr(j,GetHandleId(Condition(function XLo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells253_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xmo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells330_wc3spell") call SaveStr(j,GetHandleId(Condition(function XMo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells26_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xpo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells181_wc3spell") call SaveStr(j,GetHandleId(Condition(function XPo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells147_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xqo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells186_wc3spell") call SaveStr(j,GetHandleId(Condition(function XQo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells166_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xso)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells450_wc3spell") call SaveStr(j,GetHandleId(Condition(function XSo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells93_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xto)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells357_wc3spell") call SaveStr(j,GetHandleId(Condition(function XTo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells400_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xuo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells77_wc3spell") call SaveStr(j,GetHandleId(Condition(function XUo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells316_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xwo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells497_wc3spell") call SaveStr(j,GetHandleId(Condition(function XWo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells317_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xyo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells61_wc3spell") call SaveStr(j,GetHandleId(Condition(function XYo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells271_wc3spell") call SaveStr(j,GetHandleId(Condition(function Xzo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells105_wc3spell") call SaveStr(j,GetHandleId(Condition(function XZo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells16_wc3spell") call SaveStr(j,GetHandleId(Condition(function X_o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells160_wc3spell") call SaveStr(j,GetHandleId(Condition(function X0o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells125_wc3spell") call SaveStr(j,GetHandleId(Condition(function X1o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells474_wc3spell") call SaveStr(j,GetHandleId(Condition(function X2o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells467_wc3spell") call SaveStr(j,GetHandleId(Condition(function X3o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells301_wc3spell") call SaveStr(j,GetHandleId(Condition(function X4o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells405_wc3spell") call SaveStr(j,GetHandleId(Condition(function X5o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells6_wc3spell") +call SaveStr(j,GetHandleId(Condition(function X6o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells415_wc3spell") call SaveStr(j,GetHandleId(Condition(function X7o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells343_wc3spell") call SaveStr(j,GetHandleId(Condition(function X8o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells245_wc3spell") call SaveStr(j,GetHandleId(Condition(function X9o)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells265_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ovo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells295_wc3spell") call SaveStr(j,GetHandleId(Condition(function Oeo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells203_wc3spell") call SaveStr(j,GetHandleId(Condition(function Oxo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells198_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ooo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells300_wc3spell") call SaveStr(j,GetHandleId(Condition(function Oro)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells350_wc3spell") call SaveStr(j,GetHandleId(Condition(function Oio)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells478_wc3spell") call SaveStr(j,GetHandleId(Condition(function Oao)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells204_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ono)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells127_wc3spell") call SaveStr(j,GetHandleId(Condition(function OVo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells143_wc3spell") call SaveStr(j,GetHandleId(Condition(function OEo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells177_wc3spell") call SaveStr(j,GetHandleId(Condition(function OXo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells407_wc3spell") call SaveStr(j,GetHandleId(Condition(function OOo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells228_wc3spell") call SaveStr(j,GetHandleId(Condition(function ORo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells183_wc3spell") call SaveStr(j,GetHandleId(Condition(function OIo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells333_wc3spell") call SaveStr(j,GetHandleId(Condition(function OAo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells224_wc3spell") call SaveStr(j,GetHandleId(Condition(function ONo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells356_wc3spell") call SaveStr(j,GetHandleId(Condition(function Obo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells414_wc3spell") call SaveStr(j,GetHandleId(Condition(function OBo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells176_wc3spell") call SaveStr(j,GetHandleId(Condition(function Oco)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells401_wc3spell") call SaveStr(j,GetHandleId(Condition(function OCo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells238_wc3spell") call SaveStr(j,GetHandleId(Condition(function Odo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells219_wc3spell") call SaveStr(j,GetHandleId(Condition(function ODo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells418_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ofo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells221_wc3spell") call SaveStr(j,GetHandleId(Condition(function OFo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells355_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ogo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells140_wc3spell") call SaveStr(j,GetHandleId(Condition(function OGo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells346_wc3spell") call SaveStr(j,GetHandleId(Condition(function Oho)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells180_wc3spell") call SaveStr(j,GetHandleId(Condition(function OHo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells134_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ojo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells320_wc3spell") call SaveStr(j,GetHandleId(Condition(function OJo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells416_wc3spell") call SaveStr(j,GetHandleId(Condition(function Oko)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells286_wc3spell") call SaveStr(j,GetHandleId(Condition(function OKo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells49_wc3spell") call SaveStr(j,GetHandleId(Condition(function Olo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells129_wc3spell") call SaveStr(j,GetHandleId(Condition(function OLo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells240_wc3spell") call SaveStr(j,GetHandleId(Condition(function Omo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells500_wc3spell") call SaveStr(j,GetHandleId(Condition(function OMo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells100_wc3spell") call SaveStr(j,GetHandleId(Condition(function Opo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells485_wc3spell") call SaveStr(j,GetHandleId(Condition(function OPo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells398_wc3spell") call SaveStr(j,GetHandleId(Condition(function Oqo)),0,"s"+"__FolderUnit_StructScale_Init_obj_obj_dummySpells334_wc3spell") call SaveStr(j,GetHandleId(Condition(function OQo)),0,"s"+"__FolderUnit_StructScale_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Oso)),0,"s"+"__FolderUnit_StructScale_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function OSo)),0,"s"+"__FolderUnit_StructScale_Event_Modded_BuffGain") call SaveStr(j,GetHandleId(Condition(function Oto)),0,"s"+"__FolderUnit_StructScale_Event_Modded_BuffLose") call SaveStr(j,GetHandleId(Condition(function OTo)),0,"s"+"__FolderUnit_StructScale_Trans_Delay") call SaveStr(j,GetHandleId(Condition(function Ouo)),0,"s"+"__FolderUnit_StructScale_Event_Trans_BuffGain") call SaveStr(j,GetHandleId(Condition(function OUo)),0,"s"+"__FolderUnit_StructScale_Event_Trans_BuffLose") call SaveStr(j,GetHandleId(Condition(function Owo)),0,"s"+"__FolderUnit_StructScale_Buff_Init") call SaveStr(j,GetHandleId(Condition(function OWo)),0,"s"+"__FolderUnit_StructScale_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Oyo)),0,"s"+"__FolderUnit_FolderVertexColor_StructRed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function OYo)),0,"s"+"__FolderUnit_FolderVertexColor_StructGreen_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Ozo)),0,"s"+"__FolderUnit_FolderVertexColor_StructBlue_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function OZo)),0,"s"+"__FolderUnit_FolderVertexColor_StructAlpha_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function O_o)),0,"s"+"__FolderUnit_FolderVertexColor_StructTimed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function O0o)),0,"s"+"__FolderUnit_StructVertexColor_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function O1o)),0,"s"+"__FolderUnit_StructCold_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function O4o)),0,"s"+"__UnitMod_allocCustom") call SaveStr(j,GetHandleId(Condition(function O8o)),0,"s"+"__FolderUnit_StructVertexColor_Event_ModGain") call SaveStr(j,GetHandleId(Condition(function O9o)),0,"s"+"__FolderUnit_StructVertexColor_Event_ModLose") call SaveStr(j,GetHandleId(Condition(function Reo)),0,"s"+"__FolderUnit_StructCold_Init_obj_obj_normalBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function Rxo)),0,"s"+"__FolderUnit_StructCold_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Roo)),0,"s"+"__FolderUnit_StructCold_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Rro)),0,"s"+"__FolderUnit_StructCold_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Rio)),0,"s"+"__FolderUnit_StructCold_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Rao)),0,"s"+"__FolderUnit_StructCold_Buff_Init") call SaveStr(j,GetHandleId(Condition(function Rno)),0,"s"+"__FolderUnit_StructCold_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function RVo)),0,"s"+"__FolderUnit_StructFrost_Init_obj_obj_normalBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function REo)),0,"s"+"__FolderUnit_StructFrost_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function RXo)),0,"s"+"__FolderUnit_StructFrost_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function ROo)),0,"s"+"__FolderUnit_StructFrost_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function RRo)),0,"s"+"__FolderUnit_StructFrost_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function RIo)),0,"s"+"__FolderUnit_StructFrost_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function RAo)),0,"s"+"__FolderUnit_StructFrost_Buff_Init") call SaveStr(j,GetHandleId(Condition(function RNo)),0,"s"+"__FolderUnit_StructFrost_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Rbo)),0,"s"+"__FolderUnit_FolderInvisibility_StructReveal_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function RBo)),0,"s"+"__FolderUnit_FolderInvisibility_StructReveal_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Rco)),0,"s"+"__FolderUnit_FolderInvisibility_StructReveal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function RCo)),0,"s"+"__FolderUnit_FolderInvisibility_StructReveal_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function Rdo)),0,"s"+"__FolderUnit_FolderInvisibility_StructReveal_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function RDo)),0,"s"+"__FolderUnit_FolderInvisibility_StructReveal_Buff_Init") call SaveStr(j,GetHandleId(Condition(function Rfo)),0,"s"+"__FolderUnit_FolderInvisibility_StructReveal_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function RFo)),0,"s"+"__FolderUnit_StructInvisibility_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Rgo)),0,"s"+"__FolderUnit_StructInvisibility_Init_obj_obj_dummySpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function RGo)),0,"s"+"__FolderUnit_StructInvisibility_Init_obj_obj_permBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Rho)),0,"s"+"__FolderUnit_StructInvisibility_Init_obj_obj_windwalkSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function RHo)),0,"s"+"__FolderUnit_StructInvisibility_Init_obj_obj_timedBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Rjo)),0,"s"+"__FolderUnit_StructInvisibility_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function RJo)),0,"s"+"__FolderUnit_StructInvisibility_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Rlo)),0,"s"+"__FolderUnit_StructInvisibility_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Rpo)),0,"s"+"__FolderUnit_StructInvisibility_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function RPo)),0,"s"+"__FolderUnit_StructInvisibility_Event_PermBuffGain") call SaveStr(j,GetHandleId(Condition(function Rqo)),0,"s"+"__FolderUnit_StructInvisibility_Event_PermBuffLose") call SaveStr(j,GetHandleId(Condition(function RQo)),0,"s"+"__FolderUnit_StructInvisibility_Buff_Init") call SaveStr(j,GetHandleId(Condition(function Rso)),0,"s"+"__FolderUnit_StructInvisibility_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function RSo)),0,"s"+"__FolderUnit_StructGhost_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function Rto)),0,"s"+"__FolderUnit_StructGhost_Init_obj_obj_dummySpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function RTo)),0,"s"+"__FolderUnit_StructGhost_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Ruo)),0,"s"+"__FolderUnit_StructGhost_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function RUo)),0,"s"+"__FolderUnit_StructGhost_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function Rwo)),0,"s"+"__FolderUnit_StructGhost_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function RWo)),0,"s"+"__FolderUnit_StructGhost_Buff_Init") call SaveStr(j,GetHandleId(Condition(function Ryo)),0,"s"+"__FolderUnit_StructGhost_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function RYo)),0,"s"+"__FolderUnit_StructHealAbility_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Rzo)),0,"s"+"__FolderUnit_FolderMaxLife_StructBase_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function RZo)),0,"s"+"__FolderUnit_FolderMaxLife_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function R_o)),0,"s"+"__FolderUnit_FolderMaxLife_StructRelative_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function R0o)),0,"s"+"__FolderUnit_StructMaxLife_Init_obj_obj_spells_wc3objLuainits") call SaveStr(j,GetHandleId(Condition(function R1o)),0,"s"+"__FolderUnit_StructMaxLife_Init_obj_obj_spells_wc3objLuaspells") call SaveStr(j,GetHandleId(Condition(function R2o)),0,"s"+"__FolderUnit_StructMaxLife_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function R3o)),0,"s"+"__FolderUnit_StructMaxLife_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function R4o)),0,"s"+"__FolderUnit_StructLife_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function R5o)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function R6o)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function R7o)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function R8o)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function R9o)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Ivo)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Ieo)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Ixo)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_Buff_Init") +call SaveStr(j,GetHandleId(Condition(function Ioo)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_initializer_Buff_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Iro)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructRelative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Iio)),0,"s"+"__FolderUnit_StructLifeRegeneration_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Iao)),0,"s"+"__FolderUnit_FolderMaxMana_StructBase_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Ino)),0,"s"+"__FolderUnit_FolderMaxMana_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IVo)),0,"s"+"__FolderUnit_FolderMaxMana_StructRelative_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function IEo)),0,"s"+"__FolderUnit_StructMaxMana_Init_obj_obj_spells_wc3objLuainits") call SaveStr(j,GetHandleId(Condition(function IXo)),0,"s"+"__FolderUnit_StructMaxMana_Init_obj_obj_spells_wc3objLuaspells") call SaveStr(j,GetHandleId(Condition(function IOo)),0,"s"+"__FolderUnit_StructMaxMana_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function IRo)),0,"s"+"__FolderUnit_StructMaxMana_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IIo)),0,"s"+"__FolderUnit_StructMana_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IAo)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function INo)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Ibo)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function IBo)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Ico)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ICo)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Ido)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function IDo)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_Buff_Init") +call SaveStr(j,GetHandleId(Condition(function Ifo)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_initializer_Buff_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function IFo)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructRelative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Igo)),0,"s"+"__FolderUnit_StructManaRegeneration_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IGo)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructInterval_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Iho)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructEnterRegion_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IHo)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructRegion_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Ijo)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructLeaveRegion_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IJo)),0,"s"+"__FolderUnit_FolderMovement_StructEvents_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Iko)),0,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructBaseA_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IKo)),0,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructBonusA_Init_obj_obj_dummySpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ilo)),0,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructBonusA_Init_obj_obj_storageSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function ILo)),0,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructBonusA_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Imo)),0,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructBonusA_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IMo)),0,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructRelativeA_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Ipo)),0,"s"+"__FolderUnit_FolderMovement_StructSpeed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IPo)),0,"s"+"__FolderUnit_StructMovement_Init_obj_obj_disableBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Iqo)),0,"s"+"__FolderUnit_StructMovement_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function IQo)),0,"s"+"__FolderUnit_StructMovement_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Iso)),0,"s"+"__FolderUnit_StructMovement_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function ISo)),0,"s"+"__FolderUnit_StructMovement_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Ito)),0,"s"+"__FolderUnit_StructMovement_Buff_Init") call SaveStr(j,GetHandleId(Condition(function ITo)),0,"s"+"__FolderUnit_StructMovement_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Iuo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructLose_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IUo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructImmediate_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Iwo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructPoint_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IWo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructTarget_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Iyo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructGain_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function IYo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructIdle_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Izo)),0,"s"+"__FolderUnit_FolderOrder_StructEvents_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function IZo)),0,"s"+"__FolderUnit_StructOrder_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function I_o)),0,"s"+"__FolderUnit_StructBanish_Init_obj_obj_noneBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function I0o)),0,"s"+"__FolderUnit_StructBanish_Init_obj_obj_banSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function I1o)),0,"s"+"__FolderUnit_StructBanish_Init_obj_obj_normalBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function I2o)),0,"s"+"__FolderUnit_StructBanish_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function I3o)),0,"s"+"__FolderUnit_StructBanish_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function I4o)),0,"s"+"__FolderUnit_StructBanish_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function I5o)),0,"s"+"__FolderUnit_StructBanish_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function I6o)),0,"s"+"__FolderUnit_StructBanish_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function I7o)),0,"s"+"__FolderUnit_StructBanish_Buff_Init") +call SaveStr(j,GetHandleId(Condition(function I8o)),0,"s"+"__FolderUnit_StructBanish_initializer_Buff_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function I9o)),0,"s"+"__FolderUnit_StructMadness_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Avo)),0,"s"+"__FolderUnit_StructMadness_Init_obj_obj_normalBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Aeo)),0,"s"+"__FolderUnit_StructMadness_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Axo)),0,"s"+"__FolderUnit_StructMadness_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Aoo)),0,"s"+"__FolderUnit_StructMadness_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Aio)),0,"s"+"__FolderUnit_StructMadness_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Aao)),0,"s"+"__FolderUnit_StructMadness_Buff_Init") call SaveStr(j,GetHandleId(Condition(function Ano)),0,"s"+"__FolderUnit_StructMadness_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function AVo)),0,"s"+"__FolderUnit_StructEclipse_Init_obj_obj_normalBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function AEo)),0,"s"+"__FolderUnit_StructEclipse_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function AXo)),0,"s"+"__FolderUnit_StructEclipse_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function AOo)),0,"s"+"__FolderUnit_StructEclipse_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ARo)),0,"s"+"__FolderUnit_StructEclipse_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function AIo)),0,"s"+"__FolderUnit_StructEclipse_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function AAo)),0,"s"+"__FolderUnit_StructEclipse_Buff_Init") call SaveStr(j,GetHandleId(Condition(function ANo)),0,"s"+"__FolderUnit_StructEclipse_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Abo)),0,"s"+"__FolderUnit_StructWhirl_Init_obj_obj_normalBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function ABo)),0,"s"+"__FolderUnit_StructWhirl_Init_obj_obj_impaleSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Aco)),0,"s"+"__FolderUnit_StructWhirl_Init_obj_obj_noneBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function ACo)),0,"s"+"__FolderUnit_StructWhirl_Init_obj_obj_cycloneSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Ado)),0,"s"+"__FolderUnit_StructWhirl_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function ADo)),0,"s"+"__FolderUnit_StructWhirl_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Afo)),0,"s"+"__FolderUnit_StructWhirl_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function AFo)),0,"s"+"__FolderUnit_StructWhirl_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function Ago)),0,"s"+"__FolderUnit_StructWhirl_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function AGo)),0,"s"+"__FolderUnit_StructWhirl_Buff_Init") call SaveStr(j,GetHandleId(Condition(function Aho)),0,"s"+"__FolderUnit_StructWhirl_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function AHo)),0,"s"+"__FolderUnit_StructFacing_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Ajo)),0,"s"+"__FolderUnit_StructBleeding_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function AJo)),0,"s"+"__FolderUnit_StructBleeding_Init_obj_obj_normalBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function Ako)),0,"s"+"__FolderUnit_StructBleeding_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function AKo)),0,"s"+"__FolderUnit_StructBleeding_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A_o)),0,"s"+"__FolderUnit_StructBleeding_Interval") call SaveStr(j,GetHandleId(Condition(function A0o)),0,"s"+"__FolderUnit_StructBleeding_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function A1o)),0,"s"+"__FolderUnit_StructBleeding_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function A2o)),0,"s"+"__FolderUnit_StructBleeding_Buff_Init") call SaveStr(j,GetHandleId(Condition(function A3o)),0,"s"+"__FolderUnit_StructBleeding_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function A4o)),0,"s"+"__FolderUnit_StructIgnited_Init_obj_obj_normalBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function A5o)),0,"s"+"__FolderUnit_StructIgnited_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function A6o)),0,"s"+"__FolderUnit_StructIgnited_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function A7o)),0,"s"+"__FolderUnit_StructIgnited_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A8o)),0,"s"+"__FolderUnit_StructIgnited_Interval") +call SaveStr(j,GetHandleId(Condition(function A9o)),0,"s"+"__FolderUnit_StructIgnited_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Nvo)),0,"s"+"__FolderUnit_StructIgnited_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Neo)),0,"s"+"__FolderUnit_StructIgnited_Buff_Init") call SaveStr(j,GetHandleId(Condition(function Nxo)),0,"s"+"__FolderUnit_StructIgnited_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Noo)),0,"s"+"__FolderUnit_StructKnockup_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Nro)),0,"s"+"__FolderUnit_StructKnockup_Buff_Init") call SaveStr(j,GetHandleId(Condition(function Nio)),0,"s"+"__FolderUnit_StructKnockup_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Nao)),0,"s"+"__FolderUnit_StructPathing_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Nno)),0,"s"+"__FolderUnit_StructPathing_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function NVo)),0,"s"+"__FolderUnit_StructPathing_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function NEo)),0,"s"+"__FolderUnit_StructPathing_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function NXo)),0,"s"+"__FolderUnit_StructPathing_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function NOo)),0,"s"+"__FolderUnit_StructPathing_Buff_Init") call SaveStr(j,GetHandleId(Condition(function NRo)),0,"s"+"__FolderUnit_StructPathing_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function NIo)),0,"s"+"__FolderUnit_StructPoisoned_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function NAo)),0,"s"+"__FolderUnit_StructPoisoned_Init_obj_obj_normalBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function NNo)),0,"s"+"__FolderUnit_StructPoisoned_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Nbo)),0,"s"+"__FolderUnit_StructPoisoned_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function NBo)),0,"s"+"__FolderUnit_StructPoisoned_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Nco)),0,"s"+"__FolderUnit_StructPoisoned_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function NCo)),0,"s"+"__FolderUnit_StructPoisoned_Buff_Init") call SaveStr(j,GetHandleId(Condition(function Ndo)),0,"s"+"__FolderUnit_StructPoisoned_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function NDo)),0,"s"+"__FolderUnit_FolderRevival_StructAble_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Nfo)),0,"s"+"__FolderUnit_FolderRevival_StructEvents_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function NFo)),0,"s"+"__FolderUnit_StructRevival_Init_obj_obj_dummySpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Ngo)),0,"s"+"__FolderUnit_StructRevival_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function NGo)),0,"s"+"__FolderUnit_StructRevival_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Nho)),0,"s"+"__FolderUnit_StructSilence_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function NHo)),0,"s"+"__FolderUnit_StructSilence_Init_obj_obj_normalBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Njo)),0,"s"+"__FolderUnit_StructSilence_Init_obj_obj_noneBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function NJo)),0,"s"+"__FolderUnit_StructSilence_Init_obj_obj_silSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Nko)),0,"s"+"__FolderUnit_StructSilence_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function NKo)),0,"s"+"__FolderUnit_StructSilence_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Nlo)),0,"s"+"__FolderUnit_StructSilence_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function NLo)),0,"s"+"__FolderUnit_StructSilence_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Nmo)),0,"s"+"__FolderUnit_StructSilence_Buff_Init") call SaveStr(j,GetHandleId(Condition(function NMo)),0,"s"+"__FolderUnit_StructSilence_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Npo)),0,"s"+"__FolderUnit_StructSleep_Init_obj_obj_sleepSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function NPo)),0,"s"+"__FolderUnit_StructSleep_Init_obj_obj_normalBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Nqo)),0,"s"+"__FolderUnit_StructSleep_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function NQo)),0,"s"+"__FolderUnit_StructSleep_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Nso)),0,"s"+"__FolderUnit_StructSleep_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Nto)),0,"s"+"__FolderUnit_StructSleep_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function NUo)),0,"s"+"__FolderUnit_StructSleep_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function Nwo)),0,"s"+"__FolderUnit_StructSleep_Buff_Init") call SaveStr(j,GetHandleId(Condition(function NWo)),0,"s"+"__FolderUnit_StructSleep_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Nyo)),0,"s"+"__FolderUnit_FolderStun_StructCancel_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function NYo)),0,"s"+"__FolderUnit_StructStun_Init_obj_obj_stunSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Nzo)),0,"s"+"__FolderUnit_StructStun_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function NZo)),0,"s"+"__FolderUnit_StructStun_Init_obj_obj_normalBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function N_o)),0,"s"+"__FolderUnit_StructStun_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function N0o)),0,"s"+"__FolderUnit_StructStun_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function N1o)),0,"s"+"__FolderUnit_StructStun_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function N2o)),0,"s"+"__FolderUnit_StructStun_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function N3o)),0,"s"+"__FolderUnit_StructStun_Buff_Init") call SaveStr(j,GetHandleId(Condition(function N4o)),0,"s"+"__FolderUnit_StructStun_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function N5o)),0,"s"+"__FolderUnit_FolderAnimation_StructLoop_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function N6o)),0,"s"+"__FolderUnit_FolderAnimation_StructSpeed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function N7o)),0,"s"+"__FolderUnit_StructAnimation_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function N8o)),0,"s"+"__FolderUnit_StructSkillPoints_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function N9o)),0,"s"+"__FolderUnit_FolderSpellPower_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bvo)),0,"s"+"__FolderUnit_FolderSpellPower_StructBonus_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function beo)),0,"s"+"__FolderUnit_FolderSpellPower_StructRelative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bxo)),0,"s"+"__FolderUnit_StructSpellPower_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function boo)),0,"s"+"__FolderUnit_FolderSpellVamp_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bro)),0,"s"+"__FolderUnit_FolderSpellVamp_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bio)),0,"s"+"__FolderUnit_FolderSpellVamp_StructRelative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bao)),0,"s"+"__FolderUnit_StructSpellVamp_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bno)),0,"s"+"__FolderUnit_FolderMaxRage_StructBase_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function bVo)),0,"s"+"__FolderUnit_FolderMaxRage_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bEo)),0,"s"+"__FolderUnit_FolderMaxRage_StructRelative_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function bXo)),0,"s"+"__FolderUnit_StructMaxRage_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bOo)),0,"s"+"__FolderUnit_StructRage_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bRo)),0,"s"+"__FolderUnit_FolderRageRegeneration_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bIo)),0,"s"+"__FolderUnit_FolderRageRegeneration_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bAo)),0,"s"+"__FolderUnit_FolderRageRegeneration_StructRelative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bNo)),0,"s"+"__FolderUnit_StructRageRegeneration_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bbo)),0,"s"+"__FolderUnit_FolderMaxStamina_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bBo)),0,"s"+"__FolderUnit_FolderMaxStamina_StructBonus_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function bco)),0,"s"+"__FolderUnit_FolderMaxStamina_StructRelative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bCo)),0,"s"+"__FolderUnit_StructMaxStamina_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function bdo)),0,"s"+"__FolderUnit_FolderStamina_StructExhaustion_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function bDo)),0,"s"+"__FolderUnit_FolderStamina_StructExhaustion_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function bfo)),0,"s"+"__FolderUnit_FolderStamina_StructExhaustion_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bFo)),0,"s"+"__FolderUnit_FolderStamina_StructExhaustion_Buff_Init") call SaveStr(j,GetHandleId(Condition(function bgo)),0,"s"+"__FolderUnit_FolderStamina_StructExhaustion_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function bGo)),0,"s"+"__FolderUnit_StructStamina_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bho)),0,"s"+"__FolderUnit_FolderStaminaRegeneration_StructBase_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function bHo)),0,"s"+"__FolderUnit_FolderStaminaRegeneration_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bjo)),0,"s"+"__FolderUnit_FolderStaminaRegeneration_StructRelative_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function bJo)),0,"s"+"__FolderUnit_StructStaminaRegeneration_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bko)),0,"s"+"__FolderUnit_FolderBars_StructExpiringCondition_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bKo)),0,"s"+"__FolderUnit_StructBars_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function blo)),0,"s"+"__FolderUnit_StructBars_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bLo)),0,"s"+"__FolderUnit_StructTimedLife_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function bmo)),0,"s"+"__FolderUnit_StructTimedLife_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function bMo)),0,"s"+"__FolderUnit_StructTimedLife_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bpo)),0,"s"+"__FolderUnit_StructTimedLife_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function bPo)),0,"s"+"__FolderUnit_StructTimedLife_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function bqo)),0,"s"+"__FolderUnit_StructTimedLife_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function bQo)),0,"s"+"__FolderUnit_StructTimedLife_Buff_Init") call SaveStr(j,GetHandleId(Condition(function bso)),0,"s"+"__FolderUnit_StructTimedLife_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function bSo)),0,"s"+"__FolderUnit_StructTransport_Init_obj_obj_cargoSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function bto)),0,"s"+"__FolderUnit_StructTransport_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function bTo)),0,"s"+"__FolderUnit_StructTransport_Init_obj_obj_loadInSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function buo)),0,"s"+"__FolderUnit_StructTransport_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function bUo)),0,"s"+"__FolderUnit_StructTransport_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bWo)),0,"s"+"__FolderUnit_StructTransport_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function b2o)),0,"s"+"__FolderUnit_StructTransport_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function b3o)),0,"s"+"__FolderUnit_StructTransport_Buff_Init") call SaveStr(j,GetHandleId(Condition(function b4o)),0,"s"+"__FolderUnit_StructTransport_initializer_Buff_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function b5o)),0,"s"+"__FolderUnit_StructHero_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function b6o)),0,"s"+"__FolderUnit_FolderPosition_FolderTimed_StructAccelerated_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function b7o)),0,"s"+"__FolderUnit_FolderPosition_StructTimed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function b8o)),0,"s"+"__FolderUnit_FolderPosition_StructX_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function b9o)),0,"s"+"__FolderUnit_FolderPosition_StructY_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bvo)),0,"s"+"__FolderUnit_FolderPosition_StructZ_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Beo)),0,"s"+"__FolderUnit_StructPosition_Init_obj_obj_nudgeBolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function Bxo)),0,"s"+"__FolderUnit_StructPosition_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Boo)),0,"s"+"__FolderUnit_StructPosition_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bro)),0,"s"+"__FolderUnit_FolderSelection_StructCircle_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function Bio)),0,"s"+"__FolderUnit_FolderSelection_StructCircle_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Bao)),0,"s"+"__FolderUnit_FolderSelection_StructCircle_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Bno)),0,"s"+"__FolderUnit_StructSelection_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function BVo)),0,"s"+"__FolderUnit_StructSelection_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function BEo)),0,"s"+"__FolderUnit_StructSelection_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function BXo)),0,"s"+"__FolderUnit_FolderSightRange_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function BOo)),0,"s"+"__FolderUnit_FolderSightRange_StructBonus_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function BRo)),0,"s"+"__FolderUnit_FolderSightRange_StructRelative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function BIo)),0,"s"+"__FolderUnit_StructSightRange_Init_obj_obj_spells_wc3objLuaspells") call SaveStr(j,GetHandleId(Condition(function BAo)),0,"s"+"__FolderUnit_StructSightRange_Init_obj_obj_spells_wc3objLuainits") call SaveStr(j,GetHandleId(Condition(function BNo)),0,"s"+"__FolderUnit_StructSightRange_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Bbo)),0,"s"+"__FolderUnit_StructSightRange_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function BBo)),0,"s"+"__FolderUnit_FolderLevel_StructEvents_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Bco)),0,"s"+"__FolderUnit_StructLevel_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function BCo)),0,"s"+"__FolderUnit_StructLevel_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bdo)),0,"s"+"__FolderUnit_FolderAgility_StructBase_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function BDo)),0,"s"+"__FolderUnit_FolderAgility_FolderBonus_StructDisplayed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bfo)),0,"s"+"__FolderUnit_FolderAgility_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function BFo)),0,"s"+"__FolderUnit_FolderAgility_StructRelative_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Bgo)),0,"s"+"__FolderUnit_StructAgility_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function BGo)),0,"s"+"__FolderUnit_StructAgility_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bho)),0,"s"+"__FolderUnit_FolderIntelligence_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function BHo)),0,"s"+"__FolderUnit_FolderIntelligence_FolderBonus_StructDisplayed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bjo)),0,"s"+"__FolderUnit_FolderIntelligence_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function BJo)),0,"s"+"__FolderUnit_FolderIntelligence_StructRelative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bko)),0,"s"+"__FolderUnit_StructIntelligence_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function BKo)),0,"s"+"__FolderUnit_StructIntelligence_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Blo)),0,"s"+"__FolderUnit_FolderStrength_StructBase_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function BLo)),0,"s"+"__FolderUnit_FolderStrength_FolderBonus_StructDisplayed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bmo)),0,"s"+"__FolderUnit_FolderStrength_StructBonus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function BMo)),0,"s"+"__FolderUnit_FolderStrength_StructRelative_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bpo)),0,"s"+"__FolderUnit_StructStrength_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function BPo)),0,"s"+"__FolderUnit_StructStrength_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bqo)),0,"s"+"__FolderUnit_StructRefs_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function BQo)),0,"s"+"__Unit_Init_obj_obj_purchaseItem_wc3spell") call SaveStr(j,GetHandleId(Condition(function Bso)),0,"s"+"__Unit_Init_obj_obj_sharedShop_wc3spell") +call SaveStr(j,GetHandleId(Condition(function BSo)),0,"s"+"__Unit_Init_obj_obj_heroInventorySpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Bto)),0,"s"+"__Unit_Init_obj_obj_selectHero_wc3spell") +call SaveStr(j,GetHandleId(Condition(function BTo)),0,"s"+"__Unit_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Buo)),0,"s"+"__Unit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Byo)),0,"s"+"__Unit_DoPreplaced") call SaveStr(j,GetHandleId(Condition(function BYo)),0,"s"+"__Unit_initializer_DoPreplaced_autoRun") call SaveStr(j,GetHandleId(Condition(function BZo)),0,"s"+"__FolderBJUnit_FolderArmor_StructBonus_Init") +call SaveStr(j,GetHandleId(Condition(function B_o)),0,"s"+"__FolderBJUnit_FolderAttack_FolderSpeed_StructBonusA_Init") call SaveStr(j,GetHandleId(Condition(function B0o)),0,"s"+"__FolderBJUnit_FolderDamage_StructBonus_Init") call SaveStr(j,GetHandleId(Condition(function B1o)),0,"s"+"__FolderBJUnit_StructDamage_Init") call SaveStr(j,GetHandleId(Condition(function B2o)),0,"s"+"__FolderBJUnit_FolderHero_FolderAgility_StructBonusA_Init") call SaveStr(j,GetHandleId(Condition(function B3o)),0,"s"+"__FolderBJUnit_FolderHero_FolderIntelligence_StructBonusA_Init") call SaveStr(j,GetHandleId(Condition(function B4o)),0,"s"+"__FolderBJUnit_FolderHero_FolderStrength_StructBonusA_Init") call SaveStr(j,GetHandleId(Condition(function B5o)),0,"s"+"__FolderBJUnit_StructHero_Init") call SaveStr(j,GetHandleId(Condition(function B6o)),0,"s"+"__BJUnit_Init") call SaveStr(j,GetHandleId(Condition(function B8o)),0,"s"+"__UnitClass_allocCustom") +call SaveStr(j,GetHandleId(Condition(function cxo)),0,"s"+"__UnitClass_Init") call SaveStr(j,GetHandleId(Condition(function coo)),0,"s"+"__UnitState_Init") call SaveStr(j,GetHandleId(Condition(function cao)),0,"s"+"__Unit_allocCustom") call SaveStr(j,GetHandleId(Condition(function c5o)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_Event_Create") call SaveStr(j,GetHandleId(Condition(function Cro)),0,"s"+"__UnitAttackSplash_allocCustom") call SaveStr(j,GetHandleId(Condition(function dHo)),0,"s"+"__FolderUnit_FolderMovement_StructEvents_Trig") call SaveStr(j,GetHandleId(Condition(function dko)),0,"s"+"__FolderUnit_StructStaminaRegeneration_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function dKo)),0,"s"+"__FolderUnit_StructStaminaRegeneration_FOR_EACH_LIST_FetchFirst") +call SaveStr(j,GetHandleId(Condition(function dLo)),0,"s"+"__FolderUnit_StructStaminaRegeneration_UpdateByTimer") call SaveStr(j,GetHandleId(Condition(function d8o)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructInterval_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Dxo)),0,"s"+"__FolderUnit_StructBars_Update") call SaveStr(j,GetHandleId(Condition(function DHo)),0,"s"+"__Unit_Create_Executed") call SaveStr(j,GetHandleId(Condition(function Djo)),0,"s"+"__Unit_CreateFromSelf_Executed") call SaveStr(j,GetHandleId(Condition(function Dko)),0,"s"+"__Unit_Destroy_Executed") +call SaveStr(j,GetHandleId(Condition(function DKo)),0,"s"+"__Unit_EnumOfType_Conditions") call SaveStr(j,GetHandleId(Condition(function Dpo)),0,"s"+"__FolderUnit_StructType_UpgradeFinishTrig") call SaveStr(j,GetHandleId(Condition(function DPo)),0,"s"+"__FolderUnit_StructType_Init") call SaveStr(j,GetHandleId(Condition(function Dqo)),0,"s"+"__FolderUnit_StructAttachments_Event_TypeChange") +call SaveStr(j,GetHandleId(Condition(function DQo)),0,"s"+"__FolderUnit_StructBlood_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function Dso)),0,"s"+"__FolderUnit_StructBloodExplosion_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function DTo)),0,"s"+"__FolderUnit_StructClasses_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function Duo)),0,"s"+"__FolderUnit_StructClasses_Event_TypeChange") +call SaveStr(j,GetHandleId(Condition(function Dwo)),0,"s"+"__FolderUnit_StructClasses_Init") +call SaveStr(j,GetHandleId(Condition(function Dyo)),0,"s"+"__FolderUnit_StructCollisionSize_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function Dzo)),0,"s"+"__UnitState_allocCustom") +call SaveStr(j,GetHandleId(Condition(function D_o)),0,"s"+"__FolderUnit_FolderCriticalChance_StructBonus_Event_State") call SaveStr(j,GetHandleId(Condition(function D0o)),0,"s"+"__FolderUnit_StructCriticalChance_Init") call SaveStr(j,GetHandleId(Condition(function fro)),0,"s"+"__SpotEffectWithSize_allocCustom") call SaveStr(j,GetHandleId(Condition(function fFo)),0,"s"+"__FolderSpotEffectWithSize_StructDestroyTimed_allocCustom") call SaveStr(j,GetHandleId(Condition(function fHo)),0,"s"+"__FolderSpotEffectWithSize_StructDestroyTimed_Ending") call SaveStr(j,GetHandleId(Condition(function fLo)),0,"s"+"__FolderUnit_FolderDecay_StructTimed_allocCustom") call SaveStr(j,GetHandleId(Condition(function fqo)),0,"s"+"__FolderUnit_FolderDecay_StructTimed_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function fuo)),0,"s"+"__FolderUnit_FolderDeath_StructEvents_Trig") call SaveStr(j,GetHandleId(Condition(function fUo)),0,"s"+"__FolderUnit_FolderDeath_StructEvents_Init") call SaveStr(j,GetHandleId(Condition(function fwo)),0,"s"+"__FolderUnit_FolderDeath_StructExplosion_Conditions") +call SaveStr(j,GetHandleId(Condition(function fWo)),0,"s"+"__FolderUnit_StructDeath_Init") call SaveStr(j,GetHandleId(Condition(function fyo)),0,"s"+"__FolderUnit_StructDisplay_Init") +call SaveStr(j,GetHandleId(Condition(function fzo)),0,"s"+"__FolderUnit_StructDrop_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function f_o)),0,"s"+"__FolderUnit_StructDrop_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function f1o)),0,"s"+"__FolderUnit_FolderDrop_StructExp_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function f3o)),0,"s"+"__FolderUnit_FolderDrop_StructSupply_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function f4o)),0,"s"+"__FolderUnit_StructDrop_Init") call SaveStr(j,GetHandleId(Condition(function f5o)),0,"s"+"__FolderUnit_FolderEvasionChance_StructBonus_Event_State") call SaveStr(j,GetHandleId(Condition(function f8o)),0,"s"+"__FolderUnit_FolderEvasionChanceDefense_StructBonus_Event_State") +call SaveStr(j,GetHandleId(Condition(function Fxo)),0,"s"+"__FolderUnit_FolderEvent_StructCounted_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function Fio)),0,"s"+"__FolderUnit_StructHealAbility_Event_State") call SaveStr(j,GetHandleId(Condition(function FVo)),0,"s"+"__FolderUnit_StructImpact_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function FOo)),0,"s"+"__FolderUnit_FolderLevel_StructEvents_Trig") call SaveStr(j,GetHandleId(Condition(function FRo)),0,"s"+"__FolderUnit_FolderLevel_StructEvents_Init") call SaveStr(j,GetHandleId(Condition(function FIo)),0,"s"+"__FolderUnit_StructLevel_Init") call SaveStr(j,GetHandleId(Condition(function FNo)),0,"s"+"__FolderUnit_StructLifeLeech_Event_State") call SaveStr(j,GetHandleId(Condition(function Fbo)),0,"s"+"__FolderUnit_StructMadness_Init") +call SaveStr(j,GetHandleId(Condition(function Fco)),0,"s"+"__FolderUnit_StructManaLeech_Event_State") call SaveStr(j,GetHandleId(Condition(function Fdo)),0,"s"+"__FolderUnit_StructMaxLife_Event_TypeChange") +call SaveStr(j,GetHandleId(Condition(function FDo)),0,"s"+"__FolderUnit_FolderMaxLife_StructBase_Init") call SaveStr(j,GetHandleId(Condition(function Ffo)),0,"s"+"__FolderUnit_FolderMaxLife_StructBonus_Event_State") call SaveStr(j,GetHandleId(Condition(function FFo)),0,"s"+"__FolderUnit_StructMaxLife_Init") +call SaveStr(j,GetHandleId(Condition(function FGo)),0,"s"+"__FolderUnit_StructMaxMana_Event_TypeChange") +call SaveStr(j,GetHandleId(Condition(function Fho)),0,"s"+"__FolderUnit_FolderMaxMana_StructBase_Init") call SaveStr(j,GetHandleId(Condition(function FHo)),0,"s"+"__FolderUnit_FolderMaxMana_StructBonus_Event_State") call SaveStr(j,GetHandleId(Condition(function Fjo)),0,"s"+"__FolderUnit_StructMaxMana_Init") +call SaveStr(j,GetHandleId(Condition(function FKo)),0,"s"+"__FolderUnit_StructOutpact_Event_TypeChange") +call SaveStr(j,GetHandleId(Condition(function FLo)),0,"s"+"__FolderUnit_FolderRevival_StructAble_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function Fmo)),0,"s"+"__FolderUnit_StructRevival_Init") +call SaveStr(j,GetHandleId(Condition(function FPo)),0,"s"+"__FolderUnit_StructSightRange_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function Fqo)),0,"s"+"__FolderUnit_FolderSightRange_StructBase_Init") call SaveStr(j,GetHandleId(Condition(function FQo)),0,"s"+"__FolderUnit_StructSightRange_Init") call SaveStr(j,GetHandleId(Condition(function Fso)),0,"s"+"__FolderUnit_FolderSpellPower_StructBase_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function FSo)),0,"s"+"__FolderUnit_FolderSpellPower_StructBonus_Event_State") call SaveStr(j,GetHandleId(Condition(function Fuo)),0,"s"+"__FolderUnit_FolderSpellPower_StructRelative_Event_State") call SaveStr(j,GetHandleId(Condition(function FUo)),0,"s"+"__FolderUnit_StructSpellPower_Init") call SaveStr(j,GetHandleId(Condition(function Fyo)),0,"s"+"__FolderUnit_FolderSpellVamp_StructBase_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function FZo)),0,"s"+"__FolderUnit_FolderSpellVamp_StructBonus_Event_State") call SaveStr(j,GetHandleId(Condition(function F1o)),0,"s"+"__FolderUnit_FolderSpellVamp_StructRelative_Event_State") +call SaveStr(j,GetHandleId(Condition(function F2o)),0,"s"+"__FolderUnit_StructSpellVamp_Init") call SaveStr(j,GetHandleId(Condition(function F3o)),0,"s"+"__FolderUnit_StructVertexColor_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function F4o)),0,"s"+"__FolderUnit_StructVertexColor_Event_TypeChange") +call SaveStr(j,GetHandleId(Condition(function F5o)),0,"s"+"__FolderUnit_StructVertexColor_Event_State") call SaveStr(j,GetHandleId(Condition(function F6o)),0,"s"+"__FolderUnit_FolderVertexColor_StructTimed_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function F7o)),0,"s"+"__FolderUnit_FolderVertexColor_StructTimed_Event_State") call SaveStr(j,GetHandleId(Condition(function F8o)),0,"s"+"__FolderUnit_FolderVertexColor_StructTimed_Init") +call SaveStr(j,GetHandleId(Condition(function F9o)),0,"s"+"__FolderUnit_StructVertexColor_Init") +call SaveStr(j,GetHandleId(Condition(function gvo)),0,"s"+"__FolderUnit_FolderAnimation_StructLoop_Event_Death") +call SaveStr(j,GetHandleId(Condition(function geo)),0,"s"+"__FolderUnit_FolderAnimation_StructLoop_Init") call SaveStr(j,GetHandleId(Condition(function gxo)),0,"s"+"__FolderUnit_StructBuffs_Event_Death") call SaveStr(j,GetHandleId(Condition(function goo)),0,"s"+"__FolderUnit_StructBuffs_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function gro)),0,"s"+"__FolderUnit_FolderBuffs_StructEvents_Init") call SaveStr(j,GetHandleId(Condition(function gio)),0,"s"+"__FolderUnit_FolderBuffs_StructTimed_Event_Death") call SaveStr(j,GetHandleId(Condition(function gao)),0,"s"+"__FolderUnit_FolderBuffs_StructTimed_Event_Lose") +call SaveStr(j,GetHandleId(Condition(function gno)),0,"s"+"__FolderUnit_FolderBuffs_FolderTimed_StructCountdown_Event_Death") call SaveStr(j,GetHandleId(Condition(function gVo)),0,"s"+"__FolderUnit_FolderBuffs_StructTimed_Init") call SaveStr(j,GetHandleId(Condition(function gEo)),0,"s"+"__FolderUnit_StructBuffs_Init") call SaveStr(j,GetHandleId(Condition(function gOo)),0,"s"+"__FolderUnit_FolderDecay_StructDuration_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function gIo)),0,"s"+"__FolderUnit_FolderDecay_StructEvents_Delay") +call SaveStr(j,GetHandleId(Condition(function gNo)),0,"s"+"__FolderUnit_FolderDecay_StructEvents_Trig") call SaveStr(j,GetHandleId(Condition(function gbo)),0,"s"+"__FolderUnit_FolderDecay_StructEvents_TrigConds") +call SaveStr(j,GetHandleId(Condition(function gBo)),0,"s"+"__FolderUnit_FolderDecay_StructEvents_Init") call SaveStr(j,GetHandleId(Condition(function gco)),0,"s"+"__FolderUnit_FolderDecay_StructTimed_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function gCo)),0,"s"+"__FolderUnit_FolderDecay_StructTimed_Event_Revive") call SaveStr(j,GetHandleId(Condition(function gdo)),0,"s"+"__FolderUnit_FolderDecay_StructTimed_Init") call SaveStr(j,GetHandleId(Condition(function gDo)),0,"s"+"__FolderUnit_StructDecay_Init") call SaveStr(j,GetHandleId(Condition(function gfo)),0,"s"+"__FolderUnit_StructOrder_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function gGo)),0,"s"+"__OrderInstance_allocCustom") +call SaveStr(j,GetHandleId(Condition(function gjo)),0,"s"+"__OrderInstance_Create") call SaveStr(j,GetHandleId(Condition(function gJo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructImmediate_Trig") call SaveStr(j,GetHandleId(Condition(function gko)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructImmediate_Init") call SaveStr(j,GetHandleId(Condition(function gKo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructPoint_Trig") call SaveStr(j,GetHandleId(Condition(function glo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructPoint_Init") call SaveStr(j,GetHandleId(Condition(function gmo)),0,"s"+"__FolderUnit_FolderEvent_StructNative_GetOrderTarget") call SaveStr(j,GetHandleId(Condition(function gMo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructTarget_Trig") call SaveStr(j,GetHandleId(Condition(function gpo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_FolderGain_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function gPo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructGain_Init") call SaveStr(j,GetHandleId(Condition(function gSo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructIdle_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function guo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructIdle_Event_Death") call SaveStr(j,GetHandleId(Condition(function gyo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructIdle_Event_Revive") call SaveStr(j,GetHandleId(Condition(function gYo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructIdle_Init") call SaveStr(j,GetHandleId(Condition(function gZo)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructLose_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function g_o)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructLose_Init") call SaveStr(j,GetHandleId(Condition(function g0o)),0,"s"+"__FolderUnit_FolderOrder_StructEvents_Init") call SaveStr(j,GetHandleId(Condition(function g1o)),0,"s"+"__FolderUnit_StructOrder_Init") call SaveStr(j,GetHandleId(Condition(function g2o)),0,"s"+"__FolderUnit_FolderPosition_StructZ_Init") call SaveStr(j,GetHandleId(Condition(function g3o)),0,"s"+"__FolderUnit_FolderPosition_FolderTimed_StructAccelerated_Init") call SaveStr(j,GetHandleId(Condition(function g5o)),0,"s"+"__Translation_Event_Death") call SaveStr(j,GetHandleId(Condition(function g6o)),0,"s"+"__Translation_Event_Destroy") +call SaveStr(j,GetHandleId(Condition(function g8o)),0,"s"+"__TranslationAccelerated_Event_Death") call SaveStr(j,GetHandleId(Condition(function g9o)),0,"s"+"__TranslationAccelerated_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function Gvo)),0,"s"+"__TranslationAccelerated_Init") call SaveStr(j,GetHandleId(Condition(function Geo)),0,"s"+"__KnockbackAccelerated_Init") +call SaveStr(j,GetHandleId(Condition(function Gxo)),0,"s"+"__Translation_Init") call SaveStr(j,GetHandleId(Condition(function Goo)),0,"s"+"__FolderUnit_FolderPosition_StructTimed_Init") call SaveStr(j,GetHandleId(Condition(function Gro)),0,"s"+"__FolderUnit_StructPosition_Init") call SaveStr(j,GetHandleId(Condition(function GNo)),0,"s"+"__FolderUnit_StructSelection_Event_Death") call SaveStr(j,GetHandleId(Condition(function Gbo)),0,"s"+"__FolderUnit_StructSelection_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function GBo)),0,"s"+"__FolderUnit_StructSelection_EndingTrig") +call SaveStr(j,GetHandleId(Condition(function Gco)),0,"s"+"__FolderUnit_StructSelection_Event_OwnerChange") call SaveStr(j,GetHandleId(Condition(function GFo)),0,"s"+"__FolderUnit_FolderSelection_StructCircle_allocCustom") call SaveStr(j,GetHandleId(Condition(function GJo)),0,"s"+"__FolderUnit_StructSelection_StartTrig") call SaveStr(j,GetHandleId(Condition(function Gko)),0,"s"+"__FolderUnit_FolderSelection_StructCircle_Init") call SaveStr(j,GetHandleId(Condition(function GKo)),0,"s"+"__FolderUnit_StructSelection_Init") call SaveStr(j,GetHandleId(Condition(function Glo)),0,"s"+"__FolderUnit_FolderAgility_StructBase_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function GLo)),0,"s"+"__FolderUnit_FolderAgility_FolderBonus_StructDisplayed_Event_Selection") call SaveStr(j,GetHandleId(Condition(function Gpo)),0,"s"+"__FolderUnit_FolderAgility_StructRelative_Event_State") call SaveStr(j,GetHandleId(Condition(function GPo)),0,"s"+"__FolderUnit_StructAgility_Init") +call SaveStr(j,GetHandleId(Condition(function Gqo)),0,"s"+"__FolderUnit_FolderIntelligence_StructBase_Event_TypeChange") +call SaveStr(j,GetHandleId(Condition(function GQo)),0,"s"+"__FolderUnit_FolderIntelligence_FolderBonus_StructDisplayed_Event_Selection") +call SaveStr(j,GetHandleId(Condition(function Gto)),0,"s"+"__FolderUnit_FolderIntelligence_StructRelative_Event_State") call SaveStr(j,GetHandleId(Condition(function GTo)),0,"s"+"__FolderUnit_StructIntelligence_Init") call SaveStr(j,GetHandleId(Condition(function Guo)),0,"s"+"__FolderUnit_FolderStrength_StructBase_Event_TypeChange") +call SaveStr(j,GetHandleId(Condition(function GUo)),0,"s"+"__FolderUnit_FolderStrength_FolderBonus_StructDisplayed_Event_Selection") +call SaveStr(j,GetHandleId(Condition(function Gyo)),0,"s"+"__FolderUnit_FolderStrength_StructRelative_Event_State") call SaveStr(j,GetHandleId(Condition(function GYo)),0,"s"+"__FolderUnit_StructStrength_Init") call SaveStr(j,GetHandleId(Condition(function Gzo)),0,"s"+"__FolderUnit_StructAbilities_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function GZo)),0,"s"+"__FolderUnit_FolderAbilities_StructCooldown_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function G_o)),0,"s"+"__FolderUnit_FolderAbilities_StructCooldown_Init") call SaveStr(j,GetHandleId(Condition(function G0o)),0,"s"+"__FolderUnit_FolderEvent_StructNative_GetSpellTarget") call SaveStr(j,GetHandleId(Condition(function G3o)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructBegin_Trig") call SaveStr(j,GetHandleId(Condition(function G5o)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructBegin_TrigConds") +call SaveStr(j,GetHandleId(Condition(function G6o)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructBegin_Init") call SaveStr(j,GetHandleId(Condition(function G7o)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructFinish_Init") +call SaveStr(j,GetHandleId(Condition(function hvo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructLearn_Trig") call SaveStr(j,GetHandleId(Condition(function heo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructLearn_Init") call SaveStr(j,GetHandleId(Condition(function hxo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructEffect_Trig") +call SaveStr(j,GetHandleId(Condition(function hEo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructEffect_PreTrig") call SaveStr(j,GetHandleId(Condition(function hIo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructEffect_TrigConds") call SaveStr(j,GetHandleId(Condition(function hAo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Event_Death") +call SaveStr(j,GetHandleId(Condition(function hNo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Event_Order") +call SaveStr(j,GetHandleId(Condition(function hBo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Event_Stun") call SaveStr(j,GetHandleId(Condition(function hCo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Event_TargetDeath") call SaveStr(j,GetHandleId(Condition(function hdo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Event_TargetDestroy") +call SaveStr(j,GetHandleId(Condition(function hDo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function hfo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_FolderEffect_StructChanneling_Init") call SaveStr(j,GetHandleId(Condition(function hFo)),0,"s"+"__FolderUnit_FolderAbilities_FolderEvents_StructEffect_Init") +call SaveStr(j,GetHandleId(Condition(function hgo)),0,"s"+"__FolderUnit_FolderAbilities_StructEvents_Init") call SaveStr(j,GetHandleId(Condition(function hGo)),0,"s"+"__FolderUnit_StructAbilities_Init") call SaveStr(j,GetHandleId(Condition(function hho)),0,"s"+"__FolderUnit_FolderArmor_StructBase_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function hJo)),0,"s"+"__FolderUnit_FolderArmor_StructBonus_Event_State") call SaveStr(j,GetHandleId(Condition(function hko)),0,"s"+"__FolderUnit_FolderArmor_FolderBonus_StructDisplayed_Event_Selection") call SaveStr(j,GetHandleId(Condition(function hKo)),0,"s"+"__FolderUnit_FolderArmor_StructBonus_Init") call SaveStr(j,GetHandleId(Condition(function hmo)),0,"s"+"__FolderUnit_FolderArmor_StructRelative_Event_State") +call SaveStr(j,GetHandleId(Condition(function hpo)),0,"s"+"__FolderUnit_FolderArmor_StructResistance_Event_State") call SaveStr(j,GetHandleId(Condition(function hPo)),0,"s"+"__FolderUnit_FolderArmor_StructSpell_Event_State") call SaveStr(j,GetHandleId(Condition(function hqo)),0,"s"+"__FolderUnit_FolderArmor_StructTypeA_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function hQo)),0,"s"+"__FolderUnit_StructArmor_Init") call SaveStr(j,GetHandleId(Condition(function hso)),0,"s"+"__FolderUnit_StructBleeding_Init") call SaveStr(j,GetHandleId(Condition(function hto)),0,"s"+"__FolderUnit_FolderDamage_StructBase_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function hTo)),0,"s"+"__FolderUnit_FolderDamage_FolderBase_StructDisplayed_Event_Selection") call SaveStr(j,GetHandleId(Condition(function huo)),0,"s"+"__FolderUnit_FolderDamage_StructBase_Init") call SaveStr(j,GetHandleId(Condition(function hUo)),0,"s"+"__FolderUnit_FolderDamage_StructBonus_Event_State") call SaveStr(j,GetHandleId(Condition(function hwo)),0,"s"+"__FolderUnit_FolderDamage_FolderBonus_StructDisplayed_Event_Selection") call SaveStr(j,GetHandleId(Condition(function hWo)),0,"s"+"__FolderUnit_FolderDamage_StructBonus_Init") call SaveStr(j,GetHandleId(Condition(function hyo)),0,"s"+"__FolderUnit_FolderDamage_StructDices_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function hYo)),0,"s"+"__FolderUnit_FolderEvent_StructNative_GetDamager") call SaveStr(j,GetHandleId(Condition(function Hno)),0,"s"+"__FolderUnit_FolderDamage_StructEvents_Trig") +call SaveStr(j,GetHandleId(Condition(function HVo)),0,"s"+"__FolderUnit_FolderDamage_StructEvents_SplashConditions") +call SaveStr(j,GetHandleId(Condition(function HEo)),0,"s"+"__FolderUnit_FolderDamage_StructEvents_Init") +call SaveStr(j,GetHandleId(Condition(function HIo)),0,"s"+"__FolderUnit_FolderDamage_StructRelative_Event_State") call SaveStr(j,GetHandleId(Condition(function HAo)),0,"s"+"__FolderUnit_FolderDamage_StructSides_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function HNo)),0,"s"+"__FolderUnit_FolderDamage_StructTypeA_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function Hbo)),0,"s"+"__FolderUnit_StructDamage_Init") call SaveStr(j,GetHandleId(Condition(function HBo)),0,"s"+"__FolderUnit_StructIgnited_Init") +call SaveStr(j,GetHandleId(Condition(function Hco)),0,"s"+"__FolderUnit_StructKnockup_Init") +call SaveStr(j,GetHandleId(Condition(function Hdo)),0,"s"+"__FolderUnit_StructMovement_Event_Disable_State") +call SaveStr(j,GetHandleId(Condition(function HDo)),0,"s"+"__FolderUnit_StructMovement_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function HFo)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructInterval_Event_Move_Ending") call SaveStr(j,GetHandleId(Condition(function Hgo)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructInterval_Interval") call SaveStr(j,GetHandleId(Condition(function HHo)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructInterval_Event_Move_Start") call SaveStr(j,GetHandleId(Condition(function Hjo)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructInterval_Init") call SaveStr(j,GetHandleId(Condition(function HPo)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructRegion_AddRect_Enum") call SaveStr(j,GetHandleId(Condition(function Hqo)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructRegion_Event_AddRect") +call SaveStr(j,GetHandleId(Condition(function HSo)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructRegion_RemoveRect_Enum") call SaveStr(j,GetHandleId(Condition(function Hto)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructRegion_Event_RemoveRect") call SaveStr(j,GetHandleId(Condition(function H_o)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructRegion_Event_RegionDestroy") call SaveStr(j,GetHandleId(Condition(function H0o)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructRegion_Event_ParentDestroy") call SaveStr(j,GetHandleId(Condition(function H1o)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructRegion_Init") call SaveStr(j,GetHandleId(Condition(function H2o)),0,"s"+"__FolderUnit_FolderMovement_StructEvents_Init") call SaveStr(j,GetHandleId(Condition(function H5o)),0,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructBaseA_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function jeo)),0,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructBonusA_Event_State") call SaveStr(j,GetHandleId(Condition(function jxo)),0,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructBonusA_Init") call SaveStr(j,GetHandleId(Condition(function jao)),0,"s"+"__FolderUnit_FolderMovement_FolderSpeed_StructRelativeA_Event_State") +call SaveStr(j,GetHandleId(Condition(function jno)),0,"s"+"__FolderUnit_FolderMovement_StructSpeed_Init") call SaveStr(j,GetHandleId(Condition(function jVo)),0,"s"+"__FolderUnit_StructMovement_Init") call SaveStr(j,GetHandleId(Condition(function jEo)),0,"s"+"__FolderUnit_StructScale_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function jXo)),0,"s"+"__FolderUnit_StructScale_Event_Modded_Death") +call SaveStr(j,GetHandleId(Condition(function jOo)),0,"s"+"__FolderUnit_StructScale_Event_Modded_Revive") call SaveStr(j,GetHandleId(Condition(function jAo)),0,"s"+"__FolderUnit_FolderScale_StructBonus_Event_State") call SaveStr(j,GetHandleId(Condition(function jNo)),0,"s"+"__FolderUnit_FolderScale_StructTimed_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function jbo)),0,"s"+"__FolderUnit_FolderScale_StructTimed_Event_State") call SaveStr(j,GetHandleId(Condition(function jco)),0,"s"+"__FolderUnit_FolderScale_StructTimed_Init") call SaveStr(j,GetHandleId(Condition(function jCo)),0,"s"+"__FolderUnit_StructScale_Init") call SaveStr(j,GetHandleId(Condition(function jHo)),0,"s"+"__FolderUnit_StructStamina_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function jjo)),0,"s"+"__FolderUnit_StructStamina_Event_Move") call SaveStr(j,GetHandleId(Condition(function jJo)),0,"s"+"__FolderUnit_FolderStamina_StructExhaustion_Init") call SaveStr(j,GetHandleId(Condition(function jko)),0,"s"+"__FolderUnit_StructStamina_Init") +call SaveStr(j,GetHandleId(Condition(function jKo)),0,"s"+"__FolderUnit_StructTimedLife_Init") call SaveStr(j,GetHandleId(Condition(function jLo)),0,"s"+"__FolderUnit_StructAttack_Event_Disable_State") call SaveStr(j,GetHandleId(Condition(function jmo)),0,"s"+"__FolderUnit_FolderEvent_StructNative_GetAcquiredTarget") +call SaveStr(j,GetHandleId(Condition(function jqo)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructAcquire2_EndingByTimer") +call SaveStr(j,GetHandleId(Condition(function jso)),0,"s"+"__FolderUnit_FolderAttack_StructEvents_AcquireTrig") call SaveStr(j,GetHandleId(Condition(function jto)),0,"s"+"__FolderUnit_FolderAttack_StructEvents_Trig") +call SaveStr(j,GetHandleId(Condition(function jWo)),0,"s"+"__FolderUnit_FolderEvent_StructNative_GetAttacker") call SaveStr(j,GetHandleId(Condition(function jyo)),0,"s"+"__FolderUnit_FolderAttack_StructEvents_OffendedTrig") +call SaveStr(j,GetHandleId(Condition(function jYo)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructAcquire2_Event_Destroy") +call SaveStr(j,GetHandleId(Condition(function jzo)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructAcquire2_Init") call SaveStr(j,GetHandleId(Condition(function Joo)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_DamageTrig") call SaveStr(j,GetHandleId(Condition(function Jio)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Jno)),0,"s"+"__FolderDummyUnit_StructDestroyTimed_allocCustom") call SaveStr(j,GetHandleId(Condition(function JOo)),0,"s"+"__FolderDummyUnit_StructDestroyTimed_Ending") +call SaveStr(j,GetHandleId(Condition(function JAo)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_Event_Attack") call SaveStr(j,GetHandleId(Condition(function JNo)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function Jbo)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_Event_DummyUnitDestroy") call SaveStr(j,GetHandleId(Condition(function JBo)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_Conditions") call SaveStr(j,GetHandleId(Condition(function Jco)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function Jdo)),0,"s"+"__FolderUnit_FolderAttack_FolderEvents_StructGround_Init") call SaveStr(j,GetHandleId(Condition(function JDo)),0,"s"+"__FolderUnit_FolderAttack_StructEvents_Init") +call SaveStr(j,GetHandleId(Condition(function Jfo)),0,"s"+"__FolderUnit_FolderAttack_FolderSpeed_StructBaseA_Event_TypeChange") call SaveStr(j,GetHandleId(Condition(function Jjo)),0,"s"+"__FolderUnit_FolderAttack_FolderSpeed_StructBonusA_Event_State") call SaveStr(j,GetHandleId(Condition(function JJo)),0,"s"+"__FolderUnit_FolderAttack_FolderSpeed_FolderBonusA_StructDisplayedA_Init") call SaveStr(j,GetHandleId(Condition(function Jko)),0,"s"+"__FolderUnit_FolderAttack_FolderSpeed_StructBonusA_Init") +call SaveStr(j,GetHandleId(Condition(function JKo)),0,"s"+"__FolderUnit_FolderAttack_StructSpeed_Init") call SaveStr(j,GetHandleId(Condition(function JMo)),0,"s"+"__FolderUnit_FolderAttack_StructSplash_Event_TypeChange") +call SaveStr(j,GetHandleId(Condition(function Jpo)),0,"s"+"__FolderUnit_StructAttack_Init") call SaveStr(j,GetHandleId(Condition(function JPo)),0,"s"+"__FolderUnit_StructBanish_Event_Revive") call SaveStr(j,GetHandleId(Condition(function Jqo)),0,"s"+"__FolderUnit_StructBanish_Init") call SaveStr(j,GetHandleId(Condition(function JQo)),0,"s"+"__FolderUnit_StructBars_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function JSo)),0,"s"+"__FolderUnit_StructBars_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function Jto)),0,"s"+"__FolderUnit_StructBars_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function JTo)),0,"s"+"__FolderUnit_StructBars_Init") call SaveStr(j,GetHandleId(Condition(function Juo)),0,"s"+"__FolderUnit_StructCold_Init") call SaveStr(j,GetHandleId(Condition(function JUo)),0,"s"+"__FolderUnit_StructEclipse_Init") +call SaveStr(j,GetHandleId(Condition(function Jwo)),0,"s"+"__FolderUnit_StructFrost_Init") call SaveStr(j,GetHandleId(Condition(function Jyo)),0,"s"+"__FolderUnit_StructGhost_Event_State") call SaveStr(j,GetHandleId(Condition(function JYo)),0,"s"+"__FolderUnit_StructInvisibility_EndingByAttackTimer") +call SaveStr(j,GetHandleId(Condition(function Jzo)),0,"s"+"__FolderUnit_StructInvisibility_Event_Attack") call SaveStr(j,GetHandleId(Condition(function JZo)),0,"s"+"__FolderUnit_StructInvisibility_Event_Cast") call SaveStr(j,GetHandleId(Condition(function J_o)),0,"s"+"__FolderUnit_FolderInvisibility_StructReveal_Init") call SaveStr(j,GetHandleId(Condition(function J0o)),0,"s"+"__FolderUnit_StructInvisibility_Init") call SaveStr(j,GetHandleId(Condition(function J2o)),0,"s"+"__FolderUnit_StructInvulnerability_Event_State") call SaveStr(j,GetHandleId(Condition(function kao)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructGain_Trig") call SaveStr(j,GetHandleId(Condition(function kno)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructGain_Init") call SaveStr(j,GetHandleId(Condition(function kOo)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructLose_Trig") call SaveStr(j,GetHandleId(Condition(function kRo)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructLose_Init") call SaveStr(j,GetHandleId(Condition(function kBo)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructMoveInInventory_Event_Order") +call SaveStr(j,GetHandleId(Condition(function kFo)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructMoveInInventory_Init") call SaveStr(j,GetHandleId(Condition(function kGo)),0,"s"+"__FolderUnit_FolderEvent_StructNative_GetPurchaser") call SaveStr(j,GetHandleId(Condition(function kjo)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructSell_Trig") call SaveStr(j,GetHandleId(Condition(function kko)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructSell_Init") call SaveStr(j,GetHandleId(Condition(function klo)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructUse_Trig") call SaveStr(j,GetHandleId(Condition(function kLo)),0,"s"+"__FolderUnit_FolderItems_FolderEvents_StructUse_Init") call SaveStr(j,GetHandleId(Condition(function kmo)),0,"s"+"__FolderUnit_FolderItems_StructEvents_Init") call SaveStr(j,GetHandleId(Condition(function kMo)),0,"s"+"__FolderUnit_StructLifeRegeneration_Event_Death") +call SaveStr(j,GetHandleId(Condition(function kpo)),0,"s"+"__FolderUnit_StructLifeRegeneration_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function kPo)),0,"s"+"__FolderUnit_StructLifeRegeneration_Event_Revive") call SaveStr(j,GetHandleId(Condition(function kqo)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructBase_Event_TypeChange") +call SaveStr(j,GetHandleId(Condition(function kQo)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructBonus_Event_State") +call SaveStr(j,GetHandleId(Condition(function kSo)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_Event_State") call SaveStr(j,GetHandleId(Condition(function kto)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_Event_Death") call SaveStr(j,GetHandleId(Condition(function kTo)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_Event_Revive") call SaveStr(j,GetHandleId(Condition(function kuo)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructDisablement_Init") call SaveStr(j,GetHandleId(Condition(function kWo)),0,"s"+"__FolderUnit_FolderLifeRegeneration_StructRelative_Event_State") call SaveStr(j,GetHandleId(Condition(function kyo)),0,"s"+"__FolderUnit_StructLifeRegeneration_Init") call SaveStr(j,GetHandleId(Condition(function kzo)),0,"s"+"__FolderUnit_StructMagicImmunity_Event_State") call SaveStr(j,GetHandleId(Condition(function kZo)),0,"s"+"__FolderUnit_FolderMagicImmunity_StructSpellShield_Init") +call SaveStr(j,GetHandleId(Condition(function k_o)),0,"s"+"__FolderUnit_StructMagicImmunity_Init") call SaveStr(j,GetHandleId(Condition(function k0o)),0,"s"+"__FolderUnit_StructManaRegeneration_Event_Death") +call SaveStr(j,GetHandleId(Condition(function k1o)),0,"s"+"__FolderUnit_StructManaRegeneration_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function k2o)),0,"s"+"__FolderUnit_StructManaRegeneration_Event_Revive") call SaveStr(j,GetHandleId(Condition(function k3o)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructBase_Event_TypeChange") +call SaveStr(j,GetHandleId(Condition(function k4o)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructBonus_Event_State") +call SaveStr(j,GetHandleId(Condition(function k6o)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_Event_State") call SaveStr(j,GetHandleId(Condition(function k7o)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_Event_Death") call SaveStr(j,GetHandleId(Condition(function k8o)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_Event_Revive") call SaveStr(j,GetHandleId(Condition(function k9o)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructDisablement_Init") call SaveStr(j,GetHandleId(Condition(function Kxo)),0,"s"+"__FolderUnit_FolderManaRegeneration_StructRelative_Event_State") call SaveStr(j,GetHandleId(Condition(function Koo)),0,"s"+"__FolderUnit_StructManaRegeneration_Init") call SaveStr(j,GetHandleId(Condition(function Kio)),0,"s"+"__FolderUnit_StructPathing_Event_TypeChange") +call SaveStr(j,GetHandleId(Condition(function Kao)),0,"s"+"__FolderUnit_StructPoisoned_Init") call SaveStr(j,GetHandleId(Condition(function Kno)),0,"s"+"__FolderUnit_StructSilence_Event_Revive") +call SaveStr(j,GetHandleId(Condition(function KVo)),0,"s"+"__FolderUnit_StructSilence_Init") +call SaveStr(j,GetHandleId(Condition(function KEo)),0,"s"+"__FolderUnit_StructSleep_Event_Damage") call SaveStr(j,GetHandleId(Condition(function KXo)),0,"s"+"__FolderUnit_StructSleep_Init") call SaveStr(j,GetHandleId(Condition(function KRo)),0,"s"+"__FolderUnit_StructStaminaRegeneration_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function KIo)),0,"s"+"__FolderUnit_StructStaminaRegeneration_Event_MoveEnding") +call SaveStr(j,GetHandleId(Condition(function KAo)),0,"s"+"__FolderUnit_StructStaminaRegeneration_Event_MoveStart") call SaveStr(j,GetHandleId(Condition(function KBo)),0,"s"+"__FolderUnit_FolderStaminaRegeneration_StructBonus_Event_State") call SaveStr(j,GetHandleId(Condition(function Kco)),0,"s"+"__FolderUnit_StructStaminaRegeneration_Init") +call SaveStr(j,GetHandleId(Condition(function Kdo)),0,"s"+"__FolderUnit_StructStun_Event_State") +call SaveStr(j,GetHandleId(Condition(function Kfo)),0,"s"+"__FolderUnit_FolderStun_StructCancel_allocCustom") call SaveStr(j,GetHandleId(Condition(function KHo)),0,"s"+"__FolderUnit_FolderStun_StructCancel_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function Kjo)),0,"s"+"__FolderUnit_FolderStun_StructCancel_Event_Order") call SaveStr(j,GetHandleId(Condition(function KJo)),0,"s"+"__FolderUnit_FolderStun_StructCancel_Init") call SaveStr(j,GetHandleId(Condition(function Kko)),0,"s"+"__FolderUnit_StructStun_Init") call SaveStr(j,GetHandleId(Condition(function KKo)),0,"s"+"__FolderUnit_StructTransport_Init") call SaveStr(j,GetHandleId(Condition(function Klo)),0,"s"+"__FolderUnit_StructWhirl_Event_Revive") call SaveStr(j,GetHandleId(Condition(function KLo)),0,"s"+"__FolderUnit_StructWhirl_Init") call SaveStr(j,GetHandleId(Condition(function Kmo)),0,"s"+"__UnitType_Init_Executed") call SaveStr(j,GetHandleId(Condition(function KMo)),0,"s"+"__UnitType_Init") +call SaveStr(j,GetHandleId(Condition(function Kpo)),0,"s"+"__UnitTypePool_Init") +call SaveStr(j,GetHandleId(Condition(function KPo)),0,"s"+"__Unit_Init2") call SaveStr(j,GetHandleId(Condition(function Kqo)),0,"s"+"__Unit_Init") +call SaveStr(j,GetHandleId(Condition(function KQo)),0,"s"+"__Unit_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Kso)),0,"s"+"__UnitState_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function KSo)),0,"s"+"__UnitMod_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Kto)),0,"s"+"__FolderUnitModSet_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function KTo)),0,"s"+"__FolderUnitModSet_FolderData_StructBoolean_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Kuo)),0,"s"+"__FolderUnitModSet_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function KUo)),0,"s"+"__FolderUnitModSet_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Kwo)),0,"s"+"__FolderUnitModSet_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function KWo)),0,"s"+"__FolderUnitModSet_FolderData_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Kyo)),0,"s"+"__FolderUnitModSet_FolderData_FolderString_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function KYo)),0,"s"+"__FolderUnitModSet_FolderData_StructString_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Kzo)),0,"s"+"__FolderUnitModSet_StructData_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function KZo)),0,"s"+"__FolderUnitModSet_StructBoolMods_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function K_o)),0,"s"+"__FolderUnitModSet_StructRealMods_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function K0o)),0,"s"+"__FolderUnitModSet_StructCustomMods_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function K1o)),0,"s"+"__FolderUnitModSet_StructMods_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function K2o)),0,"s"+"__UnitModSet_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function K3o)),0,"s"+"__BuffRef_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function K4o)),0,"s"+"__FolderUnitType_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function K5o)),0,"s"+"__FolderUnitType_FolderData_FolderBoolean_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function K6o)),0,"s"+"__FolderUnitType_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function K7o)),0,"s"+"__FolderUnitType_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function K8o)),0,"s"+"__FolderUnitType_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function K9o)),0,"s"+"__FolderUnitType_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lvo)),0,"s"+"__FolderUnitType_FolderData_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function leo)),0,"s"+"__FolderUnitType_FolderData_FolderString_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lxo)),0,"s"+"__FolderUnitType_FolderData_StructString_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function loo)),0,"s"+"__FolderUnitType_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lro)),0,"s"+"__FolderUnitType_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lio)),0,"s"+"__FolderUnitType_FolderAbilities_StructArrayBuild_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lao)),0,"s"+"__FolderUnitType_FolderAbilities_StructHero_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lno)),0,"s"+"__FolderUnitType_StructAbilities_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lVo)),0,"s"+"__FolderUnitType_FolderArmor_StructType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lEo)),0,"s"+"__FolderUnitType_StructArmor_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lXo)),0,"s"+"__FolderUnitType_StructAttachments_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lOo)),0,"s"+"__FolderUnitType_FolderAttack_FolderMissile_StructSpeed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lRo)),0,"s"+"__FolderUnitType_FolderAttack_StructMissile_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lIo)),0,"s"+"__FolderUnitType_FolderAttack_StructRange_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lAo)),0,"s"+"__FolderUnitType_FolderAttack_StructSpeed_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lNo)),0,"s"+"__FolderUnitType_FolderAttack_FolderSplash_StructTargetFlag_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lbo)),0,"s"+"__FolderUnitType_FolderAttack_StructSplash_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lBo)),0,"s"+"__FolderUnitType_StructAttack_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lco)),0,"s"+"__FolderUnitType_StructBlood_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lCo)),0,"s"+"__FolderUnitType_StructBloodExplosion_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ldo)),0,"s"+"__FolderUnitType_StructClasses_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lDo)),0,"s"+"__FolderUnitType_StructCollisionSize_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lfo)),0,"s"+"__FolderUnitType_FolderDamage_StructDelay_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lFo)),0,"s"+"__FolderUnitType_FolderDamage_StructDices_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lgo)),0,"s"+"__FolderUnitType_FolderDamage_StructSides_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lGo)),0,"s"+"__FolderUnitType_FolderDamage_StructType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lho)),0,"s"+"__FolderUnitType_StructDamage_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lHo)),0,"s"+"__FolderUnitType_FolderDecay_StructDuration_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ljo)),0,"s"+"__FolderUnitType_StructDecay_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lJo)),0,"s"+"__FolderUnitType_FolderDrop_StructExp_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lko)),0,"s"+"__FolderUnitType_FolderDrop_StructSupply_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lKo)),0,"s"+"__FolderUnitType_StructDrop_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function llo)),0,"s"+"__FolderUnitType_FolderImpact_StructZ_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lLo)),0,"s"+"__FolderUnitType_StructImpact_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lmo)),0,"s"+"__FolderUnitType_FolderOutpact_StructZ_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lMo)),0,"s"+"__FolderUnitType_StructOutpact_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lpo)),0,"s"+"__FolderUnitType_StructLife_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lPo)),0,"s"+"__FolderUnitType_StructLifeRegeneration_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lqo)),0,"s"+"__FolderUnitType_StructMana_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lQo)),0,"s"+"__FolderUnitType_StructManaRegeneration_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lso)),0,"s"+"__FolderUnitType_StructPreload_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lSo)),0,"s"+"__FolderUnitType_StructRevivalable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lto)),0,"s"+"__FolderUnitType_StructScale_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lTo)),0,"s"+"__FolderUnitType_StructSightRange_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function luo)),0,"s"+"__FolderUnitType_StructSpeed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lUo)),0,"s"+"__FolderUnitType_StructSpellPower_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lwo)),0,"s"+"__FolderUnitType_StructSpellVamp_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lWo)),0,"s"+"__FolderUnitType_FolderVertexColor_StructRed_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lyo)),0,"s"+"__FolderUnitType_FolderVertexColor_StructGreen_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lYo)),0,"s"+"__FolderUnitType_FolderVertexColor_StructBlue_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function lzo)),0,"s"+"__FolderUnitType_FolderVertexColor_StructAlpha_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lZo)),0,"s"+"__FolderUnitType_StructVertexColor_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function l_o)),0,"s"+"__FolderUnitType_FolderHero_StructPrimaryAttribute_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function l0o)),0,"s"+"__FolderUnitType_FolderHero_FolderAgility_StructPerLevel_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function l1o)),0,"s"+"__FolderUnitType_FolderHero_StructAgility_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function l2o)),0,"s"+"__FolderUnitType_FolderHero_StructArmorPerLevel_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function l3o)),0,"s"+"__FolderUnitType_FolderHero_FolderIntelligence_StructPerLevel_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function l4o)),0,"s"+"__FolderUnitType_FolderHero_StructIntelligence_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function l5o)),0,"s"+"__FolderUnitType_FolderHero_FolderStrength_StructPerLevel_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function l6o)),0,"s"+"__FolderUnitType_FolderHero_StructStrength_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function l7o)),0,"s"+"__FolderUnitType_StructHero_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Lvo)),0,"s"+"__UnitType_allocCustom") call SaveStr(j,GetHandleId(Condition(function Ldo)),0,"s"+"__UnitType_Init_obj_obj_KoboldBrown_wc3unit") +call SaveStr(j,GetHandleId(Condition(function Lgo)),0,"s"+"__UnitType_Init_obj_obj_SpearScout_wc3unit") call SaveStr(j,GetHandleId(Condition(function LGo)),0,"s"+"__UnitType_Init_obj_obj_PenguinChamp_wc3unit") call SaveStr(j,GetHandleId(Condition(function Lho)),0,"s"+"__UnitType_Init_obj_obj_GnollMage_wc3unit") call SaveStr(j,GetHandleId(Condition(function LJo)),0,"s"+"__UnitType_Init_obj_obj_Kera_wc3unit") call SaveStr(j,GetHandleId(Condition(function Lko)),0,"s"+"__UnitType_Init_obj_obj_BaseTower_wc3unit") call SaveStr(j,GetHandleId(Condition(function LKo)),0,"s"+"__UnitType_Init_obj_obj_TrollPriest_wc3unit") +call SaveStr(j,GetHandleId(Condition(function Llo)),0,"s"+"__UnitType_Init_obj_obj_DarkTower2_wc3unit") call SaveStr(j,GetHandleId(Condition(function LLo)),0,"s"+"__UnitType_Init_obj_obj_Tajran_wc3unit") call SaveStr(j,GetHandleId(Condition(function Lmo)),0,"s"+"__UnitType_Init_obj_obj_Troll_wc3unit") call SaveStr(j,GetHandleId(Condition(function Lqo)),0,"s"+"__UnitType_Init_obj_obj_FrostTower_wc3unit") call SaveStr(j,GetHandleId(Condition(function LQo)),0,"s"+"__UnitType_Init_obj_obj_Lizzy_wc3unit") call SaveStr(j,GetHandleId(Condition(function Lso)),0,"s"+"__UnitType_Init_obj_obj_FlyingPenguin_wc3unit") call SaveStr(j,GetHandleId(Condition(function LSo)),0,"s"+"__UnitType_Init_obj_obj_LightningTower2_wc3unit") +call SaveStr(j,GetHandleId(Condition(function Lto)),0,"s"+"__UnitType_Init_obj_obj_FrostTower2_wc3unit") +call SaveStr(j,GetHandleId(Condition(function LTo)),0,"s"+"__UnitType_Init_obj_obj_WolfMother_wc3unit") call SaveStr(j,GetHandleId(Condition(function Luo)),0,"s"+"__UnitType_Init_obj_obj_Drakul_wc3unit") call SaveStr(j,GetHandleId(Condition(function LUo)),0,"s"+"__UnitType_Init_obj_obj_Fountain_wc3unit") call SaveStr(j,GetHandleId(Condition(function Lwo)),0,"s"+"__UnitType_Init_obj_obj_Vicar_wc3unit") call SaveStr(j,GetHandleId(Condition(function LWo)),0,"s"+"__UnitType_Init_obj_obj_Assassin_wc3unit") call SaveStr(j,GetHandleId(Condition(function Lyo)),0,"s"+"__UnitType_Init_obj_obj_Tuskar_wc3unit") call SaveStr(j,GetHandleId(Condition(function LZo)),0,"s"+"__UnitType_Init_obj_obj_Catapult_wc3unit") call SaveStr(j,GetHandleId(Condition(function L_o)),0,"s"+"__UnitType_Init_obj_obj_Deer_wc3unit") call SaveStr(j,GetHandleId(Condition(function L0o)),0,"s"+"__UnitType_Init_obj_obj_Demolisher_wc3unit") call SaveStr(j,GetHandleId(Condition(function L1o)),0,"s"+"__UnitType_Init_obj_obj_Smokealot_wc3unit") call SaveStr(j,GetHandleId(Condition(function L2o)),0,"s"+"__UnitType_Init_obj_obj_KoboldRed_wc3unit") call SaveStr(j,GetHandleId(Condition(function L3o)),0,"s"+"__UnitType_Init_obj_obj_Tower_wc3unit") call SaveStr(j,GetHandleId(Condition(function L4o)),0,"s"+"__UnitType_Init_obj_obj_Pandarene_wc3unit") call SaveStr(j,GetHandleId(Condition(function L5o)),0,"s"+"__UnitType_Init_obj_obj_Jota_wc3unit") call SaveStr(j,GetHandleId(Condition(function L6o)),0,"s"+"__UnitType_Init_obj_obj_Tarog_wc3unit") call SaveStr(j,GetHandleId(Condition(function L7o)),0,"s"+"__UnitType_Init_obj_obj_PropPenguin_wc3unit") +call SaveStr(j,GetHandleId(Condition(function L8o)),0,"s"+"__UnitType_Init_obj_obj_LightningTower_wc3unit") call SaveStr(j,GetHandleId(Condition(function L9o)),0,"s"+"__UnitType_Init_obj_obj_Nagarosh_wc3unit") call SaveStr(j,GetHandleId(Condition(function mvo)),0,"s"+"__UnitType_Init_obj_obj_Balduir_wc3unit") +call SaveStr(j,GetHandleId(Condition(function meo)),0,"s"+"__UnitType_Init_obj_obj_Raider_wc3unit") call SaveStr(j,GetHandleId(Condition(function mxo)),0,"s"+"__UnitType_Init_obj_obj_Aruruw_wc3unit") call SaveStr(j,GetHandleId(Condition(function moo)),0,"s"+"__UnitType_Init_obj_obj_FurbolgOracle_wc3unit") call SaveStr(j,GetHandleId(Condition(function mro)),0,"s"+"__UnitType_Init_obj_obj_DarkTower_wc3unit") call SaveStr(j,GetHandleId(Condition(function mio)),0,"s"+"__UnitType_Init_obj_obj_AxeFighter_wc3unit") call SaveStr(j,GetHandleId(Condition(function mao)),0,"s"+"__UnitType_Init_obj_obj_Stormy_wc3unit") call SaveStr(j,GetHandleId(Condition(function mno)),0,"s"+"__UnitType_Init_obj_obj_BlueDragonSpawn_wc3unit") +call SaveStr(j,GetHandleId(Condition(function mVo)),0,"s"+"__UnitType_Init_obj_obj_KoboldBlue_wc3unit") call SaveStr(j,GetHandleId(Condition(function mEo)),0,"s"+"__UnitType_Init_obj_obj_Penguin_wc3unit") +call SaveStr(j,GetHandleId(Condition(function mXo)),0,"s"+"__UnitType_Init_obj_obj_Reservoir_wc3unit") call SaveStr(j,GetHandleId(Condition(function mOo)),0,"s"+"__UnitType_Init_obj_obj_FurbolgMother_wc3unit") call SaveStr(j,GetHandleId(Condition(function mRo)),0,"s"+"__UnitType_Init_obj_obj_TreantPurple_wc3unit") call SaveStr(j,GetHandleId(Condition(function mIo)),0,"s"+"__UnitType_Init_obj_obj_SnowFalcon_wc3unit") call SaveStr(j,GetHandleId(Condition(function mAo)),0,"s"+"__UnitType_Init_obj_obj_TreantGreen_wc3unit") +call SaveStr(j,GetHandleId(Condition(function mNo)),0,"s"+"__UnitType_Init_obj_obj_Wolf_wc3unit") call SaveStr(j,GetHandleId(Condition(function mbo)),0,"s"+"__UnitType_Init_obj_obj_Drummer_wc3unit") +call SaveStr(j,GetHandleId(Condition(function mBo)),0,"s"+"__UnitType_Init_obj_obj_Leader_wc3unit") call SaveStr(j,GetHandleId(Condition(function mco)),0,"s"+"__UnitType_Init_obj_obj_Rocketeye_wc3unit") call SaveStr(j,GetHandleId(Condition(function mCo)),0,"s"+"__UnitType_Init_obj_obj_Satyr_wc3unit") call SaveStr(j,GetHandleId(Condition(function mdo)),0,"s"+"__UnitType_Init_obj_obj_TrueLeader_wc3unit") call SaveStr(j,GetHandleId(Condition(function mDo)),0,"s"+"__UnitType_Init_obj_obj_Peon_wc3unit") call SaveStr(j,GetHandleId(Condition(function mfo)),0,"s"+"__UnitType_Init_obj_obj_PenguinLying_wc3unit") call SaveStr(j,GetHandleId(Condition(function mFo)),0,"s"+"__UnitType_Init_obj_obj_Moonkin_wc3unit") +call SaveStr(j,GetHandleId(Condition(function mgo)),0,"s"+"__UnitType_Init_obj_obj_Swordsman_wc3unit") call SaveStr(j,GetHandleId(Condition(function mjo)),0,"s"+"__UnitType_Init_obj_obj_Victor_wc3unit") call SaveStr(j,GetHandleId(Condition(function mJo)),0,"s"+"__UnitType_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function mko)),0,"s"+"__UnitType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mKo)),0,"s"+"__Force_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mlo)),0,"s"+"__PlayerController_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mLo)),0,"s"+"__PlayerSlotState_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mmo)),0,"s"+"__Team_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mMo)),0,"s"+"__FolderUser_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mpo)),0,"s"+"__FolderUser_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mPo)),0,"s"+"__FolderUser_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mqo)),0,"s"+"__FolderUser_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mQo)),0,"s"+"__FolderUser_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mso)),0,"s"+"__FolderUser_FolderEvent_StructNative_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mSo)),0,"s"+"__FolderUser_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mto)),0,"s"+"__FolderUser_StructController_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mTo)),0,"s"+"__FolderUser_StructHostAppointment_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function muo)),0,"s"+"__FolderUser_StructHero_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mUo)),0,"s"+"__FolderUser_FolderKeyEvent_StructDownArrow_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mwo)),0,"s"+"__FolderUser_FolderKeyEvent_StructLeftArrow_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mWo)),0,"s"+"__FolderUser_FolderKeyEvent_StructRightArrow_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function myo)),0,"s"+"__FolderUser_FolderKeyEvent_StructUpArrow_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mYo)),0,"s"+"__FolderUser_StructKeyEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mzo)),0,"s"+"__FolderUser_StructSlotState_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mZo)),0,"s"+"__FolderUser_StructState_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function m_o)),0,"s"+"__FolderUser_StructTeam_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function m0o)),0,"s"+"__User_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function m1o)),0,"s"+"__User_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function m4o)),0,"s"+"__PlayerController_allocCustom") call SaveStr(j,GetHandleId(Condition(function m7o)),0,"s"+"__PlayerController_Init") +call SaveStr(j,GetHandleId(Condition(function m9o)),0,"s"+"__PlayerSlotState_allocCustom") call SaveStr(j,GetHandleId(Condition(function Meo)),0,"s"+"__PlayerSlotState_Init") call SaveStr(j,GetHandleId(Condition(function Moo)),0,"s"+"__Team_allocCustom") call SaveStr(j,GetHandleId(Condition(function Mro)),0,"s"+"__Team_Init") +call SaveStr(j,GetHandleId(Condition(function Mio)),0,"s"+"__Visibility_Init") call SaveStr(j,GetHandleId(Condition(function Mno)),0,"s"+"__User_allocCustom") call SaveStr(j,GetHandleId(Condition(function MLo)),0,"s"+"__User_ChatTrig") +call SaveStr(j,GetHandleId(Condition(function Mso)),0,"s"+"__User_LeaveTrig") call SaveStr(j,GetHandleId(Condition(function MSo)),0,"s"+"__User_Leave_Init") call SaveStr(j,GetHandleId(Condition(function Muo)),0,"s"+"__FolderUser_StructHostAppointment_SetByNative") call SaveStr(j,GetHandleId(Condition(function MUo)),0,"s"+"__FolderUser_StructHostAppointment_Event_Leave") call SaveStr(j,GetHandleId(Condition(function Mwo)),0,"s"+"__FolderUser_StructHostAppointment_Init") +call SaveStr(j,GetHandleId(Condition(function MWo)),0,"s"+"__Force_Init") call SaveStr(j,GetHandleId(Condition(function MYo)),0,"s"+"__FolderUser_StructKeyEvent_EscTrig") +call SaveStr(j,GetHandleId(Condition(function M2o)),0,"s"+"__FolderUser_FolderKeyEvent_StructDownArrow_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function M4o)),0,"s"+"__FolderUser_FolderKeyEvent_StructDownArrow_Interval") call SaveStr(j,GetHandleId(Condition(function M5o)),0,"s"+"__FolderUser_FolderKeyEvent_StructDownArrow_PressTrig") call SaveStr(j,GetHandleId(Condition(function M7o)),0,"s"+"__FolderUser_FolderKeyEvent_StructDownArrow_ReleaseTrig") +call SaveStr(j,GetHandleId(Condition(function M8o)),0,"s"+"__FolderUser_FolderKeyEvent_StructDownArrow_InitPlayer") call SaveStr(j,GetHandleId(Condition(function M9o)),0,"s"+"__FolderUser_FolderKeyEvent_StructDownArrow_Init") call SaveStr(j,GetHandleId(Condition(function poo)),0,"s"+"__FolderUser_FolderKeyEvent_StructLeftArrow_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function pio)),0,"s"+"__FolderUser_FolderKeyEvent_StructLeftArrow_Interval") call SaveStr(j,GetHandleId(Condition(function pao)),0,"s"+"__FolderUser_FolderKeyEvent_StructLeftArrow_PressTrig") call SaveStr(j,GetHandleId(Condition(function pVo)),0,"s"+"__FolderUser_FolderKeyEvent_StructLeftArrow_ReleaseTrig") +call SaveStr(j,GetHandleId(Condition(function pEo)),0,"s"+"__FolderUser_FolderKeyEvent_StructLeftArrow_InitPlayer") call SaveStr(j,GetHandleId(Condition(function pXo)),0,"s"+"__FolderUser_FolderKeyEvent_StructLeftArrow_Init") call SaveStr(j,GetHandleId(Condition(function pAo)),0,"s"+"__FolderUser_FolderKeyEvent_StructRightArrow_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function pbo)),0,"s"+"__FolderUser_FolderKeyEvent_StructRightArrow_Interval") call SaveStr(j,GetHandleId(Condition(function pBo)),0,"s"+"__FolderUser_FolderKeyEvent_StructRightArrow_PressTrig") call SaveStr(j,GetHandleId(Condition(function pCo)),0,"s"+"__FolderUser_FolderKeyEvent_StructRightArrow_ReleaseTrig") call SaveStr(j,GetHandleId(Condition(function pdo)),0,"s"+"__FolderUser_FolderKeyEvent_StructRightArrow_InitPlayer") +call SaveStr(j,GetHandleId(Condition(function pDo)),0,"s"+"__FolderUser_FolderKeyEvent_StructRightArrow_Init") call SaveStr(j,GetHandleId(Condition(function pGo)),0,"s"+"__FolderUser_FolderKeyEvent_StructUpArrow_Event_Destroy") +call SaveStr(j,GetHandleId(Condition(function pHo)),0,"s"+"__FolderUser_FolderKeyEvent_StructUpArrow_Interval") call SaveStr(j,GetHandleId(Condition(function pjo)),0,"s"+"__FolderUser_FolderKeyEvent_StructUpArrow_PressTrig") +call SaveStr(j,GetHandleId(Condition(function pko)),0,"s"+"__FolderUser_FolderKeyEvent_StructUpArrow_ReleaseTrig") call SaveStr(j,GetHandleId(Condition(function pKo)),0,"s"+"__FolderUser_FolderKeyEvent_StructUpArrow_InitPlayer") call SaveStr(j,GetHandleId(Condition(function plo)),0,"s"+"__FolderUser_FolderKeyEvent_StructUpArrow_Init") call SaveStr(j,GetHandleId(Condition(function pLo)),0,"s"+"__FolderUser_StructKeyEvent_Init") call SaveStr(j,GetHandleId(Condition(function pmo)),0,"s"+"__User_Init") +call SaveStr(j,GetHandleId(Condition(function pMo)),0,"s"+"__User_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function ppo)),0,"s"+"__WeatherType_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function pqo)),0,"s"+"__WeatherType_allocCustom") call SaveStr(j,GetHandleId(Condition(function pso)),0,"s"+"__WeatherEffect_Init_obj_obj_moonType_wc3weather") call SaveStr(j,GetHandleId(Condition(function pSo)),0,"s"+"__WeatherEffect_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function pto)),0,"s"+"__WeatherEffect_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pTo)),0,"s"+"__WeatherType_Init") call SaveStr(j,GetHandleId(Condition(function pUo)),0,"s"+"__WeatherEffect_allocCustom") +call SaveStr(j,GetHandleId(Condition(function pWo)),0,"s"+"__WeatherEffect_Event_AfterIntro") call SaveStr(j,GetHandleId(Condition(function pyo)),0,"s"+"__WeatherEffect_Event_Start") +call SaveStr(j,GetHandleId(Condition(function pYo)),0,"s"+"__WeatherEffect_Init") call SaveStr(j,GetHandleId(Condition(function pzo)),0,"s"+"__WeatherEffect_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function pZo)),0,"s"+"__Initialization_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function p_o)),0,"s"+"__FolderAct_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function p0o)),0,"s"+"__FolderAct_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function p1o)),0,"s"+"__FolderAct_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function p2o)),0,"s"+"__FolderAct_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function p3o)),0,"s"+"__FolderAct_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function p4o)),0,"s"+"__FolderAct_StructLevelSets_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function p5o)),0,"s"+"__Act_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function p9o)),0,"s"+"__FolderLevelSet_StructQuery_Ending") +call SaveStr(j,GetHandleId(Condition(function Poo)),0,"s"+"__LevelSet_Event_ActStart") call SaveStr(j,GetHandleId(Condition(function PXo)),0,"s"+"__Act_Event_Start") call SaveStr(j,GetHandleId(Condition(function PRo)),0,"s"+"__Act_allocCustom") call SaveStr(j,GetHandleId(Condition(function PBo)),0,"s"+"__Act_InitObjs") call SaveStr(j,GetHandleId(Condition(function PDo)),0,"s"+"__Level_InitNexts") call SaveStr(j,GetHandleId(Condition(function Pho)),0,"s"+"__Act_Init") call SaveStr(j,GetHandleId(Condition(function PHo)),0,"s"+"__Act_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Pjo)),0,"s"+"__ActUpgrades_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function PKo)),0,"s"+"__ActUpgrades_Reservoir") +call SaveStr(j,GetHandleId(Condition(function Plo)),0,"s"+"__ActUpgrades_Tower") +call SaveStr(j,GetHandleId(Condition(function PLo)),0,"s"+"__ActUpgrades_Event_ActEnding") call SaveStr(j,GetHandleId(Condition(function Pmo)),0,"s"+"__ActUpgrades_Init") call SaveStr(j,GetHandleId(Condition(function PMo)),0,"s"+"__ActUpgrades_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Ppo)),0,"s"+"__AfterIntro_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function PPo)),0,"s"+"__AfterIntro_Init") call SaveStr(j,GetHandleId(Condition(function Pqo)),0,"s"+"__AfterIntro_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function PQo)),0,"s"+"__BrazierOracle_Init_obj_obj_damageBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function Pso)),0,"s"+"__BrazierOracle_Init_obj_obj_thisUnitType_wc3unit") call SaveStr(j,GetHandleId(Condition(function PSo)),0,"s"+"__BrazierOracle_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Pto)),0,"s"+"__BrazierOracle_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function PZo)),0,"s"+"__FolderDummyUnit_StructRotate_Update") call SaveStr(j,GetHandleId(Condition(function P4o)),0,"s"+"__BrazierOracle_Event_LevelStart") call SaveStr(j,GetHandleId(Condition(function P6o)),0,"s"+"__BrazierOracle_Event_Start") +call SaveStr(j,GetHandleId(Condition(function P7o)),0,"s"+"__BrazierOracle_Event_GameOver") call SaveStr(j,GetHandleId(Condition(function P8o)),0,"s"+"__BrazierOracle_Event_Damage") call SaveStr(j,GetHandleId(Condition(function qeo)),0,"s"+"__BrazierOracle_Init") call SaveStr(j,GetHandleId(Condition(function qro)),0,"s"+"__BrazierOracle_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function qio)),0,"s"+"__CameraQuickPosition_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function qao)),0,"s"+"__CameraQuickPosition_Update") call SaveStr(j,GetHandleId(Condition(function qVo)),0,"s"+"__CameraQuickPosition_Event_HeroPick") call SaveStr(j,GetHandleId(Condition(function qEo)),0,"s"+"__CameraQuickPosition_Init") call SaveStr(j,GetHandleId(Condition(function qXo)),0,"s"+"__CameraQuickPosition_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function qOo)),0,"s"+"__MarkOfThePaw_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function qRo)),0,"s"+"__MarkOfThePaw_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function qIo)),0,"s"+"__MarkOfThePaw_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qNo)),0,"s"+"__MarkOfThePaw_Init") +call SaveStr(j,GetHandleId(Condition(function qbo)),0,"s"+"__MarkOfThePaw_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function qBo)),0,"s"+"__CreepLoot_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qco)),0,"s"+"__Creep_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qCo)),0,"s"+"__CreepLocation_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qdo)),0,"s"+"__FolderCreepSet_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function qDo)),0,"s"+"__FolderCreepSet_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function qfo)),0,"s"+"__FolderCreepSet_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function qFo)),0,"s"+"__FolderCreepSet_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qgo)),0,"s"+"__FolderCreepSet_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qGo)),0,"s"+"__CreepSet_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qho)),0,"s"+"__Creep_Init") call SaveStr(j,GetHandleId(Condition(function qMo)),0,"s"+"__CreepLocation_Event_Death") +call SaveStr(j,GetHandleId(Condition(function qqo)),0,"s"+"__CreepLocation_allocCustom") +call SaveStr(j,GetHandleId(Condition(function qso)),0,"s"+"__CreepLocation_Init") call SaveStr(j,GetHandleId(Condition(function qSo)),0,"s"+"__CreepLoot_Init") call SaveStr(j,GetHandleId(Condition(function qTo)),0,"s"+"__Ping_allocCustom") call SaveStr(j,GetHandleId(Condition(function qYo)),0,"s"+"__Ping_Update") call SaveStr(j,GetHandleId(Condition(function Qeo)),0,"s"+"__CreepSet_Event_LevelStart") +call SaveStr(j,GetHandleId(Condition(function Qxo)),0,"s"+"__CreepSet_Event_Warning_LevelStart") +call SaveStr(j,GetHandleId(Condition(function Qio)),0,"s"+"__CreepSet_allocCustom") call SaveStr(j,GetHandleId(Condition(function QXo)),0,"s"+"__Creep_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Qbo)),0,"s"+"__CreepSet_Init") +call SaveStr(j,GetHandleId(Condition(function QBo)),0,"s"+"__CreepSet_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Qco)),0,"s"+"__DefenderSpawnLocation_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QCo)),0,"s"+"__FolderDefenderSpawnType_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Qdo)),0,"s"+"__FolderDefenderSpawnType_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QDo)),0,"s"+"__FolderDefenderSpawnType_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Qfo)),0,"s"+"__FolderDefenderSpawnType_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QFo)),0,"s"+"__FolderDefenderSpawnType_StructEvent_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Qgo)),0,"s"+"__DefenderSpawnType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QGo)),0,"s"+"__FolderDefenderSpawnGroup_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Qho)),0,"s"+"__FolderDefenderSpawnGroup_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QHo)),0,"s"+"__FolderDefenderSpawnGroup_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Qjo)),0,"s"+"__FolderDefenderSpawnGroup_StructData_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function QJo)),0,"s"+"__DefenderSpawnGroup_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Qko)),0,"s"+"__FolderDefenderSpawnWave_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QKo)),0,"s"+"__FolderDefenderSpawnWave_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Qlo)),0,"s"+"__FolderDefenderSpawnWave_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QLo)),0,"s"+"__FolderDefenderSpawnWave_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Qmo)),0,"s"+"__FolderDefenderSpawnWave_StructGroups_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QMo)),0,"s"+"__DefenderSpawnWave_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Qpo)),0,"s"+"__DefenderSpawn_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Q_o)),0,"s"+"__DefenderSpawn_Event_LevelStart") call SaveStr(j,GetHandleId(Condition(function Q1o)),0,"s"+"__DefenderSpawn_Event_Start") +call SaveStr(j,GetHandleId(Condition(function Q3o)),0,"s"+"__DefenderSpawnLocation_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Q6o)),0,"s"+"__DefenderSpawnLocation_Init") call SaveStr(j,GetHandleId(Condition(function Q8o)),0,"s"+"__DefenderSpawnType_allocCustom") +call SaveStr(j,GetHandleId(Condition(function sxo)),0,"s"+"__DefenderSpawnType_Init") call SaveStr(j,GetHandleId(Condition(function sro)),0,"s"+"__DefenderSpawnWave_allocCustom") +call SaveStr(j,GetHandleId(Condition(function sXo)),0,"s"+"__DefenderSpawnGroup_allocCustom") call SaveStr(j,GetHandleId(Condition(function sNo)),0,"s"+"__DefenderSpawnWave_Init") call SaveStr(j,GetHandleId(Condition(function sBo)),0,"s"+"__DefenderSpawn_Init") call SaveStr(j,GetHandleId(Condition(function sco)),0,"s"+"__DefenderSpawn_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function sCo)),0,"s"+"__Difficulty_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sdo)),0,"s"+"__Drop_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function sDo)),0,"s"+"__Drop_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sfo)),0,"s"+"__Drop_Conditions") call SaveStr(j,GetHandleId(Condition(function sJo)),0,"s"+"__Drop_Exp_Event_Death") call SaveStr(j,GetHandleId(Condition(function sPo)),0,"s"+"__Drop_Supply_Event_Death") call SaveStr(j,GetHandleId(Condition(function sQo)),0,"s"+"__Drop_Init") +call SaveStr(j,GetHandleId(Condition(function sso)),0,"s"+"__Drop_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function sto)),0,"s"+"__ItemType_allocCustom") call SaveStr(j,GetHandleId(Condition(function syo)),0,"s"+"__EternalVial_Init_obj_obj_thisItem_wc3item") +call SaveStr(j,GetHandleId(Condition(function sYo)),0,"s"+"__EternalVial_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function sZo)),0,"s"+"__Spell_allocCustom") +call SaveStr(j,GetHandleId(Condition(function s4o)),0,"s"+"__EternalVial_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function s5o)),0,"s"+"__EternalVial_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function s6o)),0,"s"+"__EternalVial_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Soo)),0,"s"+"__EternalVial_Interval") call SaveStr(j,GetHandleId(Condition(function Sro)),0,"s"+"__EternalVial_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Sio)),0,"s"+"__EternalVial_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Sno)),0,"s"+"__EternalVial_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function SVo)),0,"s"+"__EternalVial_Init") call SaveStr(j,GetHandleId(Condition(function SEo)),0,"s"+"__EternalVial_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function SXo)),0,"s"+"__Explosive_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function SOo)),0,"s"+"__Explosive_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SIo)),0,"s"+"__Explosive_Event_Create") call SaveStr(j,GetHandleId(Condition(function SNo)),0,"s"+"__Explosive_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Sho)),0,"s"+"__SpotEffect_allocCustom") call SaveStr(j,GetHandleId(Condition(function SMo)),0,"s"+"__Explosive_DestructableEnum") call SaveStr(j,GetHandleId(Condition(function Spo)),0,"s"+"__Explosive_Ending") call SaveStr(j,GetHandleId(Condition(function Sqo)),0,"s"+"__Explosive_Event_Death") +call SaveStr(j,GetHandleId(Condition(function Sso)),0,"s"+"__Explosive_Conditions") call SaveStr(j,GetHandleId(Condition(function Sto)),0,"s"+"__Explosive_Init") call SaveStr(j,GetHandleId(Condition(function STo)),0,"s"+"__Explosive_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Suo)),0,"s"+"__GarbageCollector_Init_obj_obj_shop_wc3unit") call SaveStr(j,GetHandleId(Condition(function SUo)),0,"s"+"__GarbageCollector_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Swo)),0,"s"+"__GarbageCollector_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SWo)),0,"s"+"__BoomerangStone_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function Syo)),0,"s"+"__BoomerangStone_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function SYo)),0,"s"+"__BoomerangStone_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Szo)),0,"s"+"__BoomerangStone_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function S0o)),0,"s"+"__Missile_allocCustom") call SaveStr(j,GetHandleId(Condition(function teo)),0,"s"+"__Missile_Create") call SaveStr(j,GetHandleId(Condition(function too)),0,"s"+"__BoomerangStone_allocCustom") call SaveStr(j,GetHandleId(Condition(function tFo)),0,"s"+"__BoomerangStone_CasterImpact") call SaveStr(j,GetHandleId(Condition(function tJo)),0,"s"+"__FolderMissile_StructGoToUnit_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function tko)),0,"s"+"__FolderMissile_StructGoToUnit_FOR_EACH_LIST_FetchFirst") +call SaveStr(j,GetHandleId(Condition(function t0o)),0,"s"+"__FolderMissile_StructGoToUnit_Update") call SaveStr(j,GetHandleId(Condition(function t6o)),0,"s"+"__Missile_Destruction") call SaveStr(j,GetHandleId(Condition(function t7o)),0,"s"+"__BoomerangStone_TargetImpact") call SaveStr(j,GetHandleId(Condition(function Teo)),0,"s"+"__BoomerangStone_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Txo)),0,"s"+"__BoomerangStone_Init") call SaveStr(j,GetHandleId(Condition(function Too)),0,"s"+"__BoomerangStone_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Tro)),0,"s"+"__Mallet_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function Tio)),0,"s"+"__Mallet_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Tao)),0,"s"+"__Mallet_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function TOo)),0,"s"+"__Mallet_Event_Drop") +call SaveStr(j,GetHandleId(Condition(function TIo)),0,"s"+"__Mallet_Event_PickUp") call SaveStr(j,GetHandleId(Condition(function TAo)),0,"s"+"__Mallet_Init") call SaveStr(j,GetHandleId(Condition(function TNo)),0,"s"+"__Mallet_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Tbo)),0,"s"+"__PenguinFeather_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function TBo)),0,"s"+"__PenguinFeather_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function Tco)),0,"s"+"__PenguinFeather_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function TCo)),0,"s"+"__PenguinFeather_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function TFo)),0,"s"+"__PenguinFeather_Event_Drop") +call SaveStr(j,GetHandleId(Condition(function TGo)),0,"s"+"__PenguinFeather_Event_PickUp") call SaveStr(j,GetHandleId(Condition(function THo)),0,"s"+"__FolderUnitEffect_StructDestroyTimed_allocCustom") call SaveStr(j,GetHandleId(Condition(function TKo)),0,"s"+"__FolderUnitEffect_StructDestroyTimed_Ending") call SaveStr(j,GetHandleId(Condition(function TLo)),0,"s"+"__PenguinFeather_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Tmo)),0,"s"+"__PenguinFeather_Init") call SaveStr(j,GetHandleId(Condition(function TMo)),0,"s"+"__PenguinFeather_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Tpo)),0,"s"+"__RabbitsFoot_Init_obj_obj_thisItem_wc3item") +call SaveStr(j,GetHandleId(Condition(function TPo)),0,"s"+"__RabbitsFoot_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Tqo)),0,"s"+"__RabbitsFoot_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Tso)),0,"s"+"__RabbitsFoot_Event_Drop") call SaveStr(j,GetHandleId(Condition(function TSo)),0,"s"+"__RabbitsFoot_Event_PickUp") call SaveStr(j,GetHandleId(Condition(function Tto)),0,"s"+"__RabbitsFoot_Init") call SaveStr(j,GetHandleId(Condition(function TTo)),0,"s"+"__RabbitsFoot_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Tuo)),0,"s"+"__RamblersStick_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function TUo)),0,"s"+"__RamblersStick_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Two)),0,"s"+"__RamblersStick_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Tyo)),0,"s"+"__RamblersStick_Event_Drop") call SaveStr(j,GetHandleId(Condition(function TYo)),0,"s"+"__RamblersStick_Event_PickUp") call SaveStr(j,GetHandleId(Condition(function Tzo)),0,"s"+"__RamblersStick_Init") call SaveStr(j,GetHandleId(Condition(function TZo)),0,"s"+"__RamblersStick_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function T_o)),0,"s"+"__GruntAxe_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function T0o)),0,"s"+"__GruntAxe_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function T1o)),0,"s"+"__GruntAxe_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function T3o)),0,"s"+"__GruntAxe_Event_Drop") call SaveStr(j,GetHandleId(Condition(function T4o)),0,"s"+"__GruntAxe_Event_PickUp") +call SaveStr(j,GetHandleId(Condition(function T5o)),0,"s"+"__GruntAxe_Init") +call SaveStr(j,GetHandleId(Condition(function T6o)),0,"s"+"__GruntAxe_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function T7o)),0,"s"+"__RobynsHood_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function T8o)),0,"s"+"__RobynsHood_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function T9o)),0,"s"+"__RobynsHood_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function uxo)),0,"s"+"__RobynsHood_Event_Drop") +call SaveStr(j,GetHandleId(Condition(function uro)),0,"s"+"__RobynsHood_Event_PickUp") call SaveStr(j,GetHandleId(Condition(function uio)),0,"s"+"__RobynsHood_Init") call SaveStr(j,GetHandleId(Condition(function uao)),0,"s"+"__RobynsHood_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function uno)),0,"s"+"__ElfinDagger_Init_obj_obj_thisItem_wc3item") +call SaveStr(j,GetHandleId(Condition(function uVo)),0,"s"+"__ElfinDagger_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function uEo)),0,"s"+"__ElfinDagger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function uRo)),0,"s"+"__ElfinDagger_Event_Drop") call SaveStr(j,GetHandleId(Condition(function uAo)),0,"s"+"__ElfinDagger_Event_PickUp") call SaveStr(j,GetHandleId(Condition(function uNo)),0,"s"+"__ElfinDagger_Init") call SaveStr(j,GetHandleId(Condition(function ubo)),0,"s"+"__ElfinDagger_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function uBo)),0,"s"+"__FolderSpearOfTheDefender_StructBuff_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function uco)),0,"s"+"__FolderSpearOfTheDefender_StructBuff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function uCo)),0,"s"+"__FolderSpearOfTheDefender_StructBuff_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function udo)),0,"s"+"__SpearOfTheDefender_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function uDo)),0,"s"+"__SpearOfTheDefender_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function ufo)),0,"s"+"__SpearOfTheDefender_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ugo)),0,"s"+"__SpearOfTheDefender_Event_Damage") call SaveStr(j,GetHandleId(Condition(function uHo)),0,"s"+"__SpearOfTheDefender_Event_Drop") +call SaveStr(j,GetHandleId(Condition(function ujo)),0,"s"+"__SpearOfTheDefender_Event_PickUp") call SaveStr(j,GetHandleId(Condition(function uJo)),0,"s"+"__FolderSpearOfTheDefender_StructBuff_Interval") call SaveStr(j,GetHandleId(Condition(function uko)),0,"s"+"__FolderSpearOfTheDefender_StructBuff_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function uKo)),0,"s"+"__FolderSpearOfTheDefender_StructBuff_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function ulo)),0,"s"+"__FolderSpearOfTheDefender_StructBuff_Init") call SaveStr(j,GetHandleId(Condition(function uLo)),0,"s"+"__SpearOfTheDefender_Init") call SaveStr(j,GetHandleId(Condition(function umo)),0,"s"+"__SpearOfTheDefender_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function uMo)),0,"s"+"__MeteoriteShard_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function upo)),0,"s"+"__MeteoriteShard_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function uPo)),0,"s"+"__MeteoriteShard_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function uSo)),0,"s"+"__MeteoriteShard_Event_Drop") +call SaveStr(j,GetHandleId(Condition(function uto)),0,"s"+"__MeteoriteShard_Event_PickUp") call SaveStr(j,GetHandleId(Condition(function uTo)),0,"s"+"__MeteoriteShard_Init") call SaveStr(j,GetHandleId(Condition(function uuo)),0,"s"+"__MeteoriteShard_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function uUo)),0,"s"+"__GoldCoin_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function uwo)),0,"s"+"__GoldCoin_Init_obj_obj_dummySound_wc3sound") +call SaveStr(j,GetHandleId(Condition(function uWo)),0,"s"+"__GoldCoin_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function uyo)),0,"s"+"__GoldCoin_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function uYo)),0,"s"+"__GoldCoin_Event_Coin_Destroy") call SaveStr(j,GetHandleId(Condition(function u_o)),0,"s"+"__CustomDrop_allocCustom") call SaveStr(j,GetHandleId(Condition(function u4o)),0,"s"+"__GoldCoin_Event_Spawn_Death") call SaveStr(j,GetHandleId(Condition(function u8o)),0,"s"+"__GoldCoin_Event_ItemUse") call SaveStr(j,GetHandleId(Condition(function Uvo)),0,"s"+"__GoldCoin_Init") +call SaveStr(j,GetHandleId(Condition(function Ueo)),0,"s"+"__GoldCoin_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Uxo)),0,"s"+"__HeroRevival_Init_obj_obj_RosaType_wc3unit") +call SaveStr(j,GetHandleId(Condition(function Uoo)),0,"s"+"__HeroRevival_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Uro)),0,"s"+"__HeroRevival_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Uio)),0,"s"+"__HeroRevival_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Uno)),0,"s"+"__CineFilter_allocCustom") call SaveStr(j,GetHandleId(Condition(function Ubo)),0,"s"+"__CineFilter_Create") +call SaveStr(j,GetHandleId(Condition(function Uco)),0,"s"+"__HeroRevival_allocCustom") call SaveStr(j,GetHandleId(Condition(function Ufo)),0,"s"+"__HeroRevival_UpdateFacing") call SaveStr(j,GetHandleId(Condition(function UFo)),0,"s"+"__HeroRevival_Event_Death") call SaveStr(j,GetHandleId(Condition(function UKo)),0,"s"+"__HeroRevival_Event_Revive") call SaveStr(j,GetHandleId(Condition(function Ulo)),0,"s"+"__HeroRevival_Event_HeroPick") call SaveStr(j,GetHandleId(Condition(function Upo)),0,"s"+"__HeroRevival_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function UPo)),0,"s"+"__HeroRevival_Event_Start") call SaveStr(j,GetHandleId(Condition(function Uqo)),0,"s"+"__HeroRevival_Init") call SaveStr(j,GetHandleId(Condition(function UQo)),0,"s"+"__HeroRevival_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Uso)),0,"s"+"__Spirit_Init_obj_obj_possessionSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function USo)),0,"s"+"__Spirit_Init_obj_obj_possessionSound_wc3sound") call SaveStr(j,GetHandleId(Condition(function Uto)),0,"s"+"__Spirit_Init_obj_obj_spiritUnitType_wc3unit") call SaveStr(j,GetHandleId(Condition(function UTo)),0,"s"+"__Spirit_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Uuo)),0,"s"+"__Spirit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function UUo)),0,"s"+"__HeroSelection_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Uwo)),0,"s"+"__HeroSelection_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Uyo)),0,"s"+"__HeroSelection_allocCustom") +call SaveStr(j,GetHandleId(Condition(function U1o)),0,"s"+"__HeroSelection_Event_Start") +call SaveStr(j,GetHandleId(Condition(function wvo)),0,"s"+"__HeroSelection_StairwayLeftTrig") call SaveStr(j,GetHandleId(Condition(function wxo)),0,"s"+"__Region_allocCustom") call SaveStr(j,GetHandleId(Condition(function wro)),0,"s"+"__Region_Create") +call SaveStr(j,GetHandleId(Condition(function wVo)),0,"s"+"__HeroSelection_StairwayRightTrig") call SaveStr(j,GetHandleId(Condition(function wAo)),0,"s"+"__Spirit_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function wbo)),0,"s"+"__Spirit_Event_Leave") call SaveStr(j,GetHandleId(Condition(function wCo)),0,"s"+"__FolderSpotEffect_StructDestroyTimed_allocCustom") call SaveStr(j,GetHandleId(Condition(function wFo)),0,"s"+"__FolderSpotEffect_StructDestroyTimed_Ending") call SaveStr(j,GetHandleId(Condition(function wjo)),0,"s"+"__Spirit_Impact") +call SaveStr(j,GetHandleId(Condition(function wko)),0,"s"+"__Spirit_Event_Possess") call SaveStr(j,GetHandleId(Condition(function wLo)),0,"s"+"__Spirit_allocCustom") call SaveStr(j,GetHandleId(Condition(function wMo)),0,"s"+"__Spirit_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function wpo)),0,"s"+"__Spirit_FOR_EACH_LIST_FetchFirst") call SaveStr(j,GetHandleId(Condition(function wUo)),0,"s"+"__Spirit_UpdateByTimer") call SaveStr(j,GetHandleId(Condition(function wWo)),0,"s"+"__Spirit_Event_Start") call SaveStr(j,GetHandleId(Condition(function wyo)),0,"s"+"__Spirit_CenterTrig") +call SaveStr(j,GetHandleId(Condition(function wYo)),0,"s"+"__Spirit_Init") call SaveStr(j,GetHandleId(Condition(function wzo)),0,"s"+"__HeroSelection_Init") call SaveStr(j,GetHandleId(Condition(function wZo)),0,"s"+"__HeroSelection_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function w_o)),0,"s"+"__Hint_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function w1o)),0,"s"+"__Hint_allocCustom") call SaveStr(j,GetHandleId(Condition(function w4o)),0,"s"+"__Hint_Interval") +call SaveStr(j,GetHandleId(Condition(function w5o)),0,"s"+"__Hint_Event_AfterIntro") +call SaveStr(j,GetHandleId(Condition(function w6o)),0,"s"+"__Hint_Init") +call SaveStr(j,GetHandleId(Condition(function w7o)),0,"s"+"__Hint_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function w8o)),0,"s"+"__FolderHorseRide_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function w9o)),0,"s"+"__FolderHorseRide_StructTarget_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Wvo)),0,"s"+"__FolderHorseRide_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Weo)),0,"s"+"__HorseRide_Init_obj_obj_shopItem_wc3item") call SaveStr(j,GetHandleId(Condition(function Wxo)),0,"s"+"__HorseRide_Init_obj_obj_shop_wc3unit") call SaveStr(j,GetHandleId(Condition(function Woo)),0,"s"+"__HorseRide_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Wro)),0,"s"+"__HorseRide_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Wao)),0,"s"+"__HorseRide_GetHorses") call SaveStr(j,GetHandleId(Condition(function WXo)),0,"s"+"__FolderDummyUnit_FolderVertexColor_StructTimed_allocCustom") +call SaveStr(j,GetHandleId(Condition(function WIo)),0,"s"+"__FolderDummyUnit_FolderVertexColor_StructTimed_Update") call SaveStr(j,GetHandleId(Condition(function WCo)),0,"s"+"__FolderDummyUnit_FolderVertexColor_StructTimed_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function WFo)),0,"s"+"__HorseRide_DoEffectTargets") +call SaveStr(j,GetHandleId(Condition(function Wgo)),0,"s"+"__HorseRide_DoEffect") call SaveStr(j,GetHandleId(Condition(function Wko)),0,"s"+"__HorseRide_UpdateTargets") call SaveStr(j,GetHandleId(Condition(function WKo)),0,"s"+"__HorseRide_Update") call SaveStr(j,GetHandleId(Condition(function Wlo)),0,"s"+"__HorseRide_Delay") call SaveStr(j,GetHandleId(Condition(function WPo)),0,"s"+"__HorseRide_AddTargets") call SaveStr(j,GetHandleId(Condition(function Wso)),0,"s"+"__HorseRide_Event_Sell") call SaveStr(j,GetHandleId(Condition(function Wto)),0,"s"+"__DummyUnitEffect_allocCustom") call SaveStr(j,GetHandleId(Condition(function WUo)),0,"s"+"__FolderHorseRide_StructTarget_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function WYo)),0,"s"+"__FolderHorseRide_StructTarget_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function WZo)),0,"s"+"__FolderHorseRide_StructTarget_Init") +call SaveStr(j,GetHandleId(Condition(function W_o)),0,"s"+"__HorseRide_Init") call SaveStr(j,GetHandleId(Condition(function W0o)),0,"s"+"__HorseRide_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function W1o)),0,"s"+"__FolderInfoboard_StructUser_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function W2o)),0,"s"+"__Infoboard_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function W7o)),0,"s"+"__Infoboard_Event_ChargesChange") +call SaveStr(j,GetHandleId(Condition(function yvo)),0,"s"+"__Infoboard_Event_Drop") call SaveStr(j,GetHandleId(Condition(function yeo)),0,"s"+"__Infoboard_Event_Move") call SaveStr(j,GetHandleId(Condition(function yxo)),0,"s"+"__Infoboard_Event_PickUp") call SaveStr(j,GetHandleId(Condition(function yoo)),0,"s"+"__Infoboard_GetChapterString") call SaveStr(j,GetHandleId(Condition(function yio)),0,"s"+"__Infoboard_Event_ActStart") call SaveStr(j,GetHandleId(Condition(function yVo)),0,"s"+"__Infoboard_Event_AfterIntro") call SaveStr(j,GetHandleId(Condition(function yOo)),0,"s"+"__Infoboard_Event_HeroPick") call SaveStr(j,GetHandleId(Condition(function yAo)),0,"s"+"__Infoboard_GetLevelString") call SaveStr(j,GetHandleId(Condition(function yBo)),0,"s"+"__Infoboard_Event_LevelStart") call SaveStr(j,GetHandleId(Condition(function ydo)),0,"s"+"__Multiboard_allocCustom") call SaveStr(j,GetHandleId(Condition(function yfo)),0,"s"+"__MultiboardItem_allocCustom") call SaveStr(j,GetHandleId(Condition(function yHo)),0,"s"+"__Multiboard_Create_Executed") call SaveStr(j,GetHandleId(Condition(function yjo)),0,"s"+"__Multiboard_Create") +call SaveStr(j,GetHandleId(Condition(function yKo)),0,"s"+"__Meteorite_GetInfoboardTitle") call SaveStr(j,GetHandleId(Condition(function yqo)),0,"s"+"__Infoboard_Event_Start") +call SaveStr(j,GetHandleId(Condition(function yTo)),0,"s"+"__Infoboard_Init") call SaveStr(j,GetHandleId(Condition(function yuo)),0,"s"+"__Infoboard_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function yUo)),0,"s"+"__Infocard_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yWo)),0,"s"+"__Infocard_allocCustom") call SaveStr(j,GetHandleId(Condition(function y_o)),0,"s"+"__Infocard_GetCreditsPart1") call SaveStr(j,GetHandleId(Condition(function y0o)),0,"s"+"__Infocard_GetCreditsPart2") call SaveStr(j,GetHandleId(Condition(function y1o)),0,"s"+"__Infocard_Init") +call SaveStr(j,GetHandleId(Condition(function y2o)),0,"s"+"__Infocard_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function y3o)),0,"s"+"__Intro_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function y4o)),0,"s"+"__Force_GetFirst_Enum") call SaveStr(j,GetHandleId(Condition(function y7o)),0,"s"+"__AfterIntro_TriggerEvents") call SaveStr(j,GetHandleId(Condition(function y9o)),0,"s"+"__AfterIntro_Start") call SaveStr(j,GetHandleId(Condition(function Yeo)),0,"s"+"__Difficulty_Event_Leave") call SaveStr(j,GetHandleId(Condition(function Yxo)),0,"s"+"__Difficulty_Conditions") +call SaveStr(j,GetHandleId(Condition(function Yro)),0,"s"+"__Dialog_allocCustom") call SaveStr(j,GetHandleId(Condition(function YVo)),0,"s"+"__Dialog_Create") +call SaveStr(j,GetHandleId(Condition(function YXo)),0,"s"+"__Difficulty_allocCustom") call SaveStr(j,GetHandleId(Condition(function YIo)),0,"s"+"__DialogButton_allocCustom") call SaveStr(j,GetHandleId(Condition(function YHo)),0,"s"+"__Difficulty_EasyModifiers") call SaveStr(j,GetHandleId(Condition(function YJo)),0,"s"+"__Announcement_allocCustom") call SaveStr(j,GetHandleId(Condition(function YKo)),0,"s"+"__Difficulty_MediumModifiers") call SaveStr(j,GetHandleId(Condition(function Ylo)),0,"s"+"__Artifact_Event_Create") +call SaveStr(j,GetHandleId(Condition(function Ymo)),0,"s"+"__Artifact_allocCustom") call SaveStr(j,GetHandleId(Condition(function Ypo)),0,"s"+"__Artifact_Create_Enum") call SaveStr(j,GetHandleId(Condition(function Yqo)),0,"s"+"__Artifact_Start") call SaveStr(j,GetHandleId(Condition(function Yso)),0,"s"+"__Difficulty_MediumUpModifiers") call SaveStr(j,GetHandleId(Condition(function YSo)),0,"s"+"__Difficulty_HardModifiers") call SaveStr(j,GetHandleId(Condition(function YTo)),0,"s"+"__Difficulty_HardUpModifiers") call SaveStr(j,GetHandleId(Condition(function Y0o)),0,"s"+"__Difficulty_DoAnnouncement") +call SaveStr(j,GetHandleId(Condition(function Y1o)),0,"s"+"__Act_AdjustInfoPanel") call SaveStr(j,GetHandleId(Condition(function Y2o)),0,"s"+"__Act_Event_DifficultySet") call SaveStr(j,GetHandleId(Condition(function Y3o)),0,"s"+"__Difficulty_Event_DialogClick") call SaveStr(j,GetHandleId(Condition(function Y7o)),0,"s"+"__Difficulty_Start") call SaveStr(j,GetHandleId(Condition(function Y9o)),0,"s"+"__Camera_allocCustom") call SaveStr(j,GetHandleId(Condition(function zVo)),0,"s"+"__Intro_Ending") call SaveStr(j,GetHandleId(Condition(function zEo)),0,"s"+"__Intro_AbortTrig") call SaveStr(j,GetHandleId(Condition(function zHo)),0,"s"+"__Intro_Step27") call SaveStr(j,GetHandleId(Condition(function zjo)),0,"s"+"__Intro_Step26") call SaveStr(j,GetHandleId(Condition(function zJo)),0,"s"+"__Intro_Step25") call SaveStr(j,GetHandleId(Condition(function zko)),0,"s"+"__Intro_Step24b") +call SaveStr(j,GetHandleId(Condition(function zKo)),0,"s"+"__Intro_Step24") call SaveStr(j,GetHandleId(Condition(function zlo)),0,"s"+"__Intro_Step23c") +call SaveStr(j,GetHandleId(Condition(function zLo)),0,"s"+"__Intro_Step23b") +call SaveStr(j,GetHandleId(Condition(function zmo)),0,"s"+"__Intro_Step23") call SaveStr(j,GetHandleId(Condition(function zMo)),0,"s"+"__Intro_Step22d") +call SaveStr(j,GetHandleId(Condition(function zpo)),0,"s"+"__Intro_Step22c") +call SaveStr(j,GetHandleId(Condition(function zPo)),0,"s"+"__Intro_Step22b") +call SaveStr(j,GetHandleId(Condition(function zqo)),0,"s"+"__Intro_Step22") call SaveStr(j,GetHandleId(Condition(function zQo)),0,"s"+"__Intro_Step21b") +call SaveStr(j,GetHandleId(Condition(function zso)),0,"s"+"__Intro_Step21") call SaveStr(j,GetHandleId(Condition(function zSo)),0,"s"+"__Intro_Step20") call SaveStr(j,GetHandleId(Condition(function zto)),0,"s"+"__Intro_Step19b") +call SaveStr(j,GetHandleId(Condition(function zTo)),0,"s"+"__Intro_Step19") call SaveStr(j,GetHandleId(Condition(function zuo)),0,"s"+"__Intro_Step18b") +call SaveStr(j,GetHandleId(Condition(function zUo)),0,"s"+"__Intro_Step18") call SaveStr(j,GetHandleId(Condition(function zwo)),0,"s"+"__Intro_Step17c") +call SaveStr(j,GetHandleId(Condition(function zWo)),0,"s"+"__Intro_Step17b") +call SaveStr(j,GetHandleId(Condition(function zyo)),0,"s"+"__Intro_Step17") call SaveStr(j,GetHandleId(Condition(function zYo)),0,"s"+"__Intro_Step16f") +call SaveStr(j,GetHandleId(Condition(function zzo)),0,"s"+"__Intro_Step16e") +call SaveStr(j,GetHandleId(Condition(function zZo)),0,"s"+"__Intro_Step16d") +call SaveStr(j,GetHandleId(Condition(function z_o)),0,"s"+"__Intro_Step16c") +call SaveStr(j,GetHandleId(Condition(function z0o)),0,"s"+"__Intro_Step16b") +call SaveStr(j,GetHandleId(Condition(function z1o)),0,"s"+"__Intro_Step16") call SaveStr(j,GetHandleId(Condition(function z2o)),0,"s"+"__Intro_Step15") call SaveStr(j,GetHandleId(Condition(function z3o)),0,"s"+"__Intro_Step14e") +call SaveStr(j,GetHandleId(Condition(function z4o)),0,"s"+"__Intro_Step14d") +call SaveStr(j,GetHandleId(Condition(function z5o)),0,"s"+"__Intro_Step14c") +call SaveStr(j,GetHandleId(Condition(function z6o)),0,"s"+"__Intro_Step14b") +call SaveStr(j,GetHandleId(Condition(function z7o)),0,"s"+"__Intro_Step14") call SaveStr(j,GetHandleId(Condition(function z8o)),0,"s"+"__Intro_Step13c") +call SaveStr(j,GetHandleId(Condition(function z9o)),0,"s"+"__Intro_Step13b") +call SaveStr(j,GetHandleId(Condition(function Zvo)),0,"s"+"__Intro_Step13") call SaveStr(j,GetHandleId(Condition(function Zeo)),0,"s"+"__Intro_Step12b") +call SaveStr(j,GetHandleId(Condition(function Zxo)),0,"s"+"__Intro_Step12") call SaveStr(j,GetHandleId(Condition(function Zoo)),0,"s"+"__Intro_Step11c") +call SaveStr(j,GetHandleId(Condition(function Zro)),0,"s"+"__Intro_Step11b") +call SaveStr(j,GetHandleId(Condition(function Zio)),0,"s"+"__Intro_Step11") call SaveStr(j,GetHandleId(Condition(function Zao)),0,"s"+"__Intro_Step10c") +call SaveStr(j,GetHandleId(Condition(function Zno)),0,"s"+"__Intro_Step10b") +call SaveStr(j,GetHandleId(Condition(function ZVo)),0,"s"+"__Intro_Step10") call SaveStr(j,GetHandleId(Condition(function ZEo)),0,"s"+"__Intro_Step9") call SaveStr(j,GetHandleId(Condition(function ZXo)),0,"s"+"__Intro_Step8") call SaveStr(j,GetHandleId(Condition(function ZOo)),0,"s"+"__Intro_Step7b") call SaveStr(j,GetHandleId(Condition(function ZRo)),0,"s"+"__Intro_Step7") call SaveStr(j,GetHandleId(Condition(function ZIo)),0,"s"+"__Intro_Step6") call SaveStr(j,GetHandleId(Condition(function ZAo)),0,"s"+"__Intro_Step5") call SaveStr(j,GetHandleId(Condition(function ZNo)),0,"s"+"__Intro_Step4") call SaveStr(j,GetHandleId(Condition(function Zbo)),0,"s"+"__Intro_Step3") call SaveStr(j,GetHandleId(Condition(function ZBo)),0,"s"+"__Intro_Step2") call SaveStr(j,GetHandleId(Condition(function Zco)),0,"s"+"__Intro_Event_Start") +call SaveStr(j,GetHandleId(Condition(function ZCo)),0,"s"+"__Intro_Init") call SaveStr(j,GetHandleId(Condition(function Zdo)),0,"s"+"__Intro_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function ZDo)),0,"s"+"__FolderLevelSet_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Zfo)),0,"s"+"__FolderLevelSet_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ZFo)),0,"s"+"__FolderLevelSet_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Zgo)),0,"s"+"__FolderLevelSet_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ZGo)),0,"s"+"__FolderLevelSet_StructLevels_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Zho)),0,"s"+"__FolderLevelSet_StructQuery_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ZHo)),0,"s"+"__LevelSet_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Zjo)),0,"s"+"__FolderLevel_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ZJo)),0,"s"+"__FolderLevel_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Zko)),0,"s"+"__FolderLevel_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ZKo)),0,"s"+"__FolderLevel_FolderData_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Zlo)),0,"s"+"__FolderLevel_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ZLo)),0,"s"+"__FolderLevel_StructEvent_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Zmo)),0,"s"+"__Level_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ZPo)),0,"s"+"__Level_allocCustom") +call SaveStr(j,GetHandleId(Condition(function ZSo)),0,"s"+"__Level_Init_Deers") call SaveStr(j,GetHandleId(Condition(function Zto)),0,"s"+"__Level_Init_Trolls") +call SaveStr(j,GetHandleId(Condition(function ZTo)),0,"s"+"__Level_Init_Gnolls") +call SaveStr(j,GetHandleId(Condition(function Zuo)),0,"s"+"__Level_Init_Wolves") +call SaveStr(j,GetHandleId(Condition(function ZUo)),0,"s"+"__Level_Init_Moonkins") call SaveStr(j,GetHandleId(Condition(function Zwo)),0,"s"+"__Level_Init_SnowFalcons") call SaveStr(j,GetHandleId(Condition(function ZWo)),0,"s"+"__Level_Init_Kobolds") call SaveStr(j,GetHandleId(Condition(function Zyo)),0,"s"+"__Level_Init_Treants") call SaveStr(j,GetHandleId(Condition(function ZYo)),0,"s"+"__Level_Init_FurbolgOracle") call SaveStr(j,GetHandleId(Condition(function Zzo)),0,"s"+"__Level_Init_Scouts") +call SaveStr(j,GetHandleId(Condition(function ZZo)),0,"s"+"__Level_Init_AxeFighters") call SaveStr(j,GetHandleId(Condition(function Z_o)),0,"s"+"__Level_Init_Raiders") call SaveStr(j,GetHandleId(Condition(function Z0o)),0,"s"+"__Level_Init_Catapults") call SaveStr(j,GetHandleId(Condition(function Z1o)),0,"s"+"__Level_Init_Assassins") call SaveStr(j,GetHandleId(Condition(function Z2o)),0,"s"+"__Level_Init_Leader") +call SaveStr(j,GetHandleId(Condition(function Z3o)),0,"s"+"__Level_Init_Penguins") call SaveStr(j,GetHandleId(Condition(function Z4o)),0,"s"+"__Level_InitObjs") call SaveStr(j,GetHandleId(Condition(function Z6o)),0,"s"+"__Act_StartNext") +call SaveStr(j,GetHandleId(Condition(function Z7o)),0,"s"+"__LevelSet_QueryNext") call SaveStr(j,GetHandleId(Condition(function Z8o)),0,"s"+"__LevelSet_Event_LevelEnding") call SaveStr(j,GetHandleId(Condition(function Z9o)),0,"s"+"__LevelSet_Event_GameOver") call SaveStr(j,GetHandleId(Condition(function ver)),0,"s"+"__LevelSet_allocCustom") call SaveStr(j,GetHandleId(Condition(function vVr)),0,"s"+"__LevelSet_AddLevels") call SaveStr(j,GetHandleId(Condition(function vEr)),0,"s"+"__LevelSet_InitObjs") +call SaveStr(j,GetHandleId(Condition(function vOr)),0,"s"+"__FolderLevelSet_StructQuery_Event_Chat") +call SaveStr(j,GetHandleId(Condition(function vRr)),0,"s"+"__FolderLevelSet_StructQuery_Event_HostChange") call SaveStr(j,GetHandleId(Condition(function vIr)),0,"s"+"__FolderLevelSet_StructQuery_Init") call SaveStr(j,GetHandleId(Condition(function vAr)),0,"s"+"__LevelSet_Init") +call SaveStr(j,GetHandleId(Condition(function vNr)),0,"s"+"__Level_Init") call SaveStr(j,GetHandleId(Condition(function vbr)),0,"s"+"__Level_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function vBr)),0,"s"+"__Library_Init_obj_obj_shop_wc3unit") +call SaveStr(j,GetHandleId(Condition(function vcr)),0,"s"+"__Library_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function vCr)),0,"s"+"__Library_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function vdr)),0,"s"+"__Library_Event_Create") call SaveStr(j,GetHandleId(Condition(function vDr)),0,"s"+"__Library_Init") call SaveStr(j,GetHandleId(Condition(function vfr)),0,"s"+"__Library_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function vFr)),0,"s"+"__Lumber_Init_obj_obj_thisItemType_wc3item") call SaveStr(j,GetHandleId(Condition(function vgr)),0,"s"+"__Lumber_Init_obj_obj_dummySound_wc3sound") call SaveStr(j,GetHandleId(Condition(function vGr)),0,"s"+"__Lumber_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function vhr)),0,"s"+"__Lumber_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vHr)),0,"s"+"__Lumber_Restore") call SaveStr(j,GetHandleId(Condition(function vjr)),0,"s"+"__Lumber_CreateRestoreEffect") call SaveStr(j,GetHandleId(Condition(function vkr)),0,"s"+"__Lumber_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function vlr)),0,"s"+"__Lumber_allocCustom") call SaveStr(j,GetHandleId(Condition(function vmr)),0,"s"+"__Lumber_Event_Start") call SaveStr(j,GetHandleId(Condition(function vMr)),0,"s"+"__Lumber_Event_ItemUse") call SaveStr(j,GetHandleId(Condition(function vpr)),0,"s"+"__Lumber_Init") call SaveStr(j,GetHandleId(Condition(function vPr)),0,"s"+"__Lumber_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function vqr)),0,"s"+"__FolderNullboard_StructQuestLog_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vQr)),0,"s"+"__Nullboard_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vsr)),0,"s"+"__Nullboard_Update") call SaveStr(j,GetHandleId(Condition(function vSr)),0,"s"+"__Nullboard_Event_AfterIntro") call SaveStr(j,GetHandleId(Condition(function vtr)),0,"s"+"__Nullboard_InitLog") +call SaveStr(j,GetHandleId(Condition(function vur)),0,"s"+"__FolderNullboard_StructQuestLog_Init") call SaveStr(j,GetHandleId(Condition(function vUr)),0,"s"+"__Nullboard_Init") call SaveStr(j,GetHandleId(Condition(function vwr)),0,"s"+"__Nullboard_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function vWr)),0,"s"+"__FolderOptionsBoard_StructCameraSmoothing_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vyr)),0,"s"+"__FolderOptionsBoard_StructCameraZoom_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function vYr)),0,"s"+"__FolderOptionsBoard_StructEffectLevel_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vzr)),0,"s"+"__FolderOptionsBoard_StructHint_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vZr)),0,"s"+"__FolderOptionsBoard_StructMusicVolume_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function v_r)),0,"s"+"__FolderOptionsBoard_StructSoundVolume_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function v0r)),0,"s"+"__OptionsBoard_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function v5r)),0,"s"+"__OptionsBoard_Event_AfterIntro") +call SaveStr(j,GetHandleId(Condition(function v6r)),0,"s"+"__FolderOptionsBoard_StructCameraSmoothing_Init") +call SaveStr(j,GetHandleId(Condition(function v7r)),0,"s"+"__FolderOptionsBoard_StructCameraZoom_Init") call SaveStr(j,GetHandleId(Condition(function v8r)),0,"s"+"__FolderOptionsBoard_StructEffectLevel_Init") +call SaveStr(j,GetHandleId(Condition(function v9r)),0,"s"+"__FolderOptionsBoard_StructHint_Init") call SaveStr(j,GetHandleId(Condition(function evr)),0,"s"+"__FolderOptionsBoard_StructSoundVolume_Init") +call SaveStr(j,GetHandleId(Condition(function eer)),0,"s"+"__OptionsBoard_Event_Start") call SaveStr(j,GetHandleId(Condition(function exr)),0,"s"+"__OptionsBoard_Init") +call SaveStr(j,GetHandleId(Condition(function eor)),0,"s"+"__OptionsBoard_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function err)),0,"s"+"__Pharmacy_Init_obj_obj_shop_wc3unit") call SaveStr(j,GetHandleId(Condition(function eir)),0,"s"+"__Pharmacy_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function ear)),0,"s"+"__Pharmacy_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function enr)),0,"s"+"__EmergencyProvisions_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function eVr)),0,"s"+"__EmergencyProvisions_Init_obj_obj_thisItem_wc3item") +call SaveStr(j,GetHandleId(Condition(function eEr)),0,"s"+"__EmergencyProvisions_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function eXr)),0,"s"+"__EmergencyProvisions_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function eOr)),0,"s"+"__EmergencyProvisions_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function eRr)),0,"s"+"__EmergencyProvisions_Init") call SaveStr(j,GetHandleId(Condition(function eIr)),0,"s"+"__EmergencyProvisions_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function eAr)),0,"s"+"__EyeOfTheFlame_Init_obj_obj_summonUnitType_wc3unit") +call SaveStr(j,GetHandleId(Condition(function eNr)),0,"s"+"__EyeOfTheFlame_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function ebr)),0,"s"+"__EyeOfTheFlame_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function eBr)),0,"s"+"__EyeOfTheFlame_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function ecr)),0,"s"+"__EyeOfTheFlame_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function efr)),0,"s"+"__EyeOfTheFlame_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function eFr)),0,"s"+"__EyeOfTheFlame_Init") call SaveStr(j,GetHandleId(Condition(function egr)),0,"s"+"__EyeOfTheFlame_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function eGr)),0,"s"+"__TorchLight_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function ehr)),0,"s"+"__TorchLight_Init_obj_obj_ignitionBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function eHr)),0,"s"+"__TorchLight_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function ejr)),0,"s"+"__TorchLight_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function eJr)),0,"s"+"__TorchLight_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function elr)),0,"s"+"__TorchLight_Event_Damage") call SaveStr(j,GetHandleId(Condition(function eLr)),0,"s"+"__TorchLight_TargetConditions") call SaveStr(j,GetHandleId(Condition(function epr)),0,"s"+"__TorchLight_Update") +call SaveStr(j,GetHandleId(Condition(function eqr)),0,"s"+"__TorchLight_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function eQr)),0,"s"+"__TorchLight_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function esr)),0,"s"+"__TorchLight_Event_Learn") call SaveStr(j,GetHandleId(Condition(function eSr)),0,"s"+"__TorchLight_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function etr)),0,"s"+"__TorchLight_Init") call SaveStr(j,GetHandleId(Condition(function eTr)),0,"s"+"__TorchLight_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function eur)),0,"s"+"__HerbalOintment_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function eUr)),0,"s"+"__HerbalOintment_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function ewr)),0,"s"+"__HerbalOintment_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function eWr)),0,"s"+"__HerbalOintment_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function eyr)),0,"s"+"__HerbalOintment_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eYr)),0,"s"+"__HerbalOintment_Event_Damage") call SaveStr(j,GetHandleId(Condition(function e1r)),0,"s"+"__HerbalOintment_Heal") call SaveStr(j,GetHandleId(Condition(function e2r)),0,"s"+"__HerbalOintment_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function e3r)),0,"s"+"__HerbalOintment_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function e4r)),0,"s"+"__HerbalOintment_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function e5r)),0,"s"+"__HerbalOintment_Init") call SaveStr(j,GetHandleId(Condition(function e6r)),0,"s"+"__HerbalOintment_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function e7r)),0,"s"+"__FolderScrollOfProtection_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function e8r)),0,"s"+"__FolderScrollOfProtection_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function e9r)),0,"s"+"__FolderScrollOfProtection_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xvr)),0,"s"+"__ScrollOfProtection_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function xer)),0,"s"+"__ScrollOfProtection_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function xxr)),0,"s"+"__ScrollOfProtection_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function xor)),0,"s"+"__ScrollOfProtection_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xrr)),0,"s"+"__ScrollOfProtection_Conditions") +call SaveStr(j,GetHandleId(Condition(function xar)),0,"s"+"__ScrollOfProtection_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function xEr)),0,"s"+"__FolderScrollOfProtection_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function xXr)),0,"s"+"__ScrollOfProtection_Init") call SaveStr(j,GetHandleId(Condition(function xOr)),0,"s"+"__ScrollOfProtection_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function xRr)),0,"s"+"__FolderFireWater_StructBuff_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function xIr)),0,"s"+"__FolderFireWater_StructBuff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function xAr)),0,"s"+"__FolderFireWater_StructBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xNr)),0,"s"+"__FireWater_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function xbr)),0,"s"+"__FireWater_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function xBr)),0,"s"+"__FireWater_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function xcr)),0,"s"+"__FireWater_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xdr)),0,"s"+"__FireWater_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function xDr)),0,"s"+"__FolderFireWater_StructBuff_Conditions") +call SaveStr(j,GetHandleId(Condition(function xfr)),0,"s"+"__FolderFireWater_StructBuff_Interval") call SaveStr(j,GetHandleId(Condition(function xgr)),0,"s"+"__FolderFireWater_StructBuff_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function xGr)),0,"s"+"__FolderFireWater_StructBuff_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function xhr)),0,"s"+"__FolderFireWater_StructBuff_Init") call SaveStr(j,GetHandleId(Condition(function xHr)),0,"s"+"__FireWater_Init") call SaveStr(j,GetHandleId(Condition(function xjr)),0,"s"+"__FireWater_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function xJr)),0,"s"+"__IceTea_Init_obj_obj_SoftDrink_wc3item") +call SaveStr(j,GetHandleId(Condition(function xkr)),0,"s"+"__IceTea_Init_obj_obj_ThirstQuencher_wc3item") call SaveStr(j,GetHandleId(Condition(function xKr)),0,"s"+"__IceTea_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function xlr)),0,"s"+"__IceTea_Init_obj_obj_IceTea_wc3item") call SaveStr(j,GetHandleId(Condition(function xLr)),0,"s"+"__IceTea_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function xmr)),0,"s"+"__IceTea_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xMr)),0,"s"+"__IceTea_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function xpr)),0,"s"+"__IceTea_Init") call SaveStr(j,GetHandleId(Condition(function xPr)),0,"s"+"__IceTea_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function xqr)),0,"s"+"__Meat_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function xQr)),0,"s"+"__Meat_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function xsr)),0,"s"+"__Meat_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function xSr)),0,"s"+"__Meat_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xwr)),0,"s"+"__Meat_Event_Death") call SaveStr(j,GetHandleId(Condition(function xyr)),0,"s"+"__Meat_allocCustom") call SaveStr(j,GetHandleId(Condition(function xYr)),0,"s"+"__Meat_Heal") +call SaveStr(j,GetHandleId(Condition(function xzr)),0,"s"+"__Meat_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function xZr)),0,"s"+"__Meat_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function x_r)),0,"s"+"__Meat_Init") +call SaveStr(j,GetHandleId(Condition(function x0r)),0,"s"+"__Meat_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function x1r)),0,"s"+"__TeleportScroll_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function x2r)),0,"s"+"__TeleportScroll_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function x3r)),0,"s"+"__TeleportScroll_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function x4r)),0,"s"+"__TeleportScroll_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function x5r)),0,"s"+"__TeleportScroll_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function x6r)),0,"s"+"__TeleportScroll_Event_TargetDeath") call SaveStr(j,GetHandleId(Condition(function x7r)),0,"s"+"__TeleportScroll_Conditions") +call SaveStr(j,GetHandleId(Condition(function x9r)),0,"s"+"__TeleportScroll_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function oar)),0,"s"+"__TeleportScroll_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function oVr)),0,"s"+"__TeleportScroll_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function oEr)),0,"s"+"__TeleportScroll_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function oXr)),0,"s"+"__TeleportScroll_Init") call SaveStr(j,GetHandleId(Condition(function oOr)),0,"s"+"__TeleportScroll_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function oRr)),0,"s"+"__Rune_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function oIr)),0,"s"+"__Rune_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function oAr)),0,"s"+"__Rune_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function obr)),0,"s"+"__Rune_Conditions") call SaveStr(j,GetHandleId(Condition(function ocr)),0,"s"+"__Rune_allocCustom") call SaveStr(j,GetHandleId(Condition(function ogr)),0,"s"+"__Rune_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function oGr)),0,"s"+"__Rune_Event_Spawn_Death") call SaveStr(j,GetHandleId(Condition(function ohr)),0,"s"+"__Rune_Event_Rune_Death") +call SaveStr(j,GetHandleId(Condition(function oHr)),0,"s"+"__Rune_Event_Spawn") call SaveStr(j,GetHandleId(Condition(function ojr)),0,"s"+"__Rune_Event_ItemUse") call SaveStr(j,GetHandleId(Condition(function oKr)),0,"s"+"__Rune_Init") +call SaveStr(j,GetHandleId(Condition(function olr)),0,"s"+"__Rune_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function oLr)),0,"s"+"__Snowmen_Init_obj_obj_thisUnitType_wc3unit") +call SaveStr(j,GetHandleId(Condition(function omr)),0,"s"+"__Snowmen_Init_obj_obj_thisItemType_wc3item") +call SaveStr(j,GetHandleId(Condition(function oMr)),0,"s"+"__Snowmen_Init_obj_obj_possessionBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function opr)),0,"s"+"__Snowmen_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function oPr)),0,"s"+"__Snowmen_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function oqr)),0,"s"+"__Snowmen_Event_Death") call SaveStr(j,GetHandleId(Condition(function osr)),0,"s"+"__Snowmen_Event_Create") call SaveStr(j,GetHandleId(Condition(function oSr)),0,"s"+"__Snowmen_Event_Use") +call SaveStr(j,GetHandleId(Condition(function oTr)),0,"s"+"__Snowmen_Init") call SaveStr(j,GetHandleId(Condition(function our)),0,"s"+"__Snowmen_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function oUr)),0,"s"+"__SpawnLocation_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function owr)),0,"s"+"__FolderSpawnGroup_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oWr)),0,"s"+"__FolderSpawnGroup_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oyr)),0,"s"+"__FolderSpawnGroup_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oYr)),0,"s"+"__FolderSpawnGroup_StructData_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ozr)),0,"s"+"__SpawnGroup_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oZr)),0,"s"+"__FolderSpawnWave_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function o_r)),0,"s"+"__FolderSpawnWave_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function o0r)),0,"s"+"__FolderSpawnWave_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function o1r)),0,"s"+"__FolderSpawnWave_FolderData_FolderReal_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function o2r)),0,"s"+"__FolderSpawnWave_FolderData_StructReal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function o3r)),0,"s"+"__FolderSpawnWave_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function o4r)),0,"s"+"__FolderSpawnWave_StructGroups_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function o5r)),0,"s"+"__SpawnWave_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function o6r)),0,"s"+"__FolderSpawn_StructQueue_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function o7r)),0,"s"+"__FolderSpawn_StructShadow_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function o8r)),0,"s"+"__FolderSpawn_StructShadow_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function o9r)),0,"s"+"__FolderSpawn_StructShadow_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function rvr)),0,"s"+"__Spawn_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function rer)),0,"s"+"__Spawn_Event_ClearChat") +call SaveStr(j,GetHandleId(Condition(function rxr)),0,"s"+"__Spawn_CheckForLevelEnding") +call SaveStr(j,GetHandleId(Condition(function ror)),0,"s"+"__Spawn_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function rrr)),0,"s"+"__Spawn_RefreshHeroes") call SaveStr(j,GetHandleId(Condition(function rir)),0,"s"+"__Spawn_Event_ActEnding") +call SaveStr(j,GetHandleId(Condition(function rOr)),0,"s"+"__Spawn_Event_LevelEnding") call SaveStr(j,GetHandleId(Condition(function rIr)),0,"s"+"__Spawn_EndSpawn") call SaveStr(j,GetHandleId(Condition(function rdr)),0,"s"+"__FolderSpawn_StructQueue_allocCustom") call SaveStr(j,GetHandleId(Condition(function rFr)),0,"s"+"__FolderSpawn_StructQueue_ACTIVE_QUEUE_FetchFirst") call SaveStr(j,GetHandleId(Condition(function rlr)),0,"s"+"__FolderSpawn_StructQueue_Interval") call SaveStr(j,GetHandleId(Condition(function rMr)),0,"s"+"__SpawnWave_GroupSpawn") call SaveStr(j,GetHandleId(Condition(function rPr)),0,"s"+"__SpawnWave_Ending") call SaveStr(j,GetHandleId(Condition(function rQr)),0,"s"+"__Spawn_Event_LevelStart") call SaveStr(j,GetHandleId(Condition(function rtr)),0,"s"+"__Spawn_Event_Start") +call SaveStr(j,GetHandleId(Condition(function rTr)),0,"s"+"__SpawnWave_RUNNING_LIST_FOR_EACH_Set") call SaveStr(j,GetHandleId(Condition(function rur)),0,"s"+"__SpawnWave_RUNNING_LIST_FOR_EACH_FetchFirst") call SaveStr(j,GetHandleId(Condition(function rUr)),0,"s"+"__SpawnWave_PauseAll") call SaveStr(j,GetHandleId(Condition(function rwr)),0,"s"+"__Spawn_Event_GameOver") call SaveStr(j,GetHandleId(Condition(function ryr)),0,"s"+"__TimerDialog_allocCustom") call SaveStr(j,GetHandleId(Condition(function r_r)),0,"s"+"__FolderSpawn_StructShadow_Event_Damage") +call SaveStr(j,GetHandleId(Condition(function r3r)),0,"s"+"__FolderSpawn_StructShadow_Event_Death") call SaveStr(j,GetHandleId(Condition(function r4r)),0,"s"+"__FolderSpawn_StructShadow_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function r5r)),0,"s"+"__FolderSpawn_StructShadow_Event_Idle") call SaveStr(j,GetHandleId(Condition(function r8r)),0,"s"+"__FolderSpawn_StructShadow_REVIVE_QUEUE_FetchFirst") call SaveStr(j,GetHandleId(Condition(function ixr)),0,"s"+"__FolderSpawn_StructShadow_ReviveInterval") call SaveStr(j,GetHandleId(Condition(function ior)),0,"s"+"__FolderSpawn_StructShadow_Event_ShadowDeath") call SaveStr(j,GetHandleId(Condition(function iir)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructIdle_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function iar)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructIdle_FOR_EACH_LIST_FetchFirst") call SaveStr(j,GetHandleId(Condition(function iVr)),0,"s"+"__FolderUnit_FolderOrder_FolderEvents_StructIdle_Update") +call SaveStr(j,GetHandleId(Condition(function iXr)),0,"s"+"__FolderSpawn_StructShadow_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function iRr)),0,"s"+"__FolderSpawn_StructShadow_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function iIr)),0,"s"+"__FolderSpawn_StructShadow_Init") +call SaveStr(j,GetHandleId(Condition(function iBr)),0,"s"+"__SpawnLocation_allocCustom") +call SaveStr(j,GetHandleId(Condition(function ifr)),0,"s"+"__SpawnLocation_Init") call SaveStr(j,GetHandleId(Condition(function iFr)),0,"s"+"__FolderSpawnType_StructChampion_Event_Spawn") call SaveStr(j,GetHandleId(Condition(function ijr)),0,"s"+"__FolderSpawnType_StructItems_Event_Spawn") call SaveStr(j,GetHandleId(Condition(function ikr)),0,"s"+"__SpawnType_allocCustom") +call SaveStr(j,GetHandleId(Condition(function iQr)),0,"s"+"__SpawnType_Finalize") call SaveStr(j,GetHandleId(Condition(function isr)),0,"s"+"__SpawnType_Init") call SaveStr(j,GetHandleId(Condition(function itr)),0,"s"+"__SpawnWave_allocCustom") +call SaveStr(j,GetHandleId(Condition(function iWr)),0,"s"+"__SpawnGroup_allocCustom") call SaveStr(j,GetHandleId(Condition(function izr)),0,"s"+"__SpawnGroup_Create") +call SaveStr(j,GetHandleId(Condition(function i4r)),0,"s"+"__SpawnWave_Init_Deers") call SaveStr(j,GetHandleId(Condition(function i6r)),0,"s"+"__SpawnWave_Init_Trolls") +call SaveStr(j,GetHandleId(Condition(function i7r)),0,"s"+"__SpawnWave_Init_Gnolls") +call SaveStr(j,GetHandleId(Condition(function i8r)),0,"s"+"__SpawnWave_Init_Wolves") +call SaveStr(j,GetHandleId(Condition(function i9r)),0,"s"+"__SpawnWave_Init_Moonkins") call SaveStr(j,GetHandleId(Condition(function avr)),0,"s"+"__SpawnWave_Init_SnowFalcons") call SaveStr(j,GetHandleId(Condition(function aer)),0,"s"+"__SpawnWave_Init_Kobolds") call SaveStr(j,GetHandleId(Condition(function axr)),0,"s"+"__SpawnWave_Init_Treants") call SaveStr(j,GetHandleId(Condition(function aor)),0,"s"+"__SpawnWave_Init_FurbolgOracle") call SaveStr(j,GetHandleId(Condition(function arr)),0,"s"+"__SpawnWave_Init_Penguins") call SaveStr(j,GetHandleId(Condition(function air)),0,"s"+"__SpawnWave_Init") call SaveStr(j,GetHandleId(Condition(function aar)),0,"s"+"__Spawn_Init") call SaveStr(j,GetHandleId(Condition(function anr)),0,"s"+"__Spawn_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function aVr)),0,"s"+"__FolderSpawnType_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function aEr)),0,"s"+"__FolderSpawnType_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function aXr)),0,"s"+"__FolderSpawnType_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function aOr)),0,"s"+"__FolderSpawnType_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function aRr)),0,"s"+"__FolderSpawnType_StructEvent_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function aIr)),0,"s"+"__FolderSpawnType_StructChampion_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function aAr)),0,"s"+"__FolderSpawnType_StructItems_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function aNr)),0,"s"+"__SpawnType_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function abr)),0,"s"+"__StructInfo_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function adr)),0,"s"+"__StructInfo_Event_AfterIntro") call SaveStr(j,GetHandleId(Condition(function aDr)),0,"s"+"__StructInfo_UpdateByTimer") call SaveStr(j,GetHandleId(Condition(function afr)),0,"s"+"__StructInfo_Event_Start") call SaveStr(j,GetHandleId(Condition(function aFr)),0,"s"+"__StructInfo_Init") call SaveStr(j,GetHandleId(Condition(function agr)),0,"s"+"__StructInfo_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function aGr)),0,"s"+"__Tavern_Init_obj_obj_shop_wc3unit") call SaveStr(j,GetHandleId(Condition(function ahr)),0,"s"+"__Tavern_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function aHr)),0,"s"+"__Tavern_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ajr)),0,"s"+"__TropicalRainbow_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function aJr)),0,"s"+"__TropicalRainbow_Init_obj_obj_thisItem_wc3item") +call SaveStr(j,GetHandleId(Condition(function akr)),0,"s"+"__TropicalRainbow_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function aKr)),0,"s"+"__TropicalRainbow_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function alr)),0,"s"+"__TropicalRainbow_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function aLr)),0,"s"+"__TropicalRainbow_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function amr)),0,"s"+"__TropicalRainbow_Init") call SaveStr(j,GetHandleId(Condition(function aMr)),0,"s"+"__TropicalRainbow_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function apr)),0,"s"+"__FolderTomes_StructAgi_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function aPr)),0,"s"+"__FolderTomes_StructAgi_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function aqr)),0,"s"+"__FolderTomes_StructAgi_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function aQr)),0,"s"+"__FolderTomes_StructInt_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function asr)),0,"s"+"__FolderTomes_StructInt_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function aSr)),0,"s"+"__FolderTomes_StructInt_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function atr)),0,"s"+"__FolderTomes_StructStr_Init_obj_obj_thisItem_wc3item") call SaveStr(j,GetHandleId(Condition(function aTr)),0,"s"+"__FolderTomes_StructStr_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function aur)),0,"s"+"__FolderTomes_StructStr_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function aUr)),0,"s"+"__Tomes_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function awr)),0,"s"+"__Tomes_Event_Drop") call SaveStr(j,GetHandleId(Condition(function azr)),0,"s"+"__FolderTomes_StructAgi_Event_ItemUse") call SaveStr(j,GetHandleId(Condition(function aZr)),0,"s"+"__FolderTomes_StructInt_Event_ItemUse") call SaveStr(j,GetHandleId(Condition(function a_r)),0,"s"+"__FolderTomes_StructStr_Event_ItemUse") call SaveStr(j,GetHandleId(Condition(function a0r)),0,"s"+"__Tomes_Init") call SaveStr(j,GetHandleId(Condition(function a1r)),0,"s"+"__Tomes_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function a2r)),0,"s"+"__UnitNameTag_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function a3r)),0,"s"+"__UnitNameTag_Event_Create") call SaveStr(j,GetHandleId(Condition(function a5r)),0,"s"+"__UnitNameTag_Event_Destroy") +call SaveStr(j,GetHandleId(Condition(function a6r)),0,"s"+"__UnitNameTag_Init") call SaveStr(j,GetHandleId(Condition(function a7r)),0,"s"+"__UnitNameTag_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function a8r)),0,"s"+"__UnitStatus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function a9r)),0,"s"+"__UnitStatus_Event_TargetInRange") call SaveStr(j,GetHandleId(Condition(function nvr)),0,"s"+"__UnitStatus_Event_HeroPick") +call SaveStr(j,GetHandleId(Condition(function nir)),0,"s"+"__UnitStatus_Event_Deselect") +call SaveStr(j,GetHandleId(Condition(function nkr)),0,"s"+"__UnitStatus_Update") +call SaveStr(j,GetHandleId(Condition(function nKr)),0,"s"+"__UnitStatus_Event_Select") call SaveStr(j,GetHandleId(Condition(function nlr)),0,"s"+"__UnitStatus_UpdateByTimer") call SaveStr(j,GetHandleId(Condition(function nLr)),0,"s"+"__UnitStatus_Event_Start") call SaveStr(j,GetHandleId(Condition(function nmr)),0,"s"+"__UnitStatus_Init") call SaveStr(j,GetHandleId(Condition(function nMr)),0,"s"+"__UnitStatus_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function npr)),0,"s"+"__VictoryRush_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function nPr)),0,"s"+"__VictoryRush_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function nqr)),0,"s"+"__VictoryRush_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function nQr)),0,"s"+"__VictoryRush_Event_Death") call SaveStr(j,GetHandleId(Condition(function nsr)),0,"s"+"__VictoryRush_Conditions") call SaveStr(j,GetHandleId(Condition(function nSr)),0,"s"+"__VictoryRush_Init") call SaveStr(j,GetHandleId(Condition(function ntr)),0,"s"+"__VictoryRush_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function nwr)),0,"s"+"__FolderWaypoint_FolderRegionCheck_StructRetreat_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function nWr)),0,"s"+"__FolderWaypoint_FolderRegionCheck_StructRetreat_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function nyr)),0,"s"+"__FolderWaypoint_FolderRegionCheck_StructRetreat_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function nYr)),0,"s"+"__FolderWaypoint_StructRegionCheck_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function nzr)),0,"s"+"__FolderWaypoint_StructSpawns_Init_obj_obj_wanderSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function nZr)),0,"s"+"__FolderWaypoint_StructSpawns_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function n_r)),0,"s"+"__FolderWaypoint_StructSpawns_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function n0r)),0,"s"+"__Waypoint_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function n2r)),0,"s"+"__Waypoint_allocCustom") call SaveStr(j,GetHandleId(Condition(function n7r)),0,"s"+"__Waypoint_Trig") +call SaveStr(j,GetHandleId(Condition(function Vvr)),0,"s"+"__FolderWaypoint_StructRegionCheck_Trig") +call SaveStr(j,GetHandleId(Condition(function Ver)),0,"s"+"__FolderWaypoint_StructRegionCheck_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function Vxr)),0,"s"+"__FolderWaypoint_StructRegionCheck_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Vor)),0,"s"+"__FolderWaypoint_StructRegionCheck_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Vrr)),0,"s"+"__FolderWaypoint_FolderRegionCheck_StructRetreat_Init") call SaveStr(j,GetHandleId(Condition(function Vir)),0,"s"+"__FolderWaypoint_StructRegionCheck_Init") +call SaveStr(j,GetHandleId(Condition(function Vnr)),0,"s"+"__FolderWaypoint_StructSpawns_Event_Destroy") +call SaveStr(j,GetHandleId(Condition(function VVr)),0,"s"+"__FolderWaypoint_StructSpawns_Event_Idle") call SaveStr(j,GetHandleId(Condition(function VEr)),0,"s"+"__FolderWaypoint_StructSpawns_Event_OwnerChange") +call SaveStr(j,GetHandleId(Condition(function VXr)),0,"s"+"__FolderWaypoint_StructSpawns_Event_Spawn") call SaveStr(j,GetHandleId(Condition(function VOr)),0,"s"+"__FolderWaypoint_StructSpawns_FOR_EACH_LIST_Set") +call SaveStr(j,GetHandleId(Condition(function VRr)),0,"s"+"__FolderWaypoint_StructSpawns_FOR_EACH_LIST_FetchFirst") call SaveStr(j,GetHandleId(Condition(function VIr)),0,"s"+"__FolderWaypoint_StructSpawns_Event_GameOver") call SaveStr(j,GetHandleId(Condition(function VNr)),0,"s"+"__FolderWaypoint_StructSpawns_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function VBr)),0,"s"+"__FolderWaypoint_StructSpawns_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Vcr)),0,"s"+"__FolderWaypoint_StructSpawns_Init") call SaveStr(j,GetHandleId(Condition(function VCr)),0,"s"+"__Waypoint_Init") +call SaveStr(j,GetHandleId(Condition(function Vdr)),0,"s"+"__Waypoint_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function VDr)),0,"s"+"__Zoom_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function VJr)),0,"s"+"__FolderCameraField_StructTimed_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Vlr)),0,"s"+"__FolderCameraField_StructTimed_Update") call SaveStr(j,GetHandleId(Condition(function Vmr)),0,"s"+"__FolderCameraField_StructTimed_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function Vpr)),0,"s"+"__Zoom_Update") call SaveStr(j,GetHandleId(Condition(function Vsr)),0,"s"+"__Zoom_Event_AfterIntro") +call SaveStr(j,GetHandleId(Condition(function VSr)),0,"s"+"__Zoom_Init") +call SaveStr(j,GetHandleId(Condition(function Vtr)),0,"s"+"__Zoom_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function VTr)),0,"s"+"__AxeFighter_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Vyr)),0,"s"+"__AxeFighter_Event_AcquiresTarget") call SaveStr(j,GetHandleId(Condition(function Vzr)),0,"s"+"__AxeFighter_Init") call SaveStr(j,GetHandleId(Condition(function VZr)),0,"s"+"__AxeFighter_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function V_r)),0,"s"+"__Balduir_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function V0r)),0,"s"+"__Balduir_Event_AcquiresTarget") call SaveStr(j,GetHandleId(Condition(function V1r)),0,"s"+"__Balduir_Init") call SaveStr(j,GetHandleId(Condition(function V2r)),0,"s"+"__Balduir_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function V3r)),0,"s"+"__FolderAura_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function V4r)),0,"s"+"__FolderAura_FolderData_StructBoolean_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function V5r)),0,"s"+"__FolderAura_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function V6r)),0,"s"+"__FolderAura_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function V7r)),0,"s"+"__FolderAura_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function V8r)),0,"s"+"__FolderAura_StructEvent_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function V9r)),0,"s"+"__FolderAura_StructTarget_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Evr)),0,"s"+"__Aura_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Err)),0,"s"+"__Aura_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function Eir)),0,"s"+"__Aura_FOR_EACH_LIST_FetchFirst") +call SaveStr(j,GetHandleId(Condition(function EAr)),0,"s"+"__Aura_UpdateByTimer") call SaveStr(j,GetHandleId(Condition(function Ebr)),0,"s"+"__Aura_Event_TransportEnding") call SaveStr(j,GetHandleId(Condition(function Edr)),0,"s"+"__Aura_Event_TransportStart") +call SaveStr(j,GetHandleId(Condition(function EDr)),0,"s"+"__FolderAura_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function Efr)),0,"s"+"__Aura_Init") +call SaveStr(j,GetHandleId(Condition(function EFr)),0,"s"+"__Aura_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Egr)),0,"s"+"__AIBoost_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function EHr)),0,"s"+"__EventCombination_allocCustom") call SaveStr(j,GetHandleId(Condition(function Ekr)),0,"s"+"__AICastSpell_GeneralConditions") +call SaveStr(j,GetHandleId(Condition(function ESr)),0,"s"+"__FolderEventCombination_StructPairs_Event_Negative") +call SaveStr(j,GetHandleId(Condition(function EYr)),0,"s"+"__FolderEventCombination_StructPairs_Event_Positive") +call SaveStr(j,GetHandleId(Condition(function EZr)),0,"s"+"__EventPair_allocCustom") +call SaveStr(j,GetHandleId(Condition(function XBr)),0,"s"+"__AICastSpell_Event_Learn") call SaveStr(j,GetHandleId(Condition(function XFr)),0,"s"+"__AICastSpell_Event_Unlearn") +call SaveStr(j,GetHandleId(Condition(function XGr)),0,"s"+"__AIBoost_Event") +call SaveStr(j,GetHandleId(Condition(function Xhr)),0,"s"+"__FolderEventCombination_StructEvents_Event_Passive") +call SaveStr(j,GetHandleId(Condition(function XJr)),0,"s"+"__AIBoost_Init") call SaveStr(j,GetHandleId(Condition(function Xkr)),0,"s"+"__AIBoost_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function XKr)),0,"s"+"__Boost_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Xlr)),0,"s"+"__Boost_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function XLr)),0,"s"+"__Boost_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Xmr)),0,"s"+"__Boost_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Xpr)),0,"s"+"__Boost_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function XPr)),0,"s"+"__Boost_Init") call SaveStr(j,GetHandleId(Condition(function Xqr)),0,"s"+"__Boost_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function XQr)),0,"s"+"__AIBurningSpirit_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function XUr)),0,"s"+"__AIBurningSpirit_Event") +call SaveStr(j,GetHandleId(Condition(function Xwr)),0,"s"+"__AIBurningSpirit_Conditions") call SaveStr(j,GetHandleId(Condition(function Xyr)),0,"s"+"__TriggerTimer_allocCustom") call SaveStr(j,GetHandleId(Condition(function Xzr)),0,"s"+"__TriggerTimer_Create") call SaveStr(j,GetHandleId(Condition(function X_r)),0,"s"+"__TriggerTimer_GetExpired") call SaveStr(j,GetHandleId(Condition(function X0r)),0,"s"+"__FolderEventCombination_StructPeriodic_Interval") call SaveStr(j,GetHandleId(Condition(function X2r)),0,"s"+"__AIBurningSpirit_Init") call SaveStr(j,GetHandleId(Condition(function X3r)),0,"s"+"__AIBurningSpirit_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function X4r)),0,"s"+"__BurningSpirit_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function X5r)),0,"s"+"__BurningSpirit_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function X6r)),0,"s"+"__BurningSpirit_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function X7r)),0,"s"+"__BurningSpirit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function X8r)),0,"s"+"__AIChaosBall_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function X9r)),0,"s"+"__AIChaosBall_Event") +call SaveStr(j,GetHandleId(Condition(function Ovr)),0,"s"+"__AIChaosBall_Conditions") call SaveStr(j,GetHandleId(Condition(function Oer)),0,"s"+"__AIChaosBall_Init") call SaveStr(j,GetHandleId(Condition(function Oxr)),0,"s"+"__AIChaosBall_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Oor)),0,"s"+"__ChaosBall_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Orr)),0,"s"+"__ChaosBall_Init_obj_obj_poisonBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function Oir)),0,"s"+"__ChaosBall_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Oar)),0,"s"+"__ChaosBall_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Onr)),0,"s"+"__ChaosBall_TargetConditions") call SaveStr(j,GetHandleId(Condition(function OOr)),0,"s"+"__FolderDummyUnit_FolderScale_StructTimed_allocCustom") call SaveStr(j,GetHandleId(Condition(function OIr)),0,"s"+"__FolderDummyUnit_FolderScale_StructTimed_Update") call SaveStr(j,GetHandleId(Condition(function OCr)),0,"s"+"__FolderDummyUnit_FolderScale_StructTimed_EndingByTimer") +call SaveStr(j,GetHandleId(Condition(function ODr)),0,"s"+"__ChaosBall_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function OFr)),0,"s"+"__ChaosBall_Impact") call SaveStr(j,GetHandleId(Condition(function OHr)),0,"s"+"__FolderMissile_StructGoToSpot_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function Ojr)),0,"s"+"__FolderMissile_StructGoToSpot_FOR_EACH_LIST_FetchFirst") +call SaveStr(j,GetHandleId(Condition(function OJr)),0,"s"+"__FolderMissile_StructGoToSpot_Update") call SaveStr(j,GetHandleId(Condition(function OKr)),0,"s"+"__ChaosBall_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function OLr)),0,"s"+"__ChaosBall_Init") call SaveStr(j,GetHandleId(Condition(function Omr)),0,"s"+"__ChaosBall_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function OMr)),0,"s"+"__FolderEnergyCharge_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Opr)),0,"s"+"__FolderEnergyCharge_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function OPr)),0,"s"+"__FolderEnergyCharge_StructTarget_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Oqr)),0,"s"+"__EnergyCharge_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function OQr)),0,"s"+"__EnergyCharge_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Osr)),0,"s"+"__EnergyCharge_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function OSr)),0,"s"+"__EnergyCharge_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Our)),0,"s"+"__EnergyCharge_Event_Damage") +call SaveStr(j,GetHandleId(Condition(function Owr)),0,"s"+"__EnergyCharge_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function OWr)),0,"s"+"__EnergyCharge_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Oyr)),0,"s"+"__EnergyCharge_Event_Learn") call SaveStr(j,GetHandleId(Condition(function OYr)),0,"s"+"__EnergyCharge_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function Ozr)),0,"s"+"__FolderEnergyCharge_StructTarget_Event_Damage") call SaveStr(j,GetHandleId(Condition(function OZr)),0,"s"+"__FolderEnergyCharge_StructTarget_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function O_r)),0,"s"+"__FolderEnergyCharge_StructTarget_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function O0r)),0,"s"+"__FolderEnergyCharge_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function O1r)),0,"s"+"__EnergyCharge_Init") +call SaveStr(j,GetHandleId(Condition(function O2r)),0,"s"+"__EnergyCharge_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function O3r)),0,"s"+"__AIFlamelet_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function O4r)),0,"s"+"__AIFlamelet_Event") call SaveStr(j,GetHandleId(Condition(function O5r)),0,"s"+"__AIFlamelet_Conditions") +call SaveStr(j,GetHandleId(Condition(function O6r)),0,"s"+"__AIFlamelet_Init") call SaveStr(j,GetHandleId(Condition(function O7r)),0,"s"+"__AIFlamelet_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function O8r)),0,"s"+"__Flamelet_Init_obj_obj_ignitionBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function O9r)),0,"s"+"__Flamelet_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Rvr)),0,"s"+"__Flamelet_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Rer)),0,"s"+"__Flamelet_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Rxr)),0,"s"+"__Flamelet_TargetConditions") +call SaveStr(j,GetHandleId(Condition(function Rar)),0,"s"+"__Flamelet_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function RVr)),0,"s"+"__Flamelet_allocCustom") call SaveStr(j,GetHandleId(Condition(function REr)),0,"s"+"__Flamelet_Impact") call SaveStr(j,GetHandleId(Condition(function ROr)),0,"s"+"__Flamelet_Collision") call SaveStr(j,GetHandleId(Condition(function RIr)),0,"s"+"__Flamelet_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function RAr)),0,"s"+"__Flamelet_Init") +call SaveStr(j,GetHandleId(Condition(function RNr)),0,"s"+"__Flamelet_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Rbr)),0,"s"+"__FuzzyAttack_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function RBr)),0,"s"+"__FuzzyAttack_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Rcr)),0,"s"+"__FuzzyAttack_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function RFr)),0,"s"+"__FuzzyAttack_Event_EndCast") +call SaveStr(j,GetHandleId(Condition(function RGr)),0,"s"+"__FuzzyAttack_allocCustom") call SaveStr(j,GetHandleId(Condition(function Rhr)),0,"s"+"__FuzzyAttack_Impact") call SaveStr(j,GetHandleId(Condition(function Rjr)),0,"s"+"__FuzzyAttack_Interval") call SaveStr(j,GetHandleId(Condition(function RJr)),0,"s"+"__FuzzyAttack_Delay") +call SaveStr(j,GetHandleId(Condition(function Rkr)),0,"s"+"__FuzzyAttack_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function RKr)),0,"s"+"__FuzzyAttack_Init") call SaveStr(j,GetHandleId(Condition(function Rlr)),0,"s"+"__FuzzyAttack_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function RLr)),0,"s"+"__FolderGreenNova_StructBuff_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function Rmr)),0,"s"+"__FolderGreenNova_StructBuff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function RMr)),0,"s"+"__FolderGreenNova_StructBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Rpr)),0,"s"+"__GreenNova_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function RPr)),0,"s"+"__GreenNova_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Rqr)),0,"s"+"__GreenNova_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function RQr)),0,"s"+"__GreenNova_Conditions") call SaveStr(j,GetHandleId(Condition(function RSr)),0,"s"+"__GreenNova_allocCustom") +call SaveStr(j,GetHandleId(Condition(function RTr)),0,"s"+"__GreenNova_Interval") call SaveStr(j,GetHandleId(Condition(function RUr)),0,"s"+"__GreenNova_Ending") call SaveStr(j,GetHandleId(Condition(function Rwr)),0,"s"+"__GreenNova_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function RWr)),0,"s"+"__FolderGreenNova_StructBuff_Init") call SaveStr(j,GetHandleId(Condition(function Ryr)),0,"s"+"__GreenNova_Init") call SaveStr(j,GetHandleId(Condition(function RYr)),0,"s"+"__GreenNova_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Rzr)),0,"s"+"__AIHeal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function RZr)),0,"s"+"__AIHeal_Event") call SaveStr(j,GetHandleId(Condition(function R_r)),0,"s"+"__AIHeal_Conditions") +call SaveStr(j,GetHandleId(Condition(function R0r)),0,"s"+"__AIHeal_Init") call SaveStr(j,GetHandleId(Condition(function R1r)),0,"s"+"__AIHeal_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function R2r)),0,"s"+"__Heal_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function R3r)),0,"s"+"__Heal_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function R4r)),0,"s"+"__Heal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function R5r)),0,"s"+"__Heal_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function R6r)),0,"s"+"__Heal_Init") +call SaveStr(j,GetHandleId(Condition(function R7r)),0,"s"+"__Heal_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function R8r)),0,"s"+"__AIHealExplosion_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function R9r)),0,"s"+"__AIHealExplosion_Event") +call SaveStr(j,GetHandleId(Condition(function Ivr)),0,"s"+"__AIHealExplosion_Init") call SaveStr(j,GetHandleId(Condition(function Ier)),0,"s"+"__AIHealExplosion_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Ixr)),0,"s"+"__HealExplosion_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Ior)),0,"s"+"__HealExplosion_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Irr)),0,"s"+"__HealExplosion_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Iir)),0,"s"+"__HealExplosion_DamageConditions") call SaveStr(j,GetHandleId(Condition(function Iar)),0,"s"+"__HealExplosion_HealConditions") call SaveStr(j,GetHandleId(Condition(function Inr)),0,"s"+"__HealExplosion_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function IVr)),0,"s"+"__HealExplosion_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function IXr)),0,"s"+"__HealExplosion_Init") call SaveStr(j,GetHandleId(Condition(function IOr)),0,"s"+"__HealExplosion_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function IRr)),0,"s"+"__IceArrows_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function IIr)),0,"s"+"__IceArrows_Init_obj_obj_coldnessBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function IAr)),0,"s"+"__IceArrows_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function INr)),0,"s"+"__IceArrows_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Ibr)),0,"s"+"__IceArrows_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ICr)),0,"s"+"__IceArrows_Event_Damage") call SaveStr(j,GetHandleId(Condition(function IDr)),0,"s"+"__IceArrows_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Ifr)),0,"s"+"__IceArrows_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function IFr)),0,"s"+"__IceArrows_Event_Learn") +call SaveStr(j,GetHandleId(Condition(function Igr)),0,"s"+"__IceArrows_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function IGr)),0,"s"+"__IceArrows_Init") call SaveStr(j,GetHandleId(Condition(function Ihr)),0,"s"+"__IceArrows_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function IHr)),0,"s"+"__LightningShield_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ijr)),0,"s"+"__LightningShield_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function IJr)),0,"s"+"__LightningShield_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Ikr)),0,"s"+"__LightningShield_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function IKr)),0,"s"+"__LightningShield_Conditions") call SaveStr(j,GetHandleId(Condition(function Ilr)),0,"s"+"__LightningShield_Interval") call SaveStr(j,GetHandleId(Condition(function Imr)),0,"s"+"__LightningShield_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function IMr)),0,"s"+"__LightningShield_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Ipr)),0,"s"+"__LightningShield_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function IPr)),0,"s"+"__LightningShield_Init") call SaveStr(j,GetHandleId(Condition(function Iqr)),0,"s"+"__LightningShield_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function IQr)),0,"s"+"__FolderLunarRestoration_StructRevival_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Isr)),0,"s"+"__FolderLunarRestoration_StructRevival_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function ISr)),0,"s"+"__FolderLunarRestoration_StructRevival_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Itr)),0,"s"+"__LunarRestoration_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function ITr)),0,"s"+"__LunarRestoration_Init_obj_obj_effectBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Iur)),0,"s"+"__LunarRestoration_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function IUr)),0,"s"+"__LunarRestoration_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Iwr)),0,"s"+"__LunarRestoration_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Iyr)),0,"s"+"__LunarRestoration_Event_Death") call SaveStr(j,GetHandleId(Condition(function IYr)),0,"s"+"__LunarRestoration_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function I_r)),0,"s"+"__LunarRestoration_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function I0r)),0,"s"+"__LunarRestoration_Event_EffectBuffGain") +call SaveStr(j,GetHandleId(Condition(function I1r)),0,"s"+"__LunarRestoration_Event_EffectBuffLose") +call SaveStr(j,GetHandleId(Condition(function I2r)),0,"s"+"__LunarRestoration_Event_Learn") call SaveStr(j,GetHandleId(Condition(function I4r)),0,"s"+"__LunarRestoration_Event_ManaGain") call SaveStr(j,GetHandleId(Condition(function I5r)),0,"s"+"__LunarRestoration_Event_ManaLose") call SaveStr(j,GetHandleId(Condition(function I6r)),0,"s"+"__FolderLunarRestoration_StructRevival_Event_Revive") +call SaveStr(j,GetHandleId(Condition(function I8r)),0,"s"+"__FolderLunarRestoration_StructRevival_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function I9r)),0,"s"+"__FolderLunarRestoration_StructRevival_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Avr)),0,"s"+"__FolderLunarRestoration_StructRevival_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Axr)),0,"s"+"__FolderLunarRestoration_StructRevival_Init") +call SaveStr(j,GetHandleId(Condition(function Aor)),0,"s"+"__LunarRestoration_Init") +call SaveStr(j,GetHandleId(Condition(function Arr)),0,"s"+"__LunarRestoration_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Air)),0,"s"+"__AIPurge_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Aar)),0,"s"+"__AIPurge_Event") +call SaveStr(j,GetHandleId(Condition(function AEr)),0,"s"+"__AIPurge_Conditions") call SaveStr(j,GetHandleId(Condition(function AXr)),0,"s"+"__AIPurge_Init") call SaveStr(j,GetHandleId(Condition(function AOr)),0,"s"+"__AIPurge_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function ARr)),0,"s"+"__Purge_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function AIr)),0,"s"+"__Purge_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function AAr)),0,"s"+"__Purge_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function ANr)),0,"s"+"__Purge_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Abr)),0,"s"+"__Purge_Weaken") call SaveStr(j,GetHandleId(Condition(function ACr)),0,"s"+"__Purge_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function AQr)),0,"s"+"__Purge_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function ASr)),0,"s"+"__Purge_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Atr)),0,"s"+"__Purge_Init") call SaveStr(j,GetHandleId(Condition(function ATr)),0,"s"+"__Purge_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Aur)),0,"s"+"__FolderSoakingPoison_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function AUr)),0,"s"+"__FolderSoakingPoison_StructTarget_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Awr)),0,"s"+"__FolderSoakingPoison_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function AWr)),0,"s"+"__SoakingPoison_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Ayr)),0,"s"+"__SoakingPoison_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function AYr)),0,"s"+"__SoakingPoison_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Azr)),0,"s"+"__SoakingPoison_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function A0r)),0,"s"+"__SoakingPoison_Event_Damage") call SaveStr(j,GetHandleId(Condition(function A1r)),0,"s"+"__SoakingPoison_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function A2r)),0,"s"+"__SoakingPoison_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function A3r)),0,"s"+"__SoakingPoison_Event_Learn") +call SaveStr(j,GetHandleId(Condition(function A4r)),0,"s"+"__SoakingPoison_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function A5r)),0,"s"+"__FolderSoakingPoison_StructTarget_Interval") +call SaveStr(j,GetHandleId(Condition(function A6r)),0,"s"+"__FolderSoakingPoison_StructTarget_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function A7r)),0,"s"+"__FolderSoakingPoison_StructTarget_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function A8r)),0,"s"+"__FolderSoakingPoison_StructTarget_Init") +call SaveStr(j,GetHandleId(Condition(function A9r)),0,"s"+"__SoakingPoison_Init") call SaveStr(j,GetHandleId(Condition(function Nvr)),0,"s"+"__SoakingPoison_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Ner)),0,"s"+"__Stampede_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Nxr)),0,"s"+"__Stampede_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Nor)),0,"s"+"__Stampede_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Nrr)),0,"s"+"__Stampede_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Nir)),0,"s"+"__Stampede_Conditions") call SaveStr(j,GetHandleId(Condition(function Nar)),0,"s"+"__Stampede_Interval") +call SaveStr(j,GetHandleId(Condition(function Nnr)),0,"s"+"__Stampede_Move") +call SaveStr(j,GetHandleId(Condition(function NVr)),0,"s"+"__Stampede_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function NXr)),0,"s"+"__Stampede_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function NOr)),0,"s"+"__Stampede_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function NRr)),0,"s"+"__Stampede_Init") +call SaveStr(j,GetHandleId(Condition(function NIr)),0,"s"+"__Stampede_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function NAr)),0,"s"+"__AIStomp_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function NNr)),0,"s"+"__AIStomp_Event") +call SaveStr(j,GetHandleId(Condition(function Nbr)),0,"s"+"__AIStomp_Init") call SaveStr(j,GetHandleId(Condition(function NBr)),0,"s"+"__AIStomp_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Ncr)),0,"s"+"__Stomp_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function NCr)),0,"s"+"__Stomp_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Ndr)),0,"s"+"__Stomp_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function NDr)),0,"s"+"__Stomp_Conditions") call SaveStr(j,GetHandleId(Condition(function NGr)),0,"s"+"__Stomp_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Nhr)),0,"s"+"__Stomp_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function NHr)),0,"s"+"__Stomp_Init") call SaveStr(j,GetHandleId(Condition(function Njr)),0,"s"+"__Stomp_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function NJr)),0,"s"+"__FolderUnit_FolderVertexColor_StructTimed_Event_ModGain") call SaveStr(j,GetHandleId(Condition(function Nkr)),0,"s"+"__FolderUnit_FolderVertexColor_StructTimed_Event_ModLose") call SaveStr(j,GetHandleId(Condition(function Nlr)),0,"s"+"__Barrage_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function NLr)),0,"s"+"__Barrage_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Nmr)),0,"s"+"__Barrage_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function NMr)),0,"s"+"__Barrage_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function NPr)),0,"s"+"__Barrage_Conditions") call SaveStr(j,GetHandleId(Condition(function Nqr)),0,"s"+"__Barrage_Interval") call SaveStr(j,GetHandleId(Condition(function NQr)),0,"s"+"__Barrage_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Nsr)),0,"s"+"__Barrage_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function NSr)),0,"s"+"__Barrage_Event_EndCast") +call SaveStr(j,GetHandleId(Condition(function Ntr)),0,"s"+"__Barrage_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function NTr)),0,"s"+"__Barrage_Init") call SaveStr(j,GetHandleId(Condition(function Nur)),0,"s"+"__Barrage_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function NUr)),0,"s"+"__AIBouncyBomb_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Nwr)),0,"s"+"__AIBouncyBomb_Event") call SaveStr(j,GetHandleId(Condition(function NWr)),0,"s"+"__AIBouncyBomb_Conditions") call SaveStr(j,GetHandleId(Condition(function Nyr)),0,"s"+"__AIBouncyBomb_Init") +call SaveStr(j,GetHandleId(Condition(function NYr)),0,"s"+"__AIBouncyBomb_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Nzr)),0,"s"+"__BouncyBomb_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function NZr)),0,"s"+"__BouncyBomb_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function N_r)),0,"s"+"__BouncyBomb_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function N0r)),0,"s"+"__BouncyBomb_Conditions") +call SaveStr(j,GetHandleId(Condition(function N2r)),0,"s"+"__BouncyBomb_allocCustom") call SaveStr(j,GetHandleId(Condition(function N5r)),0,"s"+"__BouncyBomb_Move") call SaveStr(j,GetHandleId(Condition(function ber)),0,"s"+"__BouncyBomb_Ending") +call SaveStr(j,GetHandleId(Condition(function bor)),0,"s"+"__BouncyBomb_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function bEr)),0,"s"+"__BouncyBomb_Init") call SaveStr(j,GetHandleId(Condition(function bXr)),0,"s"+"__BouncyBomb_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function bOr)),0,"s"+"__BurningOil_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function bRr)),0,"s"+"__BurningOil_Init_obj_obj_missileGraphicSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function bIr)),0,"s"+"__BurningOil_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function bAr)),0,"s"+"__BurningOil_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function bNr)),0,"s"+"__BurningOil_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bBr)),0,"s"+"__BurningOil_allocCustom") call SaveStr(j,GetHandleId(Condition(function bcr)),0,"s"+"__BurningOil_Interval") call SaveStr(j,GetHandleId(Condition(function bfr)),0,"s"+"__BurningOil_Ending") +call SaveStr(j,GetHandleId(Condition(function bFr)),0,"s"+"__BurningOil_Event_GroundAttack") +call SaveStr(j,GetHandleId(Condition(function bgr)),0,"s"+"__BurningOil_Conditions") +call SaveStr(j,GetHandleId(Condition(function bGr)),0,"s"+"__BurningOil_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function bhr)),0,"s"+"__BurningOil_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function bHr)),0,"s"+"__BurningOil_Event_Learn") call SaveStr(j,GetHandleId(Condition(function bjr)),0,"s"+"__BurningOil_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function bJr)),0,"s"+"__BurningOil_Init") call SaveStr(j,GetHandleId(Condition(function bkr)),0,"s"+"__BurningOil_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function bKr)),0,"s"+"__ChainLightning_Init_obj_obj_boltPrimary_wc3bolt") call SaveStr(j,GetHandleId(Condition(function blr)),0,"s"+"__ChainLightning_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function bLr)),0,"s"+"__ChainLightning_Init_obj_obj_boltSecondary_wc3bolt") +call SaveStr(j,GetHandleId(Condition(function bmr)),0,"s"+"__ChainLightning_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function bMr)),0,"s"+"__ChainLightning_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function bPr)),0,"s"+"__ChainLightning_Conditions_Group") call SaveStr(j,GetHandleId(Condition(function bQr)),0,"s"+"__ChainLightning_allocCustom") call SaveStr(j,GetHandleId(Condition(function bSr)),0,"s"+"__FolderLightning_StructFromUnitToUnit_allocCustom") call SaveStr(j,GetHandleId(Condition(function bTr)),0,"s"+"__FolderLightning_StructFromUnitToUnit_Update") call SaveStr(j,GetHandleId(Condition(function b_r)),0,"s"+"__ChainLightning_Impact") +call SaveStr(j,GetHandleId(Condition(function b4r)),0,"s"+"__ChainLightning_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function b5r)),0,"s"+"__ChainLightning_Init") call SaveStr(j,GetHandleId(Condition(function b6r)),0,"s"+"__ChainLightning_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function b7r)),0,"s"+"__FolderCleaver_StructId_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function b8r)),0,"s"+"__FolderCleaver_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function b9r)),0,"s"+"__FolderCleaver_FolderData_StructInteger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bvr)),0,"s"+"__FolderCleaver_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Ber)),0,"s"+"__FolderCleaver_StructWave_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Bxr)),0,"s"+"__FolderCleaver_StructWave_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bor)),0,"s"+"__Cleaver_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Brr)),0,"s"+"__Cleaver_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Bir)),0,"s"+"__Cleaver_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function BOr)),0,"s"+"__Cleaver_DealDamage") call SaveStr(j,GetHandleId(Condition(function BIr)),0,"s"+"__Cleaver_Move") call SaveStr(j,GetHandleId(Condition(function Bfr)),0,"s"+"__Cleaver_Ending") call SaveStr(j,GetHandleId(Condition(function Bgr)),0,"s"+"__FolderCleaver_StructWave_allocCustom") call SaveStr(j,GetHandleId(Condition(function BHr)),0,"s"+"__Cleaver_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function Bjr)),0,"s"+"__FolderCleaver_StructWave_Conditions") call SaveStr(j,GetHandleId(Condition(function BJr)),0,"s"+"__FolderCleaver_StructWave_Init") +call SaveStr(j,GetHandleId(Condition(function Bkr)),0,"s"+"__Cleaver_Init") call SaveStr(j,GetHandleId(Condition(function BKr)),0,"s"+"__Cleaver_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Blr)),0,"s"+"__ColdResistance_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function BLr)),0,"s"+"__ColdResistance_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Bmr)),0,"s"+"__ColdResistance_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function BMr)),0,"s"+"__ColdResistance_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bpr)),0,"s"+"__ColdResistance_Event_Learn") call SaveStr(j,GetHandleId(Condition(function BPr)),0,"s"+"__ColdResistance_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function Bqr)),0,"s"+"__ColdResistance_Init") call SaveStr(j,GetHandleId(Condition(function BQr)),0,"s"+"__ColdResistance_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Bsr)),0,"s"+"__DeathAxe_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function BSr)),0,"s"+"__DeathAxe_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Btr)),0,"s"+"__DeathAxe_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Bur)),0,"s"+"__DeathAxe_allocCustom") call SaveStr(j,GetHandleId(Condition(function Byr)),0,"s"+"__DeathAxe_Impact") call SaveStr(j,GetHandleId(Condition(function BYr)),0,"s"+"__DeathAxe_Delay") call SaveStr(j,GetHandleId(Condition(function B0r)),0,"s"+"__DeathAxe_Event_Death") call SaveStr(j,GetHandleId(Condition(function B1r)),0,"s"+"__DeathAxe_TargetConditions") +call SaveStr(j,GetHandleId(Condition(function B2r)),0,"s"+"__DeathAxe_Missile_TargetConditions") +call SaveStr(j,GetHandleId(Condition(function B3r)),0,"s"+"__DeathAxe_Event_Learn") call SaveStr(j,GetHandleId(Condition(function B4r)),0,"s"+"__DeathAxe_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function B5r)),0,"s"+"__DeathAxe_Init") +call SaveStr(j,GetHandleId(Condition(function B6r)),0,"s"+"__DeathAxe_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function B7r)),0,"s"+"__FolderDrumRoll_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function B8r)),0,"s"+"__FolderDrumRoll_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function B9r)),0,"s"+"__FolderDrumRoll_StructTarget_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function cvr)),0,"s"+"__DrumRoll_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function cer)),0,"s"+"__DrumRoll_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function cxr)),0,"s"+"__DrumRoll_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function cor)),0,"s"+"__DrumRoll_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function crr)),0,"s"+"__DrumRoll_Conditions") call SaveStr(j,GetHandleId(Condition(function car)),0,"s"+"__Aura_allocCustom") call SaveStr(j,GetHandleId(Condition(function cRr)),0,"s"+"__DrumRoll_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function cfr)),0,"s"+"__DrumRoll_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function cFr)),0,"s"+"__DrumRoll_Event_Learn") call SaveStr(j,GetHandleId(Condition(function cgr)),0,"s"+"__DrumRoll_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function cGr)),0,"s"+"__FolderDrumRoll_StructTarget_Event_Ending") call SaveStr(j,GetHandleId(Condition(function chr)),0,"s"+"__FolderDrumRoll_StructTarget_Event_Start") call SaveStr(j,GetHandleId(Condition(function cHr)),0,"s"+"__FolderDrumRoll_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function cjr)),0,"s"+"__DrumRoll_Init") +call SaveStr(j,GetHandleId(Condition(function cJr)),0,"s"+"__DrumRoll_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function ckr)),0,"s"+"__FolderEnvenomedSpears_StructTarget_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function cKr)),0,"s"+"__FolderEnvenomedSpears_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function clr)),0,"s"+"__FolderEnvenomedSpears_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function cLr)),0,"s"+"__EnvenomedSpears_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function cmr)),0,"s"+"__EnvenomedSpears_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function cMr)),0,"s"+"__EnvenomedSpears_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function cpr)),0,"s"+"__EnvenomedSpears_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function cQr)),0,"s"+"__EnvenomedSpears_Event_Damage") call SaveStr(j,GetHandleId(Condition(function csr)),0,"s"+"__EnvenomedSpears_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function cSr)),0,"s"+"__EnvenomedSpears_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function ctr)),0,"s"+"__EnvenomedSpears_Event_Learn") call SaveStr(j,GetHandleId(Condition(function cTr)),0,"s"+"__EnvenomedSpears_Event_Unlearn") +call SaveStr(j,GetHandleId(Condition(function cUr)),0,"s"+"__FolderEnvenomedSpears_StructTarget_Interval") call SaveStr(j,GetHandleId(Condition(function cwr)),0,"s"+"__FolderEnvenomedSpears_StructTarget_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function cWr)),0,"s"+"__FolderEnvenomedSpears_StructTarget_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function cyr)),0,"s"+"__FolderEnvenomedSpears_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function cYr)),0,"s"+"__EnvenomedSpears_Init") call SaveStr(j,GetHandleId(Condition(function czr)),0,"s"+"__EnvenomedSpears_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function cZr)),0,"s"+"__AIKnockout_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function c_r)),0,"s"+"__AIKnockout_Event") call SaveStr(j,GetHandleId(Condition(function c0r)),0,"s"+"__AIKnockout_Conditions") +call SaveStr(j,GetHandleId(Condition(function c1r)),0,"s"+"__AIKnockout_Init") call SaveStr(j,GetHandleId(Condition(function c2r)),0,"s"+"__AIKnockout_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function c3r)),0,"s"+"__FolderKnockout_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function c4r)),0,"s"+"__FolderKnockout_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function c5r)),0,"s"+"__FolderKnockout_StructTarget_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function c6r)),0,"s"+"__Knockout_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function c7r)),0,"s"+"__Knockout_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function c8r)),0,"s"+"__Knockout_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function CEr)),0,"s"+"__KnockbackAccelerated_allocCustom") call SaveStr(j,GetHandleId(Condition(function CAr)),0,"s"+"__Knockout_Impact") call SaveStr(j,GetHandleId(Condition(function CNr)),0,"s"+"__Knockout_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Cbr)),0,"s"+"__FolderKnockout_StructTarget_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function CBr)),0,"s"+"__Knockout_Init") +call SaveStr(j,GetHandleId(Condition(function Ccr)),0,"s"+"__Knockout_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function CCr)),0,"s"+"__AIMedipack_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Cdr)),0,"s"+"__AIMedipack_Event") call SaveStr(j,GetHandleId(Condition(function CDr)),0,"s"+"__AIMedipack_Event_StartConditions") call SaveStr(j,GetHandleId(Condition(function Cfr)),0,"s"+"__AIMedipack_Init") call SaveStr(j,GetHandleId(Condition(function CFr)),0,"s"+"__AIMedipack_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Cgr)),0,"s"+"__Medipack_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function CGr)),0,"s"+"__Medipack_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Chr)),0,"s"+"__Medipack_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function CHr)),0,"s"+"__Medipack_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Cjr)),0,"s"+"__Medipack_Init") +call SaveStr(j,GetHandleId(Condition(function CJr)),0,"s"+"__Medipack_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Ckr)),0,"s"+"__MutingShout_Init_obj_obj_silenceBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function CKr)),0,"s"+"__MutingShout_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Clr)),0,"s"+"__MutingShout_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function CLr)),0,"s"+"__MutingShout_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Cmr)),0,"s"+"__MutingShout_Conditions") call SaveStr(j,GetHandleId(Condition(function CMr)),0,"s"+"__MutingShout_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function Cpr)),0,"s"+"__MutingShout_Init") call SaveStr(j,GetHandleId(Condition(function CPr)),0,"s"+"__MutingShout_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Cqr)),0,"s"+"__Realplex_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function CQr)),0,"s"+"__Realplex_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Csr)),0,"s"+"__Realplex_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Cyr)),0,"s"+"__Realplex_Event_Caster_Death") call SaveStr(j,GetHandleId(Condition(function Czr)),0,"s"+"__Realplex_Event_Illusion_Death") +call SaveStr(j,GetHandleId(Condition(function C_r)),0,"s"+"__Realplex_allocCustom") call SaveStr(j,GetHandleId(Condition(function C2r)),0,"s"+"__Translation_allocCustom") call SaveStr(j,GetHandleId(Condition(function C4r)),0,"s"+"__Translation_Update") call SaveStr(j,GetHandleId(Condition(function C5r)),0,"s"+"__Translation_DestroyByTimer") call SaveStr(j,GetHandleId(Condition(function dNr)),0,"s"+"__Realplex_MoveEnding") call SaveStr(j,GetHandleId(Condition(function dbr)),0,"s"+"__Realplex_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function dCr)),0,"s"+"__Realplex_Init") +call SaveStr(j,GetHandleId(Condition(function ddr)),0,"s"+"__Realplex_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function dDr)),0,"s"+"__SerpentWard_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function dfr)),0,"s"+"__SerpentWard_Init_obj_obj_summonUnitType_wc3unit") call SaveStr(j,GetHandleId(Condition(function dFr)),0,"s"+"__SerpentWard_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function dgr)),0,"s"+"__SerpentWard_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function dhr)),0,"s"+"__SerpentWard_allocCustom") call SaveStr(j,GetHandleId(Condition(function dKr)),0,"s"+"__SerpentWard_Impact") call SaveStr(j,GetHandleId(Condition(function dlr)),0,"s"+"__SerpentWard_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function dLr)),0,"s"+"__SerpentWard_Init") call SaveStr(j,GetHandleId(Condition(function dmr)),0,"s"+"__SerpentWard_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function dMr)),0,"s"+"__SpiritWolves_Init_obj_obj_summonUnitType_wc3unit") call SaveStr(j,GetHandleId(Condition(function dpr)),0,"s"+"__SpiritWolves_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function dPr)),0,"s"+"__SpiritWolves_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function dqr)),0,"s"+"__SpiritWolves_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function dtr)),0,"s"+"__SpiritWolves_Event_Summon_Death") call SaveStr(j,GetHandleId(Condition(function dzr)),0,"s"+"__SpiritWolves_allocCustom") call SaveStr(j,GetHandleId(Condition(function d_r)),0,"s"+"__SpiritWolves_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function d0r)),0,"s"+"__SpiritWolves_Init") +call SaveStr(j,GetHandleId(Condition(function d1r)),0,"s"+"__SpiritWolves_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function d2r)),0,"s"+"__Stormbolt_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function d3r)),0,"s"+"__Stormbolt_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function d4r)),0,"s"+"__Stormbolt_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function d7r)),0,"s"+"__Stormbolt_Impact") call SaveStr(j,GetHandleId(Condition(function d8r)),0,"s"+"__Stormbolt_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function d9r)),0,"s"+"__Stormbolt_Init") call SaveStr(j,GetHandleId(Condition(function Dvr)),0,"s"+"__Stormbolt_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Der)),0,"s"+"__SummonMinions_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Dxr)),0,"s"+"__SummonMinions_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Dor)),0,"s"+"__SummonMinions_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Drr)),0,"s"+"__SummonMinions_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function DEr)),0,"s"+"__SummonMinions_Interval") call SaveStr(j,GetHandleId(Condition(function DXr)),0,"s"+"__SummonMinions_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function DOr)),0,"s"+"__SummonMinions_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function DRr)),0,"s"+"__SummonMinions_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function DIr)),0,"s"+"__SummonMinions_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function DNr)),0,"s"+"__UnitTypePool_allocCustom") call SaveStr(j,GetHandleId(Condition(function DBr)),0,"s"+"__UnitTypePool_Create") call SaveStr(j,GetHandleId(Condition(function Dfr)),0,"s"+"__SummonMinions_Init") call SaveStr(j,GetHandleId(Condition(function DFr)),0,"s"+"__SummonMinions_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Dgr)),0,"s"+"__Artifact_Init_obj_obj_thisUnitType_wc3unit") call SaveStr(j,GetHandleId(Condition(function DGr)),0,"s"+"__Artifact_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Dhr)),0,"s"+"__Artifact_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function DHr)),0,"s"+"__Artifact_Init") +call SaveStr(j,GetHandleId(Condition(function Djr)),0,"s"+"__Artifact_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function DJr)),0,"s"+"__FolderBatSwarm_StructMissile_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Dkr)),0,"s"+"__FolderBatSwarm_StructMissile_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function DKr)),0,"s"+"__BatSwarm_Init_obj_obj_eclipseBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function Dlr)),0,"s"+"__BatSwarm_Init_obj_obj_shieldSound_wc3sound") call SaveStr(j,GetHandleId(Condition(function DLr)),0,"s"+"__BatSwarm_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Dmr)),0,"s"+"__BatSwarm_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function DMr)),0,"s"+"__BatSwarm_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function DPr)),0,"s"+"__BatSwarm_TargetConditions") +call SaveStr(j,GetHandleId(Condition(function DQr)),0,"s"+"__BatSwarm_allocCustom") call SaveStr(j,GetHandleId(Condition(function DTr)),0,"s"+"__BatSwarm_ImpactTarget") +call SaveStr(j,GetHandleId(Condition(function DUr)),0,"s"+"__BatSwarm_ImpactEnemy") call SaveStr(j,GetHandleId(Condition(function Dzr)),0,"s"+"__FolderBatSwarm_StructMissile_Impact") call SaveStr(j,GetHandleId(Condition(function D_r)),0,"s"+"__BatSwarm_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function D0r)),0,"s"+"__BatSwarm_Init") +call SaveStr(j,GetHandleId(Condition(function D1r)),0,"s"+"__BatSwarm_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function D2r)),0,"s"+"__HawkEye_Init_obj_obj_hitSound_wc3sound") call SaveStr(j,GetHandleId(Condition(function D3r)),0,"s"+"__HawkEye_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function D4r)),0,"s"+"__HawkEye_Init_obj_obj_bleedingBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function D5r)),0,"s"+"__HawkEye_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function D6r)),0,"s"+"__HawkEye_Init_obj_obj_dummySound_wc3sound") call SaveStr(j,GetHandleId(Condition(function D7r)),0,"s"+"__HawkEye_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function D8r)),0,"s"+"__HawkEye_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function D9r)),0,"s"+"__HawkEye_Event_Damage") call SaveStr(j,GetHandleId(Condition(function fer)),0,"s"+"__HawkEye_allocCustom") call SaveStr(j,GetHandleId(Condition(function fir)),0,"s"+"__HawkEye_Impact") call SaveStr(j,GetHandleId(Condition(function fVr)),0,"s"+"__HawkEye_Event_Death") call SaveStr(j,GetHandleId(Condition(function fXr)),0,"s"+"__HawkEye_Conditions") call SaveStr(j,GetHandleId(Condition(function fOr)),0,"s"+"__HawkEye_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function fRr)),0,"s"+"__HawkEye_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function fIr)),0,"s"+"__HawkEye_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function fbr)),0,"s"+"__HawkEye_Init") call SaveStr(j,GetHandleId(Condition(function fBr)),0,"s"+"__HawkEye_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function fcr)),0,"s"+"__FolderMagicBottle_StructBuff_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function fCr)),0,"s"+"__FolderMagicBottle_StructBuff_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function fdr)),0,"s"+"__FolderMagicBottle_StructBuff_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function fDr)),0,"s"+"__FolderMagicBottle_StructBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ffr)),0,"s"+"__MagicBottle_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function fFr)),0,"s"+"__MagicBottle_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function fgr)),0,"s"+"__MagicBottle_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function fhr)),0,"s"+"__MagicBottle_allocCustom") call SaveStr(j,GetHandleId(Condition(function fKr)),0,"s"+"__MagicBottle_Impact") call SaveStr(j,GetHandleId(Condition(function fLr)),0,"s"+"__MagicBottle_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function fmr)),0,"s"+"__FolderMagicBottle_StructBuff_Init") +call SaveStr(j,GetHandleId(Condition(function fMr)),0,"s"+"__MagicBottle_Init") call SaveStr(j,GetHandleId(Condition(function fpr)),0,"s"+"__MagicBottle_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function fPr)),0,"s"+"__FolderRedwoodValkyrie_StructAir_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function fqr)),0,"s"+"__FolderRedwoodValkyrie_StructAir_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function fQr)),0,"s"+"__FolderRedwoodValkyrie_StructAir_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function fsr)),0,"s"+"__RedwoodValkyrie_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function fSr)),0,"s"+"__RedwoodValkyrie_Init_obj_obj_ignitionBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function ftr)),0,"s"+"__RedwoodValkyrie_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function fTr)),0,"s"+"__RedwoodValkyrie_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function fur)),0,"s"+"__RedwoodValkyrie_TargetConditions") call SaveStr(j,GetHandleId(Condition(function fzr)),0,"s"+"__FolderRedwoodValkyrie_StructAir_Impact") call SaveStr(j,GetHandleId(Condition(function f0r)),0,"s"+"__RedwoodValkyrie_allocCustom") call SaveStr(j,GetHandleId(Condition(function f4r)),0,"s"+"__RedwoodValkyrie_Impact") call SaveStr(j,GetHandleId(Condition(function f5r)),0,"s"+"__RedwoodValkyrie_Collision") +call SaveStr(j,GetHandleId(Condition(function f8r)),0,"s"+"__RedwoodValkyrie_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function f9r)),0,"s"+"__FolderRedwoodValkyrie_StructAir_SplashConditions") call SaveStr(j,GetHandleId(Condition(function Fvr)),0,"s"+"__FolderRedwoodValkyrie_StructAir_Init") call SaveStr(j,GetHandleId(Condition(function Fer)),0,"s"+"__RedwoodValkyrie_Init") call SaveStr(j,GetHandleId(Condition(function Fxr)),0,"s"+"__RedwoodValkyrie_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function For)),0,"s"+"__SapphireblueDagger_Init_obj_obj_frostBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function Frr)),0,"s"+"__SapphireblueDagger_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Fir)),0,"s"+"__SapphireblueDagger_Init_obj_obj_casterBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Far)),0,"s"+"__SapphireblueDagger_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Fnr)),0,"s"+"__SapphireblueDagger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function FVr)),0,"s"+"__SapphireblueDagger_Event_Damage") call SaveStr(j,GetHandleId(Condition(function FEr)),0,"s"+"__SapphireblueDagger_TargetConditions") call SaveStr(j,GetHandleId(Condition(function FXr)),0,"s"+"__SapphireblueDagger_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function FOr)),0,"s"+"__SapphireblueDagger_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function FAr)),0,"s"+"__SapphireblueDagger_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function FNr)),0,"s"+"__SapphireblueDagger_Init") call SaveStr(j,GetHandleId(Condition(function Fbr)),0,"s"+"__SapphireblueDagger_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function FBr)),0,"s"+"__SilentBoots_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Fcr)),0,"s"+"__SilentBoots_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function FCr)),0,"s"+"__SilentBoots_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Fdr)),0,"s"+"__SilentBoots_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function FDr)),0,"s"+"__SilentBoots_Event_Damage") call SaveStr(j,GetHandleId(Condition(function FFr)),0,"s"+"__SilentBoots_Event_InvisibilityEnding") call SaveStr(j,GetHandleId(Condition(function Fmr)),0,"s"+"__FolderUbersplat_StructDestroyTimed_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function FQr)),0,"s"+"__FolderUbersplat_FolderColor_StructTimed_allocCustom") call SaveStr(j,GetHandleId(Condition(function FTr)),0,"s"+"__FolderUbersplat_FolderColor_StructTimed_Update") call SaveStr(j,GetHandleId(Condition(function Fur)),0,"s"+"__FolderUbersplat_FolderColor_StructTimed_EndingByTimer") +call SaveStr(j,GetHandleId(Condition(function FYr)),0,"s"+"__Ubersplat_allocCustom") +call SaveStr(j,GetHandleId(Condition(function F4r)),0,"s"+"__SilentBoots_SpawnSnow") +call SaveStr(j,GetHandleId(Condition(function F5r)),0,"s"+"__SilentBoots_Weaken") call SaveStr(j,GetHandleId(Condition(function F7r)),0,"s"+"__SilentBoots_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function F9r)),0,"s"+"__SilentBoots_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function gvr)),0,"s"+"__SilentBoots_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function ger)),0,"s"+"__SilentBoots_Init") call SaveStr(j,GetHandleId(Condition(function gxr)),0,"s"+"__SilentBoots_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function gor)),0,"s"+"__StoneShield_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function grr)),0,"s"+"__StoneShield_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function gir)),0,"s"+"__StoneShield_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function gar)),0,"s"+"__StoneShield_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function gnr)),0,"s"+"__StoneShield_TargetConditions") call SaveStr(j,GetHandleId(Condition(function gVr)),0,"s"+"__StoneShield_Update") call SaveStr(j,GetHandleId(Condition(function gOr)),0,"s"+"__StoneShield_Weaken") call SaveStr(j,GetHandleId(Condition(function gIr)),0,"s"+"__StoneShield_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function gAr)),0,"s"+"__StoneShield_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function gNr)),0,"s"+"__StoneShield_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function gbr)),0,"s"+"__StoneShield_Init") call SaveStr(j,GetHandleId(Condition(function gBr)),0,"s"+"__StoneShield_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function gcr)),0,"s"+"__TaintedLeaf_Init_obj_obj_sleepBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function gCr)),0,"s"+"__TaintedLeaf_Init_obj_obj_castBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function gdr)),0,"s"+"__TaintedLeaf_Init_obj_obj_taintedBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function gDr)),0,"s"+"__TaintedLeaf_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function gfr)),0,"s"+"__TaintedLeaf_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function gFr)),0,"s"+"__TaintedLeaf_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function ggr)),0,"s"+"__TaintedLeaf_Conditions") call SaveStr(j,GetHandleId(Condition(function gGr)),0,"s"+"__TaintedLeaf_Event_Cast_BuffGain") call SaveStr(j,GetHandleId(Condition(function ghr)),0,"s"+"__TaintedLeaf_Event_Cast_BuffLose") call SaveStr(j,GetHandleId(Condition(function gHr)),0,"s"+"__TaintedLeaf_Interval") call SaveStr(j,GetHandleId(Condition(function gjr)),0,"s"+"__TaintedLeaf_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function gJr)),0,"s"+"__TaintedLeaf_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function gkr)),0,"s"+"__TaintedLeaf_Event_Cast") call SaveStr(j,GetHandleId(Condition(function gKr)),0,"s"+"__TaintedLeaf_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function glr)),0,"s"+"__TaintedLeaf_Event_EndCast") +call SaveStr(j,GetHandleId(Condition(function gLr)),0,"s"+"__TaintedLeaf_Init") call SaveStr(j,GetHandleId(Condition(function gmr)),0,"s"+"__TaintedLeaf_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function gMr)),0,"s"+"__FolderVioletEarring_StructCharge_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function gpr)),0,"s"+"__FolderVioletEarring_StructCharge_Init_obj_obj_activeBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function gPr)),0,"s"+"__FolderVioletEarring_StructCharge_Init_obj_obj_missileArtSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function gqr)),0,"s"+"__FolderVioletEarring_StructCharge_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function gQr)),0,"s"+"__FolderVioletEarring_StructCharge_Init_obj_obj_banishBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function gsr)),0,"s"+"__FolderVioletEarring_StructCharge_Init_obj_obj_cooldownBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function gSr)),0,"s"+"__FolderVioletEarring_StructCharge_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function gtr)),0,"s"+"__FolderVioletEarring_StructCharge_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function gTr)),0,"s"+"__FolderVioletEarring_StructPort_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function gur)),0,"s"+"__FolderVioletEarring_StructPort_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function gUr)),0,"s"+"__FolderVioletEarring_StructPort_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function gwr)),0,"s"+"__VioletEarring_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function gWr)),0,"s"+"__VioletEarring_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function gyr)),0,"s"+"__VioletEarring_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function gzr)),0,"s"+"__FolderVioletEarring_StructPort_allocCustom") call SaveStr(j,GetHandleId(Condition(function gZr)),0,"s"+"__FolderVioletEarring_StructPort_Impact") +call SaveStr(j,GetHandleId(Condition(function g0r)),0,"s"+"__VioletEarring_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function g1r)),0,"s"+"__FolderVioletEarring_StructCharge_Event_Damage") +call SaveStr(j,GetHandleId(Condition(function g3r)),0,"s"+"__FolderVioletEarring_StructCharge_Event_ActiveBuffGain") +call SaveStr(j,GetHandleId(Condition(function g4r)),0,"s"+"__FolderVioletEarring_StructCharge_Event_ActiveBuffLose") +call SaveStr(j,GetHandleId(Condition(function g5r)),0,"s"+"__FolderVioletEarring_StructCharge_Event_CooldownBuffGain") call SaveStr(j,GetHandleId(Condition(function g6r)),0,"s"+"__FolderVioletEarring_StructCharge_Event_CooldownBuffLose") call SaveStr(j,GetHandleId(Condition(function g7r)),0,"s"+"__FolderVioletEarring_StructCharge_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function g8r)),0,"s"+"__FolderVioletEarring_StructCharge_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function g9r)),0,"s"+"__FolderVioletEarring_StructCharge_Event_ChangeLevel") call SaveStr(j,GetHandleId(Condition(function Gvr)),0,"s"+"__FolderVioletEarring_StructCharge_Event_Learn") call SaveStr(j,GetHandleId(Condition(function Ger)),0,"s"+"__FolderVioletEarring_StructCharge_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function Gxr)),0,"s"+"__FolderVioletEarring_StructCharge_Init") +call SaveStr(j,GetHandleId(Condition(function Gar)),0,"s"+"__FolderVioletEarring_StructPort_Event_Missile_Destroy") call SaveStr(j,GetHandleId(Condition(function Gnr)),0,"s"+"__VioletEarring_Init") call SaveStr(j,GetHandleId(Condition(function GVr)),0,"s"+"__VioletEarring_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function GEr)),0,"s"+"__FolderVomit_StructTarget_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function GXr)),0,"s"+"__FolderVomit_StructTarget_Init_obj_obj_poisonBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function GOr)),0,"s"+"__FolderVomit_StructTarget_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function GRr)),0,"s"+"__FolderVomit_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function GIr)),0,"s"+"__Vomit_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function GAr)),0,"s"+"__Vomit_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function GNr)),0,"s"+"__Vomit_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function GBr)),0,"s"+"__Vomit_TargetConditions_Collision") call SaveStr(j,GetHandleId(Condition(function Gcr)),0,"s"+"__Vomit_TargetConditions_Explosion") call SaveStr(j,GetHandleId(Condition(function Gdr)),0,"s"+"__Vomit_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Ggr)),0,"s"+"__Vomit_Impact") call SaveStr(j,GetHandleId(Condition(function Ghr)),0,"s"+"__Vomit_Collision") call SaveStr(j,GetHandleId(Condition(function GHr)),0,"s"+"__Vomit_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Gjr)),0,"s"+"__FolderVomit_StructTarget_IntervalByTimer") call SaveStr(j,GetHandleId(Condition(function GJr)),0,"s"+"__FolderVomit_StructTarget_BuffGain") +call SaveStr(j,GetHandleId(Condition(function Gkr)),0,"s"+"__FolderVomit_StructTarget_BuffLose") +call SaveStr(j,GetHandleId(Condition(function GKr)),0,"s"+"__FolderVomit_StructTarget_Init") +call SaveStr(j,GetHandleId(Condition(function Glr)),0,"s"+"__Vomit_Init") call SaveStr(j,GetHandleId(Condition(function GLr)),0,"s"+"__Vomit_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Gmr)),0,"s"+"__FolderWhiteStaff_StructTarget_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function GMr)),0,"s"+"__FolderWhiteStaff_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Gpr)),0,"s"+"__FolderWhiteStaff_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function GPr)),0,"s"+"__FolderWhiteStaff_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Gqr)),0,"s"+"__WhiteStaff_Init_obj_obj_dummySound_wc3sound") call SaveStr(j,GetHandleId(Condition(function GQr)),0,"s"+"__WhiteStaff_Init_obj_obj_bolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function Gsr)),0,"s"+"__WhiteStaff_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function GSr)),0,"s"+"__WhiteStaff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Gtr)),0,"s"+"__WhiteStaff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function GTr)),0,"s"+"__WhiteStaff_Interval") call SaveStr(j,GetHandleId(Condition(function GUr)),0,"s"+"__WhiteStaff_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function GYr)),0,"s"+"__WhiteStaff_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function Gzr)),0,"s"+"__FolderWhiteStaff_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function GZr)),0,"s"+"__WhiteStaff_Init") call SaveStr(j,GetHandleId(Condition(function G_r)),0,"s"+"__WhiteStaff_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function G0r)),0,"s"+"__FolderBarrier_StructKnockback_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function G1r)),0,"s"+"__FolderBarrier_StructKnockback_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function G2r)),0,"s"+"__FolderBarrier_StructKnockback_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function G3r)),0,"s"+"__Barrier_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function G4r)),0,"s"+"__Barrier_Init_obj_obj_summonUnitType1_wc3unit") call SaveStr(j,GetHandleId(Condition(function hor)),0,"s"+"__Barrier_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function hrr)),0,"s"+"__Barrier_Init_obj_obj_summonUnitType3_wc3unit") call SaveStr(j,GetHandleId(Condition(function hir)),0,"s"+"__Barrier_Init_obj_obj_summonUnitType2_wc3unit") call SaveStr(j,GetHandleId(Condition(function har)),0,"s"+"__Barrier_Init_obj_obj_summonUnitType4_wc3unit") call SaveStr(j,GetHandleId(Condition(function hnr)),0,"s"+"__Barrier_Init_obj_obj_summonUnitType5_wc3unit") call SaveStr(j,GetHandleId(Condition(function hVr)),0,"s"+"__Barrier_Init_obj_obj_summonUnitType6_wc3unit") call SaveStr(j,GetHandleId(Condition(function hEr)),0,"s"+"__Barrier_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function hXr)),0,"s"+"__Barrier_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function hRr)),0,"s"+"__Barrier_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function hcr)),0,"s"+"__FolderBarrier_StructKnockback_Conditions") call SaveStr(j,GetHandleId(Condition(function hCr)),0,"s"+"__FolderBarrier_StructKnockback_Update") call SaveStr(j,GetHandleId(Condition(function hdr)),0,"s"+"__FolderBarrier_StructKnockback_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function hDr)),0,"s"+"__FolderBarrier_StructKnockback_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function hfr)),0,"s"+"__FolderBarrier_StructKnockback_Init") call SaveStr(j,GetHandleId(Condition(function hFr)),0,"s"+"__Barrier_Init") call SaveStr(j,GetHandleId(Condition(function hgr)),0,"s"+"__Barrier_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function hGr)),0,"s"+"__FolderBlizzard_StructWave_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function hhr)),0,"s"+"__FolderBlizzard_StructWave_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function hHr)),0,"s"+"__FolderBlizzard_StructWave_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function hjr)),0,"s"+"__Blizzard_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function hJr)),0,"s"+"__Blizzard_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function hkr)),0,"s"+"__Blizzard_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function hKr)),0,"s"+"__Blizzard_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function hLr)),0,"s"+"__FolderBlizzard_StructWave_allocCustom") +call SaveStr(j,GetHandleId(Condition(function hPr)),0,"s"+"__FolderBlizzard_StructWave_Ending") call SaveStr(j,GetHandleId(Condition(function hQr)),0,"s"+"__Blizzard_Interval") +call SaveStr(j,GetHandleId(Condition(function hsr)),0,"s"+"__Blizzard_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function hSr)),0,"s"+"__Blizzard_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function htr)),0,"s"+"__Blizzard_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function hTr)),0,"s"+"__Blizzard_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function hur)),0,"s"+"__FolderBlizzard_StructWave_Conditions") call SaveStr(j,GetHandleId(Condition(function hUr)),0,"s"+"__FolderBlizzard_StructWave_Init") call SaveStr(j,GetHandleId(Condition(function hwr)),0,"s"+"__Blizzard_Init") +call SaveStr(j,GetHandleId(Condition(function hWr)),0,"s"+"__Blizzard_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function hyr)),0,"s"+"__FolderChillyBreath_StructBuff_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function hYr)),0,"s"+"__FolderChillyBreath_StructBuff_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function hzr)),0,"s"+"__FolderChillyBreath_StructBuff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function hZr)),0,"s"+"__FolderChillyBreath_StructBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function h_r)),0,"s"+"__ChillyBreath_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function h0r)),0,"s"+"__ChillyBreath_Init_obj_obj_effectSound_wc3sound") call SaveStr(j,GetHandleId(Condition(function h1r)),0,"s"+"__ChillyBreath_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function h2r)),0,"s"+"__ChillyBreath_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function h3r)),0,"s"+"__ChillyBreath_Conditions") call SaveStr(j,GetHandleId(Condition(function h8r)),0,"s"+"__Tile_allocCustom") call SaveStr(j,GetHandleId(Condition(function HRr)),0,"s"+"__FolderTileTypeMod_StructDestroyTimed_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function HNr)),0,"s"+"__TileTypeMod_allocCustom") call SaveStr(j,GetHandleId(Condition(function HDr)),0,"s"+"__ChillyBreath_Move") +call SaveStr(j,GetHandleId(Condition(function Hgr)),0,"s"+"__ChillyBreath_Impact") call SaveStr(j,GetHandleId(Condition(function HHr)),0,"s"+"__ChillyBreath_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function HJr)),0,"s"+"__ChillyBreath_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function Hkr)),0,"s"+"__FolderChillyBreath_StructBuff_Init") call SaveStr(j,GetHandleId(Condition(function HKr)),0,"s"+"__ChillyBreath_Init") +call SaveStr(j,GetHandleId(Condition(function Hlr)),0,"s"+"__ChillyBreath_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function HLr)),0,"s"+"__ElementalSpellToHero_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function HMr)),0,"s"+"__ElementalSpellToHero_Event_Create") +call SaveStr(j,GetHandleId(Condition(function HPr)),0,"s"+"__ElementalSpellToHero_allocCustom") call SaveStr(j,GetHandleId(Condition(function Hqr)),0,"s"+"__ElementalSpellToHero_Create_Enum") call SaveStr(j,GetHandleId(Condition(function Hsr)),0,"s"+"__ElementalSpellToHero_Init") +call SaveStr(j,GetHandleId(Condition(function HSr)),0,"s"+"__ElementalSpellToHero_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Htr)),0,"s"+"__FolderFireburst_StructShot_Init_obj_obj_ignitionBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function HTr)),0,"s"+"__FolderFireburst_StructShot_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function Hur)),0,"s"+"__FolderFireburst_StructShot_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function HUr)),0,"s"+"__FolderFireburst_StructShot_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Hwr)),0,"s"+"__Fireburst_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function HWr)),0,"s"+"__Fireburst_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Hyr)),0,"s"+"__Fireburst_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function HYr)),0,"s"+"__Fireburst_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function HZr)),0,"s"+"__Fireburst_allocCustom") +call SaveStr(j,GetHandleId(Condition(function H0r)),0,"s"+"__FolderFireburst_StructShot_allocCustom") call SaveStr(j,GetHandleId(Condition(function jer)),0,"s"+"__FolderFireburst_StructShot_ImpactExtra") call SaveStr(j,GetHandleId(Condition(function jxr)),0,"s"+"__FolderFireburst_StructShot_Impact") +call SaveStr(j,GetHandleId(Condition(function jVr)),0,"s"+"__Fireburst_IntervalByTimer") +call SaveStr(j,GetHandleId(Condition(function jEr)),0,"s"+"__Fireburst_Delay") call SaveStr(j,GetHandleId(Condition(function jXr)),0,"s"+"__Fireburst_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function jOr)),0,"s"+"__Fireburst_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function jIr)),0,"s"+"__Fireburst_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function jAr)),0,"s"+"__FolderFireburst_StructShot_Collision_Conditions") call SaveStr(j,GetHandleId(Condition(function jNr)),0,"s"+"__FolderFireburst_StructShot_Conditions") +call SaveStr(j,GetHandleId(Condition(function jbr)),0,"s"+"__FolderFireburst_StructShot_Init") call SaveStr(j,GetHandleId(Condition(function jBr)),0,"s"+"__Fireburst_Init") call SaveStr(j,GetHandleId(Condition(function jcr)),0,"s"+"__Fireburst_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function jCr)),0,"s"+"__FlameTongue_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function jdr)),0,"s"+"__FlameTongue_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function jDr)),0,"s"+"__FlameTongue_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function jfr)),0,"s"+"__FlameTongue_Conditions") call SaveStr(j,GetHandleId(Condition(function jgr)),0,"s"+"__FlameTongue_allocCustom") call SaveStr(j,GetHandleId(Condition(function jkr)),0,"s"+"__FlameTongue_Move") call SaveStr(j,GetHandleId(Condition(function jMr)),0,"s"+"__FlameTongue_Ending2") call SaveStr(j,GetHandleId(Condition(function jpr)),0,"s"+"__FlameTongue_Start2") call SaveStr(j,GetHandleId(Condition(function jPr)),0,"s"+"__FlameTongue_Ending") call SaveStr(j,GetHandleId(Condition(function jqr)),0,"s"+"__FlameTongue_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function jsr)),0,"s"+"__FlameTongue_Init") call SaveStr(j,GetHandleId(Condition(function jSr)),0,"s"+"__FlameTongue_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function jtr)),0,"s"+"__FolderFrozenStar_StructTarget_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function jTr)),0,"s"+"__FolderFrozenStar_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function jur)),0,"s"+"__FolderFrozenStar_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function jUr)),0,"s"+"__FolderFrozenStar_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function jwr)),0,"s"+"__FolderFrozenStar_StructExplosion_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function jWr)),0,"s"+"__FolderFrozenStar_StructExplosion_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function jyr)),0,"s"+"__FolderFrozenStar_StructExplosion_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function jYr)),0,"s"+"__FrozenStar_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function jzr)),0,"s"+"__FrozenStar_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function jZr)),0,"s"+"__FrozenStar_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function j_r)),0,"s"+"__FrozenStar_Conditions") +call SaveStr(j,GetHandleId(Condition(function j2r)),0,"s"+"__FrozenStar_allocCustom") call SaveStr(j,GetHandleId(Condition(function j4r)),0,"s"+"__FrozenStar_Move") call SaveStr(j,GetHandleId(Condition(function j9r)),0,"s"+"__FrozenStar_Ending") +call SaveStr(j,GetHandleId(Condition(function Jvr)),0,"s"+"__FrozenStar_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Jrr)),0,"s"+"__FolderFrozenStar_StructExplosion_Conditions") call SaveStr(j,GetHandleId(Condition(function Jir)),0,"s"+"__FolderFrozenStar_StructExplosion_Init") +call SaveStr(j,GetHandleId(Condition(function Jar)),0,"s"+"__FrozenStar_Init") call SaveStr(j,GetHandleId(Condition(function Jnr)),0,"s"+"__FrozenStar_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function JVr)),0,"s"+"__FolderGhostSword_StructSword_Init_obj_obj_summonUnitType4_wc3unit") +call SaveStr(j,GetHandleId(Condition(function JEr)),0,"s"+"__FolderGhostSword_StructSword_Init_obj_obj_summonUnitType1_wc3unit") +call SaveStr(j,GetHandleId(Condition(function JXr)),0,"s"+"__FolderGhostSword_StructSword_Init_obj_obj_summonUnitType2_wc3unit") +call SaveStr(j,GetHandleId(Condition(function JOr)),0,"s"+"__FolderGhostSword_StructSword_Init_obj_obj_summonUnitType3_wc3unit") +call SaveStr(j,GetHandleId(Condition(function JRr)),0,"s"+"__FolderGhostSword_StructSword_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function JIr)),0,"s"+"__FolderGhostSword_StructSword_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function JAr)),0,"s"+"__FolderGhostSword_StructSword_Init_obj_obj_summonUnitType5_wc3unit") +call SaveStr(j,GetHandleId(Condition(function JNr)),0,"s"+"__FolderGhostSword_StructSword_Init_obj_obj_summonUnitType6_wc3unit") +call SaveStr(j,GetHandleId(Condition(function Jbr)),0,"s"+"__FolderGhostSword_StructSword_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function JBr)),0,"s"+"__FolderGhostSword_StructSword_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Jcr)),0,"s"+"__GhostSword_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function JCr)),0,"s"+"__GhostSword_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function Jdr)),0,"s"+"__GhostSword_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function JDr)),0,"s"+"__GhostSword_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function JFr)),0,"s"+"__GhostSword_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function Jgr)),0,"s"+"__GhostSword_FOR_EACH_LIST_FetchFirst") call SaveStr(j,GetHandleId(Condition(function JGr)),0,"s"+"__GhostSword_Update") +call SaveStr(j,GetHandleId(Condition(function JHr)),0,"s"+"__GhostSword_Event_TransportEnding") call SaveStr(j,GetHandleId(Condition(function JJr)),0,"s"+"__GhostSword_Event_TransportStart") call SaveStr(j,GetHandleId(Condition(function JKr)),0,"s"+"__GhostSword_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function Jlr)),0,"s"+"__GhostSword_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function JLr)),0,"s"+"__GhostSword_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Jmr)),0,"s"+"__FolderGhostSword_StructSword_Event_Crit") call SaveStr(j,GetHandleId(Condition(function JMr)),0,"s"+"__FolderGhostSword_StructSword_Event_Damage") +call SaveStr(j,GetHandleId(Condition(function Jqr)),0,"s"+"__FolderGhostSword_StructSword_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function JSr)),0,"s"+"__FolderGhostSword_StructSword_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Jtr)),0,"s"+"__FolderGhostSword_StructSword_Conditions") call SaveStr(j,GetHandleId(Condition(function JTr)),0,"s"+"__FolderGhostSword_StructSword_Init") +call SaveStr(j,GetHandleId(Condition(function Jur)),0,"s"+"__GhostSword_Init") call SaveStr(j,GetHandleId(Condition(function JUr)),0,"s"+"__GhostSword_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Jwr)),0,"s"+"__FolderHackNSlay_StructTarget_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function JWr)),0,"s"+"__FolderHackNSlay_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Jyr)),0,"s"+"__FolderHackNSlay_StructTarget_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function JYr)),0,"s"+"__FolderHackNSlay_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Jzr)),0,"s"+"__HackNSlay_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function JZr)),0,"s"+"__HackNSlay_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function J_r)),0,"s"+"__HackNSlay_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function J0r)),0,"s"+"__HackNSlay_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function J2r)),0,"s"+"__HackNSlay_Conditions") call SaveStr(j,GetHandleId(Condition(function J3r)),0,"s"+"__HackNSlay_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function J4r)),0,"s"+"__HackNSlay_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function J5r)),0,"s"+"__HackNSlay_Event_Learn") +call SaveStr(j,GetHandleId(Condition(function J6r)),0,"s"+"__HackNSlay_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function J7r)),0,"s"+"__FolderHackNSlay_StructTarget_Event_Ending") +call SaveStr(j,GetHandleId(Condition(function J8r)),0,"s"+"__FolderHackNSlay_StructTarget_Event_Start") call SaveStr(j,GetHandleId(Condition(function J9r)),0,"s"+"__FolderHackNSlay_StructTarget_Init") +call SaveStr(j,GetHandleId(Condition(function kvr)),0,"s"+"__HackNSlay_Init") call SaveStr(j,GetHandleId(Condition(function ker)),0,"s"+"__HackNSlay_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function kxr)),0,"s"+"__IceBlock_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function kor)),0,"s"+"__IceBlock_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function krr)),0,"s"+"__IceBlock_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function kir)),0,"s"+"__IceBlock_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function kar)),0,"s"+"__IceBlock_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function knr)),0,"s"+"__IceBlock_Init") +call SaveStr(j,GetHandleId(Condition(function kVr)),0,"s"+"__IceBlock_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function kEr)),0,"s"+"__IceShock_Init_obj_obj_frostBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function kXr)),0,"s"+"__IceShock_Init_obj_obj_coldnessBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function kOr)),0,"s"+"__IceShock_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function kRr)),0,"s"+"__IceShock_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function kIr)),0,"s"+"__IceShock_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function kAr)),0,"s"+"__IceShock_Conditions") call SaveStr(j,GetHandleId(Condition(function kNr)),0,"s"+"__IceShock_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function kbr)),0,"s"+"__IceShock_Init") +call SaveStr(j,GetHandleId(Condition(function kBr)),0,"s"+"__IceShock_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function kcr)),0,"s"+"__FolderInnerForce_StructCrit_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function kCr)),0,"s"+"__FolderInnerForce_StructCrit_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function kdr)),0,"s"+"__FolderInnerForce_StructCrit_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function kDr)),0,"s"+"__FolderInnerForce_StructCrit_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function kfr)),0,"s"+"__InnerForce_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function kFr)),0,"s"+"__InnerForce_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function kgr)),0,"s"+"__InnerForce_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function kGr)),0,"s"+"__InnerForce_HealConditions") +call SaveStr(j,GetHandleId(Condition(function khr)),0,"s"+"__InnerForce_Conditions") +call SaveStr(j,GetHandleId(Condition(function kjr)),0,"s"+"__InnerForce_allocCustom") call SaveStr(j,GetHandleId(Condition(function kkr)),0,"s"+"__InnerForce_DelayByTimer") call SaveStr(j,GetHandleId(Condition(function klr)),0,"s"+"__InnerForce_IntervalByTimer") call SaveStr(j,GetHandleId(Condition(function kPr)),0,"s"+"__InnerForce_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function kqr)),0,"s"+"__InnerForce_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function kQr)),0,"s"+"__FolderInnerForce_StructCrit_Event_Learn") call SaveStr(j,GetHandleId(Condition(function ksr)),0,"s"+"__FolderInnerForce_StructCrit_Event_Unlearn") +call SaveStr(j,GetHandleId(Condition(function kSr)),0,"s"+"__FolderInnerForce_StructCrit_Init") call SaveStr(j,GetHandleId(Condition(function ktr)),0,"s"+"__InnerForce_Init") call SaveStr(j,GetHandleId(Condition(function kTr)),0,"s"+"__InnerForce_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function kur)),0,"s"+"__Monolith_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function kUr)),0,"s"+"__Monolith_Init_obj_obj_MonolithType_wc3unit") call SaveStr(j,GetHandleId(Condition(function kwr)),0,"s"+"__Monolith_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function kWr)),0,"s"+"__Monolith_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function kYr)),0,"s"+"__Monolith_TargetConditions") +call SaveStr(j,GetHandleId(Condition(function kZr)),0,"s"+"__Monolith_allocCustom") call SaveStr(j,GetHandleId(Condition(function k5r)),0,"s"+"__Monolith_Impact") call SaveStr(j,GetHandleId(Condition(function k7r)),0,"s"+"__Monolith_Update") call SaveStr(j,GetHandleId(Condition(function k8r)),0,"s"+"__Monolith_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Kvr)),0,"s"+"__Monolith_Init") +call SaveStr(j,GetHandleId(Condition(function Ker)),0,"s"+"__Monolith_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Kxr)),0,"s"+"__FolderSacredAura_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Kor)),0,"s"+"__FolderSacredAura_StructTarget_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function Krr)),0,"s"+"__FolderSacredAura_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Kir)),0,"s"+"__FolderSacredAura_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Kar)),0,"s"+"__SacredAura_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Knr)),0,"s"+"__SacredAura_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function KVr)),0,"s"+"__SacredAura_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function KEr)),0,"s"+"__SacredAura_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function KXr)),0,"s"+"__SacredAura_Conditions") +call SaveStr(j,GetHandleId(Condition(function KOr)),0,"s"+"__SacredAura_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function KRr)),0,"s"+"__SacredAura_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function KIr)),0,"s"+"__FolderSacredAura_StructTarget_Event_Ending") call SaveStr(j,GetHandleId(Condition(function KAr)),0,"s"+"__FolderSacredAura_StructTarget_Event_Start") +call SaveStr(j,GetHandleId(Condition(function KNr)),0,"s"+"__FolderSacredAura_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function Kbr)),0,"s"+"__SacredAura_Init") call SaveStr(j,GetHandleId(Condition(function KBr)),0,"s"+"__SacredAura_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Kcr)),0,"s"+"__FolderSeverance_StructBuff_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function KCr)),0,"s"+"__FolderSeverance_StructBuff_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function Kdr)),0,"s"+"__FolderSeverance_StructBuff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function KDr)),0,"s"+"__FolderSeverance_StructBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Kfr)),0,"s"+"__Severance_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function KFr)),0,"s"+"__Severance_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Kgr)),0,"s"+"__Severance_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Khr)),0,"s"+"__Severance_Conditions_Group") call SaveStr(j,GetHandleId(Condition(function Kjr)),0,"s"+"__Severance_allocCustom") +call SaveStr(j,GetHandleId(Condition(function KMr)),0,"s"+"__Severance_Impact") call SaveStr(j,GetHandleId(Condition(function KPr)),0,"s"+"__Severance_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Kqr)),0,"s"+"__Severance_Init") call SaveStr(j,GetHandleId(Condition(function KQr)),0,"s"+"__Severance_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Ksr)),0,"s"+"__FolderSnowySphere_StructParticle_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function KSr)),0,"s"+"__FolderSnowySphere_StructParticle_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Ktr)),0,"s"+"__FolderSnowySphere_StructParticle_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function KTr)),0,"s"+"__SnowySphere_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Kur)),0,"s"+"__SnowySphere_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function KUr)),0,"s"+"__SnowySphere_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function KWr)),0,"s"+"__SnowySphere_allocCustom") call SaveStr(j,GetHandleId(Condition(function KYr)),0,"s"+"__FolderSnowySphere_StructParticle_allocCustom") call SaveStr(j,GetHandleId(Condition(function Kzr)),0,"s"+"__FolderSnowySphere_StructParticle_Move") +call SaveStr(j,GetHandleId(Condition(function K1r)),0,"s"+"__FolderSnowySphere_StructParticle_Ending") call SaveStr(j,GetHandleId(Condition(function K3r)),0,"s"+"__SnowySphere_SpawnParticle") +call SaveStr(j,GetHandleId(Condition(function K4r)),0,"s"+"__SnowySphere_Move") call SaveStr(j,GetHandleId(Condition(function K8r)),0,"s"+"__SnowySphere_Ending") call SaveStr(j,GetHandleId(Condition(function K9r)),0,"s"+"__SnowySphere_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function lvr)),0,"s"+"__FolderSnowySphere_StructParticle_Conditions") call SaveStr(j,GetHandleId(Condition(function ler)),0,"s"+"__FolderSnowySphere_StructParticle_Init") +call SaveStr(j,GetHandleId(Condition(function lxr)),0,"s"+"__SnowySphere_Init") call SaveStr(j,GetHandleId(Condition(function lor)),0,"s"+"__SnowySphere_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function lrr)),0,"s"+"__Thunderstrike_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function lir)),0,"s"+"__Thunderstrike_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function lar)),0,"s"+"__Thunderstrike_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function lnr)),0,"s"+"__Thunderstrike_Conditions") call SaveStr(j,GetHandleId(Condition(function lEr)),0,"s"+"__Thunderstrike_allocCustom") +call SaveStr(j,GetHandleId(Condition(function lAr)),0,"s"+"__Thunderstrike_Nova") call SaveStr(j,GetHandleId(Condition(function lbr)),0,"s"+"__Thunderstrike_Delay") call SaveStr(j,GetHandleId(Condition(function lFr)),0,"s"+"__Thunderstrike_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function lgr)),0,"s"+"__Thunderstrike_Init") call SaveStr(j,GetHandleId(Condition(function lGr)),0,"s"+"__Thunderstrike_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function lhr)),0,"s"+"__TwinWolves_Init_obj_obj_summonUnitType6_wc3unit") call SaveStr(j,GetHandleId(Condition(function lHr)),0,"s"+"__TwinWolves_Init_obj_obj_summonUnitType1_wc3unit") call SaveStr(j,GetHandleId(Condition(function ljr)),0,"s"+"__TwinWolves_Init_obj_obj_summonUnitType2_wc3unit") call SaveStr(j,GetHandleId(Condition(function lJr)),0,"s"+"__TwinWolves_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function lkr)),0,"s"+"__TwinWolves_Init_obj_obj_summonUnitType3_wc3unit") call SaveStr(j,GetHandleId(Condition(function lKr)),0,"s"+"__TwinWolves_Init_obj_obj_summonUnitType4_wc3unit") call SaveStr(j,GetHandleId(Condition(function llr)),0,"s"+"__TwinWolves_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function lLr)),0,"s"+"__TwinWolves_Init_obj_obj_summonUnitType5_wc3unit") call SaveStr(j,GetHandleId(Condition(function lmr)),0,"s"+"__TwinWolves_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function lMr)),0,"s"+"__TwinWolves_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ltr)),0,"s"+"__TwinWolves_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function lYr)),0,"s"+"__TwinWolves_Init") call SaveStr(j,GetHandleId(Condition(function lzr)),0,"s"+"__TwinWolves_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function lZr)),0,"s"+"__Brotherhood_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function l_r)),0,"s"+"__Brotherhood_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function l0r)),0,"s"+"__Brotherhood_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function l1r)),0,"s"+"__Brotherhood_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function l2r)),0,"s"+"__Brotherhood_Event_Damage") call SaveStr(j,GetHandleId(Condition(function l6r)),0,"s"+"__Brotherhood_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function l7r)),0,"s"+"__Brotherhood_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function l8r)),0,"s"+"__Brotherhood_Event_Learn") call SaveStr(j,GetHandleId(Condition(function l9r)),0,"s"+"__Brotherhood_Event_Unlearn") +call SaveStr(j,GetHandleId(Condition(function Lvr)),0,"s"+"__Brotherhood_Init") call SaveStr(j,GetHandleId(Condition(function Ler)),0,"s"+"__Brotherhood_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Lxr)),0,"s"+"__Carnivore_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Lor)),0,"s"+"__Carnivore_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Lrr)),0,"s"+"__Carnivore_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function Lir)),0,"s"+"__Carnivore_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Lar)),0,"s"+"__Carnivore_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Lnr)),0,"s"+"__Carnivore_Event_Learn") +call SaveStr(j,GetHandleId(Condition(function LVr)),0,"s"+"__Carnivore_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function LEr)),0,"s"+"__Carnivore_Init") call SaveStr(j,GetHandleId(Condition(function LXr)),0,"s"+"__Carnivore_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function LOr)),0,"s"+"__WolfsMark_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function LRr)),0,"s"+"__WolfsMark_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function LIr)),0,"s"+"__WolfsMark_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function LAr)),0,"s"+"__WolfsMark_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function LNr)),0,"s"+"__WolfsMark_Init") call SaveStr(j,GetHandleId(Condition(function Lbr)),0,"s"+"__WolfsMark_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function LBr)),0,"s"+"__FolderVividMeteor_StructEffects_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Lcr)),0,"s"+"__FolderVividMeteor_StructEffects_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function LCr)),0,"s"+"__VividMeteor_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Ldr)),0,"s"+"__VividMeteor_Init_obj_obj_poisonBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function LDr)),0,"s"+"__VividMeteor_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Lfr)),0,"s"+"__VividMeteor_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function LFr)),0,"s"+"__VividMeteor_Conditions") call SaveStr(j,GetHandleId(Condition(function LGr)),0,"s"+"__VividMeteor_allocCustom") call SaveStr(j,GetHandleId(Condition(function LHr)),0,"s"+"__FolderVividMeteor_StructEffects_Update") call SaveStr(j,GetHandleId(Condition(function Lmr)),0,"s"+"__VividMeteor_Ending") call SaveStr(j,GetHandleId(Condition(function Lqr)),0,"s"+"__VividMeteor_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function LQr)),0,"s"+"__FolderVividMeteor_StructEffects_Init") call SaveStr(j,GetHandleId(Condition(function Lsr)),0,"s"+"__VividMeteor_Init") call SaveStr(j,GetHandleId(Condition(function LSr)),0,"s"+"__VividMeteor_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Ltr)),0,"s"+"__WarmthMagnetism_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function LTr)),0,"s"+"__WarmthMagnetism_Init_obj_obj_bolt_wc3bolt") +call SaveStr(j,GetHandleId(Condition(function Lur)),0,"s"+"__WarmthMagnetism_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function LUr)),0,"s"+"__WarmthMagnetism_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Lwr)),0,"s"+"__WarmthMagnetism_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Lyr)),0,"s"+"__WarmthMagnetism_Event_Caster_Death") call SaveStr(j,GetHandleId(Condition(function LYr)),0,"s"+"__WarmthMagnetism_Interval") call SaveStr(j,GetHandleId(Condition(function Lzr)),0,"s"+"__WarmthMagnetism_Move") call SaveStr(j,GetHandleId(Condition(function L_r)),0,"s"+"__WarmthMagnetism_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function L1r)),0,"s"+"__WarmthMagnetism_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function L2r)),0,"s"+"__WarmthMagnetism_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function L3r)),0,"s"+"__WarmthMagnetism_Init") call SaveStr(j,GetHandleId(Condition(function L4r)),0,"s"+"__WarmthMagnetism_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function L5r)),0,"s"+"__FolderAmaterasu_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function L6r)),0,"s"+"__FolderAmaterasu_StructTarget_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function L7r)),0,"s"+"__FolderAmaterasu_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function L8r)),0,"s"+"__Amaterasu_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function L9r)),0,"s"+"__Amaterasu_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function mvr)),0,"s"+"__Amaterasu_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function mer)),0,"s"+"__Amaterasu_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mxr)),0,"s"+"__Amaterasu_Conditions") call SaveStr(j,GetHandleId(Condition(function mor)),0,"s"+"__Amaterasu_Interval") call SaveStr(j,GetHandleId(Condition(function mrr)),0,"s"+"__Amaterasu_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function mir)),0,"s"+"__Amaterasu_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function mar)),0,"s"+"__Amaterasu_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function mnr)),0,"s"+"__Amaterasu_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function mVr)),0,"s"+"__FolderAmaterasu_StructTarget_Init") +call SaveStr(j,GetHandleId(Condition(function mEr)),0,"s"+"__Amaterasu_Init") call SaveStr(j,GetHandleId(Condition(function mXr)),0,"s"+"__Amaterasu_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function mOr)),0,"s"+"__FolderArcaneAttractor_StructTarget_Init_obj_obj_bolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function mRr)),0,"s"+"__FolderArcaneAttractor_StructTarget_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function mIr)),0,"s"+"__FolderArcaneAttractor_StructTarget_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function mAr)),0,"s"+"__FolderArcaneAttractor_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function mNr)),0,"s"+"__FolderArcaneAttractor_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mbr)),0,"s"+"__ArcaneAttractor_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function mBr)),0,"s"+"__ArcaneAttractor_Init_obj_obj_summonUnitType_wc3unit") call SaveStr(j,GetHandleId(Condition(function mcr)),0,"s"+"__ArcaneAttractor_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function mCr)),0,"s"+"__ArcaneAttractor_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function mDr)),0,"s"+"__ArcaneAttractor_Event_Summon_Destroy") call SaveStr(j,GetHandleId(Condition(function mfr)),0,"s"+"__ArcaneAttractor_Conditions") call SaveStr(j,GetHandleId(Condition(function mGr)),0,"s"+"__ArcaneAttractor_IntervalByTimer") call SaveStr(j,GetHandleId(Condition(function mHr)),0,"s"+"__ArcaneAttractor_EndingByTimer") +call SaveStr(j,GetHandleId(Condition(function mjr)),0,"s"+"__ArcaneAttractor_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function mJr)),0,"s"+"__FolderArcaneAttractor_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function mkr)),0,"s"+"__ArcaneAttractor_Init") call SaveStr(j,GetHandleId(Condition(function mKr)),0,"s"+"__ArcaneAttractor_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function mlr)),0,"s"+"__ArcticWolf_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function mLr)),0,"s"+"__ArcticWolf_Init_obj_obj_summonUnitType2_wc3unit") call SaveStr(j,GetHandleId(Condition(function mmr)),0,"s"+"__ArcticWolf_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function mMr)),0,"s"+"__ArcticWolf_Init_obj_obj_summonUnitType1_wc3unit") call SaveStr(j,GetHandleId(Condition(function mpr)),0,"s"+"__ArcticWolf_Init_obj_obj_summonUnitType3_wc3unit") call SaveStr(j,GetHandleId(Condition(function mPr)),0,"s"+"__ArcticWolf_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function mqr)),0,"s"+"__ArcticWolf_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function mQr)),0,"s"+"__ArcticWolf_ExplosionConditions") call SaveStr(j,GetHandleId(Condition(function msr)),0,"s"+"__ArcticWolf_Conditions") +call SaveStr(j,GetHandleId(Condition(function mtr)),0,"s"+"__ArcticWolf_allocCustom") call SaveStr(j,GetHandleId(Condition(function mTr)),0,"s"+"__ArcticWolf_Interval") call SaveStr(j,GetHandleId(Condition(function mUr)),0,"s"+"__ArcticWolf_Move") call SaveStr(j,GetHandleId(Condition(function mzr)),0,"s"+"__ArcticWolf_Ending") +call SaveStr(j,GetHandleId(Condition(function m2r)),0,"s"+"__ArcticWolf_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function m5r)),0,"s"+"__ArcticWolf_Init") call SaveStr(j,GetHandleId(Condition(function m6r)),0,"s"+"__ArcticWolf_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function m7r)),0,"s"+"__FolderBoulderCrash_StructVisuals_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function m8r)),0,"s"+"__FolderBoulderCrash_StructVisuals_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function m9r)),0,"s"+"__FolderBoulderCrash_StructVisuals_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Mvr)),0,"s"+"__BoulderCrash_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Mer)),0,"s"+"__BoulderCrash_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Mxr)),0,"s"+"__BoulderCrash_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Mor)),0,"s"+"__BoulderCrash_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Mrr)),0,"s"+"__BoulderCrash_Conditions") call SaveStr(j,GetHandleId(Condition(function Mar)),0,"s"+"__BoulderCrash_Interval") +call SaveStr(j,GetHandleId(Condition(function MXr)),0,"s"+"__BoulderCrash_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function MRr)),0,"s"+"__BoulderCrash_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function MIr)),0,"s"+"__BoulderCrash_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function MAr)),0,"s"+"__BoulderCrash_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Mbr)),0,"s"+"__FolderDummyUnit_StructFollowUnit_Update") call SaveStr(j,GetHandleId(Condition(function Mcr)),0,"s"+"__Timer_StartPeriodicRange_Timeout") call SaveStr(j,GetHandleId(Condition(function Mfr)),0,"s"+"__FolderBoulderCrash_StructVisuals_Impact") call SaveStr(j,GetHandleId(Condition(function Mgr)),0,"s"+"__FolderBoulderCrash_StructVisuals_Interval") +call SaveStr(j,GetHandleId(Condition(function MGr)),0,"s"+"__FolderBoulderCrash_StructVisuals_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function MHr)),0,"s"+"__FolderBoulderCrash_StructVisuals_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Mjr)),0,"s"+"__FolderBoulderCrash_StructVisuals_Init") +call SaveStr(j,GetHandleId(Condition(function MJr)),0,"s"+"__BoulderCrash_Init") +call SaveStr(j,GetHandleId(Condition(function Mkr)),0,"s"+"__BoulderCrash_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function MKr)),0,"s"+"__Conflagration_Init_obj_obj_eclipseBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Mlr)),0,"s"+"__Conflagration_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function MLr)),0,"s"+"__Conflagration_Init_obj_obj_dummyBolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function Mmr)),0,"s"+"__Conflagration_Init_obj_obj_totalBolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function MMr)),0,"s"+"__Conflagration_Init_obj_obj_ignitionBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Mpr)),0,"s"+"__Conflagration_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function MPr)),0,"s"+"__Conflagration_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Mqr)),0,"s"+"__Conflagration_Conditions") call SaveStr(j,GetHandleId(Condition(function Msr)),0,"s"+"__Conflagration_allocCustom") +call SaveStr(j,GetHandleId(Condition(function MSr)),0,"s"+"__Conflagration_Move") call SaveStr(j,GetHandleId(Condition(function M3r)),0,"s"+"__Conflagration_Ending") call SaveStr(j,GetHandleId(Condition(function M4r)),0,"s"+"__Conflagration_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function M9r)),0,"s"+"__Conflagration_Init") call SaveStr(j,GetHandleId(Condition(function pvr)),0,"s"+"__Conflagration_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function per)),0,"s"+"__FolderCyclone_StructRelocate_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function pxr)),0,"s"+"__FolderCyclone_StructRelocate_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function por)),0,"s"+"__FolderCyclone_StructRelocate_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function prr)),0,"s"+"__Cyclone_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function pir)),0,"s"+"__Cyclone_Init_obj_obj_CycloneType_wc3unit") call SaveStr(j,GetHandleId(Condition(function par)),0,"s"+"__Cyclone_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function pnr)),0,"s"+"__Cyclone_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function pVr)),0,"s"+"__Cyclone_Event_Destroy") +call SaveStr(j,GetHandleId(Condition(function pXr)),0,"s"+"__Cyclone_TargetConditions") call SaveStr(j,GetHandleId(Condition(function pRr)),0,"s"+"__Cyclone_allocCustom") call SaveStr(j,GetHandleId(Condition(function pcr)),0,"s"+"__Cyclone_Impact") call SaveStr(j,GetHandleId(Condition(function pCr)),0,"s"+"__Cyclone_Update") call SaveStr(j,GetHandleId(Condition(function pDr)),0,"s"+"__Cyclone_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function pfr)),0,"s"+"__FolderCyclone_StructRelocate_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function pFr)),0,"s"+"__Cyclone_Init") call SaveStr(j,GetHandleId(Condition(function pgr)),0,"s"+"__Cyclone_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function pGr)),0,"s"+"__FolderWindDance_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function phr)),0,"s"+"__FolderWindDance_StructTarget_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function pHr)),0,"s"+"__FolderWindDance_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pjr)),0,"s"+"__WindDance_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function pJr)),0,"s"+"__WindDance_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function pkr)),0,"s"+"__WindDance_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function pKr)),0,"s"+"__WindDance_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function plr)),0,"s"+"__WindDance_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pLr)),0,"s"+"__DeprivingShock_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function pmr)),0,"s"+"__DeprivingShock_Init_obj_obj_summonBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function pMr)),0,"s"+"__DeprivingShock_Init_obj_obj_stunBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function ppr)),0,"s"+"__DeprivingShock_Init_obj_obj_bolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function pPr)),0,"s"+"__DeprivingShock_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function pqr)),0,"s"+"__DeprivingShock_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function pQr)),0,"s"+"__DeprivingShock_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function pSr)),0,"s"+"__DeprivingShock_Event_Death") call SaveStr(j,GetHandleId(Condition(function ptr)),0,"s"+"__DeprivingShock_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function pTr)),0,"s"+"__DeprivingShock_DamageInterval") +call SaveStr(j,GetHandleId(Condition(function pur)),0,"s"+"__DeprivingShock_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function pwr)),0,"s"+"__DeprivingShock_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function pyr)),0,"s"+"__DeprivingShock_Init") call SaveStr(j,GetHandleId(Condition(function pYr)),0,"s"+"__DeprivingShock_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function pzr)),0,"s"+"__FolderDoppelganger_StructBigBoom_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function pZr)),0,"s"+"__FolderDoppelganger_StructBigBoom_Init_obj_obj_ignitionBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function p_r)),0,"s"+"__FolderDoppelganger_StructBigBoom_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function p0r)),0,"s"+"__FolderDoppelganger_StructBigBoom_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function p1r)),0,"s"+"__FolderDoppelganger_StructFireBuff_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function p2r)),0,"s"+"__FolderDoppelganger_StructFireBuff_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function p3r)),0,"s"+"__FolderDoppelganger_StructFireBuff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function p4r)),0,"s"+"__FolderDoppelganger_StructFireBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function p5r)),0,"s"+"__FolderDoppelganger_StructIceBuff_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function p6r)),0,"s"+"__FolderDoppelganger_StructIceBuff_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function p7r)),0,"s"+"__FolderDoppelganger_StructIceBuff_Init_obj_obj_coldnessBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function p8r)),0,"s"+"__FolderDoppelganger_StructIceBuff_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function p9r)),0,"s"+"__FolderDoppelganger_StructIceBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Pvr)),0,"s"+"__Doppelganger_Init_obj_obj_thisUnitType_wc3unit") call SaveStr(j,GetHandleId(Condition(function Per)),0,"s"+"__Doppelganger_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Pxr)),0,"s"+"__Doppelganger_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Por)),0,"s"+"__Doppelganger_Init_obj_obj_illusionBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Prr)),0,"s"+"__Doppelganger_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Pir)),0,"s"+"__Doppelganger_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Par)),0,"s"+"__Doppelganger_Event_IllusionDestroy") call SaveStr(j,GetHandleId(Condition(function PEr)),0,"s"+"__Doppelganger_CasterImpact") +call SaveStr(j,GetHandleId(Condition(function PRr)),0,"s"+"__Doppelganger_IllusionImpact") call SaveStr(j,GetHandleId(Condition(function PIr)),0,"s"+"__Doppelganger_Delay") call SaveStr(j,GetHandleId(Condition(function PAr)),0,"s"+"__Doppelganger_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function PNr)),0,"s"+"__Doppelganger_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function PBr)),0,"s"+"__Doppelganger_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Pcr)),0,"s"+"__FolderDoppelganger_StructBigBoom_TargetConditions") +call SaveStr(j,GetHandleId(Condition(function Pdr)),0,"s"+"__FolderDoppelganger_StructBigBoom_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function PGr)),0,"s"+"__FolderDoppelganger_StructBigBoom_Init") +call SaveStr(j,GetHandleId(Condition(function Phr)),0,"s"+"__FolderDoppelganger_StructFireBuff_Event_Damage") call SaveStr(j,GetHandleId(Condition(function PHr)),0,"s"+"__FolderDoppelganger_StructFireBuff_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function PJr)),0,"s"+"__FolderDoppelganger_StructFireBuff_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Pkr)),0,"s"+"__FolderDoppelganger_StructFireBuff_Init") call SaveStr(j,GetHandleId(Condition(function PKr)),0,"s"+"__FolderDoppelganger_StructIceBuff_Event_Damage") +call SaveStr(j,GetHandleId(Condition(function Plr)),0,"s"+"__FolderDoppelganger_StructIceBuff_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function PLr)),0,"s"+"__FolderDoppelganger_StructIceBuff_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Pmr)),0,"s"+"__FolderDoppelganger_StructIceBuff_Init") +call SaveStr(j,GetHandleId(Condition(function PMr)),0,"s"+"__Doppelganger_Init") +call SaveStr(j,GetHandleId(Condition(function Ppr)),0,"s"+"__Doppelganger_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function PPr)),0,"s"+"__EbonyShot_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Pqr)),0,"s"+"__EbonyShot_Init_obj_obj_ignitionBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function PQr)),0,"s"+"__EbonyShot_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Psr)),0,"s"+"__EbonyShot_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Pur)),0,"s"+"__EbonyShot_Event_Missile_Destroy") call SaveStr(j,GetHandleId(Condition(function PUr)),0,"s"+"__EbonyShot_TargetConditions") call SaveStr(j,GetHandleId(Condition(function Pyr)),0,"s"+"__EbonyShot_allocCustom") +call SaveStr(j,GetHandleId(Condition(function PYr)),0,"s"+"__EbonyShot_Impact") call SaveStr(j,GetHandleId(Condition(function Pzr)),0,"s"+"__EbonyShot_Collision") call SaveStr(j,GetHandleId(Condition(function P0r)),0,"s"+"__EbonyShot_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function P2r)),0,"s"+"__EbonyShot_Init") call SaveStr(j,GetHandleId(Condition(function P3r)),0,"s"+"__EbonyShot_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function P4r)),0,"s"+"__FolderEmphaticBite_StructBuff_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function P5r)),0,"s"+"__FolderEmphaticBite_StructBuff_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function P6r)),0,"s"+"__FolderEmphaticBite_StructBuff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function P7r)),0,"s"+"__FolderEmphaticBite_StructBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function P8r)),0,"s"+"__EmphaticBite_Init_obj_obj_targetBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function P9r)),0,"s"+"__EmphaticBite_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function qvr)),0,"s"+"__EmphaticBite_Init_obj_obj_casterBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function qer)),0,"s"+"__EmphaticBite_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function qxr)),0,"s"+"__EmphaticBite_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qOr)),0,"s"+"__EmphaticBite_Move") +call SaveStr(j,GetHandleId(Condition(function qIr)),0,"s"+"__EmphaticBite_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function qbr)),0,"s"+"__EmphaticBite_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function qBr)),0,"s"+"__EmphaticBite_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function qcr)),0,"s"+"__FolderEmphaticBite_StructBuff_Init") call SaveStr(j,GetHandleId(Condition(function qCr)),0,"s"+"__EmphaticBite_Init") +call SaveStr(j,GetHandleId(Condition(function qdr)),0,"s"+"__EmphaticBite_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function qDr)),0,"s"+"__EnchantedArrow_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function qfr)),0,"s"+"__EnchantedArrow_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function qFr)),0,"s"+"__EnchantedArrow_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function qHr)),0,"s"+"__EnchantedArrow_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function qjr)),0,"s"+"__EnchantedArrow_TargetConditions") call SaveStr(j,GetHandleId(Condition(function qkr)),0,"s"+"__EnchantedArrow_allocCustom") call SaveStr(j,GetHandleId(Condition(function qlr)),0,"s"+"__EnchantedArrow_Impact") +call SaveStr(j,GetHandleId(Condition(function qmr)),0,"s"+"__EnchantedArrow_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function qSr)),0,"s"+"__EnchantedArrow_Update") +call SaveStr(j,GetHandleId(Condition(function qUr)),0,"s"+"__EnchantedArrow_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function qwr)),0,"s"+"__EnchantedArrow_Init") call SaveStr(j,GetHandleId(Condition(function qWr)),0,"s"+"__EnchantedArrow_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function qyr)),0,"s"+"__FolderFairyShape_StructRevert_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function qYr)),0,"s"+"__FolderFairyShape_StructRevert_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function qzr)),0,"s"+"__FolderFairyShape_StructRevert_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function qZr)),0,"s"+"__FolderFairyShape_StructRevert_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function q_r)),0,"s"+"__FairyShape_Init_obj_obj_revertAbility_wc3spell") call SaveStr(j,GetHandleId(Condition(function q0r)),0,"s"+"__FairyShape_Init_obj_obj_eclipseBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function q1r)),0,"s"+"__FairyShape_Init_obj_obj_changerAbility_wc3spell") call SaveStr(j,GetHandleId(Condition(function q2r)),0,"s"+"__FolderUnit_FolderScale_StructTimed_Event_ModGain") call SaveStr(j,GetHandleId(Condition(function q3r)),0,"s"+"__FolderUnit_FolderScale_StructTimed_Event_ModLose") call SaveStr(j,GetHandleId(Condition(function q5r)),0,"s"+"__FairyShape_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function q6r)),0,"s"+"__FairyShape_Init_obj_obj_thisUnitType_wc3unit") call SaveStr(j,GetHandleId(Condition(function q7r)),0,"s"+"__FairyShape_Init_obj_obj_bolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function q8r)),0,"s"+"__FairyShape_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function q9r)),0,"s"+"__FairyShape_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Qvr)),0,"s"+"__FairyShape_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Qer)),0,"s"+"__FairyShape_Conditions") +call SaveStr(j,GetHandleId(Condition(function Qir)),0,"s"+"__FairyShape_RemoveHigherHitCountsEnum") call SaveStr(j,GetHandleId(Condition(function Qar)),0,"s"+"__FairyShape_Interval") call SaveStr(j,GetHandleId(Condition(function QEr)),0,"s"+"__FairyShape_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function QXr)),0,"s"+"__FairyShape_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function QRr)),0,"s"+"__FairyShape_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function QIr)),0,"s"+"__FolderFairyShape_StructRevert_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function QAr)),0,"s"+"__FolderFairyShape_StructRevert_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Qbr)),0,"s"+"__FolderFairyShape_StructRevert_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function QBr)),0,"s"+"__FolderFairyShape_StructRevert_Init") call SaveStr(j,GetHandleId(Condition(function Qcr)),0,"s"+"__FairyShape_Init") call SaveStr(j,GetHandleId(Condition(function QCr)),0,"s"+"__FairyShape_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Qdr)),0,"s"+"__FolderFairysTears_StructTarget_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function QDr)),0,"s"+"__FolderFairysTears_StructTarget_Init_obj_obj_coldnessBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Qfr)),0,"s"+"__FolderFairysTears_StructTarget_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function QFr)),0,"s"+"__FolderFairysTears_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Qgr)),0,"s"+"__FolderFairysTears_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QGr)),0,"s"+"__FairysTears_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Qhr)),0,"s"+"__FairysTears_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function QHr)),0,"s"+"__FairysTears_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Qjr)),0,"s"+"__FairysTears_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function QJr)),0,"s"+"__FairysTears_Conditions") call SaveStr(j,GetHandleId(Condition(function QKr)),0,"s"+"__FairysTears_Interval") call SaveStr(j,GetHandleId(Condition(function Qlr)),0,"s"+"__FairysTears_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function QLr)),0,"s"+"__FairysTears_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Qmr)),0,"s"+"__FairysTears_Event_EndCast") +call SaveStr(j,GetHandleId(Condition(function QMr)),0,"s"+"__FairysTears_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function Qpr)),0,"s"+"__FolderFairysTears_StructTarget_DealDamage") +call SaveStr(j,GetHandleId(Condition(function QPr)),0,"s"+"__FolderFairysTears_StructTarget_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function Qqr)),0,"s"+"__FolderFairysTears_StructTarget_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function QQr)),0,"s"+"__FolderFairysTears_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function Qsr)),0,"s"+"__FairysTears_Init") call SaveStr(j,GetHandleId(Condition(function QSr)),0,"s"+"__FairysTears_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Qtr)),0,"s"+"__FountainOfLifeAndDeath_Init_obj_obj_FountainType_wc3unit") call SaveStr(j,GetHandleId(Condition(function QTr)),0,"s"+"__FountainOfLifeAndDeath_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Qur)),0,"s"+"__FountainOfLifeAndDeath_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function QUr)),0,"s"+"__FountainOfLifeAndDeath_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function QWr)),0,"s"+"__FountainOfLifeAndDeath_allocCustom") call SaveStr(j,GetHandleId(Condition(function Q_r)),0,"s"+"__FountainOfLifeAndDeath_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Q0r)),0,"s"+"__FountainOfLifeAndDeath_Init") call SaveStr(j,GetHandleId(Condition(function Q1r)),0,"s"+"__FountainOfLifeAndDeath_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Q2r)),0,"s"+"__FolderDecayAura_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Q3r)),0,"s"+"__FolderDecayAura_StructTarget_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function Q4r)),0,"s"+"__FolderDecayAura_StructTarget_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Q5r)),0,"s"+"__FolderDecayAura_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Q6r)),0,"s"+"__DecayAura_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Q7r)),0,"s"+"__DecayAura_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Q8r)),0,"s"+"__DecayAura_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function Q9r)),0,"s"+"__DecayAura_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function svr)),0,"s"+"__DecayAura_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ser)),0,"s"+"__DecayAura_Conditions") call SaveStr(j,GetHandleId(Condition(function sxr)),0,"s"+"__DecayAura_DealDamage") call SaveStr(j,GetHandleId(Condition(function sor)),0,"s"+"__DecayAura_Interval") call SaveStr(j,GetHandleId(Condition(function srr)),0,"s"+"__DecayAura_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function sir)),0,"s"+"__DecayAura_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function sar)),0,"s"+"__FolderDecayAura_StructTarget_Event_Ending") +call SaveStr(j,GetHandleId(Condition(function snr)),0,"s"+"__FolderDecayAura_StructTarget_Event_Start") call SaveStr(j,GetHandleId(Condition(function sVr)),0,"s"+"__FolderDecayAura_StructTarget_Init") +call SaveStr(j,GetHandleId(Condition(function sEr)),0,"s"+"__DecayAura_Init") call SaveStr(j,GetHandleId(Condition(function sXr)),0,"s"+"__DecayAura_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function sOr)),0,"s"+"__AIPalingenesis_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sRr)),0,"s"+"__AIAutoCast_GeneralConditions") call SaveStr(j,GetHandleId(Condition(function sIr)),0,"s"+"__AIAutoCast_Event_Learn") call SaveStr(j,GetHandleId(Condition(function sAr)),0,"s"+"__AIAutoCast_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function sbr)),0,"s"+"__AIPalingenesis_Event") call SaveStr(j,GetHandleId(Condition(function sBr)),0,"s"+"__AIPalingenesis_Init") call SaveStr(j,GetHandleId(Condition(function scr)),0,"s"+"__AIPalingenesis_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function sCr)),0,"s"+"__Palingenesis_Init_obj_obj_summonBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function sdr)),0,"s"+"__Palingenesis_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function sDr)),0,"s"+"__Palingenesis_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function sfr)),0,"s"+"__Palingenesis_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function sFr)),0,"s"+"__Palingenesis_Conditions") call SaveStr(j,GetHandleId(Condition(function sgr)),0,"s"+"__Palingenesis_Impact") call SaveStr(j,GetHandleId(Condition(function shr)),0,"s"+"__Palingenesis_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function sHr)),0,"s"+"__Palingenesis_Event_OrderConditions") call SaveStr(j,GetHandleId(Condition(function sjr)),0,"s"+"__Palingenesis_Init") +call SaveStr(j,GetHandleId(Condition(function sJr)),0,"s"+"__Palingenesis_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function skr)),0,"s"+"__FolderGarmentsOfTheSalamander_StructRegen_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function sKr)),0,"s"+"__FolderGarmentsOfTheSalamander_StructRegen_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function slr)),0,"s"+"__FolderGarmentsOfTheSalamander_StructRegen_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function sLr)),0,"s"+"__FolderGarmentsOfTheSalamander_StructRegen_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function smr)),0,"s"+"__GarmentsOfTheSalamander_Init_obj_obj_revertSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function sMr)),0,"s"+"__GarmentsOfTheSalamander_Init_obj_obj_revertAbility_wc3spell") call SaveStr(j,GetHandleId(Condition(function spr)),0,"s"+"__GarmentsOfTheSalamander_Init_obj_obj_thisUnitType_wc3unit") +call SaveStr(j,GetHandleId(Condition(function sPr)),0,"s"+"__GarmentsOfTheSalamander_Init_obj_obj_changerAbility_wc3spell") call SaveStr(j,GetHandleId(Condition(function sqr)),0,"s"+"__GarmentsOfTheSalamander_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function sQr)),0,"s"+"__GarmentsOfTheSalamander_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function ssr)),0,"s"+"__GarmentsOfTheSalamander_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function sSr)),0,"s"+"__GarmentsOfTheSalamander_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function sur)),0,"s"+"__GarmentsOfTheSalamander_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function sUr)),0,"s"+"__GarmentsOfTheSalamander_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function swr)),0,"s"+"__GarmentsOfTheSalamander_Event_RevertSpellEffect") call SaveStr(j,GetHandleId(Condition(function sWr)),0,"s"+"__GarmentsOfTheSalamander_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function syr)),0,"s"+"__FolderGarmentsOfTheSalamander_StructRegen_Conditions") call SaveStr(j,GetHandleId(Condition(function sYr)),0,"s"+"__FolderGarmentsOfTheSalamander_StructRegen_Interval") call SaveStr(j,GetHandleId(Condition(function s_r)),0,"s"+"__FolderGarmentsOfTheSalamander_StructRegen_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function s0r)),0,"s"+"__FolderGarmentsOfTheSalamander_StructRegen_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function s1r)),0,"s"+"__FolderGarmentsOfTheSalamander_StructRegen_Init") call SaveStr(j,GetHandleId(Condition(function s2r)),0,"s"+"__GarmentsOfTheSalamander_Init") call SaveStr(j,GetHandleId(Condition(function s3r)),0,"s"+"__GarmentsOfTheSalamander_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function s4r)),0,"s"+"__FolderHandOfNature_StructId_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function s5r)),0,"s"+"__FolderHandOfNature_FolderData_FolderInteger_StructTable_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function s6r)),0,"s"+"__FolderHandOfNature_FolderData_StructInteger_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function s7r)),0,"s"+"__FolderHandOfNature_StructData_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function s8r)),0,"s"+"__FolderHandOfNature_StructPrison_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function s9r)),0,"s"+"__FolderHandOfNature_StructPrison_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Svr)),0,"s"+"__FolderHandOfNature_StructPrison_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Ser)),0,"s"+"__FolderHandOfNature_FolderRoots_StructBuff_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function Sxr)),0,"s"+"__FolderHandOfNature_FolderRoots_StructBuff_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Sor)),0,"s"+"__FolderHandOfNature_FolderRoots_StructBuff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Srr)),0,"s"+"__FolderHandOfNature_FolderRoots_StructBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Sir)),0,"s"+"__FolderHandOfNature_StructRoots_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Sar)),0,"s"+"__FolderHandOfNature_StructRoots_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Snr)),0,"s"+"__FolderHandOfNature_StructNova_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function SVr)),0,"s"+"__FolderHandOfNature_StructNova_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SEr)),0,"s"+"__HandOfNature_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function SXr)),0,"s"+"__HandOfNature_Init_obj_obj_summonUnitType5_wc3unit") +call SaveStr(j,GetHandleId(Condition(function SOr)),0,"s"+"__HandOfNature_Init_obj_obj_summonUnitType1_wc3unit") +call SaveStr(j,GetHandleId(Condition(function SRr)),0,"s"+"__HandOfNature_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function SIr)),0,"s"+"__HandOfNature_Init_obj_obj_summonUnitType2_wc3unit") +call SaveStr(j,GetHandleId(Condition(function SAr)),0,"s"+"__HandOfNature_Init_obj_obj_summonUnitType3_wc3unit") +call SaveStr(j,GetHandleId(Condition(function SNr)),0,"s"+"__HandOfNature_Init_obj_obj_summonUnitType6_wc3unit") +call SaveStr(j,GetHandleId(Condition(function Sbr)),0,"s"+"__HandOfNature_Init_obj_obj_summonUnitType4_wc3unit") +call SaveStr(j,GetHandleId(Condition(function SBr)),0,"s"+"__HandOfNature_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Scr)),0,"s"+"__HandOfNature_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function SCr)),0,"s"+"__HandOfNature_Conditions") call SaveStr(j,GetHandleId(Condition(function SJr)),0,"s"+"__HandOfNature_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function SKr)),0,"s"+"__HandOfNature_allocCustom") call SaveStr(j,GetHandleId(Condition(function SPr)),0,"s"+"__FolderHandOfNature_StructRoots_allocCustom") call SaveStr(j,GetHandleId(Condition(function Sqr)),0,"s"+"__FolderHandOfNature_StructRoots_Interval") call SaveStr(j,GetHandleId(Condition(function STr)),0,"s"+"__FolderHandOfNature_StructRoots_Impact") +call SaveStr(j,GetHandleId(Condition(function Swr)),0,"s"+"__FolderHandOfNature_StructNova_IntervalByTimer") +call SaveStr(j,GetHandleId(Condition(function SWr)),0,"s"+"__FolderHandOfNature_StructNova_PauseByTimer") call SaveStr(j,GetHandleId(Condition(function SYr)),0,"s"+"__HandOfNature_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function S_r)),0,"s"+"__FolderHandOfNature_StructPrison_Init") call SaveStr(j,GetHandleId(Condition(function S0r)),0,"s"+"__FolderHandOfNature_FolderRoots_StructBuff_DealDamage") call SaveStr(j,GetHandleId(Condition(function S1r)),0,"s"+"__FolderHandOfNature_FolderRoots_StructBuff_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function S2r)),0,"s"+"__FolderHandOfNature_FolderRoots_StructBuff_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function S3r)),0,"s"+"__FolderHandOfNature_FolderRoots_StructBuff_Init") call SaveStr(j,GetHandleId(Condition(function S4r)),0,"s"+"__HandOfNature_Init") +call SaveStr(j,GetHandleId(Condition(function S5r)),0,"s"+"__HandOfNature_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function S6r)),0,"s"+"__FolderSlowPoison_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function S7r)),0,"s"+"__FolderSlowPoison_StructTarget_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function S8r)),0,"s"+"__FolderSlowPoison_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function S9r)),0,"s"+"__FolderSlowPoison_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tvr)),0,"s"+"__SlowPoison_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function ter)),0,"s"+"__SlowPoison_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function txr)),0,"s"+"__SlowPoison_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function tor)),0,"s"+"__SlowPoison_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tar)),0,"s"+"__SlowPoison_Event_Damage") call SaveStr(j,GetHandleId(Condition(function tnr)),0,"s"+"__SlowPoison_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function tVr)),0,"s"+"__SlowPoison_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function tEr)),0,"s"+"__SlowPoison_Event_Learn") call SaveStr(j,GetHandleId(Condition(function tXr)),0,"s"+"__SlowPoison_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function tOr)),0,"s"+"__FolderSlowPoison_StructTarget_Interval") call SaveStr(j,GetHandleId(Condition(function tRr)),0,"s"+"__FolderSlowPoison_StructTarget_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function tIr)),0,"s"+"__FolderSlowPoison_StructTarget_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function tAr)),0,"s"+"__FolderSlowPoison_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function tNr)),0,"s"+"__SlowPoison_Init") call SaveStr(j,GetHandleId(Condition(function tbr)),0,"s"+"__SlowPoison_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function tBr)),0,"s"+"__FolderHopNDrop_FolderSetMines_StructMine_Init_obj_obj_summonUnitType_wc3unit") call SaveStr(j,GetHandleId(Condition(function tcr)),0,"s"+"__FolderHopNDrop_FolderSetMines_StructMine_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function tCr)),0,"s"+"__FolderHopNDrop_FolderSetMines_StructMine_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function tdr)),0,"s"+"__FolderHopNDrop_FolderSetMines_StructMine_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tDr)),0,"s"+"__FolderHopNDrop_StructSetMines_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function tfr)),0,"s"+"__FolderHopNDrop_StructSetMines_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function tFr)),0,"s"+"__FolderHopNDrop_StructSetMines_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function tgr)),0,"s"+"__FolderHopNDrop_StructSetMines_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tGr)),0,"s"+"__HopNDrop_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function thr)),0,"s"+"__HopNDrop_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function tHr)),0,"s"+"__HopNDrop_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function tjr)),0,"s"+"__HopNDrop_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tkr)),0,"s"+"__HopNDrop_Move") +call SaveStr(j,GetHandleId(Condition(function tlr)),0,"s"+"__HopNDrop_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function tLr)),0,"s"+"__HopNDrop_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function tmr)),0,"s"+"__HopNDrop_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function tPr)),0,"s"+"__FolderHopNDrop_StructSetMines_Interval") call SaveStr(j,GetHandleId(Condition(function tqr)),0,"s"+"__FolderHopNDrop_StructSetMines_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function tQr)),0,"s"+"__FolderHopNDrop_StructSetMines_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function tsr)),0,"s"+"__FolderHopNDrop_FolderSetMines_StructMine_Event_Death") call SaveStr(j,GetHandleId(Condition(function tTr)),0,"s"+"__FolderHopNDrop_FolderSetMines_StructMine_Conditions") call SaveStr(j,GetHandleId(Condition(function tur)),0,"s"+"__FolderHopNDrop_FolderSetMines_StructMine_Init") +call SaveStr(j,GetHandleId(Condition(function tUr)),0,"s"+"__FolderHopNDrop_StructSetMines_Init") call SaveStr(j,GetHandleId(Condition(function twr)),0,"s"+"__HopNDrop_Init") +call SaveStr(j,GetHandleId(Condition(function tWr)),0,"s"+"__HopNDrop_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function tyr)),0,"s"+"__FolderInfection_StructCone_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function tYr)),0,"s"+"__FolderInfection_StructCone_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function tzr)),0,"s"+"__FolderInfection_StructCone_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function tZr)),0,"s"+"__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function t_r)),0,"s"+"__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function t0r)),0,"s"+"__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function t1r)),0,"s"+"__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function t2r)),0,"s"+"__FolderInfection_StructSummon_Init_obj_obj_summonUnitType5_wc3unit") +call SaveStr(j,GetHandleId(Condition(function t3r)),0,"s"+"__FolderInfection_StructSummon_Init_obj_obj_summonUnitType1_wc3unit") +call SaveStr(j,GetHandleId(Condition(function t4r)),0,"s"+"__FolderInfection_StructSummon_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function t5r)),0,"s"+"__FolderInfection_StructSummon_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function t6r)),0,"s"+"__FolderInfection_StructSummon_Init_obj_obj_summonUnitType2_wc3unit") +call SaveStr(j,GetHandleId(Condition(function t7r)),0,"s"+"__FolderInfection_StructSummon_Init_obj_obj_summonUnitType4_wc3unit") +call SaveStr(j,GetHandleId(Condition(function t8r)),0,"s"+"__FolderInfection_StructSummon_Init_obj_obj_summonUnitType3_wc3unit") +call SaveStr(j,GetHandleId(Condition(function t9r)),0,"s"+"__FolderInfection_StructSummon_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Tvr)),0,"s"+"__FolderInfection_StructSummon_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Ter)),0,"s"+"__FolderInfection_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Txr)),0,"s"+"__FolderInfection_StructTarget_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function Tor)),0,"s"+"__FolderInfection_StructTarget_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Trr)),0,"s"+"__FolderInfection_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Tir)),0,"s"+"__Infection_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Tar)),0,"s"+"__Infection_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Tnr)),0,"s"+"__Infection_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function TVr)),0,"s"+"__Infection_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function TXr)),0,"s"+"__Infection_Event_Damage") call SaveStr(j,GetHandleId(Condition(function TOr)),0,"s"+"__Infection_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function TRr)),0,"s"+"__Infection_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function TIr)),0,"s"+"__Infection_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function TAr)),0,"s"+"__FolderInfection_StructCone_Conditions") +call SaveStr(j,GetHandleId(Condition(function TNr)),0,"s"+"__FolderInfection_StructCone_Init") call SaveStr(j,GetHandleId(Condition(function TBr)),0,"s"+"__FolderInfection_StructTarget_Event_Death") call SaveStr(j,GetHandleId(Condition(function Tcr)),0,"s"+"__FolderInfection_StructTarget_Interval") +call SaveStr(j,GetHandleId(Condition(function TCr)),0,"s"+"__FolderInfection_StructTarget_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Tdr)),0,"s"+"__FolderInfection_StructTarget_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function TDr)),0,"s"+"__FolderInfection_StructTarget_Init") +call SaveStr(j,GetHandleId(Condition(function Tfr)),0,"s"+"__FolderInfection_StructSummon_Event_Death") call SaveStr(j,GetHandleId(Condition(function TFr)),0,"s"+"__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_Event_Heal") call SaveStr(j,GetHandleId(Condition(function Thr)),0,"s"+"__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function THr)),0,"s"+"__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Tjr)),0,"s"+"__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_Event_Learn") call SaveStr(j,GetHandleId(Condition(function TJr)),0,"s"+"__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_Event_Unlearn") +call SaveStr(j,GetHandleId(Condition(function Tkr)),0,"s"+"__FolderInfection_FolderSummon_StructFuniculusUmbilicalis_Init") call SaveStr(j,GetHandleId(Condition(function TKr)),0,"s"+"__FolderInfection_StructSummon_Init") +call SaveStr(j,GetHandleId(Condition(function Tlr)),0,"s"+"__Infection_Init") call SaveStr(j,GetHandleId(Condition(function TLr)),0,"s"+"__Infection_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Tmr)),0,"s"+"__FolderKhakiRecovery_StructRestoration_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function TMr)),0,"s"+"__FolderKhakiRecovery_StructRestoration_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Tpr)),0,"s"+"__FolderKhakiRecovery_StructRestoration_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function TPr)),0,"s"+"__FolderKhakiRecovery_StructRestoration_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Tqr)),0,"s"+"__KhakiRecovery_Init_obj_obj_boltSecondary_wc3bolt") call SaveStr(j,GetHandleId(Condition(function TQr)),0,"s"+"__KhakiRecovery_Init_obj_obj_moveSpeedBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Tsr)),0,"s"+"__KhakiRecovery_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function TSr)),0,"s"+"__KhakiRecovery_Init_obj_obj_boltPrimary_wc3bolt") call SaveStr(j,GetHandleId(Condition(function Ttr)),0,"s"+"__KhakiRecovery_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function TTr)),0,"s"+"__KhakiRecovery_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Tur)),0,"s"+"__KhakiRecovery_Conditions") call SaveStr(j,GetHandleId(Condition(function Twr)),0,"s"+"__KhakiRecovery_allocCustom") +call SaveStr(j,GetHandleId(Condition(function T4r)),0,"s"+"__KhakiRecovery_ChooseNewTargetByTimer") call SaveStr(j,GetHandleId(Condition(function T7r)),0,"s"+"__KhakiRecovery_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function T8r)),0,"s"+"__FolderKhakiRecovery_StructRestoration_Event_Death") +call SaveStr(j,GetHandleId(Condition(function T9r)),0,"s"+"__FolderKhakiRecovery_StructRestoration_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function uvr)),0,"s"+"__FolderKhakiRecovery_StructRestoration_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function uer)),0,"s"+"__FolderKhakiRecovery_StructRestoration_Event_Learn") +call SaveStr(j,GetHandleId(Condition(function uxr)),0,"s"+"__FolderKhakiRecovery_StructRestoration_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function uor)),0,"s"+"__FolderKhakiRecovery_StructRestoration_Init") call SaveStr(j,GetHandleId(Condition(function urr)),0,"s"+"__KhakiRecovery_Init") call SaveStr(j,GetHandleId(Condition(function uir)),0,"s"+"__KhakiRecovery_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function uar)),0,"s"+"__ManaColossus_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function unr)),0,"s"+"__ManaColossus_Init_obj_obj_thisUnitTypes3_wc3unit") call SaveStr(j,GetHandleId(Condition(function uVr)),0,"s"+"__ManaColossus_Init_obj_obj_thisUnitTypes2_wc3unit") call SaveStr(j,GetHandleId(Condition(function uEr)),0,"s"+"__ManaColossus_Init_obj_obj_thisUnitTypes1_wc3unit") call SaveStr(j,GetHandleId(Condition(function uXr)),0,"s"+"__ManaColossus_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function uOr)),0,"s"+"__ManaColossus_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function uRr)),0,"s"+"__ManaColossus_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function uIr)),0,"s"+"__ManaColossus_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function uAr)),0,"s"+"__ManaColossus_Init") +call SaveStr(j,GetHandleId(Condition(function uNr)),0,"s"+"__ManaColossus_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function ubr)),0,"s"+"__FolderTheurgicVessel_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function uBr)),0,"s"+"__FolderTheurgicVessel_StructTarget_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function ucr)),0,"s"+"__FolderTheurgicVessel_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function uCr)),0,"s"+"__FolderTheurgicVessel_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function udr)),0,"s"+"__TheurgicVessel_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function uDr)),0,"s"+"__TheurgicVessel_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function ufr)),0,"s"+"__TheurgicVessel_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function uFr)),0,"s"+"__TheurgicVessel_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ugr)),0,"s"+"__TheurgicVessel_Conditions") +call SaveStr(j,GetHandleId(Condition(function uGr)),0,"s"+"__TheurgicVessel_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function uhr)),0,"s"+"__TheurgicVessel_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function uHr)),0,"s"+"__TheurgicVessel_Event_Learn") call SaveStr(j,GetHandleId(Condition(function ujr)),0,"s"+"__TheurgicVessel_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function uJr)),0,"s"+"__FolderTheurgicVessel_StructTarget_Event_Ending") call SaveStr(j,GetHandleId(Condition(function ukr)),0,"s"+"__FolderTheurgicVessel_StructTarget_Event_Start") +call SaveStr(j,GetHandleId(Condition(function uKr)),0,"s"+"__FolderTheurgicVessel_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function ulr)),0,"s"+"__TheurgicVessel_Init") call SaveStr(j,GetHandleId(Condition(function uLr)),0,"s"+"__TheurgicVessel_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function umr)),0,"s"+"__FolderManaLaser_StructRevert_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function uMr)),0,"s"+"__FolderManaLaser_StructRevert_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function upr)),0,"s"+"__FolderManaLaser_StructRevert_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function uPr)),0,"s"+"__FolderManaLaser_StructRevert_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function uqr)),0,"s"+"__ManaLaser_Init_obj_obj_bolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function uQr)),0,"s"+"__ManaLaser_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function usr)),0,"s"+"__ManaLaser_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function uSr)),0,"s"+"__ManaLaser_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function utr)),0,"s"+"__ManaLaser_Conditions") call SaveStr(j,GetHandleId(Condition(function uur)),0,"s"+"__ManaLaser_allocCustom") +call SaveStr(j,GetHandleId(Condition(function uwr)),0,"s"+"__FolderLightning_StructFromDummyUnitToUnit_allocCustom") +call SaveStr(j,GetHandleId(Condition(function uyr)),0,"s"+"__FolderLightning_StructFromDummyUnitToUnit_Update") call SaveStr(j,GetHandleId(Condition(function uZr)),0,"s"+"__ManaLaser_Move") call SaveStr(j,GetHandleId(Condition(function u5r)),0,"s"+"__ManaLaser_Ending") call SaveStr(j,GetHandleId(Condition(function u7r)),0,"s"+"__ManaLaser_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function u8r)),0,"s"+"__FolderManaLaser_StructRevert_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function u9r)),0,"s"+"__FolderManaLaser_StructRevert_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Uvr)),0,"s"+"__FolderManaLaser_StructRevert_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Uer)),0,"s"+"__FolderManaLaser_StructRevert_Init") +call SaveStr(j,GetHandleId(Condition(function Uxr)),0,"s"+"__ManaLaser_Init") call SaveStr(j,GetHandleId(Condition(function Uor)),0,"s"+"__ManaLaser_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Urr)),0,"s"+"__FolderMassMimesis_StructCharm_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Uir)),0,"s"+"__FolderMassMimesis_StructCharm_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Uar)),0,"s"+"__FolderMassMimesis_StructCharm_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Unr)),0,"s"+"__FolderMassMimesis_StructMissile_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function UVr)),0,"s"+"__FolderMassMimesis_StructMissile_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function UEr)),0,"s"+"__MassMimesis_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function UXr)),0,"s"+"__MassMimesis_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function UOr)),0,"s"+"__MassMimesis_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function URr)),0,"s"+"__MassMimesis_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function UAr)),0,"s"+"__MassMimesis_Event_AnyCast") +call SaveStr(j,GetHandleId(Condition(function Ucr)),0,"s"+"__MassMimesis_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Udr)),0,"s"+"__MassMimesis_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Ufr)),0,"s"+"__FolderMassMimesis_StructMissile_allocCustom") call SaveStr(j,GetHandleId(Condition(function Uhr)),0,"s"+"__FolderMassMimesis_StructMissile_Impact") call SaveStr(j,GetHandleId(Condition(function Ujr)),0,"s"+"__MassMimesis_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function UJr)),0,"s"+"__FolderMassMimesis_StructCharm_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Ukr)),0,"s"+"__MassMimesis_Init") call SaveStr(j,GetHandleId(Condition(function UKr)),0,"s"+"__MassMimesis_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Ulr)),0,"s"+"__MountainKing_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function ULr)),0,"s"+"__MountainKing_Init_obj_obj_changerAbility_wc3spell") +call SaveStr(j,GetHandleId(Condition(function Umr)),0,"s"+"__MountainKing_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function UMr)),0,"s"+"__MountainKing_Init_obj_obj_thisUnitType_wc3unit") call SaveStr(j,GetHandleId(Condition(function Upr)),0,"s"+"__MountainKing_Init_obj_obj_revertAbility_wc3spell") call SaveStr(j,GetHandleId(Condition(function UPr)),0,"s"+"__MountainKing_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Uqr)),0,"s"+"__MountainKing_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Usr)),0,"s"+"__MountainKing_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Uur)),0,"s"+"__MountainKing_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function UUr)),0,"s"+"__MountainKing_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Uwr)),0,"s"+"__MountainKing_Init") +call SaveStr(j,GetHandleId(Condition(function UWr)),0,"s"+"__MountainKing_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function Uyr)),0,"s"+"__Thunderbringer_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function UYr)),0,"s"+"__Thunderbringer_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Uzr)),0,"s"+"__Thunderbringer_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function UZr)),0,"s"+"__Thunderbringer_Conditions") +call SaveStr(j,GetHandleId(Condition(function U_r)),0,"s"+"__Thunderbringer_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function U0r)),0,"s"+"__Thunderbringer_Init") call SaveStr(j,GetHandleId(Condition(function U1r)),0,"s"+"__Thunderbringer_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function U2r)),0,"s"+"__NegationWave_Init_obj_obj_bolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function U3r)),0,"s"+"__NegationWave_Init_obj_obj_silenceBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function U4r)),0,"s"+"__NegationWave_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function U5r)),0,"s"+"__NegationWave_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function U6r)),0,"s"+"__NegationWave_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function U7r)),0,"s"+"__NegationWave_Conditions") call SaveStr(j,GetHandleId(Condition(function U9r)),0,"s"+"__NegationWave_allocCustom") call SaveStr(j,GetHandleId(Condition(function war)),0,"s"+"__NegationWave_ChooseNewTargetByTimer") call SaveStr(j,GetHandleId(Condition(function wOr)),0,"s"+"__NegationWave_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function wRr)),0,"s"+"__NegationWave_Init") +call SaveStr(j,GetHandleId(Condition(function wIr)),0,"s"+"__NegationWave_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function wAr)),0,"s"+"__FolderNurturingGrounds_StructEgg_Init_obj_obj_changerAbility1_wc3spell") call SaveStr(j,GetHandleId(Condition(function wNr)),0,"s"+"__FolderNurturingGrounds_StructEgg_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function wbr)),0,"s"+"__FolderNurturingGrounds_StructEgg_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function wBr)),0,"s"+"__FolderNurturingGrounds_StructEgg_Init_obj_obj_egg_wc3unit") +call SaveStr(j,GetHandleId(Condition(function wcr)),0,"s"+"__FolderNurturingGrounds_StructEgg_Init_obj_obj_treant1_wc3unit") +call SaveStr(j,GetHandleId(Condition(function wCr)),0,"s"+"__FolderNurturingGrounds_StructEgg_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function wdr)),0,"s"+"__FolderNurturingGrounds_StructEgg_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wDr)),0,"s"+"__NurturingGrounds_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function wfr)),0,"s"+"__NurturingGrounds_Init_obj_obj_poisonBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function wFr)),0,"s"+"__NurturingGrounds_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function wgr)),0,"s"+"__NurturingGrounds_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function wGr)),0,"s"+"__NurturingGrounds_Event_GrassEnter") +call SaveStr(j,GetHandleId(Condition(function whr)),0,"s"+"__NurturingGrounds_Event_GrassLeave") +call SaveStr(j,GetHandleId(Condition(function wjr)),0,"s"+"__NurturingGrounds_allocCustom") call SaveStr(j,GetHandleId(Condition(function wKr)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructRegion_EnterTrig") +call SaveStr(j,GetHandleId(Condition(function wlr)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructRegion_TrigConditions") call SaveStr(j,GetHandleId(Condition(function wLr)),0,"s"+"__FolderUnit_FolderMovement_FolderEvents_StructRegion_LeaveTrig") +call SaveStr(j,GetHandleId(Condition(function wPr)),0,"s"+"__NurturingGrounds_Spread") call SaveStr(j,GetHandleId(Condition(function wtr)),0,"s"+"__NurturingGrounds_EndSpread") call SaveStr(j,GetHandleId(Condition(function w2r)),0,"s"+"__NurturingGrounds_EndingByTimer") call SaveStr(j,GetHandleId(Condition(function w4r)),0,"s"+"__NurturingGrounds_SpawnEggByTimer") call SaveStr(j,GetHandleId(Condition(function w5r)),0,"s"+"__NurturingGrounds_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function w9r)),0,"s"+"__FolderNurturingGrounds_StructEgg_Event_Heal") call SaveStr(j,GetHandleId(Condition(function Wer)),0,"s"+"__FolderNurturingGrounds_StructEgg_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Wxr)),0,"s"+"__FolderNurturingGrounds_StructEgg_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function Wor)),0,"s"+"__FolderNurturingGrounds_StructEgg_Init") +call SaveStr(j,GetHandleId(Condition(function Wrr)),0,"s"+"__NurturingGrounds_Init") +call SaveStr(j,GetHandleId(Condition(function Wir)),0,"s"+"__NurturingGrounds_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function War)),0,"s"+"__FolderPandaPaw_FolderArrival_StructTarget_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function Wnr)),0,"s"+"__FolderPandaPaw_FolderArrival_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function WVr)),0,"s"+"__FolderPandaPaw_FolderArrival_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function WEr)),0,"s"+"__FolderPandaPaw_StructArrival_Init_obj_obj_dummyUbersplat_wc3ubersplat") +call SaveStr(j,GetHandleId(Condition(function WXr)),0,"s"+"__FolderPandaPaw_StructArrival_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function WOr)),0,"s"+"__FolderPandaPaw_StructArrival_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function WRr)),0,"s"+"__FolderPandaPaw_StructArrival_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function WIr)),0,"s"+"__FolderPandaPaw_StructLeech_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function WAr)),0,"s"+"__FolderPandaPaw_StructLeech_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function WNr)),0,"s"+"__FolderPandaPaw_StructLeech_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Wbr)),0,"s"+"__FolderPandaPaw_StructLeech_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function WBr)),0,"s"+"__PandaPaw_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Wcr)),0,"s"+"__PandaPaw_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function WCr)),0,"s"+"__PandaPaw_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Wdr)),0,"s"+"__PandaPaw_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Wfr)),0,"s"+"__PandaPaw_DoEffect") +call SaveStr(j,GetHandleId(Condition(function WJr)),0,"s"+"__FolderPandaPaw_FolderArrival_StructTarget_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Wlr)),0,"s"+"__FolderPandaPaw_StructArrival_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function WLr)),0,"s"+"__FolderPandaPaw_StructArrival_FOR_EACH_LIST_FetchFirst") +call SaveStr(j,GetHandleId(Condition(function WMr)),0,"s"+"__FolderPandaPaw_FolderArrival_StructTarget_Move_Enum") call SaveStr(j,GetHandleId(Condition(function WPr)),0,"s"+"__FolderPandaPaw_StructArrival_Update") call SaveStr(j,GetHandleId(Condition(function WUr)),0,"s"+"__FolderPandaPaw_StructArrival_Ending") call SaveStr(j,GetHandleId(Condition(function WWr)),0,"s"+"__PandaPaw_Move") +call SaveStr(j,GetHandleId(Condition(function Wzr)),0,"s"+"__PandaPaw_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function W_r)),0,"s"+"__PandaPaw_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function W0r)),0,"s"+"__PandaPaw_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function W1r)),0,"s"+"__FolderPandaPaw_StructArrival_Conditions") call SaveStr(j,GetHandleId(Condition(function W2r)),0,"s"+"__FolderPandaPaw_FolderArrival_StructTarget_Event_Death") +call SaveStr(j,GetHandleId(Condition(function W3r)),0,"s"+"__FolderPandaPaw_FolderArrival_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function W4r)),0,"s"+"__FolderPandaPaw_StructArrival_Init") +call SaveStr(j,GetHandleId(Condition(function W5r)),0,"s"+"__FolderPandaPaw_StructLeech_Event_Learn") call SaveStr(j,GetHandleId(Condition(function W6r)),0,"s"+"__FolderPandaPaw_StructLeech_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function W7r)),0,"s"+"__FolderPandaPaw_StructLeech_Init") call SaveStr(j,GetHandleId(Condition(function W8r)),0,"s"+"__PandaPaw_Init") +call SaveStr(j,GetHandleId(Condition(function W9r)),0,"s"+"__PandaPaw_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function yvr)),0,"s"+"__FolderPurgingRain_StructWave_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function yer)),0,"s"+"__FolderPurgingRain_StructWave_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function yxr)),0,"s"+"__FolderPurgingRain_StructWave_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yor)),0,"s"+"__PurgingRain_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function yrr)),0,"s"+"__PurgingRain_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function yir)),0,"s"+"__PurgingRain_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function yar)),0,"s"+"__PurgingRain_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function yVr)),0,"s"+"__FolderPurgingRain_StructWave_allocCustom") call SaveStr(j,GetHandleId(Condition(function yRr)),0,"s"+"__FolderPurgingRain_StructWave_Ending") call SaveStr(j,GetHandleId(Condition(function yNr)),0,"s"+"__PurgingRain_Interval") call SaveStr(j,GetHandleId(Condition(function ybr)),0,"s"+"__PurgingRain_EndingByTimer") +call SaveStr(j,GetHandleId(Condition(function yBr)),0,"s"+"__PurgingRain_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function ycr)),0,"s"+"__PurgingRain_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function yCr)),0,"s"+"__PurgingRain_Event_EndCast") +call SaveStr(j,GetHandleId(Condition(function ydr)),0,"s"+"__PurgingRain_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function yDr)),0,"s"+"__FolderPurgingRain_StructWave_Conditions") call SaveStr(j,GetHandleId(Condition(function yfr)),0,"s"+"__FolderPurgingRain_StructWave_Init") +call SaveStr(j,GetHandleId(Condition(function yFr)),0,"s"+"__PurgingRain_Init") call SaveStr(j,GetHandleId(Condition(function ygr)),0,"s"+"__PurgingRain_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function yGr)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_Init_obj_obj_bolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function yhr)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function yHr)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yjr)),0,"s"+"__RazorBladeDrawBack_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function yJr)),0,"s"+"__RazorBladeDrawBack_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function ykr)),0,"s"+"__RazorBladeDrawBack_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ylr)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_CheckpointImpact") +call SaveStr(j,GetHandleId(Condition(function yMr)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_TargetConditions") +call SaveStr(j,GetHandleId(Condition(function ypr)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_Init") +call SaveStr(j,GetHandleId(Condition(function yPr)),0,"s"+"__RazorBladeDrawBack_Init") call SaveStr(j,GetHandleId(Condition(function yqr)),0,"s"+"__RazorBladeDrawBack_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function yQr)),0,"s"+"__FolderRazorBlade_StructVamp_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function ysr)),0,"s"+"__FolderRazorBlade_StructVamp_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function ySr)),0,"s"+"__FolderRazorBlade_StructVamp_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function ytr)),0,"s"+"__FolderRazorBlade_StructVamp_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function yTr)),0,"s"+"__RazorBlade_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function yur)),0,"s"+"__RazorBlade_Init_obj_obj_bolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function yUr)),0,"s"+"__RazorBlade_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function ywr)),0,"s"+"__RazorBlade_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function yWr)),0,"s"+"__RazorBlade_TargetConditions") call SaveStr(j,GetHandleId(Condition(function yYr)),0,"s"+"__RazorBlade_allocCustom") call SaveStr(j,GetHandleId(Condition(function y1r)),0,"s"+"__RazorBladeDrawBack_allocCustom") call SaveStr(j,GetHandleId(Condition(function y3r)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_allocCustom") call SaveStr(j,GetHandleId(Condition(function y9r)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_ImpactCaster") +call SaveStr(j,GetHandleId(Condition(function Yer)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_Delay") call SaveStr(j,GetHandleId(Condition(function Yxr)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_ImpactSpread") +call SaveStr(j,GetHandleId(Condition(function Yrr)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_FOR_EACH_LIST_Set") call SaveStr(j,GetHandleId(Condition(function Yir)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_FOR_EACH_LIST_FetchFirst") +call SaveStr(j,GetHandleId(Condition(function Yar)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_Update") call SaveStr(j,GetHandleId(Condition(function YVr)),0,"s"+"__MissileCheckpoint_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Ybr)),0,"s"+"__FolderLightning_StructFromSpotToDummyUnit_allocCustom") +call SaveStr(j,GetHandleId(Condition(function Ycr)),0,"s"+"__FolderLightning_StructFromSpotToDummyUnit_Update") call SaveStr(j,GetHandleId(Condition(function YDr)),0,"s"+"__FolderLightning_StructFromSpotToSpot_allocCustom") call SaveStr(j,GetHandleId(Condition(function YFr)),0,"s"+"__FolderRazorBladeDrawBack_StructBlade_NewCheckpoint") call SaveStr(j,GetHandleId(Condition(function Ykr)),0,"s"+"__RazorBladeDrawBack_Interval") call SaveStr(j,GetHandleId(Condition(function Ymr)),0,"s"+"__RazorBlade_Impact") +call SaveStr(j,GetHandleId(Condition(function YMr)),0,"s"+"__RazorBlade_Update") +call SaveStr(j,GetHandleId(Condition(function Ypr)),0,"s"+"__RazorBlade_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function YPr)),0,"s"+"__FolderRazorBlade_StructVamp_Event_Learn") call SaveStr(j,GetHandleId(Condition(function Yqr)),0,"s"+"__FolderRazorBlade_StructVamp_Event_Unlearn") +call SaveStr(j,GetHandleId(Condition(function YQr)),0,"s"+"__FolderRazorBlade_StructVamp_Init") call SaveStr(j,GetHandleId(Condition(function Ysr)),0,"s"+"__RazorBlade_Init") call SaveStr(j,GetHandleId(Condition(function YSr)),0,"s"+"__RazorBlade_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Ytr)),0,"s"+"__FolderRelentlessShiver_StructBuff_Init_obj_obj_coldnessBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function YTr)),0,"s"+"__FolderRelentlessShiver_StructBuff_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function Yur)),0,"s"+"__FolderRelentlessShiver_StructBuff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function YUr)),0,"s"+"__FolderRelentlessShiver_StructBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Ywr)),0,"s"+"__FolderRelentlessShiver_StructMissile_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function YWr)),0,"s"+"__FolderRelentlessShiver_StructMissile_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Yyr)),0,"s"+"__FolderRelentlessShiver_StructMissile_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function YYr)),0,"s"+"__RelentlessShiver_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Yzr)),0,"s"+"__RelentlessShiver_Init_obj_obj_revertSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function YZr)),0,"s"+"__RelentlessShiver_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Y_r)),0,"s"+"__RelentlessShiver_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function Y0r)),0,"s"+"__RelentlessShiver_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function Y1r)),0,"s"+"__RelentlessShiver_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Y2r)),0,"s"+"__RelentlessShiver_Conditions") call SaveStr(j,GetHandleId(Condition(function Y4r)),0,"s"+"__FolderRelentlessShiver_StructMissile_allocCustom") call SaveStr(j,GetHandleId(Condition(function Y9r)),0,"s"+"__FolderRelentlessShiver_StructMissile_Impact") call SaveStr(j,GetHandleId(Condition(function zer)),0,"s"+"__RelentlessShiver_Interval") +call SaveStr(j,GetHandleId(Condition(function zor)),0,"s"+"__RelentlessShiver_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function zrr)),0,"s"+"__RelentlessShiver_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function zir)),0,"s"+"__RelentlessShiver_Event_RevertSpellEffect") call SaveStr(j,GetHandleId(Condition(function zar)),0,"s"+"__RelentlessShiver_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function znr)),0,"s"+"__FolderRelentlessShiver_StructMissile_Init") +call SaveStr(j,GetHandleId(Condition(function zVr)),0,"s"+"__RelentlessShiver_Init") +call SaveStr(j,GetHandleId(Condition(function zEr)),0,"s"+"__RelentlessShiver_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function zXr)),0,"s"+"__FolderRigorMortis_StructAfterBuff_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function zOr)),0,"s"+"__FolderRigorMortis_StructAfterBuff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function zRr)),0,"s"+"__FolderRigorMortis_StructAfterBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function zIr)),0,"s"+"__RigorMortis_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function zAr)),0,"s"+"__RigorMortis_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function zNr)),0,"s"+"__RigorMortis_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function zBr)),0,"s"+"__RigorMortis_Event_Revive") call SaveStr(j,GetHandleId(Condition(function zCr)),0,"s"+"__RigorMortis_EndingByTimer") +call SaveStr(j,GetHandleId(Condition(function zDr)),0,"s"+"__RigorMortis_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function zfr)),0,"s"+"__FolderRigorMortis_StructAfterBuff_Init") call SaveStr(j,GetHandleId(Condition(function zFr)),0,"s"+"__RigorMortis_Init") call SaveStr(j,GetHandleId(Condition(function zgr)),0,"s"+"__RigorMortis_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function zGr)),0,"s"+"__FolderSakeBomb_StructMissile_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function zhr)),0,"s"+"__FolderSakeBomb_StructMissile_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function zHr)),0,"s"+"__SakeBomb_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function zjr)),0,"s"+"__SakeBomb_Init_obj_obj_poisonBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function zJr)),0,"s"+"__SakeBomb_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function zkr)),0,"s"+"__SakeBomb_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function zKr)),0,"s"+"__SakeBomb_Conditions") call SaveStr(j,GetHandleId(Condition(function zLr)),0,"s"+"__FolderSakeBomb_StructMissile_allocCustom") call SaveStr(j,GetHandleId(Condition(function zqr)),0,"s"+"__SakeBomb_allocCustom") call SaveStr(j,GetHandleId(Condition(function ztr)),0,"s"+"__SakeBomb_Interval") +call SaveStr(j,GetHandleId(Condition(function zUr)),0,"s"+"__FolderSakeBomb_StructMissile_Impact") call SaveStr(j,GetHandleId(Condition(function zWr)),0,"s"+"__SakeBomb_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function zyr)),0,"s"+"__SakeBomb_Init") +call SaveStr(j,GetHandleId(Condition(function zYr)),0,"s"+"__SakeBomb_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function zzr)),0,"s"+"__SanguineEyes_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function zZr)),0,"s"+"__SanguineEyes_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function z_r)),0,"s"+"__SanguineEyes_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function z0r)),0,"s"+"__SanguineEyes_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function z1r)),0,"s"+"__SanguineEyes_Event_Damage") +call SaveStr(j,GetHandleId(Condition(function z2r)),0,"s"+"__SanguineEyes_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function z3r)),0,"s"+"__SanguineEyes_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function z4r)),0,"s"+"__SanguineEyes_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function z5r)),0,"s"+"__SanguineEyes_Init") +call SaveStr(j,GetHandleId(Condition(function z6r)),0,"s"+"__SanguineEyes_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function z7r)),0,"s"+"__FolderShamanicBubble_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function z8r)),0,"s"+"__FolderShamanicBubble_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function z9r)),0,"s"+"__FolderShamanicBubble_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Zvr)),0,"s"+"__FolderShamanicBubble_StructTransition_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Zer)),0,"s"+"__FolderShamanicBubble_StructTransition_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Zxr)),0,"s"+"__FolderShamanicBubble_StructTransition_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Zor)),0,"s"+"__ShamanicBubble_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function Zrr)),0,"s"+"__ShamanicBubble_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function Zir)),0,"s"+"__ShamanicBubble_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Zar)),0,"s"+"__ShamanicBubble_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Znr)),0,"s"+"__ShamanicBubble_Conditions") +call SaveStr(j,GetHandleId(Condition(function ZVr)),0,"s"+"__ShamanicBubble_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function ZEr)),0,"s"+"__ShamanicBubble_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function ZXr)),0,"s"+"__ShamanicBubble_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function ZRr)),0,"s"+"__ShamanicBubble_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function ZIr)),0,"s"+"__FolderShamanicBubble_StructTarget_Event_Ending") call SaveStr(j,GetHandleId(Condition(function ZAr)),0,"s"+"__FolderShamanicBubble_StructTarget_Event_Start") +call SaveStr(j,GetHandleId(Condition(function ZNr)),0,"s"+"__FolderShamanicBubble_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function ZBr)),0,"s"+"__FolderShamanicBubble_StructTransition_Delay") call SaveStr(j,GetHandleId(Condition(function Zcr)),0,"s"+"__FolderShamanicBubble_StructTransition_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function Zdr)),0,"s"+"__FolderShamanicBubble_StructTransition_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function ZDr)),0,"s"+"__FolderShamanicBubble_StructTransition_Init") call SaveStr(j,GetHandleId(Condition(function Zfr)),0,"s"+"__ShamanicBubble_Init") call SaveStr(j,GetHandleId(Condition(function ZFr)),0,"s"+"__ShamanicBubble_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Zgr)),0,"s"+"__FolderSleepingDraft_StructBuff_Init_obj_obj_coldnessBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function ZGr)),0,"s"+"__FolderSleepingDraft_StructBuff_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function Zhr)),0,"s"+"__FolderSleepingDraft_StructBuff_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function ZHr)),0,"s"+"__FolderSleepingDraft_StructBuff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Zjr)),0,"s"+"__FolderSleepingDraft_StructBuff_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ZJr)),0,"s"+"__SleepingDraft_Init_obj_obj_sleepBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Zkr)),0,"s"+"__SleepingDraft_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function ZKr)),0,"s"+"__SleepingDraft_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Zlr)),0,"s"+"__SleepingDraft_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ZLr)),0,"s"+"__SleepingDraft_Conditions") call SaveStr(j,GetHandleId(Condition(function ZMr)),0,"s"+"__SleepingDraft_allocCustom") +call SaveStr(j,GetHandleId(Condition(function ZQr)),0,"s"+"__SleepingDraft_Impact") call SaveStr(j,GetHandleId(Condition(function ZSr)),0,"s"+"__SleepingDraft_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function Ztr)),0,"s"+"__FolderSleepingDraft_StructBuff_Event_Damage") call SaveStr(j,GetHandleId(Condition(function ZTr)),0,"s"+"__FolderSleepingDraft_StructBuff_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function Zur)),0,"s"+"__FolderSleepingDraft_StructBuff_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function ZUr)),0,"s"+"__FolderSleepingDraft_StructBuff_Init") call SaveStr(j,GetHandleId(Condition(function Zwr)),0,"s"+"__SleepingDraft_Init") call SaveStr(j,GetHandleId(Condition(function ZWr)),0,"s"+"__SleepingDraft_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Zyr)),0,"s"+"__FolderSoberUp_StructHealMissile_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function ZYr)),0,"s"+"__FolderSoberUp_StructHealMissile_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Zzr)),0,"s"+"__SoberUp_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function ZZr)),0,"s"+"__SoberUp_Init_obj_obj_banishBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function Z_r)),0,"s"+"__SoberUp_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Z0r)),0,"s"+"__SoberUp_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function Z1r)),0,"s"+"__SoberUp_Conditions") call SaveStr(j,GetHandleId(Condition(function Z2r)),0,"s"+"__SoberUp_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function Z6r)),0,"s"+"__FolderSoberUp_StructHealMissile_Impact") call SaveStr(j,GetHandleId(Condition(function Z8r)),0,"s"+"__SoberUp_Event_EndCast") +call SaveStr(j,GetHandleId(Condition(function vvi)),0,"s"+"__SoberUp_Init") call SaveStr(j,GetHandleId(Condition(function vei)),0,"s"+"__SoberUp_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function vxi)),0,"s"+"__FolderSteelImpalement_StructTarget_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function voi)),0,"s"+"__FolderSteelImpalement_StructTarget_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function vri)),0,"s"+"__FolderSteelImpalement_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function vii)),0,"s"+"__FolderSteelImpalement_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vai)),0,"s"+"__SteelImpalement_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function vni)),0,"s"+"__SteelImpalement_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function vVi)),0,"s"+"__SteelImpalement_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function vEi)),0,"s"+"__SteelImpalement_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function vXi)),0,"s"+"__SteelImpalement_Conditions") call SaveStr(j,GetHandleId(Condition(function vRi)),0,"s"+"__SteelImpalement_Update") call SaveStr(j,GetHandleId(Condition(function vNi)),0,"s"+"__SteelImpalement_NewWave") call SaveStr(j,GetHandleId(Condition(function vbi)),0,"s"+"__SteelImpalement_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function vCi)),0,"s"+"__SteelImpalement_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function vdi)),0,"s"+"__SteelImpalement_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function vDi)),0,"s"+"__SteelImpalement_Event_EndCast") +call SaveStr(j,GetHandleId(Condition(function vfi)),0,"s"+"__FolderSteelImpalement_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function vFi)),0,"s"+"__SteelImpalement_Init") call SaveStr(j,GetHandleId(Condition(function vgi)),0,"s"+"__SteelImpalement_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function vGi)),0,"s"+"__FolderSummonPolarBear_FolderSummon_StructCallback_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vhi)),0,"s"+"__FolderSummonPolarBear_StructSummon_Init_obj_obj_tauntSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function vHi)),0,"s"+"__FolderSummonPolarBear_StructSummon_Init_obj_obj_summonUnitType1_wc3unit") call SaveStr(j,GetHandleId(Condition(function vji)),0,"s"+"__FolderSummonPolarBear_StructSummon_Init_obj_obj_summonUnitType2_wc3unit") call SaveStr(j,GetHandleId(Condition(function vJi)),0,"s"+"__FolderSummonPolarBear_StructSummon_Init_obj_obj_callbackSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function vki)),0,"s"+"__FolderSummonPolarBear_StructSummon_Init_obj_obj_summonUnitType3_wc3unit") call SaveStr(j,GetHandleId(Condition(function vKi)),0,"s"+"__FolderSummonPolarBear_StructSummon_Init_obj_obj_summonUnitType4_wc3unit") call SaveStr(j,GetHandleId(Condition(function vli)),0,"s"+"__FolderSummonPolarBear_StructSummon_Init_obj_obj_summonUnitType5_wc3unit") call SaveStr(j,GetHandleId(Condition(function vLi)),0,"s"+"__FolderSummonPolarBear_StructSummon_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function vmi)),0,"s"+"__FolderSummonPolarBear_StructSummon_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function vMi)),0,"s"+"__FolderSummonPolarBear_StructSummon_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function vpi)),0,"s"+"__SummonPolarBear_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function vPi)),0,"s"+"__SummonPolarBear_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function vqi)),0,"s"+"__SummonPolarBear_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function vsi)),0,"s"+"__SummonPolarBear_allocCustom") call SaveStr(j,GetHandleId(Condition(function vyi)),0,"s"+"__FolderSummonPolarBear_StructSummon_allocCustom") call SaveStr(j,GetHandleId(Condition(function vzi)),0,"s"+"__SummonPolarBear_Impact") call SaveStr(j,GetHandleId(Condition(function vZi)),0,"s"+"__SummonPolarBear_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function v3i)),0,"s"+"__FolderSummonPolarBear_StructSummon_Event_Bear_Death") call SaveStr(j,GetHandleId(Condition(function v4i)),0,"s"+"__FolderSummonPolarBear_StructSummon_Event_Caster_Death") +call SaveStr(j,GetHandleId(Condition(function v5i)),0,"s"+"__FolderSummonPolarBear_StructSummon_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function v6i)),0,"s"+"__FolderSummonPolarBear_StructSummon_Init") call SaveStr(j,GetHandleId(Condition(function v7i)),0,"s"+"__SummonPolarBear_Init") call SaveStr(j,GetHandleId(Condition(function v8i)),0,"s"+"__SummonPolarBear_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function v9i)),0,"s"+"__ArcticBlink_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function evi)),0,"s"+"__ArcticBlink_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function eei)),0,"s"+"__ArcticBlink_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function eoi)),0,"s"+"__ArcticBlink_allocCustom") call SaveStr(j,GetHandleId(Condition(function eVi)),0,"s"+"__ArcticBlink_Impact") call SaveStr(j,GetHandleId(Condition(function eEi)),0,"s"+"__ArcticBlink_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function eXi)),0,"s"+"__ArcticBlink_Init") call SaveStr(j,GetHandleId(Condition(function eOi)),0,"s"+"__ArcticBlink_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function eRi)),0,"s"+"__Devour_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function eIi)),0,"s"+"__Devour_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function eAi)),0,"s"+"__Devour_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eNi)),0,"s"+"__Devour_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function ebi)),0,"s"+"__Devour_Init") call SaveStr(j,GetHandleId(Condition(function eBi)),0,"s"+"__Devour_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function eci)),0,"s"+"__Susanoo_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function eCi)),0,"s"+"__Susanoo_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function edi)),0,"s"+"__Susanoo_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function eDi)),0,"s"+"__Susanoo_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function egi)),0,"s"+"__Susanoo_Event_Death") call SaveStr(j,GetHandleId(Condition(function eHi)),0,"s"+"__Susanoo_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function eki)),0,"s"+"__Susanoo_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function eKi)),0,"s"+"__Susanoo_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function eli)),0,"s"+"__Susanoo_Init") call SaveStr(j,GetHandleId(Condition(function eLi)),0,"s"+"__Susanoo_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function emi)),0,"s"+"__Swiftness_Init_obj_obj_ChargeBuff1_wc3buff") call SaveStr(j,GetHandleId(Condition(function eMi)),0,"s"+"__Swiftness_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function epi)),0,"s"+"__Swiftness_Init_obj_obj_timerBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function ePi)),0,"s"+"__Swiftness_Init_obj_obj_ChargeBuff2_wc3buff") call SaveStr(j,GetHandleId(Condition(function eqi)),0,"s"+"__Swiftness_Init_obj_obj_ChargeBuff3_wc3buff") call SaveStr(j,GetHandleId(Condition(function eQi)),0,"s"+"__Swiftness_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function esi)),0,"s"+"__Swiftness_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function eSi)),0,"s"+"__Swiftness_Interval") call SaveStr(j,GetHandleId(Condition(function eti)),0,"s"+"__Swiftness_Event_Timer_BuffGain") call SaveStr(j,GetHandleId(Condition(function eTi)),0,"s"+"__Swiftness_Event_Timer_BuffLose") call SaveStr(j,GetHandleId(Condition(function eui)),0,"s"+"__Swiftness_Init") call SaveStr(j,GetHandleId(Condition(function eUi)),0,"s"+"__Swiftness_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function ewi)),0,"s"+"__FolderTempestStrike_StructCriticalAttacks_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function eWi)),0,"s"+"__FolderTempestStrike_StructCriticalAttacks_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function eyi)),0,"s"+"__FolderTempestStrike_StructCriticalAttacks_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function eYi)),0,"s"+"__FolderTempestStrike_StructCriticalAttacks_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ezi)),0,"s"+"__TempestStrike_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function eZi)),0,"s"+"__TempestStrike_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function e_i)),0,"s"+"__TempestStrike_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function e0i)),0,"s"+"__TempestStrike_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function e1i)),0,"s"+"__TempestStrike_Conditions") call SaveStr(j,GetHandleId(Condition(function e2i)),0,"s"+"__TempestStrike_Update") call SaveStr(j,GetHandleId(Condition(function e3i)),0,"s"+"__TempestStrike_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function e5i)),0,"s"+"__TempestStrike_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function e7i)),0,"s"+"__TempestStrike_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function e8i)),0,"s"+"__FolderTempestStrike_StructCriticalAttacks_Init") call SaveStr(j,GetHandleId(Condition(function e9i)),0,"s"+"__TempestStrike_Init") call SaveStr(j,GetHandleId(Condition(function xvi)),0,"s"+"__TempestStrike_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function xei)),0,"s"+"__FolderTsukuyomi_StructMissile_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function xxi)),0,"s"+"__FolderTsukuyomi_StructMissile_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xoi)),0,"s"+"__FolderTsukuyomi_StructRelocate_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function xri)),0,"s"+"__FolderTsukuyomi_StructRelocate_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function xii)),0,"s"+"__FolderTsukuyomi_StructRelocate_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xai)),0,"s"+"__FolderTsukuyomi_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function xni)),0,"s"+"__FolderTsukuyomi_StructTarget_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function xVi)),0,"s"+"__FolderTsukuyomi_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xEi)),0,"s"+"__Tsukuyomi_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function xXi)),0,"s"+"__Tsukuyomi_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function xOi)),0,"s"+"__Tsukuyomi_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function xRi)),0,"s"+"__Tsukuyomi_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xIi)),0,"s"+"__Tsukuyomi_Conditions") call SaveStr(j,GetHandleId(Condition(function xNi)),0,"s"+"__FolderDummyUnit_StructFollowDummyUnit_Update") call SaveStr(j,GetHandleId(Condition(function xBi)),0,"s"+"__Tsukuyomi_Interval") call SaveStr(j,GetHandleId(Condition(function xfi)),0,"s"+"__Tsukuyomi_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function xFi)),0,"s"+"__Tsukuyomi_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function xGi)),0,"s"+"__FolderTsukuyomi_StructMissile_allocCustom") +call SaveStr(j,GetHandleId(Condition(function xJi)),0,"s"+"__FolderTsukuyomi_StructMissile_Impact") call SaveStr(j,GetHandleId(Condition(function xKi)),0,"s"+"__Tsukuyomi_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function xli)),0,"s"+"__FolderTsukuyomi_StructTarget_Event_Ending") +call SaveStr(j,GetHandleId(Condition(function xLi)),0,"s"+"__FolderTsukuyomi_StructTarget_Event_Start") call SaveStr(j,GetHandleId(Condition(function xmi)),0,"s"+"__FolderTsukuyomi_StructTarget_Init") +call SaveStr(j,GetHandleId(Condition(function xMi)),0,"s"+"__FolderTsukuyomi_StructRelocate_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function xpi)),0,"s"+"__Tsukuyomi_Init") call SaveStr(j,GetHandleId(Condition(function xPi)),0,"s"+"__Tsukuyomi_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function xqi)),0,"s"+"__FolderWanShroud_StructMissile_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function xQi)),0,"s"+"__FolderWanShroud_StructMissile_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xsi)),0,"s"+"__FolderWanShroud_StructTarget_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function xSi)),0,"s"+"__FolderWanShroud_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function xti)),0,"s"+"__FolderWanShroud_StructTarget_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function xTi)),0,"s"+"__FolderWanShroud_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xui)),0,"s"+"__WanShroud_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function xUi)),0,"s"+"__WanShroud_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function xwi)),0,"s"+"__WanShroud_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function xWi)),0,"s"+"__WanShroud_AuraConditions") call SaveStr(j,GetHandleId(Condition(function xyi)),0,"s"+"__WanShroud_DamageConditions") call SaveStr(j,GetHandleId(Condition(function xzi)),0,"s"+"__FolderWanShroud_StructMissile_allocCustom") +call SaveStr(j,GetHandleId(Condition(function x2i)),0,"s"+"__WanShroud_allocCustom") +call SaveStr(j,GetHandleId(Condition(function x3i)),0,"s"+"__WanShroud_DealDamage") call SaveStr(j,GetHandleId(Condition(function x4i)),0,"s"+"__WanShroud_Interval") call SaveStr(j,GetHandleId(Condition(function x5i)),0,"s"+"__WanShroud_Ending") call SaveStr(j,GetHandleId(Condition(function x7i)),0,"s"+"__FolderWanShroud_StructMissile_Impact") call SaveStr(j,GetHandleId(Condition(function x9i)),0,"s"+"__WanShroud_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function oxi)),0,"s"+"__FolderWanShroud_StructTarget_Event_Damage") +call SaveStr(j,GetHandleId(Condition(function ooi)),0,"s"+"__FolderWanShroud_StructTarget_Event_Ending") +call SaveStr(j,GetHandleId(Condition(function ori)),0,"s"+"__FolderWanShroud_StructTarget_Event_Start") call SaveStr(j,GetHandleId(Condition(function oii)),0,"s"+"__FolderWanShroud_StructTarget_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function oai)),0,"s"+"__FolderWanShroud_StructTarget_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function oni)),0,"s"+"__FolderWanShroud_StructTarget_Init") +call SaveStr(j,GetHandleId(Condition(function oVi)),0,"s"+"__WanShroud_Init") call SaveStr(j,GetHandleId(Condition(function oEi)),0,"s"+"__WanShroud_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function oXi)),0,"s"+"__FolderWarcry_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function oOi)),0,"s"+"__FolderWarcry_StructTarget_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function oRi)),0,"s"+"__FolderWarcry_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function oIi)),0,"s"+"__FolderWarcry_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oAi)),0,"s"+"__Warcry_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function oNi)),0,"s"+"__Warcry_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function obi)),0,"s"+"__Warcry_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oBi)),0,"s"+"__Warcry_Conditions") +call SaveStr(j,GetHandleId(Condition(function oCi)),0,"s"+"__Warcry_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function oDi)),0,"s"+"__FolderWarcry_StructTarget_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function oFi)),0,"s"+"__FolderWarcry_StructTarget_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function ogi)),0,"s"+"__FolderWarcry_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function oGi)),0,"s"+"__Warcry_Init") call SaveStr(j,GetHandleId(Condition(function ohi)),0,"s"+"__Warcry_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function oHi)),0,"s"+"__FolderWaterBindings_StructSummon_Init_obj_obj_thisUnitTypes6_wc3unit") call SaveStr(j,GetHandleId(Condition(function oji)),0,"s"+"__FolderWaterBindings_StructSummon_Init_obj_obj_thisUnitTypes2_wc3unit") call SaveStr(j,GetHandleId(Condition(function oJi)),0,"s"+"__FolderWaterBindings_StructSummon_Init_obj_obj_thisUnitTypes3_wc3unit") call SaveStr(j,GetHandleId(Condition(function oki)),0,"s"+"__FolderWaterBindings_StructSummon_Init_obj_obj_thisUnitTypes4_wc3unit") call SaveStr(j,GetHandleId(Condition(function oKi)),0,"s"+"__FolderWaterBindings_StructSummon_Init_obj_obj_thisUnitTypes1_wc3unit") call SaveStr(j,GetHandleId(Condition(function oli)),0,"s"+"__FolderWaterBindings_StructSummon_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function oLi)),0,"s"+"__FolderWaterBindings_StructSummon_Init_obj_obj_thisUnitTypes5_wc3unit") call SaveStr(j,GetHandleId(Condition(function omi)),0,"s"+"__FolderWaterBindings_StructSummon_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function oMi)),0,"s"+"__FolderWaterBindings_StructSummon_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function opi)),0,"s"+"__WaterBindings_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function oPi)),0,"s"+"__WaterBindings_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function oqi)),0,"s"+"__WaterBindings_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function oSi)),0,"s"+"__WaterBindings_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function oti)),0,"s"+"__FolderWaterBindings_StructSummon_Event_Destroy") call SaveStr(j,GetHandleId(Condition(function oTi)),0,"s"+"__WaterBindings_Init") call SaveStr(j,GetHandleId(Condition(function oui)),0,"s"+"__WaterBindings_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function oUi)),0,"s"+"__Lariat_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function owi)),0,"s"+"__Lariat_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function oWi)),0,"s"+"__Lariat_Init_obj_obj_bolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function oyi)),0,"s"+"__Lariat_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function oYi)),0,"s"+"__Lariat_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ozi)),0,"s"+"__Lariat_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function oZi)),0,"s"+"__Lariat_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function o_i)),0,"s"+"__Lariat_Interval") call SaveStr(j,GetHandleId(Condition(function o0i)),0,"s"+"__Lariat_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function o1i)),0,"s"+"__Lariat_Event_EndCast") call SaveStr(j,GetHandleId(Condition(function o2i)),0,"s"+"__Lariat_Init") call SaveStr(j,GetHandleId(Condition(function o3i)),0,"s"+"__Lariat_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function o4i)),0,"s"+"__FolderSoakingAttack_StructTarget_Init_obj_obj_ChargeBuff1_wc3buff") +call SaveStr(j,GetHandleId(Condition(function o5i)),0,"s"+"__FolderSoakingAttack_StructTarget_Init_obj_obj_this_wc3obj") +call SaveStr(j,GetHandleId(Condition(function o6i)),0,"s"+"__FolderSoakingAttack_StructTarget_Init_obj_obj_timerBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function o7i)),0,"s"+"__FolderSoakingAttack_StructTarget_Init_obj_obj_ChargeBuff2_wc3buff") +call SaveStr(j,GetHandleId(Condition(function o8i)),0,"s"+"__FolderSoakingAttack_StructTarget_Init_obj_obj_ChargeBuff3_wc3buff") +call SaveStr(j,GetHandleId(Condition(function o9i)),0,"s"+"__FolderSoakingAttack_StructTarget_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function rvi)),0,"s"+"__FolderSoakingAttack_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function rei)),0,"s"+"__SoakingAttack_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function rxi)),0,"s"+"__SoakingAttack_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function roi)),0,"s"+"__SoakingAttack_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function rri)),0,"s"+"__SoakingAttack_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function rai)),0,"s"+"__FolderSoakingAttack_StructTarget_Interval") +call SaveStr(j,GetHandleId(Condition(function rEi)),0,"s"+"__SoakingAttack_Event_Damage") call SaveStr(j,GetHandleId(Condition(function rXi)),0,"s"+"__SoakingAttack_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function rOi)),0,"s"+"__SoakingAttack_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function rRi)),0,"s"+"__SoakingAttack_Event_Learn") +call SaveStr(j,GetHandleId(Condition(function rIi)),0,"s"+"__SoakingAttack_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function rAi)),0,"s"+"__FolderSoakingAttack_StructTarget_Event_Timer_BuffGain") +call SaveStr(j,GetHandleId(Condition(function rNi)),0,"s"+"__FolderSoakingAttack_StructTarget_Event_Timer_BuffLose") +call SaveStr(j,GetHandleId(Condition(function rbi)),0,"s"+"__FolderSoakingAttack_StructTarget_Init") +call SaveStr(j,GetHandleId(Condition(function rBi)),0,"s"+"__SoakingAttack_Init") call SaveStr(j,GetHandleId(Condition(function rci)),0,"s"+"__SoakingAttack_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function rCi)),0,"s"+"__FolderZodiacAura_StructTarget_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function rdi)),0,"s"+"__FolderZodiacAura_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function rDi)),0,"s"+"__FolderZodiacAura_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function rfi)),0,"s"+"__FolderZodiacAura_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function rFi)),0,"s"+"__ZodiacAura_Init_obj_obj_this_wc3obj") call SaveStr(j,GetHandleId(Condition(function rgi)),0,"s"+"__ZodiacAura_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function rGi)),0,"s"+"__ZodiacAura_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function rhi)),0,"s"+"__ZodiacAura_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function rHi)),0,"s"+"__ZodiacAura_Conditions") +call SaveStr(j,GetHandleId(Condition(function rji)),0,"s"+"__ZodiacAura_DoHeal") +call SaveStr(j,GetHandleId(Condition(function rJi)),0,"s"+"__ZodiacAura_Interval") call SaveStr(j,GetHandleId(Condition(function rki)),0,"s"+"__ZodiacAura_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function rKi)),0,"s"+"__ZodiacAura_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function rli)),0,"s"+"__FolderZodiacAura_StructTarget_Event_Ending") call SaveStr(j,GetHandleId(Condition(function rLi)),0,"s"+"__FolderZodiacAura_StructTarget_Event_Start") +call SaveStr(j,GetHandleId(Condition(function rmi)),0,"s"+"__FolderZodiacAura_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function rMi)),0,"s"+"__ZodiacAura_Init") call SaveStr(j,GetHandleId(Condition(function rpi)),0,"s"+"__ZodiacAura_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function rPi)),0,"s"+"__Zodiac_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function rqi)),0,"s"+"__Zodiac_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function rQi)),0,"s"+"__Zodiac_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function rsi)),0,"s"+"__Zodiac_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function rTi)),0,"s"+"__Zodiac_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function rUi)),0,"s"+"__Zodiac_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function rwi)),0,"s"+"__Zodiac_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function rWi)),0,"s"+"__Zodiac_Init") call SaveStr(j,GetHandleId(Condition(function ryi)),0,"s"+"__Zodiac_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function rYi)),0,"s"+"__BigHealingWave_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function rzi)),0,"s"+"__BigHealingWave_Init_obj_obj_Bolt_wc3bolt") call SaveStr(j,GetHandleId(Condition(function rZi)),0,"s"+"__BigHealingWave_Init_obj_obj_BoltSec_wc3bolt") call SaveStr(j,GetHandleId(Condition(function r_i)),0,"s"+"__BigHealingWave_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function r0i)),0,"s"+"__BigHealingWave_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function r1i)),0,"s"+"__BigHealingWave_Conditions") +call SaveStr(j,GetHandleId(Condition(function r3i)),0,"s"+"__BigHealingWave_allocCustom") call SaveStr(j,GetHandleId(Condition(function r9i)),0,"s"+"__BigHealingWave_ChooseNewTargetByTimer") +call SaveStr(j,GetHandleId(Condition(function ivi)),0,"s"+"__BigHealingWave_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function iei)),0,"s"+"__BigHealingWave_Init") call SaveStr(j,GetHandleId(Condition(function ixi)),0,"s"+"__BigHealingWave_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function ioi)),0,"s"+"__BurningSpiritMeteorite_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function iri)),0,"s"+"__BurningSpiritMeteorite_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function iii)),0,"s"+"__BurningSpiritMeteorite_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function iai)),0,"s"+"__BurningSpiritMeteorite_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function iEi)),0,"s"+"__BurningSpiritMeteorite_Impact") +call SaveStr(j,GetHandleId(Condition(function iXi)),0,"s"+"__BurningSpiritMeteorite_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function iOi)),0,"s"+"__BurningSpiritMeteorite_Init") call SaveStr(j,GetHandleId(Condition(function iRi)),0,"s"+"__BurningSpiritMeteorite_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function iIi)),0,"s"+"__BurnLumber_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function iAi)),0,"s"+"__BurnLumber_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function iNi)),0,"s"+"__BurnLumber_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ibi)),0,"s"+"__BurnLumber_Event_Learn") call SaveStr(j,GetHandleId(Condition(function iBi)),0,"s"+"__BurnLumber_Trig") call SaveStr(j,GetHandleId(Condition(function ici)),0,"s"+"__BurnLumber_TrigConds") call SaveStr(j,GetHandleId(Condition(function iCi)),0,"s"+"__BurnLumber_Init") call SaveStr(j,GetHandleId(Condition(function idi)),0,"s"+"__BurnLumber_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function iDi)),0,"s"+"__CoreFusion_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function ifi)),0,"s"+"__CoreFusion_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function iFi)),0,"s"+"__CoreFusion_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function ihi)),0,"s"+"__Announcement_Reset") call SaveStr(j,GetHandleId(Condition(function iji)),0,"s"+"__Meteorite_Update") call SaveStr(j,GetHandleId(Condition(function ili)),0,"s"+"__CoreFusion_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function iLi)),0,"s"+"__CoreFusion_Init") call SaveStr(j,GetHandleId(Condition(function imi)),0,"s"+"__CoreFusion_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function iMi)),0,"s"+"__DarkAttack_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function ipi)),0,"s"+"__DarkAttack_Init_obj_obj_eclipseBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function iPi)),0,"s"+"__DarkAttack_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function iqi)),0,"s"+"__DarkAttack_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function iQi)),0,"s"+"__DarkAttack_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function iti)),0,"s"+"__DarkAttack_Event_Damage") call SaveStr(j,GetHandleId(Condition(function iTi)),0,"s"+"__DarkAttack_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function iui)),0,"s"+"__DarkAttack_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function iUi)),0,"s"+"__DarkAttack_Event_Learn") call SaveStr(j,GetHandleId(Condition(function iwi)),0,"s"+"__DarkAttack_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function iWi)),0,"s"+"__DarkAttack_Init") call SaveStr(j,GetHandleId(Condition(function iyi)),0,"s"+"__DarkAttack_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function iYi)),0,"s"+"__FolderFountainAura_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function izi)),0,"s"+"__FolderFountainAura_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function iZi)),0,"s"+"__FolderFountainAura_StructTarget_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function i_i)),0,"s"+"__FountainAura_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function i0i)),0,"s"+"__FountainAura_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function i1i)),0,"s"+"__FountainAura_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function i2i)),0,"s"+"__FountainAura_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function i3i)),0,"s"+"__FountainAura_Conditions") call SaveStr(j,GetHandleId(Condition(function i4i)),0,"s"+"__FountainAura_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function i5i)),0,"s"+"__FountainAura_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function i6i)),0,"s"+"__FountainAura_Event_Learn") call SaveStr(j,GetHandleId(Condition(function i7i)),0,"s"+"__FountainAura_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function i8i)),0,"s"+"__FolderFountainAura_StructTarget_Event_Ending") call SaveStr(j,GetHandleId(Condition(function i9i)),0,"s"+"__FolderFountainAura_StructTarget_Event_Start") call SaveStr(j,GetHandleId(Condition(function avi)),0,"s"+"__FolderFountainAura_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function aei)),0,"s"+"__FountainAura_Init") +call SaveStr(j,GetHandleId(Condition(function axi)),0,"s"+"__FountainAura_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function aoi)),0,"s"+"__FountainHeal_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function ari)),0,"s"+"__FountainHeal_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function aii)),0,"s"+"__FountainHeal_Init_obj_obj_dummySpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function aai)),0,"s"+"__FountainHeal_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function ani)),0,"s"+"__FountainHeal_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function aVi)),0,"s"+"__FountainHeal_Event_Order") call SaveStr(j,GetHandleId(Condition(function aEi)),0,"s"+"__FountainHeal_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function aXi)),0,"s"+"__FountainHeal_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function aOi)),0,"s"+"__FountainHeal_Event_Learn") call SaveStr(j,GetHandleId(Condition(function aRi)),0,"s"+"__FountainHeal_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function aIi)),0,"s"+"__FountainHeal_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function aci)),0,"s"+"__FountainHeal_Init") +call SaveStr(j,GetHandleId(Condition(function aCi)),0,"s"+"__FountainHeal_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function adi)),0,"s"+"__FrostAttack_Init_obj_obj_coldnessBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function aDi)),0,"s"+"__FrostAttack_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function afi)),0,"s"+"__FrostAttack_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function aFi)),0,"s"+"__FrostAttack_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function agi)),0,"s"+"__FrostAttack_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function aHi)),0,"s"+"__FrostAttack_Event_GroundAttack") call SaveStr(j,GetHandleId(Condition(function aji)),0,"s"+"__FrostAttack_Conditions") call SaveStr(j,GetHandleId(Condition(function aJi)),0,"s"+"__FrostAttack_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function aki)),0,"s"+"__FrostAttack_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function aKi)),0,"s"+"__FrostAttack_Event_Learn") call SaveStr(j,GetHandleId(Condition(function ali)),0,"s"+"__FrostAttack_Event_Unlearn") +call SaveStr(j,GetHandleId(Condition(function aLi)),0,"s"+"__FrostAttack_Init") call SaveStr(j,GetHandleId(Condition(function ami)),0,"s"+"__FrostAttack_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function aMi)),0,"s"+"__Invisibility_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function api)),0,"s"+"__Invisibility_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function aPi)),0,"s"+"__Invisibility_objInits_autoRun") +call SaveStr(j,GetHandleId(Condition(function aqi)),0,"s"+"__Invisibility_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function aQi)),0,"s"+"__Invisibility_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function asi)),0,"s"+"__Invisibility_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function aSi)),0,"s"+"__Invisibility_Event_Learn") call SaveStr(j,GetHandleId(Condition(function ati)),0,"s"+"__Invisibility_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function aTi)),0,"s"+"__Invisibility_Init") +call SaveStr(j,GetHandleId(Condition(function aui)),0,"s"+"__Invisibility_initializer_Init_autoRun") +call SaveStr(j,GetHandleId(Condition(function aUi)),0,"s"+"__Invulnerability_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function awi)),0,"s"+"__Invulnerability_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function aWi)),0,"s"+"__Invulnerability_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function ayi)),0,"s"+"__Invulnerability_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function aYi)),0,"s"+"__Invulnerability_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function azi)),0,"s"+"__Invulnerability_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function aZi)),0,"s"+"__Invulnerability_Event_Learn") call SaveStr(j,GetHandleId(Condition(function a_i)),0,"s"+"__Invulnerability_Event_Unlearn") +call SaveStr(j,GetHandleId(Condition(function a0i)),0,"s"+"__Invulnerability_Init") call SaveStr(j,GetHandleId(Condition(function a1i)),0,"s"+"__Invulnerability_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function a2i)),0,"s"+"__FolderLapidation_StructBuff_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function a3i)),0,"s"+"__FolderLapidation_StructBuff_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function a4i)),0,"s"+"__FolderLapidation_StructBuff_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function a5i)),0,"s"+"__Lapidation_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function a6i)),0,"s"+"__Lapidation_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function a7i)),0,"s"+"__Lapidation_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function a9i)),0,"s"+"__Lapidation_Conditions") +call SaveStr(j,GetHandleId(Condition(function noi)),0,"s"+"__Lapidation_Impact") +call SaveStr(j,GetHandleId(Condition(function nii)),0,"s"+"__Lapidation_Event_SpellEffect") call SaveStr(j,GetHandleId(Condition(function nai)),0,"s"+"__FolderLapidation_StructBuff_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function nni)),0,"s"+"__FolderLapidation_StructBuff_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function nVi)),0,"s"+"__FolderLapidation_StructBuff_Init") call SaveStr(j,GetHandleId(Condition(function nEi)),0,"s"+"__Lapidation_Init") call SaveStr(j,GetHandleId(Condition(function nXi)),0,"s"+"__Lapidation_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function nOi)),0,"s"+"__LightningAttack_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function nRi)),0,"s"+"__LightningAttack_Init_obj_obj_boltPrimary_wc3bolt") call SaveStr(j,GetHandleId(Condition(function nIi)),0,"s"+"__LightningAttack_Init_obj_obj_boltSecondary_wc3bolt") call SaveStr(j,GetHandleId(Condition(function nAi)),0,"s"+"__LightningAttack_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function nNi)),0,"s"+"__LightningAttack_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function nbi)),0,"s"+"__LightningAttack_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function nci)),0,"s"+"__LightningAttack_allocCustom") call SaveStr(j,GetHandleId(Condition(function nGi)),0,"s"+"__LightningAttack_Impact") call SaveStr(j,GetHandleId(Condition(function nji)),0,"s"+"__LightningAttack_Event_Damage") call SaveStr(j,GetHandleId(Condition(function nJi)),0,"s"+"__LightningAttack_Conditions_Group") call SaveStr(j,GetHandleId(Condition(function nki)),0,"s"+"__LightningAttack_Event_BuffGain") call SaveStr(j,GetHandleId(Condition(function nKi)),0,"s"+"__LightningAttack_Event_BuffLose") call SaveStr(j,GetHandleId(Condition(function nli)),0,"s"+"__LightningAttack_Event_Learn") call SaveStr(j,GetHandleId(Condition(function nLi)),0,"s"+"__LightningAttack_Event_Unlearn") +call SaveStr(j,GetHandleId(Condition(function nmi)),0,"s"+"__LightningAttack_Init") call SaveStr(j,GetHandleId(Condition(function nMi)),0,"s"+"__LightningAttack_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function npi)),0,"s"+"__MagicImmunity_Init_obj_obj_thisSpell_wc3spell") +call SaveStr(j,GetHandleId(Condition(function nPi)),0,"s"+"__MagicImmunity_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function nqi)),0,"s"+"__MagicImmunity_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function nQi)),0,"s"+"__MagicImmunity_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function nsi)),0,"s"+"__MagicImmunity_Event_Learn") +call SaveStr(j,GetHandleId(Condition(function nSi)),0,"s"+"__MagicImmunity_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function nti)),0,"s"+"__MagicImmunity_Init") call SaveStr(j,GetHandleId(Condition(function nTi)),0,"s"+"__MagicImmunity_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function nui)),0,"s"+"__MeteoriteProtection_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function nUi)),0,"s"+"__MeteoriteProtection_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function nwi)),0,"s"+"__MeteoriteProtection_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function nWi)),0,"s"+"__RefreshMana_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function nyi)),0,"s"+"__RefreshMana_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function nYi)),0,"s"+"__RefreshMana_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function n0i)),0,"s"+"__RefreshMana_Enum") call SaveStr(j,GetHandleId(Condition(function n1i)),0,"s"+"__RefreshMana_Event_SpellEffect") +call SaveStr(j,GetHandleId(Condition(function n2i)),0,"s"+"__RefreshMana_Init") call SaveStr(j,GetHandleId(Condition(function n3i)),0,"s"+"__RefreshMana_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function n4i)),0,"s"+"__FolderRevealAura_StructTarget_Init_obj_obj_dummyBuff_wc3buff") call SaveStr(j,GetHandleId(Condition(function n5i)),0,"s"+"__FolderRevealAura_StructTarget_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function n6i)),0,"s"+"__FolderRevealAura_StructTarget_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function n7i)),0,"s"+"__RevealAura_Init_obj_obj_thisSpell_wc3spell") call SaveStr(j,GetHandleId(Condition(function n8i)),0,"s"+"__RevealAura_Init_obj_obj_dummyBuff_wc3buff") +call SaveStr(j,GetHandleId(Condition(function n9i)),0,"s"+"__RevealAura_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Vvi)),0,"s"+"__RevealAura_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function Vei)),0,"s"+"__RevealAura_Conditions") +call SaveStr(j,GetHandleId(Condition(function Vxi)),0,"s"+"__RevealAura_Event_BuffGain") +call SaveStr(j,GetHandleId(Condition(function Voi)),0,"s"+"__RevealAura_Event_BuffLose") +call SaveStr(j,GetHandleId(Condition(function Vri)),0,"s"+"__RevealAura_Event_Learn") call SaveStr(j,GetHandleId(Condition(function Vii)),0,"s"+"__RevealAura_Event_Unlearn") call SaveStr(j,GetHandleId(Condition(function Vai)),0,"s"+"__FolderRevealAura_StructTarget_Event_Ending") call SaveStr(j,GetHandleId(Condition(function Vni)),0,"s"+"__FolderRevealAura_StructTarget_Event_Start") +call SaveStr(j,GetHandleId(Condition(function VVi)),0,"s"+"__FolderRevealAura_StructTarget_Init") call SaveStr(j,GetHandleId(Condition(function VEi)),0,"s"+"__RevealAura_Init") call SaveStr(j,GetHandleId(Condition(function VXi)),0,"s"+"__RevealAura_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function VOi)),0,"s"+"__Meteorite_Init_obj_obj_thisUnitType_wc3unit") call SaveStr(j,GetHandleId(Condition(function VRi)),0,"s"+"__Meteorite_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function VIi)),0,"s"+"__Meteorite_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function VAi)),0,"s"+"__Meteorite_Event_Chat") call SaveStr(j,GetHandleId(Condition(function VNi)),0,"s"+"__Meteorite_Event_Life") call SaveStr(j,GetHandleId(Condition(function Vbi)),0,"s"+"__Meteorite_Event_Cast") call SaveStr(j,GetHandleId(Condition(function VBi)),0,"s"+"__Meteorite_Event_Damage") call SaveStr(j,GetHandleId(Condition(function Vci)),0,"s"+"__Meteorite_GameOver_TriggerEvents") call SaveStr(j,GetHandleId(Condition(function VCi)),0,"s"+"__Meteorite_Defeat") call SaveStr(j,GetHandleId(Condition(function Vgi)),0,"s"+"__Meteorite_Event_Death") +call SaveStr(j,GetHandleId(Condition(function VGi)),0,"s"+"__Meteorite_Event_HostChange") call SaveStr(j,GetHandleId(Condition(function Vhi)),0,"s"+"__Meteorite_Event_Create") call SaveStr(j,GetHandleId(Condition(function VHi)),0,"s"+"__Meteorite_Init") call SaveStr(j,GetHandleId(Condition(function Vji)),0,"s"+"__Meteorite_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function VJi)),0,"s"+"__Pengu_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function VKi)),0,"s"+"__Pengu_Event_Create") call SaveStr(j,GetHandleId(Condition(function Vli)),0,"s"+"__Pengu_Init") call SaveStr(j,GetHandleId(Condition(function VLi)),0,"s"+"__Pengu_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Vmi)),0,"s"+"__Sebastian_Init_obj_obj_thisUnitType_wc3unit") call SaveStr(j,GetHandleId(Condition(function VMi)),0,"s"+"__Sebastian_objInits_autoRun") call SaveStr(j,GetHandleId(Condition(function Vpi)),0,"s"+"__Sebastian_Allocation__allocInit_autoRun") call SaveStr(j,GetHandleId(Condition(function VPi)),0,"s"+"__Sebastian_Event_Start") +call SaveStr(j,GetHandleId(Condition(function Vqi)),0,"s"+"__Sebastian_Init") call SaveStr(j,GetHandleId(Condition(function VQi)),0,"s"+"__Sebastian_initializer_Init_autoRun") call SaveStr(j,GetHandleId(Condition(function Vsi)),0,"s"+"__Loading_Allocation__allocInit_autoRun") +call SaveStr(j,GetHandleId(Condition(function VTi)),0,"e"+"valTarget_s__FolderUnit_StructBuffs_Remove") call SaveStr(j,GetHandleId(Condition(function Vui)),0,"e"+"valTarget_s__FolderUnit_StructBuffs_SetLevel") call SaveStr(j,GetHandleId(Condition(function VUi)),0,"e"+"valTarget_s__FolderUnit_FolderPosition_StructX_Set") call SaveStr(j,GetHandleId(Condition(function Vwi)),0,"e"+"valTarget_s__Knockback_Event_Move") call SaveStr(j,GetHandleId(Condition(function VWi)),0,"e"+"valTarget_s__FolderUnit_StructPosition_Nudge") call SaveStr(j,GetHandleId(Condition(function Vyi)),0,"e"+"valTarget_s__FolderUnit_FolderAnimation_StructLoop_Abort") call SaveStr(j,GetHandleId(Condition(function VYi)),0,"e"+"valTarget_s__FolderMissile_StructPosition_Set") call SaveStr(j,GetHandleId(Condition(function Vzi)),0,"e"+"valTarget_s__ChainLightning_StartMissile") call SaveStr(j,GetHandleId(Condition(function VZi)),0,"e"+"valTarget_s__Severance_StartMissile") +call SaveStr(j,GetHandleId(Condition(function V_i)),0,"e"+"valTarget_s__LightningAttack_StartMissile") return true endfunction function main takes nothing returns nothing local weathereffect we local destructable d +local trigger t local real life local integer itemID +call Icx(function INx,"DebugExScope__init_debugInittest") call Icx(function V1i,"funcsTableInitFunctest") call Icx(function V0i,"evalsInitFunctest") call Icx(function ICx,"keyMacrosInitFunctest") call Icx(function VSi,"autoRunsFunctest") call Icx(function Vti,"autoExecsInitFunctest") set e=CreateTrigger() call TriggerRegisterPlayerChatEvent(e,Player(0),"-a ",false) +call TriggerRegisterPlayerChatEvent(e,Player(0),"-r ",false) +call TriggerAddAction(e,function Eqx) set qv=CreateTrigger() call TriggerRegisterPlayerChatEvent(qv,Player(0),"-get ",false) call TriggerAddAction(qv,function Eyx) set sv=CreateTrigger() call TriggerRegisterPlayerChatEvent(sv,Player(0),"-add ",false) call TriggerRegisterPlayerChatEvent(sv,Player(0),"-rem ",false) call TriggerAddAction(sv,function EZx) set tv=CreateTrigger() call TriggerRegisterPlayerChatEvent(tv,Player(0),"say ",false) call TriggerAddAction(tv,function X1x) set me=CreateTrigger() call TriggerRegisterPlayerChatEvent(me,Player(0),"-sethp ",false) call TriggerAddAction(me,function X3x) set Pe=CreateTrigger() call TriggerRegisterPlayerChatEvent(Pe,Player(0),"-l ",false) call TriggerAddAction(Pe,function Oxx) set Ye=CreateTrigger() call TriggerRegisterPlayerChatEvent(Ye,Player(0),"-take",true) call TriggerAddAction(Ye,function ORx) set Ex=CreateTrigger() call TriggerRegisterPlayerChatEvent(Ex,Player(0),"-rpgcam ",false) call TriggerAddAction(Ex,function OAx) call SetCameraBounds(-7680.+GetCameraMargin(CAMERA_MARGIN_LEFT),-7680.+GetCameraMargin(CAMERA_MARGIN_BOTTOM),7680.-GetCameraMargin(CAMERA_MARGIN_RIGHT),7680.-GetCameraMargin(CAMERA_MARGIN_TOP),-7680.+GetCameraMargin(CAMERA_MARGIN_LEFT),7680.-GetCameraMargin(CAMERA_MARGIN_TOP),7680.-GetCameraMargin(CAMERA_MARGIN_RIGHT),-7680.+GetCameraMargin(CAMERA_MARGIN_BOTTOM)) call SetDayNightModels("UI\\LightEnvTerrain.mdx","UI\\LightEnvUnit.mdx") +call NewSoundEnvironment("Default") call SetMapMusic("Music",true,0) +set Rx=Rect(3808.,-6368.,4672.,-5792.) set Ix=Rect(-3328.,4928.,-3072.,5504.) set Ax=Rect(-1888.,6720.,-1312.,6976.) set Nx=Rect(-3072.,3456.,-2816.,3712.) set bx=Rect(2560.,3264.,2816.,3520.) +set Bx=Rect(-4352.,-896.,4352.,3968.) set cx=Rect(-3456.,4512.,-768.,7456.) set Cx=Rect(-1760.,-1600.,-1344.,-1216.) +set Dx=Rect(-4992.,-1216.,-4576.,-832.) set fx=Rect(-3200.,-960.,-2784.,-576.) set Fx=Rect(3008.,-1184.,3424.,-800.) set gx=Rect(4544.,-2848.,4960.,-2464.) set Gx=Rect(1472.,-1664.,1888.,-1280.) set hx=Rect(-384.,1408.,384.,2176.) set Hx=Rect(-256.,-832.,256.,-448.) set jx=Rect(-4096.,1536.,-3712.,2048.) set Jx=Rect(3584.,1536.,3968.,2048.) +set kx=Rect(5056.,-6720.,5184.,-6592.) set Kx=Rect(5056.,-5696.,5184.,-5568.) set lx=Rect(704.,384.,1152.,832.) set we=AddWeatherEffect(lx,'FDgh') call EnableWeatherEffect(we,true) set Lx=Rect(-1152.,384.,-704.,832.) set we=AddWeatherEffect(Lx,'FDgh') call EnableWeatherEffect(we,true) set mx=Rect(-1760.,6208.,-1696.,6272.) set Mx=Rect(-2400.,5664.,-2208.,5856.) set px=Rect(-1152.,6240.,-1088.,6304.) set Px=Rect(-1632.,4992.,-1568.,5056.) set qx=Rect(-1984.,6240.,-1920.,6304.) set Qx=Rect(-2400.,5280.,-2336.,5344.) set sx=Rect(-2656.,6336.,-2592.,6400.) set Sx=Rect(-2144.,5120.,-2080.,5184.) set tx=Rect(-2336.,6304.,-2272.,6368.) set Tx=Rect(-1280.,5664.,-1216.,5728.) set ux=Rect(1024.,3968.,3456.,5632.) +set Ux=Rect(2208.,5408.,2272.,5472.) +set wx=Rect(2208.,4768.,2272.,4832.) +set Wx=Rect(1760.,4704.,1824.,4768.) +set yx=Rect(2656.,4704.,2720.,4768.) +set Yx=Rect(2912.,5952.,2976.,6016.) +set zx=Rect(2944.,5312.,3008.,5376.) +set Zx=Rect(2560.,5216.,2624.,5280.) +set vo=Rect(1856.,5216.,1920.,5280.) +set eo=Rect(2016.,5344.,2080.,5408.) +set xo=Rect(2400.,5344.,2464.,5408.) +set oo=Rect(3136.,5024.,3200.,5088.) +set ro=Rect(1120.,4672.,1184.,4736.) +set io=Rect(1696.,4864.,1760.,4928.) +set ao=Rect(-800.,5504.,-512.,5792.) +set no=Rect(-6400.,-2208.,-5536.,-1600.) +set Vo=Rect(5664.,3968.,5920.,4224.) +set Eo=Rect(-992.,-5408.,-736.,-5152.) set Xo=Rect(160.,-6112.,416.,-5856.) +set Oo=Rect(704.,-6944.,960.,-6688.) +set Ro=Rect(1408.,-6016.,1664.,-5760.) set Io=Rect(6592.,4704.,6816.,4928.) +set Ao=Rect(6336.,2816.,6560.,3072.) +set No=Rect(1792.,-3328.,2048.,-3072.) set bo=Rect(-3168.,-3200.,-2912.,-2944.) +set Bo=Rect(-3360.,-3136.,-3104.,-2880.) +set co=Rect(-6560.,800.,-6304.,1056.) set Co=Rect(-6912.,2144.,-6656.,2400.) set do=Rect(-5824.,2336.,-5568.,2592.) set Do=Rect(512.,5504.,800.,5792.) set fo=Rect(5312.,-2272.,6272.,-1568.) set Fo=Rect(1088.,352.,1184.,448.) set go=Rect(-704.,-6784.,32.,-5984.) +set Go=Rect(-640.,1152.,640.,2432.) set ho=Rect(-320.,3424.,288.,4000.) set Ho=Rect(-7648.,1600.,-7040.,2304.) set jo=Rect(7008.,1344.,7616.,2240.) +set Jo=Rect(3136.,3360.,3296.,3424.) +set we=AddWeatherEffect(Jo,'FDrl') call EnableWeatherEffect(we,true) set ko=Rect(-768.,-224.,-704.,-160.) +set Ko=Rect(704.,-224.,768.,-160.) set lo=Rect(-7712.,160.,8192.,4992.) +set Lo=Rect(-1216.,-8192.,1216.,160.) set mo=Rect(-1024.,3968.,1024.,6336.) set Mo=CreateCameraSetup() call CameraSetupSetField(Mo,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(Mo,CAMERA_FIELD_ROTATION,90.,.0) call CameraSetupSetField(Mo,CAMERA_FIELD_ANGLE_OF_ATTACK,304.,.0) call CameraSetupSetField(Mo,CAMERA_FIELD_TARGET_DISTANCE,2923.1,.0) call CameraSetupSetField(Mo,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(Mo,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(Mo,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(Mo,.0,1792.,.0) set po=CreateCameraSetup() call CameraSetupSetField(po,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(po,CAMERA_FIELD_ROTATION,247.8,.0) call CameraSetupSetField(po,CAMERA_FIELD_ANGLE_OF_ATTACK,332.4,.0) call CameraSetupSetField(po,CAMERA_FIELD_TARGET_DISTANCE,1127.,.0) call CameraSetupSetField(po,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(po,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(po,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(po,2190.2,4567.3,.0) +set Po=CreateCameraSetup() call CameraSetupSetField(Po,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(Po,CAMERA_FIELD_ROTATION,128.9,.0) call CameraSetupSetField(Po,CAMERA_FIELD_ANGLE_OF_ATTACK,335.8,.0) call CameraSetupSetField(Po,CAMERA_FIELD_TARGET_DISTANCE,525.7,.0) call CameraSetupSetField(Po,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(Po,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(Po,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(Po,1801.1,5290.,.0) set qo=CreateCameraSetup() call CameraSetupSetField(qo,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(qo,CAMERA_FIELD_ROTATION,99.3,.0) call CameraSetupSetField(qo,CAMERA_FIELD_ANGLE_OF_ATTACK,328.4,.0) call CameraSetupSetField(qo,CAMERA_FIELD_TARGET_DISTANCE,578.3,.0) call CameraSetupSetField(qo,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(qo,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(qo,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(qo,2041.2,5365.6,.0) +set Qo=CreateCameraSetup() call CameraSetupSetField(Qo,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(Qo,CAMERA_FIELD_ROTATION,100.6,.0) call CameraSetupSetField(Qo,CAMERA_FIELD_ANGLE_OF_ATTACK,322.6,.0) call CameraSetupSetField(Qo,CAMERA_FIELD_TARGET_DISTANCE,846.7,.0) call CameraSetupSetField(Qo,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(Qo,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(Qo,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(Qo,2089.8,5374.8,.0) +set so=CreateCameraSetup() call CameraSetupSetField(so,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(so,CAMERA_FIELD_ROTATION,135.9,.0) call CameraSetupSetField(so,CAMERA_FIELD_ANGLE_OF_ATTACK,348.2,.0) call CameraSetupSetField(so,CAMERA_FIELD_TARGET_DISTANCE,636.2,.0) call CameraSetupSetField(so,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(so,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(so,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(so,2020.8,5276.,.0) set So=CreateCameraSetup() call CameraSetupSetField(So,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(So,CAMERA_FIELD_ROTATION,97.4,.0) call CameraSetupSetField(So,CAMERA_FIELD_ANGLE_OF_ATTACK,336.4,.0) call CameraSetupSetField(So,CAMERA_FIELD_TARGET_DISTANCE,846.7,.0) call CameraSetupSetField(So,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(So,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(So,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(So,2106.9,5300.4,.0) +set to=CreateCameraSetup() call CameraSetupSetField(to,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(to,CAMERA_FIELD_ROTATION,94.8,.0) call CameraSetupSetField(to,CAMERA_FIELD_ANGLE_OF_ATTACK,334.7,.0) call CameraSetupSetField(to,CAMERA_FIELD_TARGET_DISTANCE,846.7,.0) call CameraSetupSetField(to,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(to,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(to,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(to,2172.6,5304.4,.0) +set To=CreateCameraSetup() call CameraSetupSetField(To,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(To,CAMERA_FIELD_ROTATION,58.4,.0) call CameraSetupSetField(To,CAMERA_FIELD_ANGLE_OF_ATTACK,327.2,.0) call CameraSetupSetField(To,CAMERA_FIELD_TARGET_DISTANCE,846.7,.0) call CameraSetupSetField(To,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(To,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(To,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(To,3204.7,5098.2,.0) +set uo=CreateCameraSetup() call CameraSetupSetField(uo,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(uo,CAMERA_FIELD_ROTATION,69.2,.0) call CameraSetupSetField(uo,CAMERA_FIELD_ANGLE_OF_ATTACK,325.5,.0) call CameraSetupSetField(uo,CAMERA_FIELD_TARGET_DISTANCE,931.4,.0) call CameraSetupSetField(uo,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(uo,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(uo,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(uo,3078.6,5167.7,.0) +set Uo=CreateCameraSetup() call CameraSetupSetField(Uo,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(Uo,CAMERA_FIELD_ROTATION,45.8,.0) call CameraSetupSetField(Uo,CAMERA_FIELD_ANGLE_OF_ATTACK,330.6,.0) call CameraSetupSetField(Uo,CAMERA_FIELD_TARGET_DISTANCE,1239.7,.0) call CameraSetupSetField(Uo,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(Uo,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(Uo,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(Uo,2045.9,4927.9,.0) +set wo=CreateCameraSetup() call CameraSetupSetField(wo,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(wo,CAMERA_FIELD_ROTATION,63.6,.0) call CameraSetupSetField(wo,CAMERA_FIELD_ANGLE_OF_ATTACK,291.5,.0) call CameraSetupSetField(wo,CAMERA_FIELD_TARGET_DISTANCE,3215.4,.0) call CameraSetupSetField(wo,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(wo,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(wo,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(wo,2138.4,4966.5,.0) +set Wo=CreateCameraSetup() call CameraSetupSetField(Wo,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(Wo,CAMERA_FIELD_ROTATION,90.,.0) call CameraSetupSetField(Wo,CAMERA_FIELD_ANGLE_OF_ATTACK,304.,.0) call CameraSetupSetField(Wo,CAMERA_FIELD_TARGET_DISTANCE,1650.,.0) call CameraSetupSetField(Wo,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(Wo,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(Wo,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(Wo,.0,.0,.0) +set yo=CreateCameraSetup() call CameraSetupSetField(yo,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(yo,CAMERA_FIELD_ROTATION,309.3,.0) call CameraSetupSetField(yo,CAMERA_FIELD_ANGLE_OF_ATTACK,328.8,.0) call CameraSetupSetField(yo,CAMERA_FIELD_TARGET_DISTANCE,2657.3,.0) call CameraSetupSetField(yo,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(yo,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(yo,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(yo,-5540.3,-6175.3,.0) set Yo=CreateCameraSetup() call CameraSetupSetField(Yo,CAMERA_FIELD_ZOFFSET,.0,.0) call CameraSetupSetField(Yo,CAMERA_FIELD_ROTATION,86.6,.0) call CameraSetupSetField(Yo,CAMERA_FIELD_ANGLE_OF_ATTACK,270.,.0) call CameraSetupSetField(Yo,CAMERA_FIELD_TARGET_DISTANCE,1996.5,.0) call CameraSetupSetField(Yo,CAMERA_FIELD_ROLL,.0,.0) +call CameraSetupSetField(Yo,CAMERA_FIELD_FIELD_OF_VIEW,70.,.0) call CameraSetupSetField(Yo,CAMERA_FIELD_FARZ,5000.,.0) call CameraSetupSetDestPosition(Yo,24.,6408.5,.0) set zo=CreateDestructable('C005',3328.,4992.,90.,1.,0) set Zo=CreateDestructable('C00H',-3136.,-3584.,270.,1.,0) set vr=CreateDestructable('C00H',-6976.,2560.,270.,1.,0) +set er=CreateDestructable('C00H',-3392.,-3520.,270.,1.,0) set xr=CreateDestructable('C00H',-6720.,960.,270.,1.,0) set rr=CreateDestructable('C00H',-5888.,3008.,270.,1.,0) +set ir=CreateDestructable('C00H',-1216.,-5120.,270.,1.,0) set ar=CreateDestructable('C00H',1280.,-7104.,270.,1.,0) +set nr=CreateDestructable('C00H',1216.,-5632.,270.,1.,0) +set Vr=CreateDestructable('C00H',576.,-5632.,270.,1.,0) set Er=CreateDestructable('C00H',1984.,-3840.,270.,1.,0) +set Xr=CreateDestructable('C00H',6784.,5056.,270.,1.,0) set Rr=CreateDestructable('C00H',6720.,2816.,270.,1.,0) set Ir=CreateDestructable('C00H',5504.,4352.,270.,1.,0) call CreateItem('IRun',3.2,4995.9) call CreateItem('ISno',6004.3,2240.) +call CreateItem('ISno',-6400.1,1533.) call CreateItem('ISno',4.6,-2574.6) call Odx(function OJx) call Odx(function OPx) call Odx(function Iex) call Oqx("init ok") endfunction \ No newline at end of file