Advertisement
kolton

Untitled

Oct 21st, 2011
99
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.             break;
  17.            
  18.         // sorceress
  19.        
  20.         case 40:
  21.         case "frozenarmor":
  22.             if ((refresh || !me.GetState(10)) && NTP_SkillSwitch(40)) {
  23.                 NTC_CastSkill(40, 0);
  24.             }
  25.            
  26.             break;
  27.         case 50:
  28.         case "shiverarmor":
  29.             if ((refresh || !me.GetState(88)) && NTP_SkillSwitch(50)) {
  30.                 NTC_CastSkill(50, 0);
  31.             }
  32.            
  33.             break;
  34.         case 60:
  35.         case "chillingarmor":
  36.             if ((refresh || !me.GetState(20)) && NTP_SkillSwitch(60)) {
  37.                 NTC_CastSkill(60, 0);
  38.             }
  39.            
  40.             break;
  41.         case 57:
  42.         case "thunderstorm":
  43.             if ((refresh || !me.GetState(38)) && NTP_SkillSwitch(57)) {
  44.                 NTC_CastSkill(57, 0);
  45.             }
  46.            
  47.             break;
  48.         case 58:
  49.         case "energyshield":
  50.             if ((refresh || me.GetState(30) === 0) && NTP_SkillSwitch(58)) {
  51.                 NTC_CastSkill(58, 0);
  52.             }
  53.            
  54.             break;
  55.            
  56.         // necromancer
  57.        
  58.         case 68:
  59.         case "bonearmor":
  60.             break;
  61.         case 75:
  62.         case "claygolem":
  63.             break;
  64.         case 85:
  65.         case "bloodgolem":
  66.             break;
  67.         case 94:
  68.         case "firegolem":
  69.             break;
  70.            
  71.         // paladin
  72.        
  73.         case 117:
  74.         case "holyshield":
  75.             if ((refresh || !me.GetState(101)) && NTP_SkillSwitch(117)) {
  76.                 NTC_CastSkill(117, 0);
  77.             }
  78.            
  79.             break;
  80.            
  81.         // barbarian
  82.        
  83.         case 138:
  84.         case "shout":
  85.             if ((refresh || !me.GetState(26)) && NTP_SkillSwitch(138)) {
  86.                 NTC_CastSkill(138, 0);
  87.             }
  88.            
  89.             break;
  90.         case 149:
  91.         case "battleorders":
  92.             if ((refresh || !me.GetState(32)) && NTP_SkillSwitch(149)) {
  93.                 NTC_CastSkill(149, 0);
  94.             }
  95.            
  96.             break;
  97.         case 155:
  98.         case "battlecommand":
  99.             if ((refresh || !me.GetState(51)) && NTP_SkillSwitch(155)) {
  100.                 NTC_CastSkill(155, 0);
  101.             }
  102.            
  103.             break;
  104.            
  105.         // druid
  106.        
  107.         case 221:
  108.         case "raven":
  109.             if (GetMinion(419) < 5 && NTP_SkillSwitch(221)) {
  110.                 while (GetMinion(419) < 5) {
  111.                     NTC_CastSkill(221, 0);
  112.                     NTC_Delay(200);
  113.                 }
  114.             }
  115.            
  116.             break;
  117.         case 222:
  118.         case "poisoncreeper":
  119.             if (GetMinion(425) < 5 && NTP_SkillSwitch(222)) {
  120.                 while (GetMinion(425) < 5) {
  121.                     NTC_CastSkill(222, 0);
  122.                     NTC_Delay(200);
  123.                 }
  124.             }
  125.            
  126.             break;
  127.         case 226:
  128.         case "oaksage":
  129.             if (GetMinion(424) < 1 && NTP_SkillSwitch(226)) {
  130.                 while (GetMinion(424) < 1) {
  131.                     NTC_CastSkill(226, 0);
  132.                     NTC_Delay(200);
  133.                 }
  134.             }
  135.            
  136.             break;
  137.         case 227:
  138.         case "spiritwolf":
  139.             if (GetMinion(420) < 5 && NTP_SkillSwitch(227)) {
  140.                 while (GetMinion(420) < 5) {
  141.                     NTC_CastSkill(227, 0);
  142.                     NTC_Delay(200);
  143.                 }
  144.             }
  145.            
  146.             break;
  147.         case 231:
  148.         case "carrionvine":
  149.            
  150.             break;
  151.         case 236:
  152.         case "heartofwolverine":
  153.            
  154.             break;
  155.         case 237:
  156.         case "direwolf":
  157.             if (GetMinion(421) < 3 && NTP_SkillSwitch(237)) {
  158.                 while (GetMinion(421) < 3) {
  159.                     NTC_CastSkill(237, 0);
  160.                     NTC_Delay(200);
  161.                 }
  162.             }
  163.            
  164.             break;
  165.         case 241:
  166.         case "solarcreeper":
  167.            
  168.             break;
  169.         case 246:
  170.         case "spiritofbarbs":
  171.            
  172.             break;
  173.         case 247:
  174.         case "grizzly":
  175.             if (GetMinion(428) < 1 && NTP_SkillSwitch(247)) {
  176.                 while (GetMinion(428) < 1) {
  177.                     NTC_CastSkill(247, 0);
  178.                     NTC_Delay(200);
  179.                 }
  180.             }
  181.            
  182.             break;
  183.        
  184.         // assassin
  185.        
  186.        
  187.         }
  188.     }
  189.    
  190.     NTC_SwapWeapons(currSlot);
  191. }
  192.  
  193. function NTP_SkillSwitch(skillID) {
  194.     var i, items,
  195.         primSlot = 0,
  196.         secSlot = 0;
  197.    
  198.     items = me.GetItems();
  199.    
  200.     if (!NTC_GetSkillLevel(skillID)) { // for skills only on secondary slot
  201.         primSlot = -1;
  202.     }
  203.    
  204.     for (i = 0; i < items.length; i += 1) {
  205.         switch (items[i].itemloc) {
  206.         case 4: // I
  207.         case 5:
  208.             if (primSlot === -1) { // skip if we don't have the skill on primary slot
  209.                 break;
  210.             }
  211.            
  212.             primSlot += items[i].GetStat(107, skillID) + items[i].GetStat(127); // all skills
  213.             primSlot += items[i].GetStat(83, me.classid); // class skills
  214.            
  215.             switch (skillID) { // skill tabs
  216.             case 32: // valkyrie
  217.                 primSlot += items[i].GetStat(188, 1); // passive and magic skill tab
  218.                 break;
  219.             case 52: // enchant
  220.                 primSlot += items[i].GetStat(188, 8); // fire skill tab
  221.                 break;
  222.             case 57: // thunder storm
  223.             case 58: // energy shield
  224.                 primSlot += items[i].GetStat(188, 9); // lightning skill tab
  225.                 break;
  226.             case 40: // Frozen Armor
  227.             case 50: // Shiver Armor
  228.             case 60: // Chilling Armor
  229.                 primSlot += items[i].GetStat(188, 10); // cold skill tab
  230.                 break;
  231.             case 68: // Bone Armor
  232.                 primSlot += items[i].GetStat(188, 17); // poison and bone skill tab
  233.                 break;
  234.             case 75: // Clay Golem
  235.             case 85: // Blood Golem
  236.             case 94: // Fire Golem
  237.                 primSlot += items[i].GetStat(188, 18); // necro summoning skill tab
  238.                 break;
  239.             case 117: // Holy Shield
  240.                 primSlot += items[i].GetStat(188, 24); // paladin combat skill tab
  241.                 break;
  242.             case 138: // Shout
  243.             case 149: // Batttle Orders
  244.             case 155: // Battle Command
  245.                 if (items[i].itemprefix === 20519) {
  246.                     primSlot += 6; // dirty fix for cta, d2nt can't read +skills on runewords
  247.                 }
  248.                
  249.                 primSlot += items[i].GetStat(188, 34); // warcries skill tab
  250.                 break;
  251.             case 221: // Raven
  252.             case 222: // Poison Creeper
  253.             case 226: // Oak Sage
  254.             case 227: // Spirit Wolf
  255.             case 231: // Carrion Vine
  256.             case 236: // Heart of Wolverine
  257.             case 237: // Dire Wolf
  258.             case 241: // Solar Creeper
  259.             case 246: // Spirit of Barbs
  260.             case 247: // Grizzly
  261.                 primSlot += items[i].GetStat(188, 40); // druid summoning skill tab
  262.                 break;
  263.             case 235: // Cyclone Armor
  264.             case 249: // Armageddon
  265.             case 250: // Hurricane
  266.                 primSlot += items[i].GetStat(188, 42); // elemental skill tab
  267.                 break;
  268.             case 258: // Burst of Speed
  269.             case 267: // Fade
  270.             case 268: // Shadow Warrior
  271.             case 278: // Venom
  272.             case 279: // Shadow Master
  273.                 primSlot += items[i].GetStat(188, 49); // shadow disciplines skill tab
  274.                 break;
  275.             case 277: // Blade Shield
  276.                 primSlot += items[i].GetStat(188, 48); // traps skill tab
  277.                 break;
  278.             }
  279.            
  280.             break;
  281.         case 11: // II
  282.         case 12:
  283.             secSlot += items[i].GetStat(107, skillID) + items[i].GetStat(127); // all skills
  284.             secSlot += items[i].GetStat(83, me.classid); // class skills
  285.            
  286.             switch (skillID) { // skill tabs
  287.             case 32: // valkyrie
  288.                 secSlot += items[i].GetStat(188, 1); // passive and magic skill tab
  289.                 break;
  290.             case 52: // enchant
  291.                 secSlot += items[i].GetStat(188, 8); // fire skill tab
  292.                 break;
  293.             case 57: // thunder storm
  294.             case 58: // energy shield
  295.                 secSlot += items[i].GetStat(188, 9); // lightning skill tab
  296.                 break;
  297.             case 40: // Frozen Armor
  298.             case 50: // Shiver Armor
  299.             case 60: // Chilling Armor
  300.                 secSlot += items[i].GetStat(188, 10); // cold skill tab
  301.                 break;
  302.             case 68: // Bone Armor
  303.                 secSlot += items[i].GetStat(188, 17); // poison and bone skill tab
  304.                 break;
  305.             case 75: // Clay Golem
  306.             case 85: // Blood Golem
  307.             case 94: // Fire Golem
  308.                 secSlot += items[i].GetStat(188, 18); // necro summoning skill tab
  309.                 break;
  310.             case 117: // Holy Shield
  311.                 secSlot += items[i].GetStat(188, 24); // paladin combat skill tab
  312.                 break;
  313.             case 138: // Shout
  314.             case 149: // Batttle Orders
  315.             case 155: // Battle Command
  316.                 if (items[i].itemprefix === 20519) {
  317.                     secSlot += 6; // dirty fix for cta, d2nt can't read +skills on runewords
  318.                 }
  319.                
  320.                 secSlot += items[i].GetStat(188, 34); // warcries skill tab
  321.                 break;
  322.             case 221: // Raven
  323.             case 222: // Poison Creeper
  324.             case 226: // Oak Sage
  325.             case 227: // Spirit Wolf
  326.             case 231: // Carrion Vine
  327.             case 236: // Heart of Wolverine
  328.             case 237: // Dire Wolf
  329.             case 241: // Solar Creeper
  330.             case 246: // Spirit of Barbs
  331.             case 247: // Grizzly
  332.                 secSlot += items[i].GetStat(188, 40); // druid summoning skill tab
  333.                 break;
  334.             case 235: // Cyclone Armor
  335.             case 249: // Armageddon
  336.             case 250: // Hurricane
  337.                 secSlot += items[i].GetStat(188, 42); // elemental skill tab
  338.                 break;
  339.             case 258: // Burst of Speed
  340.             case 267: // Fade
  341.             case 268: // Shadow Warrior
  342.             case 278: // Venom
  343.             case 279: // Shadow Master
  344.                 secSlot += items[i].GetStat(188, 49); // shadow disciplines skill tab
  345.                 break;
  346.             case 277: // Blade Shield
  347.                 secSlot += items[i].GetStat(188, 48); // traps skill tab
  348.                 break;
  349.             }
  350.            
  351.             break;
  352.         }
  353.     }
  354.    
  355.     //Print(skillID + " " + primSlot + " " + secSlot);
  356.    
  357.     if (primSlot >= secSlot) {
  358.         if (NTC_SwapWeapons(0)) {
  359.             return true;
  360.         } else {
  361.             return false;
  362.         }
  363.     }
  364.    
  365.     if (NTC_SwapWeapons(1)) {
  366.         return NTC_GetSkillLevel(skillID);
  367.     }
  368.    
  369.     return false;
  370. }
  371.  
  372. function NTP_GetMinion(classID) {
  373.     var minion, count, string;
  374.    
  375.     minion = NTC_FindUnit(1, classID);
  376.     count = 0;
  377.    
  378.     if (minion) {
  379.         string = minion.name;
  380.        
  381.         do {
  382.             if (NTC_CheckOwner(minion) && minion.hp > 0) {
  383.                 count += 1;
  384.             }
  385.         } while (minion.GetNext());
  386.     }
  387.    
  388.     string += ": " + count;
  389.    
  390.     //Print(string);
  391.    
  392.     return count;
  393. }
  394.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement