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/handlers/skillhandlers/Extractable.java

    r7821 r8630  
    2525import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; 
    2626import com.l2jserver.gameserver.network.SystemMessageId; 
    27 import com.l2jserver.gameserver.network.serverpackets.SystemMessage; 
    2827import com.l2jserver.gameserver.templates.skills.L2SkillType; 
    29 import com.l2jserver.gameserver.util.Util; 
    3028import com.l2jserver.util.Rnd; 
    3129 
    3230/** 
    33  * @author Zoey76, based on previous version. 
     31 * @author Zoey76 
    3432 */ 
    3533public class Extractable implements ISkillHandler 
    3634{ 
    37         //FIXME: Remove this once skill reuse will be global for main/subclass. 
    38         private static final int[] protectedSkillIds = { 323, 324, 419, 519, 520, 620, 1324, 1387 }; 
    39          
    4035        private static final L2SkillType[] SKILL_TYPES = 
    4136        { 
     
    4439        }; 
    4540         
     41        @Override 
    4642        public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets) 
    4743        { 
     
    5147                } 
    5248                 
    53                 L2ExtractableSkill exItem = skill.getExtractableSkill(); 
    54                  
     49                final L2ExtractableSkill exItem = skill.getExtractableSkill(); 
    5550                if (exItem == null) 
    5651                { 
     
    10297                } 
    10398                 
    104                 L2PcInstance player = (L2PcInstance) activeChar; 
    105                  
    106                 //FIXME: Remove this once skill reuse will be global for main/subclass. 
    107                 if (player.isSubClassActive() && (skill.getReuseDelay() > 0) && !Util.contains(protectedSkillIds, skill.getId())) 
     99                final L2PcInstance player = activeChar.getActingPlayer(); 
     100                if (createItemID[0] <= 0) 
    108101                { 
    109                         player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.MAIN_CLASS_SKILL_ONLY)); 
    110                         player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED).addSkillName(skill)); 
     102                        player.sendPacket(SystemMessageId.NOTHING_INSIDE_THAT); 
    111103                        return; 
    112104                } 
    113105                 
    114                 if (createItemID[0] <= 0) 
     106                for (int i = 0; i < createItemID.length; i++) 
    115107                { 
    116                         player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOTHING_INSIDE_THAT)); 
    117                         return; 
    118                 } 
    119                 else 
    120                 { 
    121                         for (int i = 0; i < createItemID.length; i++) 
     108                        if (createItemID[i] <= 0) 
    122109                        { 
    123                                 if (createItemID[i] <= 0) 
     110                                continue; 
     111                        } 
     112                         
     113                        if (ItemTable.getInstance().createDummyItem(createItemID[i]) == null) 
     114                        { 
     115                                _log.warning("Extractable Item Skill Id:" + skill.getId() + " createItemID " + createItemID[i] + " doesn't have a template!"); 
     116                                player.sendPacket(SystemMessageId.NOTHING_INSIDE_THAT); 
     117                                return; 
     118                        } 
     119                         
     120                        if (ItemTable.getInstance().createDummyItem(createItemID[i]).isStackable()) 
     121                        { 
     122                                player.addItem("Extract", createItemID[i], createAmount[i], targets[0], true); 
     123                        } 
     124                        else 
     125                        { 
     126                                for (int j = 0; j < createAmount[i]; j++) 
    124127                                { 
    125                                         continue; 
    126                                 } 
    127                                  
    128                                 if (ItemTable.getInstance().createDummyItem(createItemID[i]) == null) 
    129                                 { 
    130                                         _log.warning("Extractable Item Skill Id:" + skill.getId() + " createItemID " + createItemID[i] + " doesn't have a template!"); 
    131                                         player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOTHING_INSIDE_THAT)); 
    132                                         return; 
    133                                 } 
    134                                  
    135                                 if (ItemTable.getInstance().createDummyItem(createItemID[i]).isStackable()) 
    136                                 { 
    137                                         player.addItem("Extract", createItemID[i], createAmount[i], targets[0], false); 
    138                                 } 
    139                                 else 
    140                                 { 
    141                                         for (int j = 0; j < createAmount[i]; j++) 
    142                                         { 
    143                                                 player.addItem("Extract", createItemID[i], 1, targets[0], false); 
    144                                         } 
    145                                 } 
    146                                  
    147                                 if (createItemID[i] == 57) 
    148                                 { 
    149                                         SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.EARNED_S1_ADENA);; 
    150                                         sm.addNumber(createAmount[i]); 
    151                                         player.sendPacket(sm); 
    152                                 } 
    153                                 else 
    154                                 { 
    155                                         SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.EARNED_S2_S1_S);; 
    156                                         sm.addItemName(createItemID[i]); 
    157                                         if (createAmount[i] > 1) 
    158                                         { 
    159                                                 sm.addNumber(createAmount[i]); 
    160                                         } 
    161                                         player.sendPacket(sm); 
     128                                        player.addItem("Extract", createItemID[i], 1, targets[0], true); 
    162129                                } 
    163130                        } 
     
    165132        } 
    166133         
     134        @Override 
    167135        public L2SkillType[] getSkillIds() 
    168136        { 
Note: See TracChangeset for help on using the changeset viewer.