rendered paste bodyfunction findLead(leader)
{
var _lead= getUnit(0, leader)
if(_lead)
return _lead.area;
// leader not found look in party
var area =0;
var a = getParty();
if(!a)
return false;
do {
if (a.name==leader){
area=a.area;
}
} while(a.getNext());
if (area==0) {
//sendCopyData(null, "OOG", 0,"Quit:Quit()" );
return false;
}
return area;
}
var _NTLW_timerLastDrink = new Array(5);
var myself;
var pause = false;
var _LifeMax
var _ManaMax
var _count = 0;
var _mercHP;
var _party, _mypartyid;
var Result =" ";
var Reason =" ";
var _NTLW_timerLastDrink = new Array(5);
var debugStr;
function main()
{
Result =" ";
Reason =" ";
delay(500);
//text "text",x,y,color,font,alingment
//var LWHook = new Text("LWHook", 400, 550, 2, 6, 2);
//var LWHook2 = new Text("", 400, 540, 2, 6, 2);
include("common/NTCommon.dbl");
NTC_IncludeConfig();
var DrinkHP;
var DrinkMP;
var DrinkRV;
var MercHP;
var meHP;
var meMP;
var DrinkRVm;
var LastAction =" " ;
var _count = 0;
var _LifeMax, _ManaMax;
var _mercHP;
var _party, _mypartyid;
print("c3Start ToolsThread script");
NT_LoadConfig();
_LifeMax = me.hpmax;
_ManaMax = me.mpmax;
if(NTConfig_LifeChicken > 0)
me.chickenhp = parseInt((_LifeMax*NTConfig_LifeChicken)/100,10);
if(NTConfig_ManaChicken > 0)
me.chickenmp = parseInt((_ManaMax*NTConfig_ManaChicken)/100,10);
for(var i = 0 ; i < 5 ; i++)
_NTLW_timerLastDrink[i] = ((getTickCount())-5000);
//print( _NTLW_timerLastDrink[2] );
myself = copyUnit(me);
while(me.ingame)
{
if(!LW_InTown())
{
if(_LifeMax != me.hpmax)
{
_LifeMax = me.hpmax;
if(NTConfig_LifeChicken > 0)
me.chickenhp = parseInt((_LifeMax*NTConfig_LifeChicken)/100,10);
}
if(_ManaMax != me.mpmax)
{
_ManaMax = me.mpmax;
if(NTConfig_ManaChicken > 0)
me.chickenmp = parseInt((_ManaMax*NTConfig_ManaChicken)/100);
}
/*
DrinkHP = parseInt((_LifeMax*NTConfig_LifeThresh)/100);
DrinkMP = parseInt((_ManaMax*NTConfig_ManaThresh)/100,10);
DrinkRV =parseInt((_LifeMax*NTConfig_LifeRejuvThresh)/100,10);
DrinkRVm = parseInt((_ManaMax*NTConfig_ManaRejuvThresh)/100,10)
meHP =me.hp;
meMP = me.mp;
debugStr ="Drinking HP at:"+DrinkHP+" Drinking MP at:"+DrinkMP+" Drinking RVhp at:"+DrinkRV +" ManaJuv at:"+DrinkRVm;
LWHook.text = debugStr;
LWHook2.text = LastAction + " " + Reason;
*/
//me.overhead( LastAction + " " + Reason);
if(me.hp < parseInt((_LifeMax*NTConfig_LifeRejuvThresh)/100,10) || me.mp < parseInt((_ManaMax*NTConfig_ManaRejuvThresh)/100,10)){
LastAction="Drink Rejuve";
if (!NTLW_DrinkPotInt(2)){ //failed to find juvie drink hp/mp
if(me.hp < parseInt((_LifeMax*NTConfig_LifeThresh)/100,10)){
NTLW_DrinkPotInt(0);
LastAction="Drinking HP";
}
if(me.mp < parseInt((_ManaMax*NTConfig_ManaThresh)/100,10)){
NTLW_DrinkPotInt(1);
LastAction="Drinking MP";
}
}
}else
{
if(me.hp < parseInt((_LifeMax*NTConfig_LifeThresh)/100,10)){
NTLW_DrinkPotInt(0);
LastAction="Drinking HP";
}
if(me.mp < parseInt((_ManaMax*NTConfig_ManaThresh)/100,10)){
NTLW_DrinkPotInt(1);
LastAction="Drinking MP";
}
}
_mercHP = getMercHP();
if(_mercHP > 0)
{
if(_mercHP < NTConfig_MercChicken)
{
quit();
break;
}
if(_mercHP < NTConfig_MercRejuvThresh){
NTLW_DrinkPotInt(4);
LastAction="Merc Rejuve";
}
else if(_mercHP < NTConfig_MercLifeThresh){
LastAction="Merc HP";
NTLW_DrinkPotInt(3);
}
}
}
if(_count++ > 10)
{
if(NTConfig_PublicMode)
{
var leader;
_party = getParty();
if(_party)
{
_mypartyid = _party.partyid;
for (var z = 0 ; z < NT_Leader.length ; z++) {
if (findLead(NT_Leader[z])) {
leader = NT_Leader[z];
break;
}
else sendCopyData(null,"OOG",0,"Leader Not Found -->" +NT_Leader[z]);
}
while(_party.getNext())
{
if((leader && _party.name == leader) || !leader || me.charname == leader)
if(_party.partyid == 65535 || _party.partyid != _mypartyid)
{
if(_party.partyflag == 2)
{
clickParty(_party, 2);
break;
}
if(_party.partyid == 65535 && me.charname == leader)
{
if(_party.partyflag == 4)
break;
clickParty(_party, 2);
delay(40);
if(_party.partyflag == 4 || (_party.partyid != 65535 && _party.partyid == _mypartyid))
break;
}
}
}
}
}
_count = 0;
}
delay(500);
}
}
// Internal function
function NTLW_DrinkPotInt(type)
{
Reason ="Attempting to drink" +type;
var _pottype;
var _potion;
var _tNow = getTickCount();
if(type == 2 || type == 4)
{
Reason ="timer check"+_NTLW_timerLastDrink[type] ;
if(_tNow-_NTLW_timerLastDrink[type] < 1000){
Reason ="Failed Drink Timer";
//print("last drink "+ _NTLW_timerLastDrink[type] + " Diff "+ (_tNow-_NTLW_timerLastDrink[type]) +" type " +type);
return false;
}
}
else
{
Reason ="timer check"+_NTLW_timerLastDrink[type] ;
if(_tNow-_NTLW_timerLastDrink[type] < 3000){
Reason ="Failed Drink Timer";
//print("last drink "+ _NTLW_timerLastDrink[type] + " Diff "+ (_tNow-_NTLW_timerLastDrink[type]) +" type " +type);
return false;
}
}
Reason ="after timer check";
switch(type)
{
case 0:
case 3:
_pottype = 76;
break;
case 1:
_pottype = 77;
break;
default:
_pottype = 78;
break;
}
Reason ="Getting Pot type" +_pottype;
_potion = NTLW_GetPotionInt(_pottype);
if(_potion)
{
Reason ="Found Pot";
if(me.mode == 0 || me.mode == 17 || me.mode == 18){
Reason ="bad Mode Failed";
return false;
}
if(type < 3)
_potion.interact();
else
clickItem(2, _potion);
_NTLW_timerLastDrink[type] = getTickCount();
Reason ="Success";
return true;
}
Reason ="Failed to find pot";
return false;
}
function NTLW_GetPotionInt(pottype)
{
var _items = me.getItems();
if(!_items)
return false;
for(var i = 0 ; i < _items.length ; i++)
{
if(_items[i].mode == 2 && _items[i].itemType == pottype){
//print("pot Found");
return copyUnit(_items[i]);
}
}
return false;
}
function LW_InTown(who)
{
var _area;
if(arguments.length < 1)
who = myself;
_area = who.area;
return (_area == NTC_AREA_ID_ACT_1 || _area == NTC_AREA_ID_ACT_2 || _area == NTC_AREA_ID_ACT_3 || _area == NTC_AREA_ID_ACT_4 || _area == NTC_AREA_ID_ACT_5);
}