Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/L2MaxPolyModel.java
- ===================================================================
- --- D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/L2MaxPolyModel.java (revision 0)
- +++ D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/L2MaxPolyModel.java (revision 0)
- @@ -0,0 +1,518 @@
- +/* 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 2, 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, write to the Free Software
- + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- + * 02111-1307, USA.
- + *
- + * http://www.gnu.org/copyleft/gpl.html
- + */
- +package net.sf.l2j.gameserver.model;
- +
- +import net.sf.l2j.gameserver.datatables.ArmorSetsTable;
- +import net.sf.l2j.gameserver.datatables.CharTemplateTable;
- +import net.sf.l2j.gameserver.datatables.ClanTable;
- +import net.sf.l2j.gameserver.datatables.ArmorSetsTable.ArmorDummy;
- +import net.sf.l2j.gameserver.model.base.Race;
- +import net.sf.l2j.gameserver.templates.StatsSet;
- +
- +/**
- + *
- + * @author Velvet
- + */
- +public class L2MaxPolyModel
- +{
- + // Base
- + private String _name;
- + private String _title;
- + private Race _race;
- + private int _sex;
- + private int _hair;
- + private int _hairColor;
- + private int _face;
- + private int _classId;
- + private int _npcId;
- +
- + // Item related
- + private int _weaponIdRH;
- + private int _weaponIdLH;
- + private int _weaponIdEnc;
- + private int _armorId; // all others p_dolls will be set auto if the value is a valid armor set id
- + private int _head; // not seen
- + private int _hats;
- + private int _faces;
- + private int _chest;
- + private int _legs;
- + private int _gloves;
- + private int _feet;
- +
- + // Misc
- + private int _abnormalEffect;
- + private int _pvpFlag;
- + private int _karma;
- + private int _recom;
- + private L2Clan _clan;
- + private int _isHero;
- + private int _pledge;
- + private int _nameColor = 0xFFFFFF;
- + private int _titleColor = 0xFFFF77;
- +
- + public L2MaxPolyModel(StatsSet data)
- + {
- + _name = data.getString("name");
- + _title = data.getString("title");
- + _sex = data.getInteger("sex");
- + _hair = data.getInteger("hair");
- + _hairColor = data.getInteger("hairColor");
- + _face = data.getInteger("face");
- + _classId = data.getInteger("classId");
- + _npcId = data.getInteger("npcId");
- + _weaponIdRH = data.getInteger("weaponIdRH");
- + _weaponIdLH = data.getInteger("weaponIdLH");
- + _weaponIdEnc = data.getInteger("weaponIdEnc");
- + _armorId = data.getInteger("armorId");
- + _head = data.getInteger("head");
- + _hats = data.getInteger("hats");
- + _faces = data.getInteger("faces");
- + _chest = data.getInteger("chest");
- + _legs = data.getInteger("legs");
- + _gloves = data.getInteger("gloves");
- + _feet = data.getInteger("feet");
- + _abnormalEffect = data.getInteger("abnormalEffect");
- + _pvpFlag = data.getInteger("pvpFlag");
- + _karma = data.getInteger("karma");
- + _recom = data.getInteger("recom");
- + _clan = ClanTable.getInstance().getClan(data.getInteger("clan"));
- + _isHero = data.getInteger("isHero");
- + _pledge = data.getInteger("pledge");
- +
- + if(data.getInteger("nameColor") > 0)
- + _nameColor = data.getInteger("nameColor");
- + if(data.getInteger("titleColor") > 0)
- + _titleColor = data.getInteger("titleColor");
- +
- + _race = CharTemplateTable.getInstance().getTemplate(_classId).race;
- +
- + ArmorDummy armor = ArmorSetsTable.getInstance().getCusArmorSets(_armorId);
- +
- + if(armor != null)
- + {
- + _head = armor.getHead();
- + _chest = armor.getChest();
- + _legs = armor.getLegs();
- + _gloves = armor.getGloves();
- + _feet = armor.getFeet();
- + }
- + }
- +
- + /**
- + * @return Returns the name.
- + */
- + public String getName()
- + {
- + return _name;
- + }
- + /**
- + * @param name The name to set.
- + */
- + public void setName(String name)
- + {
- + _name = name;
- + }
- + /**
- + * @return Returns the title.
- + */
- + public String getTitle()
- + {
- + return _title;
- + }
- + /**
- + * @param title The title to set.
- + */
- + public void setTitle(String title)
- + {
- + _title = title;
- + }
- + /**
- + * @return Returns the sex.
- + */
- + public int getSex()
- + {
- + return _sex;
- + }
- + /**
- + * @param sex The sex to set.
- + */
- + public void setSex(int sex)
- + {
- + _sex = sex;
- + }
- + /**
- + * @return Returns the hair.
- + */
- + public int getHair()
- + {
- + return _hair;
- + }
- + /**
- + * @param hair The hair to set.
- + */
- + public void setHair(int hair)
- + {
- + _hair = hair;
- + }
- + /**
- + * @return Returns the hairColor.
- + */
- + public int getHairColor()
- + {
- + return _hairColor;
- + }
- + /**
- + * @param hairColor The hairColor to set.
- + */
- + public void setHairColor(int hairColor)
- + {
- + _hairColor = hairColor;
- + }
- + /**
- + * @return Returns the face.
- + */
- + public int getFace()
- + {
- + return _face;
- + }
- + /**
- + * @param face The face to set.
- + */
- + public void setFace(int face)
- + {
- + _face = face;
- + }
- + /**
- + * @return Returns the classId.
- + */
- + public int getClassId()
- + {
- + return _classId;
- + }
- + /**
- + * @param classId The classId to set.
- + */
- + public void setClassId(int classId)
- + {
- + _classId = classId;
- + }
- +
- + /**
- + * @return Returns the weaponIdRH.
- + */
- + public int getWeaponIdRH()
- + {
- + return _weaponIdRH;
- + }
- +
- + /**
- + * @return Returns the weaponIdRH.
- + */
- + public int getWeaponIdLH()
- + {
- + return _weaponIdLH;
- + }
- +
- + /**
- + * @param weaponIdRH The weaponIdRH to set.
- + */
- + public void setWeaponIdRH(int weaponIdRH)
- + {
- + _weaponIdRH = weaponIdRH;
- + }
- +
- + public void setWeaponIdLH(int weaponIdLH)
- + {
- + _weaponIdLH = weaponIdLH;
- + }
- +
- + /**
- + * @return Returns the weaponIdEnc.
- + */
- + public int getWeaponIdEnc()
- + {
- + return _weaponIdEnc;
- + }
- + /**
- + * @param weaponIdEnc The weaponIdEnc to set.
- + */
- + public void setWeaponIdEnc(int weaponIdEnc)
- + {
- + _weaponIdEnc = weaponIdEnc;
- + }
- + /**
- + * @return Returns the armorId.
- + */
- + public int getArmorId()
- + {
- + return _armorId;
- + }
- + /**
- + * @param armorId The armorId to set.
- + */
- + public void setArmorId(int armorId)
- + {
- + _armorId = armorId;
- + }
- + /**
- + * @return Returns the head.
- + */
- + public int getHead()
- + {
- + return _head;
- + }
- + /**
- + * @param head The head to set.
- + */
- + public void setHead(int head)
- + {
- + _head = head;
- + }
- + /**
- + * @return Returns the hats.
- + */
- + public int getHats()
- + {
- + return _hats;
- + }
- + /**
- + * @param hats The hats to set.
- + */
- + public void setHats(int hats)
- + {
- + _hats = hats;
- + }
- + /**
- + * @return Returns the faces.
- + */
- + public int getFaces()
- + {
- + return _faces;
- + }
- + /**
- + * @param faces The faces to set.
- + */
- + public void setFaces(int faces)
- + {
- + _faces = faces;
- + }
- + /**
- + * @return Returns the chest.
- + */
- + public int getChest()
- + {
- + return _chest;
- + }
- + /**
- + * @param chest The chest to set.
- + */
- + public void setChest(int chest)
- + {
- + _chest = chest;
- + }
- + /**
- + * @return Returns the legs.
- + */
- + public int getLegs()
- + {
- + return _legs;
- + }
- + /**
- + * @param legs The legs to set.
- + */
- + public void setLegs(int legs)
- + {
- + _legs = legs;
- + }
- + /**
- + * @return Returns the gloves.
- + */
- + public int getGloves()
- + {
- + return _gloves;
- + }
- + /**
- + * @param gloves The gloves to set.
- + */
- + public void setGloves(int gloves)
- + {
- + _gloves = gloves;
- + }
- + /**
- + * @return Returns the feet.
- + */
- + public int getFeet()
- + {
- + return _feet;
- + }
- + /**
- + * @param feet The feet to set.
- + */
- + public void setFeet(int feet)
- + {
- + _feet = feet;
- + }
- + /**
- + * @return Returns the abnormalEffect.
- + */
- + public int getAbnormalEffect()
- + {
- + return _abnormalEffect;
- + }
- + /**
- + * @param abnormalEffect The abnormalEffect to set.
- + */
- + public void setAbnormalEffect(int abnormalEffect)
- + {
- + _abnormalEffect = abnormalEffect;
- + }
- + /**
- + * @return Returns the pvpFlag.
- + */
- + public int getPvpFlag()
- + {
- + return _pvpFlag;
- + }
- + /**
- + * @param pvpFlag The pvpFlag to set.
- + */
- + public void setPvpFlag(int pvpFlag)
- + {
- + _pvpFlag = pvpFlag;
- + }
- + /**
- + * @return Returns the karma.
- + */
- + public int getKarma()
- + {
- + return _karma;
- + }
- + /**
- + * @param karma The karma to set.
- + */
- + public void setKarma(int karma)
- + {
- + _karma = karma;
- + }
- + /**
- + * @return Returns the recom.
- + */
- + public int getRecom()
- + {
- + return _recom;
- + }
- + /**
- + * @param recom The recom to set.
- + */
- + public void setRecom(int recom)
- + {
- + _recom = recom;
- + }
- + /**
- + * @return Returns the clan.
- + */
- + public L2Clan getClan()
- + {
- + return _clan;
- + }
- + /**
- + * @param clan The clan to set.
- + */
- + public void setClan(L2Clan clan)
- + {
- + _clan = clan;
- + }
- + /**
- + * @return Returns the isHero.
- + */
- + public int getIsHero()
- + {
- + return _isHero;
- + }
- + /**
- + * @param isHero The isHero to set.
- + */
- + public void setIsHero(int isHero)
- + {
- + _isHero = isHero;
- + }
- + /**
- + * @return Returns the pledge.
- + */
- + public int getPledge()
- + {
- + return _pledge;
- + }
- + /**
- + * @param pledge The pledge to set.
- + */
- + public void setPledge(int pledge)
- + {
- + _pledge = pledge;
- + }
- + /**
- + * @return Returns the nameColor.
- + */
- + public int getNameColor()
- + {
- + return _nameColor;
- + }
- + /**
- + * @param nameColor The nameColor to set.
- + */
- + public void setNameColor(int nameColor)
- + {
- + _nameColor = nameColor;
- + }
- + /**
- + * @return Returns the titleColor.
- + */
- + public int getTitleColor()
- + {
- + return _titleColor;
- + }
- + /**
- + * @param titleColor The titleColor to set.
- + */
- + public void setTitleColor(int titleColor)
- + {
- + _titleColor = titleColor;
- + }
- +
- + /**
- + * @param npcId The npcId to set.
- + */
- + public void setNpcId(int npcId)
- + {
- + _npcId = npcId;
- + }
- +
- + /**
- + * @return Returns the npcId.
- + */
- + public int getNpcId()
- + {
- + return _npcId;
- + }
- +
- + public Race getRace()
- + {
- + return _race;
- + }
- +
- +}
- Index: D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java
- ===================================================================
- --- D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java (revision 4034)
- +++ D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/instance/L2NpcInstance.java (working copy)
- @@ -32,9 +32,11 @@
- import net.sf.l2j.gameserver.ThreadPoolManager;
- import net.sf.l2j.gameserver.ai.CtrlIntention;
- import net.sf.l2j.gameserver.cache.HtmCache;
- +import net.sf.l2j.gameserver.datatables.CharTemplateTable;
- import net.sf.l2j.gameserver.datatables.ClanTable;
- import net.sf.l2j.gameserver.datatables.HelperBuffTable;
- import net.sf.l2j.gameserver.datatables.ItemTable;
- +import net.sf.l2j.gameserver.datatables.MaxCheatersTable;
- import net.sf.l2j.gameserver.datatables.SkillTable;
- import net.sf.l2j.gameserver.datatables.SpawnTable;
- import net.sf.l2j.gameserver.idfactory.IdFactory;
- @@ -49,6 +51,7 @@
- import net.sf.l2j.gameserver.model.L2DropCategory;
- import net.sf.l2j.gameserver.model.L2DropData;
- import net.sf.l2j.gameserver.model.L2ItemInstance;
- +import net.sf.l2j.gameserver.model.L2MaxPolyModel;
- import net.sf.l2j.gameserver.model.L2Multisell;
- import net.sf.l2j.gameserver.model.L2Object;
- import net.sf.l2j.gameserver.model.L2Skill;
- @@ -127,6 +130,8 @@
- private int _isSpoiledBy = 0;
- + private final L2MaxPolyModel _mxcModel;
- +
- protected RandomAnimationTask _rAniTask = null;
- private int _currentLHandId; // normally this shouldn't change from the template, but there exist exceptions
- private int _currentRHandId; // normally this shouldn't change from the template, but there exist exceptions
- @@ -270,6 +275,21 @@
- _currentCollisionHeight = getTemplate().collisionHeight;
- _currentCollisionRadius = getTemplate().collisionRadius;
- + // Velvet - MxC
- + _mxcModel = MaxCheatersTable.getInstance().getModelForID(template.npcId);
- +
- + if(_mxcModel != null) // Lil Config xD
- + {
- + _currentCollisionHeight = CharTemplateTable.getInstance().getTemplate(_mxcModel.getClassId()).collisionHeight;
- + _currentCollisionRadius = CharTemplateTable.getInstance().getTemplate(_mxcModel.getClassId()).collisionRadius;
- +
- + if(_mxcModel.getWeaponIdRH() <= 0 && _mxcModel.getWeaponIdLH() <= 0)
- + {
- + _mxcModel.setWeaponIdRH(template.rhand);
- + _mxcModel.setWeaponIdLH(template.lhand);
- + }
- + }
- +
- if (template == null)
- {
- _log.severe("No template for Npc. Please check your datapack is setup correctly.");
- @@ -278,7 +298,6 @@
- // Set the name of the L2Character
- setName(template.name);
- -
- }
- @Override
- @@ -2283,4 +2302,9 @@
- {
- return _currentCollisionRadius;
- }
- +
- + public L2MaxPolyModel getMxcPoly()
- + {
- + return _mxcModel;
- + }
- }
- Index: D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/GameServer.java
- ===================================================================
- --- D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/GameServer.java (revision 4034)
- +++ D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/GameServer.java (working copy)
- @@ -48,6 +48,7 @@
- import net.sf.l2j.gameserver.datatables.ItemTable;
- import net.sf.l2j.gameserver.datatables.LevelUpData;
- import net.sf.l2j.gameserver.datatables.MapRegionTable;
- +import net.sf.l2j.gameserver.datatables.MaxCheatersTable;
- import net.sf.l2j.gameserver.datatables.NobleSkillTable;
- import net.sf.l2j.gameserver.datatables.NpcTable;
- import net.sf.l2j.gameserver.datatables.NpcWalkerRoutesTable;
- @@ -393,6 +394,7 @@
- TeleportLocationTable.getInstance();
- LevelUpData.getInstance();
- L2World.getInstance();
- + MaxCheatersTable.getInstance();
- ZoneData.getInstance();
- SpawnTable.getInstance();
- RaidBossSpawnManager.getInstance();
- Index: D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/serverpackets/MxCPolyInfo.java
- ===================================================================
- --- D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/serverpackets/MxCPolyInfo.java (revision 0)
- +++ D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/serverpackets/MxCPolyInfo.java (revision 0)
- @@ -0,0 +1,158 @@
- +/*
- + * 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 2, 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, write to the Free Software
- + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- + * 02111-1307, USA.
- + *
- + * http://www.gnu.org/copyleft/gpl.html
- + */
- +package net.sf.l2j.gameserver.serverpackets;
- +
- +import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
- +
- +/**
- + *
- + * @author Velvet
- + */
- +public class MxCPolyInfo extends L2GameServerPacket
- +{
- + private L2NpcInstance _activeChar;
- + private int _x, _y, _z, _heading;
- + private int _runSpd, _walkSpd, _swimRunSpd, _swimWalkSpd, _flRunSpd, _flWalkSpd, _flyRunSpd, _flyWalkSpd;
- + private float _moveMultiplier;
- + private int _maxCp;
- +
- + public MxCPolyInfo(L2NpcInstance cha)
- + {
- + _activeChar = cha;
- + _x = _activeChar.getX();
- + _y = _activeChar.getY();
- + _z = _activeChar.getZ();
- + _heading = _activeChar.getHeading();
- + _moveMultiplier = _activeChar.getMovementSpeedMultiplier();
- + _runSpd = (int) (_activeChar.getRunSpeed() / _moveMultiplier);
- + _walkSpd = (int) (_activeChar.getWalkSpeed() / _moveMultiplier);
- + _swimRunSpd = _flRunSpd = _flyRunSpd = _runSpd;
- + _swimWalkSpd = _flWalkSpd = _flyWalkSpd = _walkSpd;
- + _maxCp = _activeChar.getMaxCp();
- + }
- +
- + @Override
- + protected final void writeImpl()
- + {
- + writeC(0x03);
- + writeD(_x);
- + writeD(_y);
- + writeD(_z);
- + writeD(_heading);
- + writeD(_activeChar.getObjectId());
- + writeS(_activeChar.getMxcPoly().getName());
- + writeD(_activeChar.getMxcPoly().getRace().ordinal());
- + writeD(_activeChar.getMxcPoly().getSex());
- + writeD(_activeChar.getMxcPoly().getClassId());
- + writeD(_activeChar.getMxcPoly().getHats());
- + writeD(_activeChar.getMxcPoly().getHead());
- + writeD(_activeChar.getMxcPoly().getWeaponIdRH());
- + writeD(_activeChar.getMxcPoly().getWeaponIdLH());
- + writeD(_activeChar.getMxcPoly().getGloves());
- + writeD(_activeChar.getMxcPoly().getChest());
- + writeD(_activeChar.getMxcPoly().getLegs());
- + writeD(_activeChar.getMxcPoly().getFeet());
- + writeD(_activeChar.getMxcPoly().getHats());
- + writeD(_activeChar.getMxcPoly().getWeaponIdRH());
- + writeD(_activeChar.getMxcPoly().getHats());
- + writeD(_activeChar.getMxcPoly().getFaces());
- + write('H', 0, 24);
- + writeD(_activeChar.getMxcPoly().getPvpFlag());
- + writeD(_activeChar.getMxcPoly().getKarma());
- + writeD(_activeChar.getMAtkSpd());
- + writeD(_activeChar.getPAtkSpd());
- + writeD(_activeChar.getMxcPoly().getPvpFlag());
- + writeD(_activeChar.getMxcPoly().getKarma());
- + writeD(_runSpd);
- + writeD(_walkSpd);
- + writeD(_swimRunSpd);
- + writeD(_swimWalkSpd);
- + writeD(_flRunSpd);
- + writeD(_flWalkSpd);
- + writeD(_flyRunSpd);
- + writeD(_flyWalkSpd);
- + writeF(_activeChar.getMovementSpeedMultiplier());
- + writeF(_activeChar.getAttackSpeedMultiplier());
- + writeF(_activeChar.getCollisionRadius());
- + writeF(_activeChar.getCollisionHeight());
- + writeD(_activeChar.getMxcPoly().getHair());
- + writeD(_activeChar.getMxcPoly().getHairColor());
- + writeD(_activeChar.getMxcPoly().getFace());
- + writeS(_activeChar.getMxcPoly().getTitle());
- + writeD(_activeChar.getMxcPoly().getClan() != null ? _activeChar.getMxcPoly().getClan().getClanId() : 0);
- + writeD(_activeChar.getMxcPoly().getClan() != null ? _activeChar.getMxcPoly().getClan().getCrestId() : 0);
- + writeD(_activeChar.getMxcPoly().getClan() != null ? _activeChar.getMxcPoly().getClan().getAllyId() : 0);
- + writeD(_activeChar.getMxcPoly().getClan() != null ? _activeChar.getMxcPoly().getClan().getAllyCrestId() : 0);
- + writeD(0);
- + writeC(1);
- + writeC(_activeChar.isRunning() ? 1 : 0);
- + writeC(_activeChar.isInCombat() ? 1 : 0);
- + writeC(_activeChar.isAlikeDead() ? 1 : 0);
- + write('C',0,3);
- + writeH(0);
- + writeC(0x00);
- + writeD(_activeChar.getAbnormalEffect());
- + writeC(0);
- + writeH(_activeChar.getMxcPoly().getRecom());
- + writeD(_activeChar.getMxcPoly().getClassId());
- + writeD(_maxCp);
- + writeD((int) _activeChar.getCurrentCp());
- + writeC(_activeChar.getMxcPoly().getWeaponIdEnc());
- + writeC(0x00);
- + writeD(_activeChar.getMxcPoly().getClan() != null ? _activeChar.getMxcPoly().getClan().getCrestLargeId() : 0);
- + writeC(0);
- + writeC(_activeChar.getMxcPoly().getIsHero());
- + writeC(0);
- + write('D',0,3);
- + writeD(_activeChar.getMxcPoly().getNameColor());
- + writeD(0x00);
- + writeD(_activeChar.getMxcPoly().getPledge());
- + writeD(0x00);
- + writeD(_activeChar.getMxcPoly().getTitleColor());
- + writeD(0x00);
- + }
- +
- + private final void write(char type, int value, int times)
- + {
- + for (int i = 0; i < times; i++)
- + {
- + switch (type)
- + {
- + case 'C':
- + writeC(value);
- + break;
- + case 'D':
- + writeD(value);
- + break;
- + case 'F':
- + writeF(value);
- + break;
- + case 'H':
- + writeH(value);
- + break;
- + }
- + }
- + }
- +
- + @Override
- + public String getType()
- + {
- + return "MxCOlyInfo: 0x03";
- + }
- +}
- Index: D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/serverpackets/NpcInfo.java
- ===================================================================
- --- D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/serverpackets/NpcInfo.java (revision 4034)
- +++ D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/serverpackets/NpcInfo.java (working copy)
- @@ -52,6 +52,12 @@
- */
- public NpcInfo(L2NpcInstance cha, L2Character attacker)
- {
- + if(cha.getMxcPoly() != null)
- + {
- + attacker.sendPacket(new MxCPolyInfo(cha));
- + return;
- + }
- +
- _activeChar = cha;
- _idTemplate = cha.getTemplate().idTemplate;
- _isAttackable = cha.isAutoAttackable(attacker);
- @@ -122,6 +128,9 @@
- @Override
- protected final void writeImpl()
- {
- + if(_activeChar == null)
- + return;
- +
- if (_activeChar instanceof L2Summon)
- if (((L2Summon)_activeChar).getOwner() != null
- && ((L2Summon)_activeChar).getOwner().getAppearance().getInvisible())
- Index: D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/datatables/MaxCheatersTable.java
- ===================================================================
- --- D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/datatables/MaxCheatersTable.java (revision 0)
- +++ D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/datatables/MaxCheatersTable.java (revision 0)
- @@ -0,0 +1,137 @@
- +/* 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 2, 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, write to the Free Software
- + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- + * 02111-1307, USA.
- + *
- + * http://www.gnu.org/copyleft/gpl.html
- + */
- +package net.sf.l2j.gameserver.datatables;
- +
- +import java.sql.Connection;
- +import java.sql.PreparedStatement;
- +import java.sql.ResultSet;
- +import java.sql.SQLException;
- +import java.util.logging.Logger;
- +
- +import javolution.util.FastMap;
- +import net.sf.l2j.L2DatabaseFactory;
- +import net.sf.l2j.gameserver.model.L2MaxPolyModel;
- +import net.sf.l2j.gameserver.templates.StatsSet;
- +
- +/**
- + *
- + * @author Velvet
- + */
- +public class MaxCheatersTable
- +{
- + private FastMap<Integer, L2MaxPolyModel> _map;
- + private Logger _log = Logger.getLogger(MaxCheatersTable.class.getName());
- + private static MaxCheatersTable _instance;
- +
- + private String SQL_SELECT = "SELECT * from max_poly";
- +
- + public MaxCheatersTable()
- + {
- + _map = new FastMap<Integer, L2MaxPolyModel>();
- + }
- +
- + public static MaxCheatersTable getInstance()
- + {
- + if(_instance == null)
- + {
- + _instance = new MaxCheatersTable();
- + _instance.load();
- + }
- + return _instance;
- + }
- +
- + private void load()
- + {
- + Connection con = null;
- + PreparedStatement st = null;
- +
- + try
- + {
- + con = L2DatabaseFactory.getInstance().getConnection();
- + st = con.prepareStatement(SQL_SELECT);
- + ResultSet rs = st.executeQuery();
- + restore(rs);
- + }
- + catch(Exception e)
- + {
- + e.printStackTrace();
- + }
- + finally
- + {
- + if(con != null && st != null) // we don't like npes :P
- + {
- + try
- + {
- + con.close();
- + st.close();
- + }
- + catch (Exception e)
- + {
- + e.printStackTrace();
- + }
- + }
- + }
- + }
- +
- + private void restore(ResultSet data) throws SQLException
- + {
- + StatsSet set = new StatsSet();
- +
- + while (data.next())
- + {
- + set.set("name", data.getString("name"));
- + set.set("title", data.getString("title"));
- + set.set("sex", data.getInt("sex"));
- + set.set("hair", data.getInt("hair"));
- + set.set("hairColor", data.getInt("hairColor"));
- + set.set("face", data.getInt("face"));
- + set.set("classId", data.getInt("classId"));
- + set.set("npcId", data.getInt("npcId"));
- + set.set("weaponIdRH", data.getInt("weaponIdRH"));
- + set.set("weaponIdLH", data.getInt("weaponIdLH"));
- + set.set("weaponIdEnc", data.getInt("weaponIdEnc"));
- + set.set("armorId", data.getInt("armorId"));
- + set.set("head", data.getInt("head"));
- + set.set("hats", data.getInt("hats"));
- + set.set("faces", data.getInt("faces"));
- + set.set("chest", data.getInt("chest"));
- + set.set("legs", data.getInt("legs"));
- + set.set("gloves", data.getInt("gloves"));
- + set.set("feet", data.getInt("feet"));
- + set.set("abnormalEffect", data.getInt("abnormalEffect"));
- + set.set("pvpFlag", data.getInt("pvpFlag"));
- + set.set("karma", data.getInt("karma"));
- + set.set("recom", data.getInt("recom"));
- + set.set("clan", data.getInt("clan"));
- + set.set("isHero", data.getInt("isHero"));
- + set.set("pledge", data.getInt("pledge"));
- + set.set("nameColor", data.getInt("nameColor"));
- + set.set("titleColor", data.getInt("titleColor"));
- +
- + L2MaxPolyModel poly = new L2MaxPolyModel(set);
- + _map.put(poly.getNpcId(), poly);// xD
- + }
- + _log.info("MaxCheatersTable Loaded: "+_map.size()+" npc to pc entry(s)");
- + }
- +
- + public L2MaxPolyModel getModelForID(int key)
- + {
- + return _map.get(key);
- + }
- +
- +}
- Index: D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/datatables/ArmorSetsTable.java
- ===================================================================
- --- D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/datatables/ArmorSetsTable.java (revision 4034)
- +++ D:/eclipse/workspace/L2_GameServer_It/java/net/sf/l2j/gameserver/datatables/ArmorSetsTable.java (working copy)
- @@ -43,7 +43,8 @@
- private static Logger _log = Logger.getLogger(ArmorSetsTable.class.getName());
- private static ArmorSetsTable _instance;
- - private FastMap<Integer,L2ArmorSet> _armorSets;
- + private FastMap<Integer, L2ArmorSet> _armorSets;
- + private final FastMap<Integer, ArmorDummy> _cusArmorSets;
- public static ArmorSetsTable getInstance()
- {
- @@ -53,7 +54,8 @@
- }
- private ArmorSetsTable()
- {
- - _armorSets = new FastMap<Integer,L2ArmorSet>();
- + _armorSets = new FastMap<Integer, L2ArmorSet>();
- + _cusArmorSets = new FastMap<Integer, ArmorDummy>();
- loadData();
- }
- private void loadData()
- @@ -62,11 +64,12 @@
- try
- {
- con = L2DatabaseFactory.getInstance().getConnection();
- - PreparedStatement statement = con.prepareStatement("SELECT chest, legs, head, gloves, feet, skill_id, shield, shield_skill_id, enchant6skill FROM armorsets");
- + PreparedStatement statement = con.prepareStatement("SELECT id, chest, legs, head, gloves, feet, skill_id, shield, shield_skill_id, enchant6skill FROM armorsets");
- ResultSet rset = statement.executeQuery();
- while(rset.next())
- {
- + int id = rset.getInt("id");
- int chest = rset.getInt("chest");
- int legs = rset.getInt("legs");
- int head = rset.getInt("head");
- @@ -77,6 +80,7 @@
- int shield_skill_id = rset.getInt("shield_skill_id");
- int enchant6skill = rset.getInt("enchant6skill");
- _armorSets.put(chest, new L2ArmorSet(chest, legs, head, gloves, feet,skill_id, shield, shield_skill_id, enchant6skill));
- + _cusArmorSets.put(id, new ArmorDummy(chest, legs, head, gloves, feet, skill_id, shield));
- }
- _log.config("ArmorSetsTable: Loaded "+_armorSets.size()+" armor sets.");
- @@ -98,4 +102,69 @@
- {
- return _armorSets.get(chestId);
- }
- +
- + /**
- + * @return Returns the cusArmorSets.
- + */
- + public ArmorDummy getCusArmorSets(int id)
- + {
- + return _cusArmorSets.get(id);
- + }
- +
- + public class ArmorDummy
- + {
- + private final int _chest;
- + private final int _legs;
- + private final int _head;
- + private final int _gloves;
- + private final int _feet;
- + private final int _skill_id;
- + private final int _shield;
- +
- + public ArmorDummy(int chest, int legs, int head, int gloves, int feet, int skill_id, int shield)
- + {
- + _chest = chest;
- + _legs = legs;
- + _head = head;
- + _gloves = gloves;
- + _feet = feet;
- + _skill_id = skill_id;
- + _shield = shield;
- + }
- +
- + public int getChest()
- + {
- + return _chest;
- + }
- +
- + public int getLegs()
- + {
- + return _legs;
- + }
- +
- + public int getHead()
- + {
- + return _head;
- + }
- +
- + public int getGloves()
- + {
- + return _gloves;
- + }
- +
- + public int getFeet()
- + {
- + return _feet;
- + }
- +
- + public int getSkill_id()
- + {
- + return _skill_id;
- + }
- +
- + public int getShield()
- + {
- + return _shield;
- + }
- + }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement