Advertisement
kolton

Untitled

Oct 21st, 2011
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function NTP_DoPrecast(refresh) {
  2.     var i, currSlot;
  3.    
  4.     currSlot = me.weaponstab; // current slot
  5.    
  6.     for (i = 0; i < NTConfig_Precast.length; i += 1) {
  7.         if (isNaN(NTConfig_Precast[i])) {
  8.             NTConfig_Precast[i] = NTConfig_Precast[i].replace(/ /g, "").toLowerCase();
  9.         }
  10.        
  11.         switch (NTConfig_Precast[i]) {
  12.         // amazon
  13.        
  14.         case 32:
  15.         case "valkyrie":
  16.             if (NTP_GetMinion(357) < 1 && NTP_SkillSwitch(32)) {
  17.                 while (NTP_GetMinion(357) < 1) {
  18.                     NTC_CastSkill(32, 0);
  19.                     NTC_Delay(200);
  20.                 }
  21.             }
  22.            
  23.             break;
  24.            
  25.         // sorceress
  26.        
  27.         case 40:
  28.         case "frozenarmor":
  29.             if ((refresh || !me.GetState(10)) && NTP_SkillSwitch(40)) {
  30.                 NTC_CastSkill(40, 0);
  31.             }
  32.            
  33.             break;
  34.         case 50:
  35.         case "shiverarmor":
  36.             if ((refresh || !me.GetState(88)) && NTP_SkillSwitch(50)) {
  37.                 NTC_CastSkill(50, 0);
  38.             }
  39.            
  40.             break;
  41.         case 60:
  42.         case "chillingarmor":
  43.             if ((refresh || !me.GetState(20)) && NTP_SkillSwitch(60)) {
  44.                 NTC_CastSkill(60, 0);
  45.             }
  46.            
  47.             break;
  48.         case 57:
  49.         case "thunderstorm":
  50.             if ((refresh || !me.GetState(38)) && NTP_SkillSwitch(57)) {
  51.                 NTC_CastSkill(57, 0);
  52.             }
  53.            
  54.             break;
  55.         case 58:
  56.         case "energyshield":
  57.             if ((refresh || me.GetState(30) === 0) && NTP_SkillSwitch(58)) {
  58.                 NTC_CastSkill(58, 0);
  59.             }
  60.            
  61.             break;
  62.            
  63.         // necromancer
  64.        
  65.         case 68:
  66.         case "bonearmor":
  67.             if ((refresh || !me.GetState(14)) && NTP_SkillSwitch(68)) {
  68.                 NTC_CastSkill(68, 0);
  69.             }
  70.            
  71.             break;
  72.         case 75:
  73.         case "claygolem":
  74.             if (NTP_GetMinion(289) < 1 && NTP_SkillSwitch(75)) {
  75.                 while (NTP_GetMinion(289) < 1) {
  76.                     NTC_CastSkill(75, 0);
  77.                     NTC_Delay(200);
  78.                 }
  79.             }
  80.            
  81.             break;
  82.         case 85:
  83.         case "bloodgolem":
  84.             if (NTP_GetMinion(290) < 1 && NTP_SkillSwitch(85)) {
  85.                 while (NTP_GetMinion(290) < 1) {
  86.                     NTC_CastSkill(85, 0);
  87.                     NTC_Delay(200);
  88.                 }
  89.             }
  90.            
  91.             break;
  92.         case 94:
  93.         case "firegolem":
  94.             if (NTP_GetMinion(292) < 1 && NTP_SkillSwitch(85)) {
  95.                 while (NTP_GetMinion(292) < 1) {
  96.                     NTC_CastSkill(85, 0);
  97.                     NTC_Delay(200);
  98.                 }
  99.             }
  100.            
  101.             break;
  102.            
  103.         // paladin
  104.        
  105.         case 117:
  106.         case "holyshield":
  107.             if ((refresh || !me.GetState(101)) && NTP_SkillSwitch(117)) {
  108.                 NTC_CastSkill(117, 0);
  109.             }
  110.            
  111.             break;
  112.            
  113.         // barbarian
  114.        
  115.         case 138:
  116.         case "shout":
  117.             if ((refresh || !me.GetState(26)) && NTP_SkillSwitch(138)) {
  118.                 NTC_CastSkill(138, 0);
  119.             }
  120.            
  121.             break;
  122.         case 149:
  123.         case "battleorders":
  124.             if ((refresh || !me.GetState(32)) && NTP_SkillSwitch(149)) {
  125.                 NTC_CastSkill(149, 0);
  126.             }
  127.            
  128.             break;
  129.         case 155:
  130.         case "battlecommand":
  131.             if ((refresh || !me.GetState(51)) && NTP_SkillSwitch(155)) {
  132.                 NTC_CastSkill(155, 0);
  133.             }
  134.            
  135.             break;
  136.            
  137.         // druid
  138.        
  139.         case 221:
  140.         case "raven":
  141.             if (NTP_GetMinion(419) < 5 && NTP_SkillSwitch(221)) {
  142.                 while (NTP_GetMinion(419) < 5) {
  143.                     NTC_CastSkill(221, 0);
  144.                     NTC_Delay(200);
  145.                 }
  146.             }
  147.            
  148.             break;
  149.         case 222:
  150.         case "poisoncreeper":
  151.             if (NTP_GetMinion(425) < 1 && NTP_SkillSwitch(222)) {
  152.                 while (NTP_GetMinion(425) < 1) {
  153.                     NTC_CastSkill(222, 0);
  154.                     NTC_Delay(200);
  155.                 }
  156.             }
  157.            
  158.             break;
  159.         case 226:
  160.         case "oaksage":
  161.             if (NTP_GetMinion(424) < 1 && NTP_SkillSwitch(226)) {
  162.                 while (NTP_GetMinion(424) < 1) {
  163.                     NTC_CastSkill(226, 0);
  164.                     NTC_Delay(200);
  165.                 }
  166.             }
  167.            
  168.             break;
  169.         case 227:
  170.         case "spiritwolf":
  171.             if (NTP_GetMinion(420) < 5 && NTP_SkillSwitch(227)) {
  172.                 while (NTP_GetMinion(420) < 5) {
  173.                     NTC_CastSkill(227, 0);
  174.                     NTC_Delay(200);
  175.                 }
  176.             }
  177.            
  178.             break;
  179.         case 231:
  180.         case "carrionvine":
  181.             if (NTP_GetMinion(426) < 1 && NTP_SkillSwitch(231)) {
  182.                 while (NTP_GetMinion(426) < 1) {
  183.                     NTC_CastSkill(231, 0);
  184.                     NTC_Delay(200);
  185.                 }
  186.             }
  187.            
  188.             break;
  189.         case 236:
  190.         case "heartofwolverine":
  191.             if (NTP_GetMinion(423) < 1 && NTP_SkillSwitch(236)) {
  192.                 while (NTP_GetMinion(423) < 1) {
  193.                     NTC_CastSkill(236, 0);
  194.                     NTC_Delay(200);
  195.                 }
  196.             }
  197.            
  198.             break;
  199.         case 237:
  200.         case "direwolf":
  201.             if (NTP_GetMinion(421) < 3 && NTP_SkillSwitch(237)) {
  202.                 while (NTP_GetMinion(421) < 3) {
  203.                     NTC_CastSkill(237, 0);
  204.                     NTC_Delay(200);
  205.                 }
  206.             }
  207.            
  208.             break;
  209.         case 241:
  210.         case "solarcreeper":
  211.             if (NTP_GetMinion(427) < 1 && NTP_SkillSwitch(241)) {
  212.                 while (NTP_GetMinion(427) < 1) {
  213.                     NTC_CastSkill(241, 0);
  214.                     NTC_Delay(200);
  215.                 }
  216.             }
  217.            
  218.             break;
  219.         case 246:
  220.         case "spiritofbarbs":
  221.             if (NTP_GetMinion(422) < 1 && NTP_SkillSwitch(246)) {
  222.                 while (NTP_GetMinion(422) < 1) {
  223.                     NTC_CastSkill(246, 0);
  224.                     NTC_Delay(200);
  225.                 }
  226.             }
  227.            
  228.             break;
  229.         case 247:
  230.         case "grizzly":
  231.             if (NTP_GetMinion(428) < 1 && NTP_SkillSwitch(247)) {
  232.                 while (NTP_GetMinion(428) < 1) {
  233.                     NTC_CastSkill(247, 0);
  234.                     NTC_Delay(200);
  235.                 }
  236.             }
  237.            
  238.             break;
  239.         case 235:
  240.         case "cyclonearmor":
  241.             if ((refresh || !me.GetState(151)) && NTP_SkillSwitch(235)) {
  242.                 NTC_CastSkill(235, 0);
  243.             }
  244.            
  245.             break;
  246.         case 249:
  247.         case "armageddon":
  248.             if ((refresh || !me.GetState(145)) && NTP_SkillSwitch(249)) {
  249.                 NTC_CastSkill(249, 0);
  250.             }
  251.            
  252.             break;
  253.         case 250:
  254.         case "hurricane":
  255.             if ((refresh || !me.GetState(144)) && NTP_SkillSwitch(250)) {
  256.                 NTC_CastSkill(250, 0);
  257.             }
  258.            
  259.             break;
  260.            
  261.         // assassin
  262.        
  263.         case 258:
  264.         case "burstofspeed":
  265.             if ((refresh || !me.GetState(157)) && NTP_SkillSwitch(258)) {
  266.                 NTC_CastSkill(258, 0);
  267.             }
  268.            
  269.             break;
  270.         case 267:
  271.         case "fade":
  272.             if ((refresh || !me.GetStat(181)) && NTP_SkillSwitch(267)) {
  273.                 NTC_CastSkill(267, 0);
  274.             }
  275.            
  276.             break;
  277.         case 268:
  278.         case "shadowwarrior":
  279.             if (NTP_GetMinion(417) < 1 && NTP_SkillSwitch(268)) {
  280.                 while (NTP_GetMinion(417) < 1) {
  281.                     NTC_CastSkill(268, 0);
  282.                     NTC_Delay(200);
  283.                 }
  284.             }
  285.            
  286.             break;
  287.         case 278:
  288.         case "venom":
  289.             if ((refresh || !me.GetStat(101)) && NTP_SkillSwitch(278)) {
  290.                 NTC_CastSkill(278, 0);
  291.             }
  292.            
  293.             break;
  294.         case 279:
  295.         case "shadowmaster":
  296.             if (NTP_GetMinion(418) < 1 && NTP_SkillSwitch(279)) {
  297.                 while (NTP_GetMinion(418) < 1) {
  298.                     NTC_CastSkill(279, 0);
  299.                     NTC_Delay(200);
  300.                 }
  301.             }
  302.            
  303.             break;
  304.         case 277:
  305.         case "bladeshield":
  306.             if ((refresh || me.GetState(158) === 0) && NTP_SkillSwitch(277)) {
  307.                 NTC_CastSkill(277, 0);
  308.             }
  309.            
  310.             break;
  311.         }
  312.     }
  313.    
  314.     NTC_SwapWeapons(currSlot);
  315. }
  316.  
  317. function NTP_SkillSwitch(skillID) {
  318.     var i, items,
  319.         primSlot = 0,
  320.         secSlot = 0;
  321.    
  322.     items = me.GetItems();
  323.    
  324.     if (!NTC_GetSkillLevel(skillID)) { // for skills only on secondary slot
  325.         primSlot = -1;
  326.     }
  327.    
  328.     for (i = 0; i < items.length; i += 1) {
  329.         switch (items[i].itemloc) {
  330.         case 4: // I
  331.         case 5:
  332.             if (primSlot === -1) { // skip if we don't have the skill on primary slot
  333.                 break;
  334.             }
  335.            
  336.             primSlot += items[i].GetStat(107, skillID) + items[i].GetStat(127); // all skills
  337.             primSlot += items[i].GetStat(83, me.classid); // class skills
  338.            
  339.             switch (skillID) { // skill tabs
  340.             case 32: // valkyrie
  341.                 primSlot += items[i].GetStat(188, 1); // passive and magic skill tab
  342.                 break;
  343.             case 52: // enchant
  344.                 primSlot += items[i].GetStat(188, 8); // fire skill tab
  345.                 break;
  346.             case 57: // thunder storm
  347.             case 58: // energy shield
  348.                 primSlot += items[i].GetStat(188, 9); // lightning skill tab
  349.                 break;
  350.             case 40: // Frozen Armor
  351.             case 50: // Shiver Armor
  352.             case 60: // Chilling Armor
  353.                 primSlot += items[i].GetStat(188, 10); // cold skill tab
  354.                 break;
  355.             case 68: // Bone Armor
  356.                 primSlot += items[i].GetStat(188, 17); // poison and bone skill tab
  357.                 break;
  358.             case 75: // Clay Golem
  359.             case 85: // Blood Golem
  360.             case 94: // Fire Golem
  361.                 primSlot += items[i].GetStat(188, 18); // necro summoning skill tab
  362.                 break;
  363.             case 117: // Holy Shield
  364.                 primSlot += items[i].GetStat(188, 24); // paladin combat skill tab
  365.                 break;
  366.             case 138: // Shout
  367.             case 149: // Batttle Orders
  368.             case 155: // Battle Command
  369.                 if (items[i].itemprefix === 20519) {
  370.                     primSlot += 6; // dirty fix for cta, d2nt can't read +skills on runewords
  371.                 }
  372.                
  373.                 primSlot += items[i].GetStat(188, 34); // warcries skill tab
  374.                 break;
  375.             case 221: // Raven
  376.             case 222: // Poison Creeper
  377.             case 226: // Oak Sage
  378.             case 227: // Spirit Wolf
  379.             case 231: // Carrion Vine
  380.             case 236: // Heart of Wolverine
  381.             case 237: // Dire Wolf
  382.             case 241: // Solar Creeper
  383.             case 246: // Spirit of Barbs
  384.             case 247: // Grizzly
  385.                 primSlot += items[i].GetStat(188, 40); // druid summoning skill tab
  386.                 break;
  387.             case 235: // Cyclone Armor
  388.             case 249: // Armageddon
  389.             case 250: // Hurricane
  390.                 primSlot += items[i].GetStat(188, 42); // elemental skill tab
  391.                 break;
  392.             case 258: // Burst of Speed
  393.             case 267: // Fade
  394.             case 268: // Shadow Warrior
  395.             case 278: // Venom
  396.             case 279: // Shadow Master
  397.                 primSlot += items[i].GetStat(188, 49); // shadow disciplines skill tab
  398.                 break;
  399.             case 277: // Blade Shield
  400.                 primSlot += items[i].GetStat(188, 48); // traps skill tab
  401.                 break;
  402.             }
  403.            
  404.             break;
  405.         case 11: // II
  406.         case 12:
  407.             secSlot += items[i].GetStat(107, skillID) + items[i].GetStat(127); // all skills
  408.             secSlot += items[i].GetStat(83, me.classid); // class skills
  409.            
  410.             switch (skillID) { // skill tabs
  411.             case 32: // valkyrie
  412.                 secSlot += items[i].GetStat(188, 1); // passive and magic skill tab
  413.                 break;
  414.             case 52: // enchant
  415.                 secSlot += items[i].GetStat(188, 8); // fire skill tab
  416.                 break;
  417.             case 57: // thunder storm
  418.             case 58: // energy shield
  419.                 secSlot += items[i].GetStat(188, 9); // lightning skill tab
  420.                 break;
  421.             case 40: // Frozen Armor
  422.             case 50: // Shiver Armor
  423.             case 60: // Chilling Armor
  424.                 secSlot += items[i].GetStat(188, 10); // cold skill tab
  425.                 break;
  426.             case 68: // Bone Armor
  427.                 secSlot += items[i].GetStat(188, 17); // poison and bone skill tab
  428.                 break;
  429.             case 75: // Clay Golem
  430.             case 85: // Blood Golem
  431.             case 94: // Fire Golem
  432.                 secSlot += items[i].GetStat(188, 18); // necro summoning skill tab
  433.                 break;
  434.             case 117: // Holy Shield
  435.                 secSlot += items[i].GetStat(188, 24); // paladin combat skill tab
  436.                 break;
  437.             case 138: // Shout
  438.             case 149: // Batttle Orders
  439.             case 155: // Battle Command
  440.                 if (items[i].itemprefix === 20519) {
  441.                     secSlot += 6; // dirty fix for cta, d2nt can't read +skills on runewords
  442.                 }
  443.                
  444.                 secSlot += items[i].GetStat(188, 34); // warcries skill tab
  445.                 break;
  446.             case 221: // Raven
  447.             case 222: // Poison Creeper
  448.             case 226: // Oak Sage
  449.             case 227: // Spirit Wolf
  450.             case 231: // Carrion Vine
  451.             case 236: // Heart of Wolverine
  452.             case 237: // Dire Wolf
  453.             case 241: // Solar Creeper
  454.             case 246: // Spirit of Barbs
  455.             case 247: // Grizzly
  456.                 secSlot += items[i].GetStat(188, 40); // druid summoning skill tab
  457.                 break;
  458.             case 235: // Cyclone Armor
  459.             case 249: // Armageddon
  460.             case 250: // Hurricane
  461.                 secSlot += items[i].GetStat(188, 42); // elemental skill tab
  462.                 break;
  463.             case 258: // Burst of Speed
  464.             case 267: // Fade
  465.             case 268: // Shadow Warrior
  466.             case 278: // Venom
  467.             case 279: // Shadow Master
  468.                 secSlot += items[i].GetStat(188, 49); // shadow disciplines skill tab
  469.                 break;
  470.             case 277: // Blade Shield
  471.                 secSlot += items[i].GetStat(188, 48); // traps skill tab
  472.                 break;
  473.             }
  474.            
  475.             break;
  476.         }
  477.     }
  478.    
  479.     //Print(skillID + " " + primSlot + " " + secSlot);
  480.    
  481.     if (primSlot >= secSlot) {
  482.         if (NTC_SwapWeapons(0)) {
  483.             return true;
  484.         } else {
  485.             return false;
  486.         }
  487.     }
  488.    
  489.     if (NTC_SwapWeapons(1)) {
  490.         return NTC_GetSkillLevel(skillID);
  491.     }
  492.    
  493.     return false;
  494. }
  495.  
  496. function NTP_GetMinion(classID) {
  497.     var minion, count, string;
  498.    
  499.     minion = NTC_FindUnit(1, classID);
  500.     count = 0;
  501.    
  502.     if (minion) {
  503.         string = minion.name;
  504.        
  505.         do {
  506.             if (NTC_CheckOwner(minion) && minion.hp > 0) {
  507.                 count += 1;
  508.             }
  509.         } while (minion.GetNext());
  510.     }
  511.    
  512.     string += ": " + count;
  513.    
  514.     //Print(string);
  515.    
  516.     return count;
  517. }
  518.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement