Explorar o código

BETA: Added new effect '''!RefuelAirship''' and removed the old one.
* Removed itemHandlers '''!EnergyStarStone'''.
* Added new condition '''!ConditionPlayerCanRefuelAirship'''.
* Added some missing skills.
Reviewed by: Zoey76

Adry_85 %!s(int64=12) %!d(string=hai) anos
pai
achega
39b7ffd3be

+ 1 - 0
L2J_DataPack_BETA/dist/game/data/scripts/handlers/EffectMasterHandler.java

@@ -128,6 +128,7 @@ public final class EffectMasterHandler
 		RandomizeHate.class,
 		RebalanceHP.class,
 		Recovery.class,
+		RefuelAirship.class,
 		Relax.class,
 		RemoveTarget.class,
 		Restoration.class,

+ 0 - 4
L2J_DataPack_BETA/dist/game/data/scripts/handlers/MasterHandler.java

@@ -181,7 +181,6 @@ import handlers.itemhandlers.Disguise;
 import handlers.itemhandlers.Elixir;
 import handlers.itemhandlers.EnchantAttribute;
 import handlers.itemhandlers.EnchantScrolls;
-import handlers.itemhandlers.EnergyStarStone;
 import handlers.itemhandlers.EventItem;
 import handlers.itemhandlers.ExtractableItems;
 import handlers.itemhandlers.FishShots;
@@ -217,7 +216,6 @@ import handlers.skillhandlers.FishingSkill;
 import handlers.skillhandlers.GetPlayer;
 import handlers.skillhandlers.GiveReco;
 import handlers.skillhandlers.NornilsPower;
-import handlers.skillhandlers.RefuelAirShip;
 import handlers.skillhandlers.Resurrect;
 import handlers.skillhandlers.ShiftTarget;
 import handlers.skillhandlers.Sow;
@@ -497,7 +495,6 @@ public class MasterHandler
 			Elixir.class,
 			Disguise.class,
 			ManaPotion.class,
-			EnergyStarStone.class,
 			EventItem.class,
 		},
 		{
@@ -519,7 +516,6 @@ public class MasterHandler
 			GetPlayer.class,
 			GiveReco.class,
 			NornilsPower.class,
-			RefuelAirShip.class,
 			Resurrect.class,
 			ShiftTarget.class,
 			Sow.class,

+ 58 - 0
L2J_DataPack_BETA/dist/game/data/scripts/handlers/effecthandlers/RefuelAirship.java

@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2004-2013 L2J DataPack
+ * 
+ * This file is part of L2J DataPack.
+ * 
+ * L2J DataPack 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.
+ * 
+ * L2J DataPack 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 handlers.effecthandlers;
+
+import com.l2jserver.gameserver.model.actor.instance.L2AirShipInstance;
+import com.l2jserver.gameserver.model.effects.EffectTemplate;
+import com.l2jserver.gameserver.model.effects.L2Effect;
+import com.l2jserver.gameserver.model.effects.L2EffectType;
+import com.l2jserver.gameserver.model.stats.Env;
+
+/**
+ * Refuel Airship effect implementation.
+ * @author Adry_85
+ */
+public class RefuelAirship extends L2Effect
+{
+	public RefuelAirship(Env env, EffectTemplate template)
+	{
+		super(env, template);
+	}
+	
+	@Override
+	public L2EffectType getEffectType()
+	{
+		return L2EffectType.REFUEL_AIRSHIP;
+	}
+	
+	@Override
+	public boolean isInstant()
+	{
+		return true;
+	}
+	
+	@Override
+	public boolean onStart()
+	{
+		final L2AirShipInstance ship = getEffector().getActingPlayer().getAirShip();
+		ship.setFuel(ship.getFuel() + (int) calc());
+		ship.updateAbnormalEffect();
+		return true;
+	}
+}

+ 0 - 51
L2J_DataPack_BETA/dist/game/data/scripts/handlers/itemhandlers/EnergyStarStone.java

@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2004-2013 L2J DataPack
- * 
- * This file is part of L2J DataPack.
- * 
- * L2J DataPack 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.
- * 
- * L2J DataPack 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 handlers.itemhandlers;
-
-import com.l2jserver.gameserver.model.actor.L2Playable;
-import com.l2jserver.gameserver.model.actor.instance.L2AirShipInstance;
-import com.l2jserver.gameserver.model.actor.instance.L2ControllableAirShipInstance;
-import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
-import com.l2jserver.gameserver.network.SystemMessageId;
-import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
-import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
-
-public class EnergyStarStone extends ItemSkills
-{
-	@Override
-	public boolean useItem(L2Playable playable, L2ItemInstance item, boolean forceUse)
-	{
-		if (!playable.isPlayer())
-		{
-			playable.sendPacket(SystemMessageId.ITEM_NOT_FOR_PETS);
-			return false;
-		}
-		
-		final L2AirShipInstance ship = playable.getActingPlayer().getAirShip();
-		if ((ship == null) || !(ship instanceof L2ControllableAirShipInstance) || (ship.getFuel() >= ship.getMaxFuel()))
-		{
-			final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_CANNOT_BE_USED);
-			sm.addItemName(item);
-			playable.sendPacket(sm);
-			playable.sendPacket(ActionFailed.STATIC_PACKET);
-			return false;
-		}
-		return super.useItem(playable, item, forceUse);
-	}
-}

+ 0 - 59
L2J_DataPack_BETA/dist/game/data/scripts/handlers/skillhandlers/RefuelAirShip.java

@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2004-2013 L2J DataPack
- * 
- * This file is part of L2J DataPack.
- * 
- * L2J DataPack 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.
- * 
- * L2J DataPack 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 handlers.skillhandlers;
-
-import com.l2jserver.gameserver.handler.ISkillHandler;
-import com.l2jserver.gameserver.model.L2Object;
-import com.l2jserver.gameserver.model.actor.L2Character;
-import com.l2jserver.gameserver.model.actor.instance.L2AirShipInstance;
-import com.l2jserver.gameserver.model.actor.instance.L2ControllableAirShipInstance;
-import com.l2jserver.gameserver.model.skills.L2Skill;
-import com.l2jserver.gameserver.model.skills.L2SkillType;
-
-public class RefuelAirShip implements ISkillHandler
-{
-	private static final L2SkillType[] SKILL_IDS =
-	{
-		L2SkillType.REFUEL
-	};
-	
-	@Override
-	public void useSkill(L2Character activeChar, L2Skill skill, L2Object[] targets)
-	{
-		if (!activeChar.isPlayer())
-		{
-			return;
-		}
-		
-		final L2AirShipInstance ship = activeChar.getActingPlayer().getAirShip();
-		if ((ship == null) || !(ship instanceof L2ControllableAirShipInstance) || (ship.getFuel() >= ship.getMaxFuel()))
-		{
-			return;
-		}
-		
-		ship.setFuel(ship.getFuel() + (int) skill.getPower());
-		ship.updateAbnormalEffect(); // broadcast new fuel
-	}
-	
-	@Override
-	public L2SkillType[] getSkillIds()
-	{
-		return SKILL_IDS;
-	}
-}

+ 2 - 2
L2J_DataPack_BETA/dist/game/data/stats/items/13200-13299.xml

@@ -1580,7 +1580,7 @@
 		<set name="material" val="leather" />
 		<set name="weight" val="100" />
 		<set name="is_stackable" val="true" />
-		<set name="handler" val="EnergyStarStone" />
+		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="2647-1" />
 	</item>
 	<item id="13278" type="EtcItem" name="Greater Quality Energy Star Stone">
@@ -1589,7 +1589,7 @@
 		<set name="material" val="leather" />
 		<set name="weight" val="100" />
 		<set name="is_stackable" val="true" />
-		<set name="handler" val="EnergyStarStone" />
+		<set name="handler" val="ItemSkills" />
 		<set name="item_skill" val="2648-1" />
 	</item>
 	<item id="13279" type="EtcItem" name="Feather of Blessing 1-Sheet Pack">

+ 16 - 6
L2J_DataPack_BETA/dist/game/data/stats/skills/02600-02699.xml

@@ -623,24 +623,34 @@
 		</for>
 	</skill>
 	<skill id="2647" levels="1" name="Energy Star Stone">
-		<set name="hitTime" val="200" />
+		<!-- Confirmed CT2.5 -->
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="13277" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="25" />
-		<set name="skillType" val="REFUEL" />
 		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<player canRefuelAirship="25" />
+		</cond>
+		<for>
+			<effect name="RefuelAirship" noicon="1" val="25" />
+		</for>
 	</skill>
 	<skill id="2648" levels="1" name="High Quality Energy Star Stone">
-		<set name="hitTime" val="200" />
+		<!-- Confirmed CT2.5 -->
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="itemConsumeCount" val="1" />
+		<set name="itemConsumeId" val="13278" />
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
-		<set name="power" val="100" />
-		<set name="skillType" val="REFUEL" />
 		<set name="targetType" val="SELF" />
+		<cond msgId="113" addName="1">
+			<player canRefuelAirship="100" />
+		</cond>
+		<for>
+			<effect name="RefuelAirship" noicon="1" val="100" />
+		</for>
 	</skill>
 	<skill id="2649" levels="9" name="Escape - Gludin Village">
 		<!-- Confirmed CT2.5 -->

+ 46 - 15
L2J_DataPack_BETA/dist/game/data/stats/skills/03300-03399.xml

@@ -286,55 +286,86 @@
 		</for>
 	</skill>
 	<skill id="3328" levels="1" name="Double Stab">
+		<!-- Confirmed CT2.5 -->
+		<set name="castRange" val="40" />
 		<set name="coolTime" val="133" />
-		<set name="hitTime" val="1670" />
+		<set name="effectRange" val="400" />
+		<set name="hitTime" val="1667" />
 		<set name="icon" val="icon.weapon_dual_sword_i00" />
 		<set name="magicLvl" val="78" />
+		<set name="mpConsume" val="140" />
 		<set name="nextActionAttack" val="true" />
+		<set name="offensive" val="true" />
 		<set name="operateType" val="A1" />
+		<set name="power" val="11500" />
 		<set name="reuseDelay" val="60000" />
-		<set name="skillType" val="NOTDONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
+		<for>
+			<effect name="PhysicalAttack" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="3329" levels="1" name="Power Slash">
+		<!-- Confirmed CT2.5 -->
+		<set name="castRange" val="40" />
 		<set name="coolTime" val="133" />
-		<set name="hitTime" val="1670" />
+		<set name="effectRange" val="400" />
+		<set name="hitTime" val="1667" />
 		<set name="icon" val="icon.weapon_unique_zariche_i00" />
 		<set name="magicLvl" val="78" />
+		<set name="mpConsume" val="140" />
 		<set name="nextActionAttack" val="true" />
+		<set name="offensive" val="true" />
 		<set name="operateType" val="A1" />
+		<set name="power" val="11500" />
 		<set name="reuseDelay" val="60000" />
-		<set name="skillType" val="NOTDONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="ONE" />
+		<for>
+			<effect name="PhysicalAttack" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="3330" levels="1" name="Air Blade">
+		<!-- Confirmed CT2.5 -->
 		<set name="affectLimit" val="6-12" />
+		<set name="castRange" val="40" />
 		<set name="coolTime" val="720" />
+		<set name="effectRange" val="80" />
 		<set name="fanRange" val="0,0,80,150" />
 		<set name="hitTime" val="1080" />
 		<set name="icon" val="icon.skill3630" />
 		<set name="magicLvl" val="78" />
+		<set name="mpConsume" val="140" />
 		<set name="nextActionAttack" val="true" />
+		<set name="offensive" val="true" />
 		<set name="operateType" val="A1" />
+		<set name="power" val="15000" />
 		<set name="reuseDelay" val="60000" />
-		<set name="skillType" val="NOTDONE" />
 		<set name="targetType" val="FRONT_AREA" />
+		<for>
+			<effect name="PhysicalAttack" noicon="1" val="0" />
+		</for>
 	</skill>
 	<skill id="3331" levels="1" name="Enslave">
-		<set name="abnormalLvl" val="3" />
-		<set name="abnormalTime" val="30" />
-		<set name="abnormalType" val="ATTACK_TIME_UP" />
+		<!-- Confirmed CT2.5 -->
+		<!-- <set name="abnormalLvl" val="3" /> -->
+		<!-- <set name="abnormalTime" val="30" /> -->
+		<!-- <set name="abnormalType" val="ATTACK_TIME_UP" /> -->
 		<set name="affectLimit" val="10-10" />
+		<set name="effectRange" val="200" />
 		<set name="hitTime" val="3000" />
 		<set name="icon" val="icon.skill3631" />
-		<set name="lvlBonusRate" val="1" />
+		<!-- <set name="isDebuff" val="true" /> -->
+		<!-- <set name="lvlBonusRate" val="1" /> -->
 		<set name="magicLvl" val="78" />
-		<set name="operateType" val="A2" />
+		<set name="mpConsume" val="200" />
+		<set name="offensive" val="true" />
+		<set name="operateType" val="A1" /> <!-- Should be A2 -->
+		<set name="power" val="200" />
 		<set name="reuseDelay" val="8000" />
 		<set name="saveVs" val="MEN" />
-		<set name="skillType" val="NOTDONE" />
-		<set name="staticReuse" val="true" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="AURA" />
+		<for>
+			<effect name="HpDrain" noicon="1" val="0.05" />
+		</for>
 	</skill>
 	<skill id="3332" levels="1" name="Orange Talisman - Hot Springs Recovery">
 		<!-- Confirmed CT2.5 -->

+ 1 - 1
L2J_DataPack_BETA/dist/game/data/stats/skills/09000-09099.xml

@@ -927,7 +927,7 @@
 	</skill>
 	<skill id="9061" levels="1" name="Uldie Summon Scroll">
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
-		<set name="magicLvl" val="40" />
+		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="10000" />
 		<set name="skillType" val="NOTDONE" />

+ 5 - 2
L2J_DataPack_BETA/dist/game/data/stats/skills/21000-21099.xml

@@ -53,6 +53,7 @@
 		</for>
 	</skill>
 	<skill id="21004" levels="1" name="Wind Walk">
+		<!-- Confirmed CT2.5 -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="120" />
 		<set name="abnormalType" val="SPEED_UP" />
@@ -71,11 +72,13 @@
 		</for>
 	</skill>
 	<skill id="21005" levels="1" name="Agility">
+		<!-- Confirmed CT2.5 -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="3600" />
 		<set name="abnormalType" val="AVOID_UP" />
 		<set name="hitTime" val="4000" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
+		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="86400000" />
 		<set name="skillType" val="BUFF" />
@@ -87,13 +90,13 @@
 		</for>
 	</skill>
 	<skill id="21006" levels="1" name="Large Firework Effect">
+		<!-- Confirmed CT2.5 -->
 		<set name="icon" val="BranchSys.icon.br_Afro_hair_i00" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="magicLvl" val="1" />
 		<set name="operateType" val="A1" />
 		<set name="reuseDelay" val="3600000" />
-		<set name="skillType" val="NOTDONE" />
-		<set name="targetType" val="NONE" />
+		<set name="targetType" val="SELF" />
 	</skill>
 	<skill id="21007" levels="1" name="Ability of Doubt">
 		<!-- Confirmed CT2.5 -->

+ 17 - 5
L2J_DataPack_BETA/dist/game/data/stats/skills/23000-23099.xml

@@ -1108,11 +1108,11 @@
 		</cond>
 	</skill>
 	<skill id="23068" levels="1" name="Pomona Agathion Special Skill - Mental Shield Ability">
-		<!-- Increases resistance to hold/sleep/abnormal mental attacks by 50 for 10 minutes. Reuse Delay 1 hours -->
+		<!-- Confirmed CT2.5 -->
 		<set name="abnormalLvl" val="26" />
 		<set name="abnormalTime" val="600" />
 		<set name="abnormalType" val="RESIST_DERANGEMENT" />
-		<set name="hitTime" val="3000" />
+		<set name="hitTime" val="6000" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="operateType" val="A2" />
 		<set name="reuseDelay" val="3600000" />
@@ -1130,16 +1130,28 @@
 		</for>
 	</skill>
 	<skill id="23069" levels="1" name="Threatening Roar">
-		<!-- Decreases moving speed and Atk. Spd. by 80% for 10 seconds. -->
+		<!-- Confirmed CT2.5 -->
 		<set name="abnormalLvl" val="1" />
 		<set name="abnormalTime" val="10" />
 		<set name="abnormalType" val="SPEED_DOWN" />
+		<set name="castRange" val="600" />
+		<set name="effectRange" val="600" />
+		<set name="hitTime" val="7000" />
 		<set name="icon" val="icon.skill1289" />
+		<set name="isDebuff" val="true" />
 		<set name="isMagic" val="2" /> <!-- Static Skill -->
 		<set name="magicLvl" val="-1" />
 		<set name="operateType" val="A2" />
-		<set name="skillType" val="NOTDONE" />
-		<set name="targetType" val="NONE" />
+		<set name="power" val="-1" /> <!-- Land Always -->
+		<set name="skillType" val="DEBUFF" />
+		<set name="targetType" val="ONE" />
+		<!-- TODO: Add new operate condition check_abnormal -->
+		<for>
+			<effect name="Debuff" val="0">
+				<mul order="0x30" stat="pAtkSpd" val="0.2" />
+				<mul order="0x30" stat="runSpd" val="0.2" />
+			</effect>
+		</for>
 	</skill>
 	<skill id="23070" levels="1" name="Red Flame">
 		<!-- Cannot damage the spirit for 10 seconds. Exclusive use for the Reckless Spirit of Fire. -->