Changeset 8630 for trunk/L2J_DataPack/dist/game/data/scripts/ai/group_template/PolymorphingOnAttack.java
- Timestamp:
- Jan 16, 2012 7:56:19 AM (4 months ago)
- Location:
- trunk/L2J_DataPack
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
dist/game/data/scripts/ai/group_template/PolymorphingOnAttack.java (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/L2J_DataPack
- Property svn:mergeinfo changed
/branches/unstable/L2J_DataPack_BETA merged: 8407-8426,8428-8480,8482-8491,8493-8588,8590-8629
- Property svn:mergeinfo changed
-
trunk/L2J_DataPack/dist/game/data/scripts/ai/group_template/PolymorphingOnAttack.java
r8406 r8630 15 15 package ai.group_template; 16 16 17 import gnu.trove. TIntObjectHashMap;17 import gnu.trove.map.hash.TIntObjectHashMap; 18 18 19 19 import com.l2jserver.gameserver.ai.CtrlIntention; … … 33 33 { 34 34 private static final TIntObjectHashMap<Integer[]> MOBSPAWNS = new TIntObjectHashMap<Integer[]>(); 35 35 36 static 36 37 { 37 MOBSPAWNS.put(21258,new Integer[]{21259,100,100,-1}); //Fallen Orc Shaman -> Sharp Talon Tiger (always polymorphs) 38 MOBSPAWNS.put(21261,new Integer[]{21262,100,20,0}); //Ol Mahum Transcender 1st stage 39 MOBSPAWNS.put(21262,new Integer[]{21263,100,10,1}); //Ol Mahum Transcender 2nd stage 40 MOBSPAWNS.put(21263,new Integer[]{21264,100,5,2}); //Ol Mahum Transcender 3rd stage 41 MOBSPAWNS.put(21265,new Integer[]{21271,100,33,0}); //Cave Ant Larva -> Cave Ant 42 MOBSPAWNS.put(21266,new Integer[]{21269,100,100,-1}); //Cave Ant Larva -> Cave Ant (always polymorphs) 43 MOBSPAWNS.put(21267,new Integer[]{21270,100,100,-1}); //Cave Ant Larva -> Cave Ant Soldier (always polymorphs) 44 MOBSPAWNS.put(21271,new Integer[]{21272,66,10,1}); //Cave Ant -> Cave Ant Soldier 45 MOBSPAWNS.put(21272,new Integer[]{21273,33,5,2}); //Cave Ant Soldier -> Cave Noble Ant 46 MOBSPAWNS.put(21521,new Integer[]{21522,100,30,-1}); //Claws of Splendor 47 MOBSPAWNS.put(21527,new Integer[]{21528,100,30,-1}); //Anger of Splendor 48 MOBSPAWNS.put(21533,new Integer[]{21534,100,30,-1}); //Alliance of Splendor 49 MOBSPAWNS.put(21537,new Integer[]{21538,100,30,-1}); //Fang of Splendor 38 MOBSPAWNS.put(21258, new Integer[] 39 { 40 21259, 100, 100, -1 41 }); // Fallen Orc Shaman -> Sharp Talon Tiger (always polymorphs) 42 MOBSPAWNS.put(21261, new Integer[] 43 { 44 21262, 100, 20, 0 45 }); // Ol Mahum Transcender 1st stage 46 MOBSPAWNS.put(21262, new Integer[] 47 { 48 21263, 100, 10, 1 49 }); // Ol Mahum Transcender 2nd stage 50 MOBSPAWNS.put(21263, new Integer[] 51 { 52 21264, 100, 5, 2 53 }); // Ol Mahum Transcender 3rd stage 54 MOBSPAWNS.put(21265, new Integer[] 55 { 56 21271, 100, 33, 0 57 }); // Cave Ant Larva -> Cave Ant 58 MOBSPAWNS.put(21266, new Integer[] 59 { 60 21269, 100, 100, -1 61 }); // Cave Ant Larva -> Cave Ant (always polymorphs) 62 MOBSPAWNS.put(21267, new Integer[] 63 { 64 21270, 100, 100, -1 65 }); // Cave Ant Larva -> Cave Ant Soldier (always polymorphs) 66 MOBSPAWNS.put(21271, new Integer[] 67 { 68 21272, 66, 10, 1 69 }); // Cave Ant -> Cave Ant Soldier 70 MOBSPAWNS.put(21272, new Integer[] 71 { 72 21273, 33, 5, 2 73 }); // Cave Ant Soldier -> Cave Noble Ant 74 MOBSPAWNS.put(21521, new Integer[] 75 { 76 21522, 100, 30, -1 77 }); // Claws of Splendor 78 MOBSPAWNS.put(21527, new Integer[] 79 { 80 21528, 100, 30, -1 81 }); // Anger of Splendor 82 MOBSPAWNS.put(21533, new Integer[] 83 { 84 21534, 100, 30, -1 85 }); // Alliance of Splendor 86 MOBSPAWNS.put(21537, new Integer[] 87 { 88 21538, 100, 30, -1 89 }); // Fang of Splendor 50 90 } 51 91 protected static final NpcStringId[][] MOBTEXTS = 52 92 { 53 new NpcStringId[]{NpcStringId.ENOUGH_FOOLING_AROUND_GET_READY_TO_DIE, NpcStringId.YOU_IDIOT_IVE_JUST_BEEN_TOYING_WITH_YOU, NpcStringId.NOW_THE_FUN_STARTS}, 54 new NpcStringId[]{NpcStringId.I_MUST_ADMIT_NO_ONE_MAKES_MY_BLOOD_BOIL_QUITE_LIKE_YOU_DO, NpcStringId.NOW_THE_BATTLE_BEGINS, NpcStringId.WITNESS_MY_TRUE_POWER}, 55 new NpcStringId[]{NpcStringId.PREPARE_TO_DIE, NpcStringId.ILL_DOUBLE_MY_STRENGTH, NpcStringId.YOU_HAVE_MORE_SKILL_THAN_I_THOUGHT} 56 93 new NpcStringId[] 94 { 95 NpcStringId.ENOUGH_FOOLING_AROUND_GET_READY_TO_DIE, 96 NpcStringId.YOU_IDIOT_IVE_JUST_BEEN_TOYING_WITH_YOU, 97 NpcStringId.NOW_THE_FUN_STARTS 98 }, 99 new NpcStringId[] 100 { 101 NpcStringId.I_MUST_ADMIT_NO_ONE_MAKES_MY_BLOOD_BOIL_QUITE_LIKE_YOU_DO, 102 NpcStringId.NOW_THE_BATTLE_BEGINS, 103 NpcStringId.WITNESS_MY_TRUE_POWER 104 }, 105 new NpcStringId[] 106 { 107 NpcStringId.PREPARE_TO_DIE, 108 NpcStringId.ILL_DOUBLE_MY_STRENGTH, 109 NpcStringId.YOU_HAVE_MORE_SKILL_THAN_I_THOUGHT 110 } 57 111 }; 58 112 … … 64 118 65 119 @Override 66 public String onAttack (L2Npc npc, L2PcInstance attacker, int damage, boolean isPet)120 public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isPet) 67 121 { 68 122 if (npc.isVisible() && !npc.isDead()) … … 71 125 if (tmp != null) 72 126 { 73 if (npc.getCurrentHp() <= (npc.getMaxHp() * tmp[1] /100.0)&& Rnd.get(100) < tmp[2])127 if (npc.getCurrentHp() <= (npc.getMaxHp() * tmp[1] / 100.0) && Rnd.get(100) < tmp[2]) 74 128 { 75 129 if (tmp[3] >= 0) 76 130 { 77 131 NpcStringId npcString = MOBTEXTS[tmp[3]][Rnd.get(MOBTEXTS[tmp[3]].length)]; 78 npc.broadcastPacket(new CreatureSay(npc.getObjectId(), Say2.ALL,npc.getName(),npcString));79 132 npc.broadcastPacket(new CreatureSay(npc.getObjectId(), Say2.ALL, npc.getName(), npcString)); 133 80 134 } 81 135 npc.deleteMe(); 82 L2Attackable newNpc = (L2Attackable) addSpawn(tmp[0], npc.getX(), npc.getY(), npc.getZ() +10, npc.getHeading(), false, 0, true);83 L2Character originalAttacker = isPet ? attacker.getPet(): attacker;136 L2Attackable newNpc = (L2Attackable) addSpawn(tmp[0], npc.getX(), npc.getY(), npc.getZ() + 10, npc.getHeading(), false, 0, true); 137 L2Character originalAttacker = isPet ? attacker.getPet() : attacker; 84 138 newNpc.setRunning(); 85 newNpc.addDamageHate(originalAttacker, 0,500);139 newNpc.addDamageHate(originalAttacker, 0, 500); 86 140 newNpc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, originalAttacker); 87 141 } 88 142 } 89 143 } 90 return super.onAttack (npc, attacker, damage, isPet);144 return super.onAttack(npc, attacker, damage, isPet); 91 145 } 92 146 93 147 public static void main(String[] args) 94 148 { 95 new PolymorphingOnAttack(-1, "polymorphing_on_attack","ai");149 new PolymorphingOnAttack(-1, "polymorphing_on_attack", "ai"); 96 150 } 97 151 }
Note: See TracChangeset
for help on using the changeset viewer.
