Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var switchSkills,
- NTPSkill = [];
- NTPSkill["valkyrie"] = 32;
- NTPSkill["enchant"] = 52;
- NTPSkill["thunderstorm"] = 57;
- NTPSkill["energyshield"] = 58;
- NTPSkill["frozenarmor"] = 40;
- NTPSkill["shiverarmor"] = 50;
- NTPSkill["chillingarmor"] = 60;
- NTPSkill["bonearmor"] = 68;
- NTPSkill["claygolem"] = 75;
- NTPSkill["bloodgolem"] = 85;
- NTPSkill["firegolem"] = 94;
- NTPSkill["holyshield"] = 117;
- NTPSkill["shout"] = 138;
- NTPSkill["battleorders"] = 149;
- NTPSkill["battlecommand"] = 155;
- NTPSkill["raven"] = 221;
- NTPSkill["poisoncreeper"] = 222;
- NTPSkill["oaksage"] = 226;
- NTPSkill["spiritwolf"] = 227;
- NTPSkill["carrionvine"] = 231;
- NTPSkill["heartofwolverine"] = 236;
- NTPSkill["direwolf"] = 237;
- NTPSkill["solarcreeper"] = 241;
- NTPSkill["spiritofbarbs"] = 246;
- NTPSkill["grizzly"] = 247;
- NTPSkill["cyclonearmor"] = 235;
- NTPSkill["armageddon"] = 249;
- NTPSkill["hurricane"] = 250;
- NTPSkill["burstofspeed"] = 258;
- NTPSkill["fade"] = 267;
- NTPSkill["shadowwarrior"] = 268;
- NTPSkill["venom"] = 278;
- NTPSkill["shadowmaster"] = 279;
- NTPSkill["bladeshield"] = 277;
- function NTP_DoPrecast(refresh) {
- NTP_GetSwitchSkills();
- var i, currSlot;
- currSlot = me.weaponstab; // current slot
- for (i = 0; i < NTConfig_Precast.length; i += 1) {
- if (isNaN(NTConfig_Precast[i])) {
- NTConfig_Precast[i] = NTConfig_Precast[i].replace(/ /g, "").toLowerCase();
- }
- switch (NTConfig_Precast[i]) {
- // amazon
- case 32:
- case "valkyrie":
- if (NTP_GetMinion(357) < 1 && NTP_SkillSwitch(32)) {
- while (NTP_GetMinion(357) < 1) {
- NTC_CastSkill(32, 0);
- NTC_Delay(200);
- }
- }
- break;
- // sorceress
- case 40:
- case "frozenarmor":
- if ((refresh || !me.GetState(10)) && NTP_SkillSwitch(40)) {
- NTC_CastSkill(40, 0);
- }
- break;
- case 50:
- case "shiverarmor":
- if ((refresh || !me.GetState(88)) && NTP_SkillSwitch(50)) {
- NTC_CastSkill(50, 0);
- }
- break;
- case 60:
- case "chillingarmor":
- if ((refresh || !me.GetState(20)) && NTP_SkillSwitch(60)) {
- NTC_CastSkill(60, 0);
- }
- break;
- case 57:
- case "thunderstorm":
- if ((refresh || !me.GetState(38)) && NTP_SkillSwitch(57)) {
- NTC_CastSkill(57, 0);
- }
- break;
- case 58:
- case "energyshield":
- if ((refresh || me.GetState(30) === 0) && NTP_SkillSwitch(58)) {
- NTC_CastSkill(58, 0);
- }
- break;
- // necromancer
- case 68:
- case "bonearmor":
- if ((refresh || !me.GetState(14)) && NTP_SkillSwitch(68)) {
- NTC_CastSkill(68, 0);
- }
- break;
- case 75:
- case "claygolem":
- if (NTP_GetMinion(289) < 1 && NTP_SkillSwitch(75)) {
- while (NTP_GetMinion(289) < 1) {
- NTC_CastSkill(75, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 85:
- case "bloodgolem":
- if (NTP_GetMinion(290) < 1 && NTP_SkillSwitch(85)) {
- while (NTP_GetMinion(290) < 1) {
- NTC_CastSkill(85, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 94:
- case "firegolem":
- if (NTP_GetMinion(292) < 1 && NTP_SkillSwitch(85)) {
- while (NTP_GetMinion(292) < 1) {
- NTC_CastSkill(85, 0);
- NTC_Delay(200);
- }
- }
- break;
- // paladin
- case 117:
- case "holyshield":
- if ((refresh || !me.GetState(101)) && NTP_SkillSwitch(117)) {
- NTC_CastSkill(117, 0);
- }
- break;
- // barbarian
- case 138:
- case "shout":
- if ((refresh || !me.GetState(26)) && NTP_SkillSwitch(138)) {
- NTC_CastSkill(138, 0);
- }
- break;
- case 149:
- case "battleorders":
- if ((refresh || !me.GetState(32)) && NTP_SkillSwitch(149)) {
- NTC_CastSkill(149, 0);
- }
- break;
- case 155:
- case "battlecommand":
- if ((refresh || !me.GetState(51)) && NTP_SkillSwitch(155)) {
- NTC_CastSkill(155, 0);
- }
- break;
- // druid
- case 221:
- case "raven":
- if (NTP_GetMinion(419) < 5 && NTP_SkillSwitch(221)) {
- while (NTP_GetMinion(419) < 5) {
- NTC_CastSkill(221, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 222:
- case "poisoncreeper":
- if (NTP_GetMinion(425) < 1 && NTP_SkillSwitch(222)) {
- while (NTP_GetMinion(425) < 1) {
- NTC_CastSkill(222, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 226:
- case "oaksage":
- if (NTP_GetMinion(424) < 1 && NTP_SkillSwitch(226)) {
- while (NTP_GetMinion(424) < 1) {
- NTC_CastSkill(226, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 227:
- case "spiritwolf":
- if (NTP_GetMinion(420) < 5 && NTP_SkillSwitch(227)) {
- while (NTP_GetMinion(420) < 5) {
- NTC_CastSkill(227, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 231:
- case "carrionvine":
- if (NTP_GetMinion(426) < 1 && NTP_SkillSwitch(231)) {
- while (NTP_GetMinion(426) < 1) {
- NTC_CastSkill(231, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 236:
- case "heartofwolverine":
- if (NTP_GetMinion(423) < 1 && NTP_SkillSwitch(236)) {
- while (NTP_GetMinion(423) < 1) {
- NTC_CastSkill(236, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 237:
- case "direwolf":
- if (NTP_GetMinion(421) < 3 && NTP_SkillSwitch(237)) {
- while (NTP_GetMinion(421) < 3) {
- NTC_CastSkill(237, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 241:
- case "solarcreeper":
- if (NTP_GetMinion(427) < 1 && NTP_SkillSwitch(241)) {
- while (NTP_GetMinion(427) < 1) {
- NTC_CastSkill(241, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 246:
- case "spiritofbarbs":
- if (NTP_GetMinion(422) < 1 && NTP_SkillSwitch(246)) {
- while (NTP_GetMinion(422) < 1) {
- NTC_CastSkill(246, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 247:
- case "grizzly":
- if (NTP_GetMinion(428) < 1 && NTP_SkillSwitch(247)) {
- while (NTP_GetMinion(428) < 1) {
- NTC_CastSkill(247, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 235:
- case "cyclonearmor":
- if ((refresh || !me.GetState(151)) && NTP_SkillSwitch(235)) {
- NTC_CastSkill(235, 0);
- }
- break;
- case 249:
- case "armageddon":
- if ((refresh || !me.GetState(145)) && NTP_SkillSwitch(249)) {
- NTC_CastSkill(249, 0);
- }
- break;
- case 250:
- case "hurricane":
- if ((refresh || !me.GetState(144)) && NTP_SkillSwitch(250)) {
- NTC_CastSkill(250, 0);
- }
- break;
- // assassin
- case 258:
- case "burstofspeed":
- if ((refresh || !me.GetState(157)) && NTP_SkillSwitch(258)) {
- NTC_CastSkill(258, 0);
- }
- break;
- case 267:
- case "fade":
- if ((refresh || !me.GetStat(181)) && NTP_SkillSwitch(267)) {
- NTC_CastSkill(267, 0);
- }
- break;
- case 268:
- case "shadowwarrior":
- if (NTP_GetMinion(417) < 1 && NTP_SkillSwitch(268)) {
- while (NTP_GetMinion(417) < 1) {
- NTC_CastSkill(268, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 278:
- case "venom":
- if ((refresh || !me.GetStat(101)) && NTP_SkillSwitch(278)) {
- NTC_CastSkill(278, 0);
- }
- break;
- case 279:
- case "shadowmaster":
- if (NTP_GetMinion(418) < 1 && NTP_SkillSwitch(279)) {
- while (NTP_GetMinion(418) < 1) {
- NTC_CastSkill(279, 0);
- NTC_Delay(200);
- }
- }
- break;
- case 277:
- case "bladeshield":
- if ((refresh || me.GetState(158) === 0) && NTP_SkillSwitch(277)) {
- NTC_CastSkill(277, 0);
- }
- break;
- }
- }
- NTC_SwapWeapons(currSlot);
- }
- function NTP_GetSwitchSkills() {
- var i;
- switchSkills = [];
- for (i = 0; i < NTConfig_Precast.length; i += 1) {
- if (isNaN(NTConfig_Precast[i])) {
- NTConfig_Precast[i] = NTConfig_Precast[i].replace(/ /g, "").toLowerCase();
- NTConfig_Precast[i] = NTPSkill[NTConfig_Precast[i]];
- }
- if (!NTC_GetSkillLevel(NTConfig_Precast[i])) {
- switchSkills.push(NTConfig_Precast[i]);
- }
- }
- }
- function NTP_SkillSwitch(skillID) {
- var i, items,
- primSlot = 0,
- secSlot = 0;
- items = me.GetItems();
- if (switchSkills.indexOf(skillID) > -1) { // for skills only on secondary slot
- Print("2nd slot skill: " + skillID);
- primSlot = -1;
- }
- for (i = 0; i < items.length; i += 1) {
- if (items[i].mode !== 1) {
- continue;
- }
- switch (items[i].itemloc) {
- case 4: // I
- case 5:
- if (primSlot === -1) { // skip if we don't have the skill on primary slot
- break;
- }
- primSlot += items[i].GetStat(107, skillID) + items[i].GetStat(127); // all skills
- primSlot += items[i].GetStat(83, me.classid); // class skills
- switch (skillID) { // skill tabs
- case 32: // valkyrie
- primSlot += items[i].GetStat(188, 1); // passive and magic skill tab
- break;
- case 52: // enchant
- primSlot += items[i].GetStat(188, 8); // fire skill tab
- break;
- case 57: // thunder storm
- case 58: // energy shield
- primSlot += items[i].GetStat(188, 9); // lightning skill tab
- break;
- case 40: // Frozen Armor
- case 50: // Shiver Armor
- case 60: // Chilling Armor
- primSlot += items[i].GetStat(188, 10); // cold skill tab
- break;
- case 68: // Bone Armor
- primSlot += items[i].GetStat(188, 17); // poison and bone skill tab
- break;
- case 75: // Clay Golem
- case 85: // Blood Golem
- case 94: // Fire Golem
- primSlot += items[i].GetStat(188, 18); // necro summoning skill tab
- break;
- case 117: // Holy Shield
- primSlot += items[i].GetStat(188, 24); // paladin combat skill tab
- break;
- case 138: // Shout
- case 149: // Batttle Orders
- case 155: // Battle Command
- if (items[i].itemprefix === 20519) {
- primSlot += 6; // dirty fix for cta, d2nt can't read +skills on runewords
- }
- primSlot += items[i].GetStat(188, 34); // warcries skill tab
- break;
- case 221: // Raven
- case 222: // Poison Creeper
- case 226: // Oak Sage
- case 227: // Spirit Wolf
- case 231: // Carrion Vine
- case 236: // Heart of Wolverine
- case 237: // Dire Wolf
- case 241: // Solar Creeper
- case 246: // Spirit of Barbs
- case 247: // Grizzly
- primSlot += items[i].GetStat(188, 40); // druid summoning skill tab
- break;
- case 235: // Cyclone Armor
- case 249: // Armageddon
- case 250: // Hurricane
- primSlot += items[i].GetStat(188, 42); // elemental skill tab
- break;
- case 258: // Burst of Speed
- case 267: // Fade
- case 268: // Shadow Warrior
- case 278: // Venom
- case 279: // Shadow Master
- primSlot += items[i].GetStat(188, 49); // shadow disciplines skill tab
- break;
- case 277: // Blade Shield
- primSlot += items[i].GetStat(188, 48); // traps skill tab
- break;
- }
- break;
- case 11: // II
- case 12:
- secSlot += items[i].GetStat(107, skillID) + items[i].GetStat(127); // all skills
- secSlot += items[i].GetStat(83, me.classid); // class skills
- switch (skillID) { // skill tabs
- case 32: // valkyrie
- secSlot += items[i].GetStat(188, 1); // passive and magic skill tab
- break;
- case 52: // enchant
- secSlot += items[i].GetStat(188, 8); // fire skill tab
- break;
- case 57: // thunder storm
- case 58: // energy shield
- secSlot += items[i].GetStat(188, 9); // lightning skill tab
- break;
- case 40: // Frozen Armor
- case 50: // Shiver Armor
- case 60: // Chilling Armor
- secSlot += items[i].GetStat(188, 10); // cold skill tab
- break;
- case 68: // Bone Armor
- secSlot += items[i].GetStat(188, 17); // poison and bone skill tab
- break;
- case 75: // Clay Golem
- case 85: // Blood Golem
- case 94: // Fire Golem
- secSlot += items[i].GetStat(188, 18); // necro summoning skill tab
- break;
- case 117: // Holy Shield
- secSlot += items[i].GetStat(188, 24); // paladin combat skill tab
- break;
- case 138: // Shout
- case 149: // Batttle Orders
- case 155: // Battle Command
- if (items[i].itemprefix === 20519) {
- secSlot += 6; // dirty fix for cta, d2nt can't read +skills on runewords
- }
- secSlot += items[i].GetStat(188, 34); // warcries skill tab
- break;
- case 221: // Raven
- case 222: // Poison Creeper
- case 226: // Oak Sage
- case 227: // Spirit Wolf
- case 231: // Carrion Vine
- case 236: // Heart of Wolverine
- case 237: // Dire Wolf
- case 241: // Solar Creeper
- case 246: // Spirit of Barbs
- case 247: // Grizzly
- secSlot += items[i].GetStat(188, 40); // druid summoning skill tab
- break;
- case 235: // Cyclone Armor
- case 249: // Armageddon
- case 250: // Hurricane
- secSlot += items[i].GetStat(188, 42); // elemental skill tab
- break;
- case 258: // Burst of Speed
- case 267: // Fade
- case 268: // Shadow Warrior
- case 278: // Venom
- case 279: // Shadow Master
- secSlot += items[i].GetStat(188, 49); // shadow disciplines skill tab
- break;
- case 277: // Blade Shield
- secSlot += items[i].GetStat(188, 48); // traps skill tab
- break;
- }
- break;
- }
- }
- //Print(skillID + " " + primSlot + " " + secSlot);
- if (primSlot >= secSlot) {
- if (NTC_SwapWeapons(0)) {
- return true;
- } else {
- return false;
- }
- }
- if (NTC_SwapWeapons(1)) {
- return NTC_GetSkillLevel(skillID);
- }
- return false;
- }
- function NTP_GetMinion(classID) {
- var minion, count, string;
- minion = NTC_FindUnit(1, classID);
- count = 0;
- if (minion) {
- string = minion.name;
- do {
- if (NTC_CheckOwner(minion) && minion.hp > 0) {
- count += 1;
- }
- } while (minion.GetNext());
- }
- string += ": " + count;
- //Print(string);
- return count;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement