» Find Revision
L2J Revision 5133:
L2JDP Revision 8404:
HI,,,before a couple of years i was using Gracial Final server. A friend of mine has implement some custom staf which iam trying to apply them mannualy to the current last revision of Gracia Final. Iam not so good in java so i need some here.
The old code looks like this
net.sf.l2j.gameserver.network.clientpackets.UseItem.java
Code: Select all
if (item.getItem() instanceof L2Weapon) { // && // ((weaponItem != null && weaponItem != item.getItem()) || (weaponItem == // null))) String crystalType = ((L2Weapon) item.getItem()).getCrystal(); activeChar.sendMessage("Crystal Type: " + crystalType); String previousEquippedCrystalType = null; ExAutoSoulShot atk = null; if (weaponItem != null) { ETC..etc..etc
package net.sf.l2j.gameserver.templates.item.L2Weapon.java
Code: Select all
private final String _crystal; // ADDED!.... public L2Weapon(L2WeaponType type, StatsSet set) { super(type, set); _soulShotCount = set.getInteger("soulshots"); _spiritShotCount = set.getInteger("spiritshots"); _pDam = set.getInteger("p_dam"); _rndDam = set.getInteger("rnd_dam"); _critical = set.getInteger("critical"); _hitModifier = set.getDouble("hit_modify"); _avoidModifier = set.getInteger("avoid_modify"); _shieldDef = set.getInteger("shield_def"); _shieldDefRate = set.getDouble("shield_def_rate"); _atkSpeed = set.getInteger("atk_speed"); _atkReuse = set.getInteger("atk_reuse", (type == L2WeaponType.BOW) ? 1500 : (type == L2WeaponType.CROSSBOW) ? 1200 : 0); _mpConsume = set.getInteger("mp_consume"); _mDam = set.getInteger("m_dam"); _skill = set.getString("skill").split(";"); int sId = set.getInteger("enchant4_skill_id"); int sLv = set.getInteger("enchant4_skill_lvl"); if (sId > 0 && sLv > 0) _enchant4Skill = SkillTable.getInstance().getInfo(sId, sLv); sId = set.getInteger("onCast_skill_id"); sLv = set.getInteger("onCast_skill_lvl"); int sCh = set.getInteger("onCast_skill_chance"); if (sId > 0 && sLv > 0 && sCh > 0) { L2Skill skill = SkillTable.getInstance().getInfo(sId, sLv); //skill.attach(new ConditionGameChance(sCh),true); attachOnCast(skill, sCh); } sId = set.getInteger("onCrit_skill_id"); sLv = set.getInteger("onCrit_skill_lvl"); sCh = set.getInteger("onCrit_skill_chance"); if (sId > 0 && sLv > 0 && sCh > 0) { L2Skill skill = SkillTable.getInstance().getInfo(sId, sLv); //skill.attach(new ConditionGameChance(sCh),true); attachOnCrit(skill, sCh); } _changeWeaponId = set.getInteger("change_weaponId"); [b]_crystal = set.getString("crystal_type"); // ADDED![/b] } ... // ADDED! /** * Returns the Crystal type of the weapon (e.g. s,a,b,c,none) * @return */ public String getCrystal() { return _crystal; } // END ADDED!
Applying this code in the last revision of Gracia final is not working. Can any1 help implement this?
Iam trying to make soulshots to work without been placed in the inventory of character(Automatic). Thanks in advance.