Changeset 5090


Ignore:
Timestamp:
Nov 21, 2011 1:49:36 PM (6 months ago)
Author:
Zoey76
Message:

BETA: L2AttackableAI fix:

  • Fixed short/long range skills mapping.
  • Proper logger for L2AttackableAI and L2ControllableMobAI.
  • Thanks pmq, dljac, UnAfraid? for report.
  • Fox for #5781
Location:
branches/unstable/L2J_Server_BETA/java/com/l2jserver/gameserver/ai
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/unstable/L2J_Server_BETA/java/com/l2jserver/gameserver/ai/L2AttackableAI.java

    r5086 r5090  
    2222import java.util.concurrent.Future; 
    2323import java.util.logging.Level; 
     24import java.util.logging.Logger; 
    2425 
    2526import javolution.util.FastList; 
     
    6364public class L2AttackableAI extends L2CharacterAI implements Runnable 
    6465{ 
    65         //protected static final Logger _log = Logger.getLogger(L2AttackableAI.class.getName()); 
     66        private static final Logger _log = Logger.getLogger(L2AttackableAI.class.getName()); 
    6667         
    6768        private static final int RANDOM_WALK_RATE = 30; // confirmed 
     
    8485        private int chaostime = 0; 
    8586        private final L2NpcTemplate _skillrender; 
     87        private FastList<L2Skill> shortRangeSkills = new FastList<>(); 
     88        private FastList<L2Skill> longRangeSkills = new FastList<>(); 
    8689        int lastBuffTick; 
    8790         
     
    11001103                         
    11011104                        // -------------------------------------------------------------------------------- 
    1102                         // Long/Short Range skill Usage 
     1105                        // Long/Short Range skill usage. 
    11031106                        if (npc.hasLSkill() || npc.hasSSkill()) 
    11041107                        { 
     
    11061109                                if (npc.hasSSkill() && dist2 <= 150 && Rnd.get(100) <= npc.getSSkillChance()) 
    11071110                                { 
    1108                                         if (cast(shortRangeSkills.get(Rnd.nextInt(shortRangeSkills.size())))) 
     1111                                        final L2Skill shortRangeSkill = shortRangeSkills.get(Rnd.get(shortRangeSkills.size())); 
     1112                                        if ((shortRangeSkill != null) && cast(shortRangeSkill)) 
    11091113                                        { 
    11101114                                                return; 
     
    11121116                                        for (L2Skill sk : shortRangeSkills) 
    11131117                                        { 
    1114                                                 if (cast(sk)) 
     1118                                                if ((sk != null) && cast(sk)) 
    11151119                                                { 
    11161120                                                        return; 
     
    11241128                                        for (L2Skill sk : longRangeSkills) 
    11251129                                        { 
    1126                                                 if (cast(sk)) 
     1130                                                if ((sk != null) && cast(sk)) 
    11271131                                                { 
    11281132                                                        return; 
     
    23642368        private FastList<L2Skill> longRangeSkillRender() 
    23652369        { 
    2366                 if (_skillrender.getLongRangeSkills().isEmpty()) 
    2367                 { 
    2368                         return getActiveChar().getLongRangeSkill(); 
    2369                 } 
    2370                 return _skillrender.getLongRangeSkills(); 
     2370                longRangeSkills = _skillrender.getLongRangeSkills(); 
     2371                if (longRangeSkills.isEmpty()) 
     2372                { 
     2373                        longRangeSkills = getActiveChar().getLongRangeSkill(); 
     2374                } 
     2375                return longRangeSkills; 
    23712376        } 
    23722377         
    23732378        private FastList<L2Skill> shortRangeSkillRender() 
    23742379        { 
    2375                 if (_skillrender.getShortRangeSkills().isEmpty()) 
    2376                 { 
    2377                         return getActiveChar().getShortRangeSkill(); 
    2378                 } 
    2379                 return _skillrender.getShortRangeSkills(); 
     2380                shortRangeSkills = _skillrender.getLongRangeSkills(); 
     2381                if (shortRangeSkills.isEmpty()) 
     2382                { 
     2383                        shortRangeSkills = getActiveChar().getShortRangeSkill(); 
     2384                } 
     2385                return shortRangeSkills; 
    23802386        } 
    23812387         
  • branches/unstable/L2J_Server_BETA/java/com/l2jserver/gameserver/ai/L2ControllableMobAI.java

    r5010 r5090  
    2121import java.util.List; 
    2222import java.util.logging.Level; 
     23import java.util.logging.Logger; 
    2324 
    2425import javolution.util.FastList; 
     
    4142 
    4243/** 
     44 * AI for controllable mobs 
    4345 * @author littlecrow 
    44  * AI for controllable mobs 
    45  * 
    4646 */ 
    4747public class L2ControllableMobAI extends L2AttackableAI 
    4848{ 
     49        private static final Logger _log = Logger.getLogger(L2AttackableAI.class.getName()); 
     50         
    4951        public static final int AI_IDLE = 1; 
    5052        public static final int AI_NORMAL = 2; 
Note: See TracChangeset for help on using the changeset viewer.