Package com.l2jfrozen.gameserver.model

Examples of com.l2jfrozen.gameserver.model.L2Skill


    return _skills.get(SkillTable.getSkillHashCode(skillId, level));
  }

  public int getMaxLevel(int magicId, int level)
  {
    L2Skill temp;

    while(level < 100)
    {
      level++;
      temp = _skills.get(SkillTable.getSkillHashCode(magicId, level));
View Full Code Here


  public L2BabyPetInstance(int objectId, L2NpcTemplate template, L2PcInstance owner, L2ItemInstance control)
  {
    super(objectId, template, owner, control);

    // look through the skills that this template has and find the weak and strong heal.
    L2Skill skill1 = null;
    L2Skill skill2 = null;

    for(L2Skill skill : getTemplate().getSkills().values())
    {
      // just in case, also allow cp heal and mp recharges to be considered here...you never know ;)
      if(skill.isActive() && skill.getTargetType() == L2Skill.SkillTargetType.TARGET_OWNER_PET && (skill.getSkillType() == L2Skill.SkillType.HEAL || skill.getSkillType() == L2Skill.SkillType.HOT || skill.getSkillType() == L2Skill.SkillType.BALANCE_LIFE || skill.getSkillType() == L2Skill.SkillType.HEAL_PERCENT || skill.getSkillType() == L2Skill.SkillType.HEAL_STATIC || skill.getSkillType() == L2Skill.SkillType.COMBATPOINTHEAL || skill.getSkillType() == L2Skill.SkillType.COMBATPOINTPERCENTHEAL || skill.getSkillType() == L2Skill.SkillType.CPHOT || skill.getSkillType() == L2Skill.SkillType.MANAHEAL || skill.getSkillType() == L2Skill.SkillType.MANA_BY_LEVEL || skill.getSkillType() == L2Skill.SkillType.MANAHEAL_PERCENT || skill.getSkillType() == L2Skill.SkillType.MANARECHARGE || skill.getSkillType() == L2Skill.SkillType.MPHOT))
      {
        // only consider two skills.  If the pet has more, too bad...they won't be used by its AI.
        // for now assign the first two skills in the order they come.  Once we have both skills, re-arrange them
        if(skill1 == null)
        {
          skill1 = skill;
        }
        else
        {
          skill2 = skill;
          break;
        }
      }
    }
   
    // process the results.  Only store the ID of the skills.  The levels are generated on the fly, based on the pet's level!
    if(skill1 != null)
    {
      if(skill2 == null)
      {
        // duplicate so that the same skill will be used in both normal and emergency situations
        _weakHeal = skill1;
        _strongHeal = skill1;
      }
      else
      {
        // arrange the weak and strong skills appropriately
        if(skill1.getPower() > skill2.getPower())
        {
          _weakHeal = skill2;
          _strongHeal = skill1;
        }
        else
View Full Code Here

    }
   
    // Apply night/day bonus on skill Shadow Sense
    if (activeChar.getRace().ordinal() == 2)
    {
      final L2Skill skill = SkillTable.getInstance().getInfo(294, 1);
      if (skill != null && activeChar.getSkillLevel(294) == 1)
      {
        if (GameTimeController.getInstance().isNowNight())
        {
          SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.NIGHT_EFFECT_APPLIES);
View Full Code Here

        GmListTable.getInstance().addGm(activeChar, false);
      else
        GmListTable.getInstance().addGm(activeChar, true);
     
      //auto gm-speed! Im tired of typing
      L2Skill gmSpeedSkill = SkillTable.getInstance().getInfo(7029, 4);
      activeChar.doCast(gmSpeedSkill);
      activeChar.updateGmNameTitleColor();
    }
  }
View Full Code Here

    if (Config.ONLINE_PLAYERS_ON_LOGIN)
      sendPacket(new SystemMessage(SystemMessageId.S1_S2).addString("There are " + L2World.getInstance().getAllPlayers().size() + " players online."));

    if (activeChar.getFirstLog() && Config.NEW_PLAYER_EFFECT)
    {
      L2Skill skill = SkillTable.getInstance().getInfo(2025,1);
      if (skill != null)
      {
        MagicSkillUser MSU = new MagicSkillUser(activeChar, activeChar, 2025, 1, 1, 0);
        activeChar.sendPacket(MSU);
        activeChar.broadcastPacket(MSU);
View Full Code Here

      }
      stat12 = Rnd.get(offset, offset + STAT_SUBBLOCKSIZE - 1);
    }

    // generate a skill if neccessary
    L2Skill skill = null;
    if(generateSkill)
    {
      augmentationSkill temp = null;
      switch(resultColor)
      {
View Full Code Here

           
            if (Rnd.get(100) < getChance())
            {
              for (Entry<Integer, Integer> e : _skills.entrySet())
              {
                L2Skill skill = getSkill(e.getKey(), e.getValue());
               
                if(skill == null){
                  _log.warning("ATTENTION: Skill "+e.getKey()+" cannot be loaded.. Verify Skill definition into data/stats/skill folder...");
                  continue;
                }
               
                if (skill.checkCondition(temp, temp, false))
                  if (temp.getFirstEffect(e.getKey()) == null){
                   
                    skill.getEffects(temp, temp);
                   
                  }
              }
            }
          }
View Full Code Here

        return;
      }
      for(Buff buff: buffs)
      {
       
        L2Skill skill = SkillTable.getInstance().getInfo(buff._skillId, buff._skillLevel);
        if(skill!=null)
        {
          if(player.getLevel()>= buff._minLevel && player.getLevel()<=buff._maxLevel)
          {
            if(buff._price>0)
            {
              totaladena+=buff._price;
              if(player.getAdena()<totaladena)
              {
                player.sendMessage("You don't have enough adena");
                break;
              }
            }
            if(!buff._force && buffer!=null)
            {
              buffer.setBusy(true);
              buffer.setCurrentMp(buffer.getMaxMp());
              buffer.setTarget(player);
              //buffer.doCast(skill);
              skill.getEffects(buffer, player,false,false,false);
              buffer.setBusy(false);
            } else
              skill.getEffects(player, player,false,false,false);
          }
          try
          {
            Thread.sleep(100); // Delay for the packet...
          }
          catch(InterruptedException e)
          {
            if(Config.ENABLE_ALL_EXCEPTIONS)
              e.printStackTrace();
          }
        }
      }
      if(totaladena>0)
        player.reduceAdena("Buff", totaladena, null, true);
      if(_visitedPages.get(player.getObjectId())!=null)
        handleCommand(command,player,"Chat "+_visitedPages.get(player.getObjectId()));
      else
        useVoicedCommand(PowerPakConfig.BUFFER_COMMAND, player, "");
    }else if(parameters.startsWith("MakePetBuffs") || parameters.startsWith("RestorePetBuffs"))
    {
      if(player.getPet()==null){
        player.sendMessage("You have not a summoned pet");
        return;
      }
     
      String buffName = parameters.substring(12).trim();
     
      int totaladena = 0;
      ArrayList<Buff> buffs = null;
      if(parameters.startsWith("RestorePetBuffs"))
        buffs = getOwnBuffs(player.getPet().getObjectId());
      else 
        buffs = BuffTable.getInstance().getBuffsForName(buffName);
     
      if(buffs!=null && buffs.size()==1)
      {
       
        if(!getOwnBuffs(player.getPet().getObjectId()).contains(buffs.get(0))){
          getOwnBuffs(player.getPet().getObjectId()).add(buffs.get(0));
        }
      }
      if(buffs==null || buffs.size()==0){
        player.sendMessage("Your pet buff set is missing");
        return;
      }
      for(Buff buff: buffs)
      {
       
        L2Skill skill = SkillTable.getInstance().getInfo(buff._skillId, buff._skillLevel);
        if(skill!=null)
        {
          if(player.getLevel()>= buff._minLevel && player.getLevel()<=buff._maxLevel)
          {
            if(buff._price>0)
            {
              totaladena+=buff._price;
              if(player.getAdena()<totaladena)
              {
                player.sendMessage("You don't have enough adena");
                break;
              }
            }
            if(!buff._force && buffer!=null)
            {
              buffer.setBusy(true);
              buffer.setCurrentMp(buffer.getMaxMp());
              buffer.setTarget(player.getPet());
              skill.getEffects(buffer, player.getPet(),false,false,false);
              //buffer.doCast(skill);
              buffer.setBusy(false);
            } else
              skill.getEffects(player, player.getPet(),false,false,false);
          }
          try
          {
            Thread.sleep(100); // Delay for the packet...
          }
          catch(InterruptedException e)
          {
            if(Config.ENABLE_ALL_EXCEPTIONS)
              e.printStackTrace();
          }
        }
      }
      if(totaladena>0)
        player.reduceAdena("Buff", totaladena, null, true);
      if(_visitedPages.get(player.getObjectId())!=null)
        handleCommand(command,player,"Chat "+_visitedPages.get(player.getObjectId()));
      else
        useVoicedCommand(PowerPakConfig.BUFFER_COMMAND, player, "");
     
     
    //SCHEMAS
    }else if (currentCommand.startsWith("menu"))
    {
      NpcHtmlMessage html = new NpcHtmlMessage(1);
      html.setFile(PARENT_DIR + "menu.htm");
      sendHtmlMessage(player, html);
    }
    // handles giving effects {support player, support pet, givebuffs}
    else if (currentCommand.startsWith("support"))
    {
      String targettype = st.nextToken();
      showGiveBuffsWindow(player, targettype);
    }
    else if (currentCommand.startsWith("givebuffs"))
    {
      String targettype = st.nextToken();
      String scheme_key = st.nextToken();
      int cost = Integer.parseInt(st.nextToken());
      if (cost == 0 || cost <= player.getInventory().getAdena())
      {
        L2Character target = player;
        if (targettype.equalsIgnoreCase("pet"))
          target = player.getPet();
       
        if (target != null)
        {
          for (L2Skill sk : CharSchemesTable.getInstance().getScheme(player.getObjectId(), scheme_key))
            if(buffer!=null)
            {
              buffer.setBusy(true);
              buffer.setCurrentMp(buffer.getMaxMp());
              buffer.setTarget(target);
              //buffer.doCast(skill);
              sk.getEffects(buffer, target,false,false,false);
              buffer.setBusy(false);
            } else
              sk.getEffects(target, target,false,false,false);
         
            //sk.getEffects(buffer, target);
         
          player.reduceAdena("NPC Buffer", cost, null, true);
       
        }else
        {
          player.sendMessage("Incorrect Target");
          // go to main menu
          NpcHtmlMessage html = new NpcHtmlMessage(1);
          html.setFile(PARENT_DIR + "menu.htm");
          sendHtmlMessage(player, html);
        }
      }
      else
      {
        player.sendMessage("Not enough adena");
        showGiveBuffsWindow(player, targettype);
      }
    }
    // handles edit schemes {skillselect, skillunselect}
    else if (currentCommand.startsWith("editscheme"))
    {
      String skill_group = st.nextToken();
      String scheme_key = null;
      try
      {
        scheme_key = st.nextToken();
      }
      catch (Exception e)
      {
        if(Config.ENABLE_ALL_EXCEPTIONS)
          e.printStackTrace();
      }
      showEditSchemeWindow(player, skill_group, scheme_key);
    }
    else if (currentCommand.startsWith("skill"))
    {
      String skill_group = st.nextToken();
      String scheme_key = st.nextToken();
      int skill_id = Integer.parseInt(st.nextToken());
      int level = BufferSkillsTable.getInstance().getSkillLevelById(skill_id);
      if (currentCommand.startsWith("skillselect") && !scheme_key.equalsIgnoreCase("unselected"))
      {
        if(CharSchemesTable.getInstance() != null
            && CharSchemesTable.getInstance().getScheme(player.getObjectId(), scheme_key)!=null
            && CharSchemesTable.getInstance().getScheme(player.getObjectId(), scheme_key).size() < 24)
          CharSchemesTable.getInstance().getScheme(player.getObjectId(), scheme_key).add(SkillTable.getInstance().getInfo(skill_id, level));
        else
          player.sendMessage("This scheme has reached maximun amount of buffs");
      }
      else if (currentCommand.startsWith("skillunselect") && CharSchemesTable.getInstance() != null
          && CharSchemesTable.getInstance().getScheme(player.getObjectId(), scheme_key)!=null)
        CharSchemesTable.getInstance().getScheme(player.getObjectId(), scheme_key).remove(SkillTable.getInstance().getInfo(skill_id, level));
      showEditSchemeWindow(player, skill_group, scheme_key);
    }
    // manage schemes {create, delete, clear}
    else if (currentCommand.startsWith("manageschemes"))
      showManageSchemeWindow(player);
    else if (currentCommand.startsWith("createscheme"))
    {
      if(!st.hasMoreTokens()){
        player.sendMessage("Error: Specify Schema Name!");
        showManageSchemeWindow(player);
        return;
      }
     
      String name = st.nextToken();
     
      if (name.length() > 14)
      {
        player.sendMessage("Error: Scheme's name must contain up to 14 chars without any spaces");
        showManageSchemeWindow(player);
      }
      else if (CharSchemesTable.getInstance().getAllSchemes(player.getObjectId()) != null && CharSchemesTable.getInstance().getAllSchemes(player.getObjectId()).size() == 24)
      {
        player.sendMessage("Error: Maximun schemes amount reached, please delete one before creating a new one");
        showManageSchemeWindow(player);
      }
      else if (CharSchemesTable.getInstance().getAllSchemes(player.getObjectId()) != null && CharSchemesTable.getInstance().getAllSchemes(player.getObjectId()).containsKey(name))
      {
        player.sendMessage("Error: duplicate entry. Please use another name");
        showManageSchemeWindow(player);
      }
      else
      {
        if (CharSchemesTable.getInstance().getAllSchemes(player.getObjectId()) == null)
          CharSchemesTable.getInstance().getSchemesTable().put(player.getObjectId(), new FastMap<String, FastList<L2Skill>>(24 + 1));
        CharSchemesTable.getInstance().setScheme(player.getObjectId(), name.trim(), new FastList<L2Skill>(24 + 1));
        showManageSchemeWindow(player);
      }
    }
    // handles deletion
    else if (currentCommand.startsWith("deletescheme"))
    {
      if(!st.hasMoreTokens()){
        player.sendMessage("Error: Specify Schema Name!");
        showManageSchemeWindow(player);
        return;
      }
     
      String name = st.nextToken();
      if (CharSchemesTable.getInstance().getAllSchemes(player.getObjectId()) != null && CharSchemesTable.getInstance().getAllSchemes(player.getObjectId()).containsKey(name))
      {
        CharSchemesTable.getInstance().getAllSchemes(player.getObjectId()).remove(name);
        showManageSchemeWindow(player);
      }
    }
    // handles cleanning
    else if (currentCommand.startsWith("clearscheme"))
    {
      if(!st.hasMoreTokens()){
        player.sendMessage("Error: Specify Schema Name!");
        showManageSchemeWindow(player);
        return;
      }
     
      String name = st.nextToken();
      if (CharSchemesTable.getInstance().getAllSchemes(player.getObjectId()) != null && CharSchemesTable.getInstance().getAllSchemes(player.getObjectId()).containsKey(name))
      {
        CharSchemesTable.getInstance().getAllSchemes(player.getObjectId()).get(name).clear();
        showManageSchemeWindow(player);
      }
    }
    //predefined buffs
    else if (currentCommand.startsWith("fighterbuff") || currentCommand.startsWith("magebuff"))
    {
     
      ArrayList<L2Skill> skills_to_buff = new ArrayList<L2Skill>();
      if(currentCommand.startsWith("magebuff")){
       
        for(int skillId:PowerPakConfig.MAGE_SKILL_LIST.keySet()){
         
          L2Skill skill = SkillTable.getInstance().getInfo(skillId, PowerPakConfig.MAGE_SKILL_LIST.get(skillId));
          if(skill!=null)
          {
            skills_to_buff.add(skill);
          }
         
        }
       
      }else{
       
        for(int skillId:PowerPakConfig.FIGHTER_SKILL_LIST.keySet()){
         
          L2Skill skill = SkillTable.getInstance().getInfo(skillId, PowerPakConfig.FIGHTER_SKILL_LIST.get(skillId));
          if(skill!=null)
          {
            skills_to_buff.add(skill);
          }
         
View Full Code Here

      return;

    if(player.getLevel() < 76)
      return;

    L2Skill skill = SkillTable.getInstance().getInfo(_skillId, _skillLvl);

    int counts = 0;
    int _requiredSp = 10000000;
    int _requiredExp = 100000;
    byte _rate = 0;
    int _baseLvl = 1;

    L2EnchantSkillLearn[] skills = SkillTreeTable.getInstance().getAvailableEnchantSkills(player);

    for(L2EnchantSkillLearn s : skills)
    {
      L2Skill sk = SkillTable.getInstance().getInfo(s.getId(), s.getLevel());

      if(sk == null || sk != skill || !sk.getCanLearn(player.getClassId()) || !sk.canTeachBy(npcid))
      {
        continue;
      }

      counts++;
View Full Code Here

      {
        activeChar.sendPacket(new SystemMessage(SystemMessageId.SKILL_NOT_AVAILABLE));
        return;
      }
     
      L2Skill skill = _skills.get(skillId);
     
      if (skill == null)
      {
        if (Config.DEBUG)
        {
View Full Code Here

TOP

Related Classes of com.l2jfrozen.gameserver.model.L2Skill

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.