Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Eclipse Workspace Patch 1.0
- #P aCis_gameserver
- Index: java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java
- ===================================================================
- --- java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java (revision 88)
- +++ java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java (working copy)
- @@ -115,7 +115,7 @@
- super.onBypassFeedback(player, command);
- }
- - private static final void showHtmlMenu(L2PcInstance player, int objectId, int level)
- + static final void showHtmlMenu(L2PcInstance player, int objectId, int level)
- {
- final NpcHtmlMessage html = new NpcHtmlMessage(objectId);
- @@ -210,7 +210,7 @@
- player.sendPacket(html);
- }
- - private static final boolean checkAndChangeClass(L2PcInstance player, int val)
- + static final boolean checkAndChangeClass(L2PcInstance player, int val)
- {
- final ClassId currentClassId = player.getClassId();
- if (getMinLevel(currentClassId.level()) > player.getLevel() && !Config.ALLOW_ENTIRE_TREE)
- Index: java/net/sf/l2j/gameserver/NewbiesSystem/NewbiesNpc.java
- ===================================================================
- --- java/net/sf/l2j/gameserver/NewbiesSystem/NewbiesNpc.java (nonexistent)
- +++ java/net/sf/l2j/gameserver/NewbiesSystem/NewbiesNpc.java (working copy)
- @@ -0,0 +1,324 @@
- +/*
- + * This program is free software: you can redistribute it and/or modify it under
- + * the terms of the GNU General Public License as published by the Free Software
- + * Foundation, either version 3 of the License, or (at your option) any later
- + * version.
- + *
- + * This program is distributed in the hope that it will be useful, but WITHOUT
- + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- + * details.
- + *
- + * You should have received a copy of the GNU General Public License along with
- + * this program. If not, see <http://www.gnu.org/licenses/>.
- + */
- +package net.sf.l2j.gameserver.NewbiesSystem;
- +
- +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
- +import net.sf.l2j.gameserver.model.base.ClassId;
- +import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
- +import net.sf.l2j.gameserver.network.serverpackets.InventoryUpdate;
- +
- +/**
- + * @author Baggos
- + */
- +public class NewbiesNpc
- +{
- + public static void giveItems(int Classes, L2PcInstance player)
- + {
- + final int[] DaggerArmors =
- + {
- + 6590,
- + 6379,
- + 6380,
- + 6381,
- + 6382,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] ArcherArmors =
- + {
- + 7577,
- + 6379,
- + 6380,
- + 6381,
- + 6382,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] MageArmors =
- + {
- + 6608,
- + 2407,
- + 5767,
- + 5779,
- + 512,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] DuelistArmor =
- + {
- + 6580,
- + 6373,
- + 6374,
- + 6375,
- + 6376,
- + 6378,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] TitanArmor =
- + {
- + 6605,
- + 6373,
- + 6374,
- + 6375,
- + 6376,
- + 6378,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] GrandKhaArmors =
- + {
- + 6604,
- + 6379,
- + 6380,
- + 6381,
- + 6382,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] TankArmors =
- + {
- + 6581,
- + 6373,
- + 6374,
- + 6375,
- + 6376,
- + 6377,
- + 6378,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] DwarfArmors =
- + {
- + 6585,
- + 6373,
- + 6374,
- + 6375,
- + 6376,
- + 6377,
- + 6378,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] DreadArmors =
- + {
- + 6601,
- + 6373,
- + 6374,
- + 6375,
- + 6376,
- + 6378,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] DancerArmors =
- + {
- + 6580,
- + 6379,
- + 6380,
- + 6381,
- + 6382,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- +
- + ClassId classes = player.getClassId();
- + switch (classes)
- + {
- + case ADVENTURER:
- + case WIND_RIDER:
- + case GHOST_HUNTER:
- + if (DaggerArmors.length == 0)
- + return;
- + ItemInstance items = null;
- + for (int id : DaggerArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case SAGGITARIUS:
- + case GHOST_SENTINEL:
- + case MOONLIGHT_SENTINEL:
- + if (ArcherArmors.length == 0)
- + return;
- + for (int id : ArcherArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case SOULTAKER:
- + case MYSTIC_MUSE:
- + case ARCHMAGE:
- + case ARCANA_LORD:
- + case ELEMENTAL_MASTER:
- + case CARDINAL:
- + case STORM_SCREAMER:
- + case SPECTRAL_MASTER:
- + case SHILLIEN_SAINT:
- + case DOMINATOR:
- + case DOOMCRYER:
- + if (MageArmors.length == 0)
- + return;
- + for (int id : MageArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case DUELIST:
- + if (DuelistArmor.length == 0)
- + return;
- + for (int id : DuelistArmor)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case TITAN:
- + if (TitanArmor.length == 0)
- + return;
- + for (int id : TitanArmor)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case GRAND_KHAVATARI:
- + if (GrandKhaArmors.length == 0)
- + return;
- + for (int id : GrandKhaArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case PHOENIX_KNIGHT:
- + case HELL_KNIGHT:
- + case EVAS_TEMPLAR:
- + case SHILLIEN_TEMPLAR:
- + if (TankArmors.length == 0)
- + return;
- + for (int id : TankArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case FORTUNE_SEEKER:
- + case MAESTRO:
- + if (DwarfArmors.length == 0)
- + return;
- + for (int id : DwarfArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case DREADNOUGHT:
- + if (DreadArmors.length == 0)
- + return;
- + for (int id : DreadArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case SPECTRAL_DANCER:
- + case SWORD_MUSE:
- + if (DancerArmors.length == 0)
- + return;
- + for (int id : DancerArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + }
- +
- + }
- +
- +}
- \ No newline at end of file
- Index: java/net/sf/l2j/Config.java
- ===================================================================
- --- java/net/sf/l2j/Config.java (revision 91)
- +++ java/net/sf/l2j/Config.java (working copy)
- @@ -480,6 +480,16 @@
- public static boolean STORE_SKILL_COOLTIME;
- public static int BUFFS_MAX_AMOUNT;
- + /** Newbie System */
- + public static int NEWBIE_LVL;
- + public static String NEWBIE_MAGE_SET;
- + public static int[] NEWBIE_MAGE_BUFFS;
- + public static String NEWBIE_FIGHTER_SET;
- + public static int[] NEWBIE_FIGHTER_BUFFS;
- + public static int SETX;
- + public static int SETY;
- + public static int SETZ;
- +
- // --------------------------------------------------
- // Sieges
- // --------------------------------------------------
- @@ -1179,6 +1189,25 @@
- BUFFS_MAX_AMOUNT = players.getProperty("MaxBuffsAmount", 20);
- STORE_SKILL_COOLTIME = players.getProperty("StoreSkillCooltime", true);
- +
- + NEWBIE_LVL = Integer.parseInt(players.getProperty("NewbiesLevel", "80"));
- + NEWBIE_FIGHTER_SET = players.getProperty("FighterSet", "2375,3500,3501,3502,4422,4423,4424,4425,6648,6649,6650");
- + NEWBIE_MAGE_SET = players.getProperty("MageSet", "2375,3500,3501,3502,4422,4423,4424,4425,6648,6649,6650");
- +
- + String[] NewFighterList = NEWBIE_FIGHTER_SET.split(",");
- + NEWBIE_FIGHTER_BUFFS = new int[NewFighterList.length];
- + for (int i = 0; i < NewFighterList.length; i++)
- + NEWBIE_FIGHTER_BUFFS[i] = Integer.parseInt(NewFighterList[i]);
- +
- + String[] NewMageList = NEWBIE_MAGE_SET.split(",");
- + NEWBIE_MAGE_BUFFS = new int[NewMageList.length];
- + for (int i = 0; i < NewMageList.length; i++)
- + NEWBIE_MAGE_BUFFS[i] = Integer.parseInt(NewMageList[i]);
- +
- + SETX = players.getProperty("LocX", 83278);
- + SETY = players.getProperty("LocY", 148273);
- + SETZ = players.getProperty("LocZ", -3407);
- +
- }
- /**
- Index: java/net/sf/l2j/gameserver/model/actor/instance/L2NewbieNpcInstance.java
- ===================================================================
- --- java/net/sf/l2j/gameserver/model/actor/instance/L2NewbieNpcInstance.java (nonexistent)
- +++ java/net/sf/l2j/gameserver/model/actor/instance/L2NewbieNpcInstance.java (working copy)
- @@ -0,0 +1,172 @@
- +package net.sf.l2j.gameserver.model.actor.instance;
- +
- +import net.sf.l2j.Config;
- +import net.sf.l2j.gameserver.NewbiesSystem.NewbiesNpc;
- +import net.sf.l2j.gameserver.datatables.CharTemplateTable;
- +import net.sf.l2j.gameserver.datatables.SkillTable;
- +import net.sf.l2j.gameserver.model.L2Skill;
- +import net.sf.l2j.gameserver.model.actor.template.NpcTemplate;
- +import net.sf.l2j.gameserver.model.base.ClassId;
- +import net.sf.l2j.gameserver.model.base.Experience;
- +import net.sf.l2j.gameserver.network.serverpackets.ExShowScreenMessage;
- +import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse;
- +import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
- +
- +/**
- + * @author Baggos
- + */
- +public class L2NewbieNpcInstance extends L2NpcInstance
- +{
- + public L2NewbieNpcInstance(int objectId, NpcTemplate template)
- + {
- + super(objectId, template);
- + }
- +
- + @Override
- + public void onBypassFeedback(L2PcInstance player, String command)
- + {
- +
- + if (player == null)
- + return;
- +
- + if (!Config.ALLOW_CLASS_MASTERS)
- + return;
- +
- + if (command.equalsIgnoreCase("change"))
- + {
- + String filename = "data/html/mods/NewbieNpc/changeclass.htm";
- +
- + if (Config.ALLOW_CLASS_MASTERS)
- + filename = "data/html/mods/NewbieNpc/changeclass.htm";
- +
- + final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- + html.setFile(filename);
- + html.replace("%objectId%", getObjectId());
- + player.sendPacket(html);
- + }
- + if (command.startsWith("1stClass"))
- + L2ClassMasterInstance.showHtmlMenu(player, getObjectId(), 1);
- + else if (command.startsWith("2ndClass"))
- + L2ClassMasterInstance.showHtmlMenu(player, getObjectId(), 2);
- + else if (command.startsWith("3rdClass"))
- + L2ClassMasterInstance.showHtmlMenu(player, getObjectId(), 3);
- + else if (command.startsWith("change_class"))
- + {
- + int val = Integer.parseInt(command.substring(13));
- +
- + if (L2ClassMasterInstance.checkAndChangeClass(player, val))
- + {
- + final NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- + html.setFile("data/html/classmaster/ok.htm");
- + html.replace("%name%", CharTemplateTable.getInstance().getClassNameById(val));
- + player.sendPacket(html);
- + }
- + }
- + else if (command.equalsIgnoreCase("LevelUp"))
- + {
- + player.addExpAndSp(Experience.LEVEL[Config.NEWBIE_LVL], 0);
- + }
- +
- + else if (command.equalsIgnoreCase("items"))
- + {
- + final ClassId currentClassId = player.getClassId();
- + if (currentClassId.level() < 3)
- + {
- + player.sendMessage("First Complete Your Third Class!");
- + return;
- + }
- +
- + ClassId classes = player.getClassId();
- + switch (classes)
- + {
- + case ADVENTURER:
- + case SAGGITARIUS:
- + case DUELIST:
- + case TITAN:
- + case GRAND_KHAVATARI:
- + case PHOENIX_KNIGHT:
- + case MOONLIGHT_SENTINEL:
- + case FORTUNE_SEEKER:
- + case MAESTRO:
- + case DREADNOUGHT:
- + case HELL_KNIGHT:
- + case EVAS_TEMPLAR:
- + case SWORD_MUSE:
- + case WIND_RIDER:
- + case SHILLIEN_TEMPLAR:
- + case SPECTRAL_DANCER:
- + case GHOST_HUNTER:
- + case GHOST_SENTINEL:
- + case SOULTAKER:
- + case MYSTIC_MUSE:
- + case ARCHMAGE:
- + case ARCANA_LORD:
- + case ELEMENTAL_MASTER:
- + case CARDINAL:
- + case STORM_SCREAMER:
- + case SPECTRAL_MASTER:
- + case SHILLIEN_SAINT:
- + case DOMINATOR:
- + case DOOMCRYER:
- + NewbiesNpc.giveItems(0, player);
- + break;
- + }
- + }
- +
- + else if (command.equalsIgnoreCase("buffs"))
- + {
- + if (player.isMageClass() || player.getClassId() == ClassId.DOMINATOR || player.getClassId() == ClassId.DOOMCRYER)
- + {
- + int mageSet[] = Config.NEWBIE_MAGE_BUFFS;
- + L2Skill buff;
- + for (int id : mageSet)
- + {
- + buff = SkillTable.getInstance().getInfo(id, SkillTable.getInstance().getMaxLevel(id));
- + buff.getEffects(this, player);
- + player.setCurrentHp(player.getMaxHp());
- + player.setCurrentCp(player.getMaxCp());
- + player.setCurrentMp(player.getMaxMp());
- + player.broadcastPacket(new MagicSkillUse(this, player, id, buff.getLevel(), 0, 0));
- + }
- + }
- + else
- + {
- + int fighterSet[] = Config.NEWBIE_FIGHTER_BUFFS;
- + L2Skill buff;
- + for (int id : fighterSet)
- + {
- + buff = SkillTable.getInstance().getInfo(id, SkillTable.getInstance().getMaxLevel(id));
- + buff.getEffects(this, player);
- + player.setCurrentHp(player.getMaxHp());
- + player.setCurrentCp(player.getMaxCp());
- + player.setCurrentMp(player.getMaxMp());
- + player.broadcastPacket(new MagicSkillUse(this, player, id, buff.getLevel(), 0, 0));
- + }
- + }
- + }
- + else if (command.equalsIgnoreCase("teleport"))
- + {
- + final ClassId currentClassId = player.getClassId();
- + if (currentClassId.level() < 3)
- + {
- + player.sendMessage("You Can't Leave! Your Character Isin't Complete!");
- + return;
- + }
- + player.teleToLocation(Config.SETX, Config.SETY, Config.SETZ, 0);
- + player.sendPacket(new ExShowScreenMessage("seconds until auto respawn", 4000, 2, true));
- + }
- + }
- +
- + @Override
- + public String getHtmlPath(int npcId, int val)
- + {
- + String filename = "";
- +
- + if (val == 0)
- + filename = "" + npcId;
- + else
- + filename = npcId + "-" + val;
- +
- + return "data/html/mods/newbieNpc/" + filename + ".htm";
- + }
- +}
- \ No newline at end of file
- Index: java/net/sf/l2j/gameserver/model/base/Experience.java
- ===================================================================
- --- java/net/sf/l2j/gameserver/model/base/Experience.java (revision 88)
- +++ java/net/sf/l2j/gameserver/model/base/Experience.java (working copy)
- @@ -101,11 +101,5 @@
- 4200000000L, // level 80
- 6299994999L
- };
- -
- - /**
- - * This is the first UNREACHABLE level.<BR>
- - * ex: If you want a max at 80 & 99.99%, you have to put 81.<BR>
- - * <BR>
- - */
- public static final byte MAX_LEVEL = 81;
- }
- Index: java/net/sf/l2j/gameserver/NewbiesSystem/NewbiesNpc.java
- ===================================================================
- --- java/net/sf/l2j/gameserver/NewbiesSystem/NewbiesNpc.java (nonexistent)
- +++ java/net/sf/l2j/gameserver/NewbiesSystem/NewbiesNpc.java (working copy)
- @@ -0,0 +1,324 @@
- +/*
- + * This program is free software: you can redistribute it and/or modify it under
- + * the terms of the GNU General Public License as published by the Free Software
- + * Foundation, either version 3 of the License, or (at your option) any later
- + * version.
- + *
- + * This program is distributed in the hope that it will be useful, but WITHOUT
- + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- + * details.
- + *
- + * You should have received a copy of the GNU General Public License along with
- + * this program. If not, see <http://www.gnu.org/licenses/>.
- + */
- +package net.sf.l2j.gameserver.NewbiesSystem;
- +
- +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
- +import net.sf.l2j.gameserver.model.base.ClassId;
- +import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
- +import net.sf.l2j.gameserver.network.serverpackets.InventoryUpdate;
- +
- +/**
- + * @author Baggos
- + */
- +public class NewbiesNpc
- +{
- + public static void giveItems(int Classes, L2PcInstance player)
- + {
- + final int[] DaggerArmors =
- + {
- + 6590,
- + 6379,
- + 6380,
- + 6381,
- + 6382,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] ArcherArmors =
- + {
- + 7577,
- + 6379,
- + 6380,
- + 6381,
- + 6382,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] MageArmors =
- + {
- + 6608,
- + 2407,
- + 5767,
- + 5779,
- + 512,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] DuelistArmor =
- + {
- + 6580,
- + 6373,
- + 6374,
- + 6375,
- + 6376,
- + 6378,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] TitanArmor =
- + {
- + 6605,
- + 6373,
- + 6374,
- + 6375,
- + 6376,
- + 6378,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] GrandKhaArmors =
- + {
- + 6604,
- + 6379,
- + 6380,
- + 6381,
- + 6382,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] TankArmors =
- + {
- + 6581,
- + 6373,
- + 6374,
- + 6375,
- + 6376,
- + 6377,
- + 6378,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] DwarfArmors =
- + {
- + 6585,
- + 6373,
- + 6374,
- + 6375,
- + 6376,
- + 6377,
- + 6378,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] DreadArmors =
- + {
- + 6601,
- + 6373,
- + 6374,
- + 6375,
- + 6376,
- + 6378,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- + final int[] DancerArmors =
- + {
- + 6580,
- + 6379,
- + 6380,
- + 6381,
- + 6382,
- + 920,
- + 893,
- + 858,
- + 862,
- + 889
- + };
- +
- + ClassId classes = player.getClassId();
- + switch (classes)
- + {
- + case ADVENTURER:
- + case WIND_RIDER:
- + case GHOST_HUNTER:
- + if (DaggerArmors.length == 0)
- + return;
- + ItemInstance items = null;
- + for (int id : DaggerArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case SAGGITARIUS:
- + case GHOST_SENTINEL:
- + case MOONLIGHT_SENTINEL:
- + if (ArcherArmors.length == 0)
- + return;
- + for (int id : ArcherArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case SOULTAKER:
- + case MYSTIC_MUSE:
- + case ARCHMAGE:
- + case ARCANA_LORD:
- + case ELEMENTAL_MASTER:
- + case CARDINAL:
- + case STORM_SCREAMER:
- + case SPECTRAL_MASTER:
- + case SHILLIEN_SAINT:
- + case DOMINATOR:
- + case DOOMCRYER:
- + if (MageArmors.length == 0)
- + return;
- + for (int id : MageArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case DUELIST:
- + if (DuelistArmor.length == 0)
- + return;
- + for (int id : DuelistArmor)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case TITAN:
- + if (TitanArmor.length == 0)
- + return;
- + for (int id : TitanArmor)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case GRAND_KHAVATARI:
- + if (GrandKhaArmors.length == 0)
- + return;
- + for (int id : GrandKhaArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case PHOENIX_KNIGHT:
- + case HELL_KNIGHT:
- + case EVAS_TEMPLAR:
- + case SHILLIEN_TEMPLAR:
- + if (TankArmors.length == 0)
- + return;
- + for (int id : TankArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case FORTUNE_SEEKER:
- + case MAESTRO:
- + if (DwarfArmors.length == 0)
- + return;
- + for (int id : DwarfArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case DREADNOUGHT:
- + if (DreadArmors.length == 0)
- + return;
- + for (int id : DreadArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + case SPECTRAL_DANCER:
- + case SWORD_MUSE:
- + if (DancerArmors.length == 0)
- + return;
- + for (int id : DancerArmors)
- + {
- + player.getInventory().addItem("Armors", id, 1, player, null);
- + items = player.getInventory().getItemByItemId(id);
- + player.getInventory().equipItemAndRecord(items);
- + player.getInventory().reloadEquippedItems();
- + player.broadcastCharInfo();
- + new InventoryUpdate();
- + }
- + break;
- + }
- +
- + }
- +
- +}
- \ No newline at end of file
- Index: config/players.properties
- ===================================================================
- --- config/players.properties (revision 91)
- +++ config/players.properties (working copy)
- @@ -285,4 +285,21 @@
- MaxBuffsAmount = 20
- # Store buffs/debuffs on user logout?
- -StoreSkillCooltime = True
- \ No newline at end of file
- +StoreSkillCooltime = True
- +
- +#=============================================================
- +# Newbies System
- +#=============================================================
- +# Value 81 for 80 lvl & 100%
- +NewbiesLevel = 81
- +
- +#Set of fighter buffs
- +FighterSet = 1087,1243,1204,1068,1388,1040,1036,1035,1048,1045,1077,1242,1086,1043,1268,1036,1363,1240,1062,271,274,275,310,304,308,306,264,267,269,349,364,268,270,1416,1323
- +
- +#Set of Mage buffs
- +MageSet = 1087,1243,1204,1040,1036,1048,1045,1389,1062,1363,1085,1059,1303,1304,273,276,365,268,270,349,264,267,268,306,308,1416,1323
- +
- +# Telepot to location
- +LocX = 83278
- +LocY = 148273
- +LocZ = -3407
- \ No newline at end of file
- #P aCis_datapack
- Index: data/html/mods/NewbieNpc/changeclass.htm
- ===================================================================
- --- data/html/mods/NewbieNpc/changeclass.htm (nonexistent)
- +++ data/html/mods/NewbieNpc/changeclass.htm (working copy)
- @@ -0,0 +1,45 @@
- +<html>
- + <head>
- + <title>Newbies Service NPC</title>
- + </head>
- + <body>
- +<center>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table bgcolor=000000 width=300 height=37>
- +<tr>
- +<td align=center width=300>Welcome Buddy! <font color=3399CC>Complete Your Classes & Be Ready!</font></td>
- +</tr>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<img src="l2ui_ch3.herotower_deco" width=256 height=32>
- +
- +
- +
- +<img src="L2UI.SquareGray" width=300 height=1>
- +
- +<table border=0 bgcolor=000000 width=300 height=25>
- +<tr>
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_1stClass"><font color="3399CC">Get The First Class!</font></a></td>
- +<td width=2 align=center><font color="505050">|</font></a></td><!--space-->
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_2ndClass"><font color="3399CC">Get The Second Class!</font></a></td>
- +</tr>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +
- +<br1>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table border=0 bgcolor=000000 width=300 height=25>
- +<tr>
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_3rdClass"><font color="3399CC">Get The Third Class!</font></a></td>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<br>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table bgcolor=000000 width=300 height=37>
- +<tr>
- +<td align=center width=300>Vote for us : <font color=3399CC>www.lineage2.com</font></td>
- +</tr>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +
- +</body></html>
- \ No newline at end of file
- Index: data/html/mods/NewbieNpc/50023.htm
- ===================================================================
- --- data/html/mods/NewbieNpc/50023.htm (nonexistent)
- +++ data/html/mods/NewbieNpc/50023.htm (working copy)
- @@ -0,0 +1,54 @@
- +<html>
- + <head>
- + <title>Newbies Service NPC</title>
- + </head>
- + <body>
- +<center>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table bgcolor=000000 width=300 height=37>
- +<tr>
- +<td align=center width=300>Welcome Buddy! <font color=3399CC>Get ready for our World!"</font></td>
- +</tr>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<img src="l2ui_ch3.herotower_deco" width=256 height=32>
- +
- +
- +
- +<img src="L2UI.SquareGray" width=300 height=1>
- +
- +<table border=0 bgcolor=000000 width=300 height=25>
- +<tr>
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_LevelUp"><font color="3399CC">Level Up Me</font></a></td>
- +<td width=2 align=center><font color="505050">|</font></a></td><!--space-->
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_change"><font color="3399CC">Change My Class</font></a></td>
- +</tr>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table border=0 bgcolor=000000 width=300 height=25>
- +<tr>
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_items"><font color="3399CC">Dress Me</font></a></td>
- +<td width=2 align=center><font color="505050">|</font></a></td><!--space-->
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_buffs"><font color="3399CC">Buff Me</font></a></td>
- +</tr>
- +</table>
- +
- +<img src="L2UI.SquareGray" width=300 height=1>
- +
- +<br1>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table border=0 bgcolor=000000 width=300 height=25>
- +<tr>
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_teleport"><font color="3399CC">Teleport Me</font></a></td>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<br>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table bgcolor=000000 width=300 height=37>
- +<tr>
- +<td align=center width=300>Vote for us : <font color=3399CC>www.lineage2.com</font></td>
- +</tr>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +
- +</body></html>
- \ No newline at end of file
- Index: data/html/mods/NewbieNpc/changeclass.htm
- ===================================================================
- --- data/html/mods/NewbieNpc/changeclass.htm (nonexistent)
- +++ data/html/mods/NewbieNpc/changeclass.htm (working copy)
- @@ -0,0 +1,45 @@
- +<html>
- + <head>
- + <title>Newbies Service NPC</title>
- + </head>
- + <body>
- +<center>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table bgcolor=000000 width=300 height=37>
- +<tr>
- +<td align=center width=300>Welcome Buddy! <font color=3399CC>Complete Your Classes & Be Ready!</font></td>
- +</tr>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<img src="l2ui_ch3.herotower_deco" width=256 height=32>
- +
- +
- +
- +<img src="L2UI.SquareGray" width=300 height=1>
- +
- +<table border=0 bgcolor=000000 width=300 height=25>
- +<tr>
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_1stClass"><font color="3399CC">Get The First Class!</font></a></td>
- +<td width=2 align=center><font color="505050">|</font></a></td><!--space-->
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_2ndClass"><font color="3399CC">Get The Second Class!</font></a></td>
- +</tr>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +
- +<br1>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table border=0 bgcolor=000000 width=300 height=25>
- +<tr>
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_3rdClass"><font color="3399CC">Get The Third Class!</font></a></td>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<br>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table bgcolor=000000 width=300 height=37>
- +<tr>
- +<td align=center width=300>Vote for us : <font color=3399CC>www.lineage2.com</font></td>
- +</tr>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +
- +</body></html>
- \ No newline at end of file
- Index: data/html/mods/NewbieNpc/50023.htm
- ===================================================================
- --- data/html/mods/NewbieNpc/50023.htm (nonexistent)
- +++ data/html/mods/NewbieNpc/50023.htm (working copy)
- @@ -0,0 +1,54 @@
- +<html>
- + <head>
- + <title>Newbies Service NPC</title>
- + </head>
- + <body>
- +<center>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table bgcolor=000000 width=300 height=37>
- +<tr>
- +<td align=center width=300>Welcome Buddy! <font color=3399CC>Get ready for our World!"</font></td>
- +</tr>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<img src="l2ui_ch3.herotower_deco" width=256 height=32>
- +
- +
- +
- +<img src="L2UI.SquareGray" width=300 height=1>
- +
- +<table border=0 bgcolor=000000 width=300 height=25>
- +<tr>
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_LevelUp"><font color="3399CC">Level Up Me</font></a></td>
- +<td width=2 align=center><font color="505050">|</font></a></td><!--space-->
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_change"><font color="3399CC">Change My Class</font></a></td>
- +</tr>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table border=0 bgcolor=000000 width=300 height=25>
- +<tr>
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_items"><font color="3399CC">Dress Me</font></a></td>
- +<td width=2 align=center><font color="505050">|</font></a></td><!--space-->
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_buffs"><font color="3399CC">Buff Me</font></a></td>
- +</tr>
- +</table>
- +
- +<img src="L2UI.SquareGray" width=300 height=1>
- +
- +<br1>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table border=0 bgcolor=000000 width=300 height=25>
- +<tr>
- +<td width=99 align=center><a action="bypass -h npc_%objectId%_teleport"><font color="3399CC">Teleport Me</font></a></td>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<br>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +<table bgcolor=000000 width=300 height=37>
- +<tr>
- +<td align=center width=300>Vote for us : <font color=3399CC>www.lineage2.com</font></td>
- +</tr>
- +</table>
- +<img src="L2UI.SquareGray" width=300 height=1>
- +
- +</body></html>
- \ No newline at end of file
- Index: data/xml/npcs/50000-50999.xml
- ===================================================================
- --- data/xml/npcs/50000-50999.xml (revision 88)
- +++ data/xml/npcs/50000-50999.xml (working copy)
- @@ -105,4 +105,40 @@
- <skill id="4416" level="18"/>
- </skills>
- </npc>
- + <npc id="50023" idTemplate="30519" name="NIEWBIES HELPER" title="L2World">
- + <set name="level" val="70"/>
- + <set name="radius" val="7"/>
- + <set name="height" val="18"/>
- + <set name="rHand" val="0"/>
- + <set name="lHand" val="0"/>
- + <set name="type" val="L2NewbieNpc"/>
- + <set name="exp" val="0"/>
- + <set name="sp" val="0"/>
- + <set name="hp" val="2444.46819"/>
- + <set name="mp" val="1345.8"/>
- + <set name="hpRegen" val="7.5"/>
- + <set name="mpRegen" val="2.7"/>
- + <set name="pAtk" val="688.86373"/>
- + <set name="pDef" val="295.91597"/>
- + <set name="mAtk" val="470.40463"/>
- + <set name="mDef" val="216.53847"/>
- + <set name="crit" val="4"/>
- + <set name="atkSpd" val="253"/>
- + <set name="str" val="40"/>
- + <set name="int" val="21"/>
- + <set name="dex" val="30"/>
- + <set name="wit" val="20"/>
- + <set name="con" val="43"/>
- + <set name="men" val="20"/>
- + <set name="corpseTime" val="7"/>
- + <set name="walkSpd" val="50"/>
- + <set name="runSpd" val="120"/>
- + <set name="dropHerbGroup" val="0"/>
- + <set name="attackRange" val="40"/>
- + <ai type="DEFAULT" ssCount="0" ssRate="0" spsCount="0" spsRate="0" aggro="0" canMove="true" seedable="false"/>
- + <skills>
- + <skill id="4045" level="1"/>
- + <skill id="4416" level="18"/>
- + </skills>
- + </npc>
- </list>
- \ No newline at end of file
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement