Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ------------------------
- START #ASSASSIN SCRIPT
- Modified by MachineX
- Automatic Traps
- Whirlwind Compatible
- ------------------------
- */
- function NTA_AssassinAttackPatternInt()
- {
- var _maxindex, _maxskill;
- var _avgskilllevel = new Array();
- _avgskilllevel[0] = me.GetSkill(271, false);
- _maxindex = -1;
- _maxskill = 0;
- for(var i = 0 ; i < _avgskilllevel.length ; i++)
- {
- if(_avgskilllevel[i] > _maxskill)
- {
- _maxindex = i;
- _maxskill = _avgskilllevel[i];
- }
- }
- switch(_maxindex)
- {
- case 0: // Whirlwind + Fire Blast + Physical Hammer
- NTConfig_AttackSkill[1] = 271;
- NTConfig_AttackSkill[3] = 251;
- NTConfig_AttackSkill[5] = 253;
- break;
- }
- return (NTConfig_AttackSkill[1] && NTConfig_AttackSkill[3]);
- }
- /*
- --------------
- FUNCTION SPLIT
- --------------
- */
- function NTA_AssassinAttackInt(target, firstorder)
- {
- var _primaryindex;
- if(NTTMGR_CheckCurse(NTConfig_CheckSelfSafe&0x04, NTConfig_CheckMercSafe&0x04))
- {
- if(!NTTMGR_VisitTown())
- return 0;
- }
- if(firstorder && NTConfig_AttackSkill[0] > 0 && NTA_GetResistance(target, _NTA_SkillDamage[0]) < 100)
- {
- if(GetDistance(me, target) > _NTA_SkillRange[0] || !CheckCollision(me, target, 4))
- {
- var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[0], 4);
- if(_pos)
- NTM_MoveTo(target.areaid, target.x, target.y, 0);
- }
- if(NTConfig_UseTraps == true) // Automatically set traps if config is set to true.
- {
- if(NTConfig_NumberTraps == 2)
- {
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y+3);
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x-3, target.y-3);
- } else if(NTConfig_NumberTraps == 3)
- {
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y+3);
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x-3, target.y-3);
- NTSI_PickItems();
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y-3);
- } else if(NTConfig_NumberTraps == 4)
- {
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y+3);
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x-3, target.y-3);
- NTSI_PickItems();
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y-3);
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x-3, target.y+3);
- } else if(NTConfig_NumberTraps == 5)
- {
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y+3);
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x-3, target.y-3);
- NTSI_PickItems();
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x+3, target.y-3);
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x-3, target.y+3);
- NTSI_PickItems();
- NTC_CastSkill(NTConfig_TrapType, NTC_HAND_RIGHT, target.x, target.y+3);
- } else
- {
- NTC_CastSkill(271, NTC_HAND_RIGHT, target.x+3, target.y+3)
- return 2;
- }
- }
- if(!NTC_CastSkill(NTConfig_AttackSkill[0], _NTA_SkillHand[0], target))
- return 2;
- return 3;
- }
- _primaryindex = (target.spectype&0x0A) ? 1 : 3;
- if(NTA_GetResistance(target, _NTA_SkillDamage[_primaryindex]) < 100)
- {
- if((_NTA_SkillRange[_primaryindex] < 4 || NTConfig_AttackSkill[_primaryindex] == (271 || 151)) && !CheckCollision(target.areaid, target.x, target.y, 1))
- return 1;
- if(!NTA_AssassinCastSkillInt(_primaryindex, target))
- return 2;
- return 3;
- }
- if(NTConfig_AttackSkill[5] > 0 && NTA_GetResistance(target, _NTA_SkillDamage[5]) < 100)
- {
- if((_NTA_SkillRange[5] < 4 || NTConfig_AttackSkill[5] == (271 || 151)) && !CheckCollision(target.areaid, target.x, target.y, 1))
- return 1;
- if(!NTA_AssassinCastSkillInt(5, target))
- return 2;
- return 3;
- }
- return 1;
- }
- /*
- --------------
- FUNCTION SPLIT
- --------------
- */
- function NTA_AssassinCastSkillInt(index, target)
- {
- if(NTConfig_AttackSkill[index] == 271) // Positioning/targeting for when laying traps.
- {
- var _castx, _casty;
- if(GetDistance(me, target) > _NTA_SkillRange[index] || !CheckCollision(me, target, 4))
- {
- var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[index], 4);
- if(_pos)
- NTM_MoveTo(target.areaid, target.x, target.y, 0);
- }
- _castx = target.x > me.x ? target.x+3 : target.x-3;
- _casty = target.y > me.y ? target.y+3 : target.y-3;
- return NTC_CastSkill(NTConfig_AttackSkill[index], _NTA_SkillHand[index], _castx, _casty);
- } else if(NTConfig_AttackSkill[index] == 151) // Positioning/targeting for when using whirlwind.
- {
- var _castx, _casty;
- if(GetDistance(me, target) > _NTA_SkillRange[index] || !CheckCollision(me, target, 5))
- {
- var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[index], 5);
- if(_pos)
- NTM_MoveTo(target.areaid, _pos[0], _pos[1], 0);
- }
- _castx = target.x > me.x ? target.x+3 : target.x-3;
- _casty = target.y > me.y ? target.y+3 : target.y-3;
- return NTC_CastSkill(NTConfig_AttackSkill[index], _NTA_SkillHand[index], _castx, _casty);
- }
- if(GetDistance(me, target) > _NTA_SkillRange[index] || !CheckCollision(me, target, 4))
- {
- var _pos = me.GetOptimalAttackPos(target.areaid, target.x, target.y, _NTA_SkillRange[index], 4);
- if(_pos)
- NTM_MoveTo(target.areaid, target.x, target.y, 0);
- }
- return NTC_CastSkill(NTConfig_AttackSkill[index], _NTA_SkillHand[index], target);
- }
- /*
- ------------------------
- END ASSASSIN SCRIPT
- ------------------------
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement