All pastes #2051285 Raw Edit

Stuff

public text v1 · immutable
#2051285 ·published 2011-04-27 18:08 UTC
rendered paste body
var _NTP_HaveCTA = -1;

function NTP_DoPrecastCTA(refresh, castbo)
{
	if(arguments.length < 2){
		castbo = true;
	}

	if(me.classid == NTC_CHAR_CLASS_BARBARIAN || NTC_InTown())
		return true;

	if(refresh || !me.GetState(32) || !me.GetState(51))
	{
		if(NTP_BOSwitch())
		{
			NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
			if(castbo)
			NTC_CastSkill(149, NTC_HAND_RIGHT); // Battle Orders

			NTC_SwapWeapons();

			return true;
		}
	}

	return true;
}

function NTP_CastBC(refresh)
{
	if(me.classid == NTC_CHAR_CLASS_BARBARIAN || NTC_InTown())
		return true;

	if(refresh || !me.GetState(51))
	{
		if(NTP_BOSwitch())
		{
			NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command

			NTC_SwapWeapons();

			return true;
		}
	}

	return true;
}

function NTP_DoPrecast(refresh, castbo)
{
	if(arguments.length < 2){
		castbo = true;
	}

	if(NTConfig_TreasureHunting){
		hintedString(randomline())
	}

	switch(me.classid)
	{
	case NTC_CHAR_CLASS_AMAZON:
		NTP_CastBC(refresh);
		
		if(refresh)
		{
			NTC_CastSkill(32, NTC_HAND_RIGHT); // Valkyrie
			return true;
		}
		NTP_DoPrecastCTA(refresh, castbo);
		break;

	case NTC_CHAR_CLASS_SORCERESS:
		NTP_DoPrecastCTA(refresh, castbo);

		if(refresh || !me.GetState(38))
			NTC_CastSkill(57, NTC_HAND_RIGHT); // Thunder Storm

		if(refresh || me.GetState(30) == 0)
			NTC_CastSkill(58, NTC_HAND_RIGHT); // Energy Shield

		if(refresh || (!me.GetState(10) && !me.GetState(88) && !me.GetState(20)))
		{
			if(!NTC_CastSkill(50, NTC_HAND_RIGHT)) // Shiver Armor
				if(!NTC_CastSkill(60, NTC_HAND_RIGHT)) // Chilling Armor
					NTC_CastSkill(40, NTC_HAND_RIGHT); // Frozen Armor
		}
		break;

	case NTC_CHAR_CLASS_NECROMANCER:
		NTP_CastBC(refresh);
	
		var _minion;
		var _minionDead = true;
	
		_minion = NTC_FindUnit(NTC_UNIT_MONSTER, 289);
		if(_minion == null)
			_minion = NTC_FindUnit(NTC_UNIT_MONSTER, 290);
		if(_minion == null)
			_minion = NTC_FindUnit(NTC_UNIT_MONSTER, 292);

		if(_minion != null)
			if(_minion.mode != 12 && _minion.GetParent().name == me.name)
				_minionDead = false;

		if(_minionDead){
			if(NTConfig_Golem == 1)
				NTC_CastSkill(75, NTC_HAND_RIGHT); //Clay
			else if(NTConfig_Golem == 2)
				NTC_CastSkill(85, NTC_HAND_RIGHT); //Blood
			else if(NTConfig_Golem == 3)
				NTC_CastSkill(94, NTC_HAND_RIGHT); //Fire
		}
		
		NTP_DoPrecastCTA(refresh, castbo);

		if(refresh || !me.GetState(14))
			NTC_CastSkill(68, NTC_HAND_RIGHT); // Bone Armor
		break;

	case NTC_CHAR_CLASS_PALADIN:
		NTP_DoPrecastCTA(refresh, castbo);
		if(refresh || !me.GetState(101))
			NTC_CastSkill(117, NTC_HAND_RIGHT); // Holy Shield
		break;

	case NTC_CHAR_CLASS_BARBARIAN:
		if(refresh || !me.GetState(51) || !me.GetState(32) || !me.GetState(26)){
		if(BarbSwitch)
			NTC_SwapWeapons();
		
		NTC_CastSkill(155, NTC_HAND_RIGHT); // Battle Command
		if(castbo)
			NTC_CastSkill(149, NTC_HAND_RIGHT); // Battle Orders
		NTC_CastSkill(138, NTC_HAND_RIGHT); // Shout
			
		if(BarbSwitch)
			NTC_SwapWeapons();
		}
		break;

	case NTC_CHAR_CLASS_DRUID:
		NTP_CastBC(refresh);
		
		if(refresh)
			NTC_CastSkill(247, NTC_HAND_RIGHT); // Summon Grizzly
		if(refresh || !me.GetState(149))
			NTC_CastSkill(226, NTC_HAND_RIGHT); // Oak Sage

		NTP_DoPrecastCTA(refresh, castbo);

		if(refresh || !me.GetState(151))
			NTC_CastSkill(235, NTC_HAND_RIGHT); // Cyclone Armor

		if(refresh || !me.GetState(144))
			NTC_CastSkill(250, NTC_HAND_RIGHT); // Hurricane
		break;

	case NTC_CHAR_CLASS_ASSASSIN:
		NTP_CastBC(refresh);
	
		var _minion;
		var _minionDead = true;
		
		_minion = NTC_FindUnit(NTC_UNIT_MONSTER, 418);
		if(_minion == null)
			_minion = NTC_FindUnit(NTC_UNIT_MONSTER, 419);

		if(_minion != null)
			if(_minion.mode != 12 && _minion.GetParent().name == me.name)
				_minionDead = false;

		if(_minionDead)
			if(!NTC_CastSkill(279, NTC_HAND_RIGHT)) // Shadow Master
				NTC_CastSkill(268, NTC_HAND_RIGHT); // Shadow Warrior

		NTP_DoPrecastCTA(refresh, castbo);

		if((refresh || !me.GetState(157)) && NTConfig_UseBOS)
			NTC_CastSkill(258, NTC_HAND_RIGHT); // Burst of Speed
		if(refresh && NTConfig_UseFade)
			NTC_CastSkill(267, NTC_HAND_RIGHT); // Fade

		if(refresh || me.GetState(158) == 0)
			NTC_CastSkill(277, NTC_HAND_RIGHT); // Blade Shield

		if(refresh || !me.GetState(153))
			NTC_CastSkill(264, NTC_HAND_RIGHT); // Cloak of Shadows

		break;
	}
}

function NTP_BOSwitch()
{
	if(_NTP_HaveCTA < 0)
	{
		var _weapon;

		_NTP_HaveCTA = 0;

		_weapon = me.GetItems();

		if(_weapon)
		{
			for(var i = 0 ; i < _weapon.length ; i++)
			{
				if(_weapon[i].mode == 1 && (_weapon[i].itemflag&0x4000000) && _weapon[i].itemprefix == 0x5027)
				{
					if(_weapon[i].itemloc == 4 || _weapon[i].itemloc == 5)
						_NTP_HaveCTA = 1;
					else
						_NTP_HaveCTA = 2;

					break;
				}
			}
		}
	}

	if(_NTP_HaveCTA > 0)
		return NTC_SwapWeapons(_NTP_HaveCTA-1);

	return false;
}

//Random chars from lines by Ethic
function randomline() 
{
	eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('f e=["I 0 H 2 J, 2 K G F B C D\'s E.","I 0 L 2 M b S\'s T 3 U R\'s Q.","g 5 A O P, c 5 4 V,","I\'d u 2 o b 7 9, l m 6 z.","p w I x a y v r t 0 q.","\'j I n 6, 6 k N 12 1l, 1m 3 1n.","g 1k I W 8 4 1g 1h 1i 1o a 1p.","1v 1w 1u 1t 5 1q 3 1r 1s 1f.","1e 8 13 3 14 11, I 0 X a 15 16,","1c 1d\'1b 1a 4 c 7 17 18 9."];f i=h.19(h.1x()*e.Z);Y("10 #"+1j(i+1)+".");',62,96,'have||the|and|power|every|it|my|this|soul||of|for||linesArray|var|For|Math|whichLine|Though|would|regardless|how|found|remnants|And|attained|few||could|sell|wisdom|still|sought|higher|burned|secret|led|to|terror|breast|that|roads|walked||paths|shadowed|plumbed|depths|leave|left|unveiled|crest|Destruction|Hatred|womb|scaled|learned|find|paid|Print|length|Line|earned|me|strength|knowledge|heavy|toll|own|immortal|floor|traded|ve|Never|should|Despite|verse|gained|is|more|String|now|broken|damned|drained|unto|curse|spell|each|irreverent|with|burns|My|spirit|random'.split('|'),0,{}))

	return linesArray[whichLine];
}

function hintedString(string)
{
	var uncutString = string;
	var cutString = "";
	var fillerchar = "*";
	
	var trueHintA;
	var trueHintB;
	var falseHint;
	
	trueHintA = nonSpaceRandom(uncutString);
	trueHintB = nonSpaceRandom(uncutString, trueHintA);
	falseHint = nonSpaceRandom(uncutString, trueHintA, trueHintB);
	
	for(var i = 0; i < uncutString.length; i++)
	{
		if(uncutString[i] == " " || i == trueHintA || i == trueHintB) {
			cutString = cutString.concat(uncutString.charAt(i));
		}
		else if(i == falseHint){
			cutString = cutString.concat(falseChar());
		}
		else {
			cutString = cutString.concat(fillerchar);
		}
	}
	Print(cutString);
}

function nonSpaceRandom(uncut, trueHintA, trueHintB)
{
	var randomTemp;

	do
	{
		randomTemp = Math.floor(Math.random()*uncut.length)
	} while(!(randomTemp != trueHintA && randomTemp != trueHintB && uncut.charAt(randomTemp) != " "))
	
	return randomTemp;
}

function falseChar()
{
	randomChar = "";
	alphseries = "abcdefghijklmnopqrstuvwxyz";
	
	randomChar = alphseries.charAt(Math.floor(Math.random()*alphseries.length - 1));
	Delay(1);

	return randomChar;
}