44 lines
870 B
JavaScript
44 lines
870 B
JavaScript
// =========================>
|
|
// loop configs
|
|
// =========================>
|
|
load_code("utils_default")
|
|
|
|
const attackLoop = new ToggleLoop({
|
|
id: "AttkLoop",
|
|
label: "AutoAttk",
|
|
fn: auto_attck,
|
|
top: false,
|
|
interval: 1000 / 4,
|
|
});
|
|
|
|
// =========================>
|
|
// functions
|
|
// =========================>
|
|
async function auto_attck () {
|
|
use_hp_or_mp();
|
|
loot();
|
|
|
|
if( character.rip || is_moving(character) ) return;
|
|
|
|
var target=get_targeted_monster();
|
|
if(!target) {
|
|
target=get_nearest_monster({min_xp:100,max_att:120});
|
|
if(target) change_target(target);
|
|
else {
|
|
set_message("No Monsters");
|
|
return;
|
|
}
|
|
}
|
|
|
|
if(!is_in_range(target)) {
|
|
move(
|
|
character.x+(target.x-character.x)/2,
|
|
character.y+(target.y-character.y)/2
|
|
);
|
|
// Walk half the distance
|
|
}
|
|
else if(can_attack(target)) {
|
|
set_message("Attacking");
|
|
attack(target);
|
|
}
|
|
} |