Ignore:
Timestamp:
Jan 16, 2012 7:56:19 AM (4 months ago)
Author:
MELERIX
Message:

STABLE: Sync with BETA [8629]

Location:
trunk/L2J_DataPack
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/L2J_DataPack

  • trunk/L2J_DataPack/dist/game/data/scripts/ai/group_template/PolymorphingOnAttack.java

    r8406 r8630  
    1515package ai.group_template; 
    1616 
    17 import gnu.trove.TIntObjectHashMap; 
     17import gnu.trove.map.hash.TIntObjectHashMap; 
    1818 
    1919import com.l2jserver.gameserver.ai.CtrlIntention; 
     
    3333{ 
    3434        private static final TIntObjectHashMap<Integer[]> MOBSPAWNS = new TIntObjectHashMap<Integer[]>(); 
     35         
    3536        static 
    3637        { 
    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 
    5090        } 
    5191        protected static final NpcStringId[][] MOBTEXTS = 
    5292        { 
    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                } 
    57111        }; 
    58112         
     
    64118         
    65119        @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) 
    67121        { 
    68122                if (npc.isVisible() && !npc.isDead()) 
     
    71125                        if (tmp != null) 
    72126                        { 
    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]) 
    74128                                { 
    75129                                        if (tmp[3] >= 0) 
    76130                                        { 
    77131                                                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                                                 
    80134                                        } 
    81135                                        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; 
    84138                                        newNpc.setRunning(); 
    85                                         newNpc.addDamageHate(originalAttacker,0,500); 
     139                                        newNpc.addDamageHate(originalAttacker, 0, 500); 
    86140                                        newNpc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, originalAttacker); 
    87141                                } 
    88142                        } 
    89143                } 
    90                 return super.onAttack (npc, attacker, damage, isPet); 
     144                return super.onAttack(npc, attacker, damage, isPet); 
    91145        } 
    92146         
    93147        public static void main(String[] args) 
    94148        { 
    95                 new PolymorphingOnAttack(-1,"polymorphing_on_attack","ai"); 
     149                new PolymorphingOnAttack(-1, "polymorphing_on_attack", "ai"); 
    96150        } 
    97151} 
Note: See TracChangeset for help on using the changeset viewer.