Target door skill condition.
This commit is contained in:
		| @@ -70,6 +70,7 @@ public class SkillConditionMasterHandler | ||||
| 		SkillConditionHandler.getInstance().registerHandler("CanUntransform", CanUntransformSkillCondition::new); | ||||
| 		SkillConditionHandler.getInstance().registerHandler("BuildAdvanceBase", BuildAdvanceBaseSkillCondition::new); | ||||
| 		SkillConditionHandler.getInstance().registerHandler("CanTransformInDominion", CanTransformInDominionSkillCondition::new); | ||||
| 		SkillConditionHandler.getInstance().registerHandler("OpTargetDoor", OpTargetDoorSkillCondition::new); | ||||
| 		SkillConditionHandler.getInstance().registerHandler("OpTargetNpc", OpTargetNpcSkillCondition::new); | ||||
| 		SkillConditionHandler.getInstance().registerHandler("OpHaveSummon", OpHaveSummonSkillCondition::new); | ||||
| 		SkillConditionHandler.getInstance().registerHandler("OpNotInstantzone", OpNotInstantzoneSkillCondition::new); | ||||
|   | ||||
| @@ -0,0 +1,44 @@ | ||||
| /* | ||||
|  * This file is part of the L2J Mobius project. | ||||
|  *  | ||||
|  * 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 handlers.skillconditionhandlers; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import com.l2jmobius.gameserver.model.L2Object; | ||||
| import com.l2jmobius.gameserver.model.StatsSet; | ||||
| import com.l2jmobius.gameserver.model.actor.L2Character; | ||||
| import com.l2jmobius.gameserver.model.skills.ISkillCondition; | ||||
| import com.l2jmobius.gameserver.model.skills.Skill; | ||||
|  | ||||
| /** | ||||
|  * @author Mobius | ||||
|  */ | ||||
| public class OpTargetDoorSkillCondition implements ISkillCondition | ||||
| { | ||||
| 	private final List<Integer> _doorIds; | ||||
| 	 | ||||
| 	public OpTargetDoorSkillCondition(StatsSet params) | ||||
| 	{ | ||||
| 		_doorIds = params.getList("doorIds", Integer.class); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
| 	public boolean canUse(L2Character caster, Skill skill, L2Object target) | ||||
| 	{ | ||||
| 		return (target != null) && target.isDoor() && _doorIds.contains(target.getId()); | ||||
| 	} | ||||
| } | ||||
| @@ -2037,6 +2037,18 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>19160002</item> | ||||
| 					<item>19160003</item> | ||||
| 					<item>19160004</item> | ||||
| 					<item>19160005</item> | ||||
| 					<item>19160006</item> | ||||
| 					<item>19160007</item> | ||||
| 					<item>19160008</item> | ||||
| 					<item>19160009</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 	</skill> | ||||
| 	<skill id="2236" toLevel="1" name="Chapel Key"> | ||||
| @@ -2057,6 +2069,20 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>19160002</item> | ||||
| 					<item>19160003</item> | ||||
| 					<item>19160004</item> | ||||
| 					<item>19160005</item> | ||||
| 					<item>19160006</item> | ||||
| 					<item>19160007</item> | ||||
| 					<item>19160008</item> | ||||
| 					<item>19160009</item> | ||||
| 					<item>19160010</item> | ||||
| 					<item>19160011</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -2083,6 +2109,16 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>19160012</item> | ||||
| 					<item>19160013</item> | ||||
| 					<item>19160014</item> | ||||
| 					<item>19160015</item> | ||||
| 					<item>19160016</item> | ||||
| 					<item>19160017</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -2109,6 +2145,12 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>23150003</item> | ||||
| 					<item>23150004</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
|   | ||||
| @@ -1470,6 +1470,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>16200002</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1496,6 +1501,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>16200005</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1522,6 +1532,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>16200009</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1548,6 +1563,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>16200003</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1574,6 +1594,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>16200007</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1600,6 +1625,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>16200008</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1626,6 +1656,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>16200010</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1652,6 +1687,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>16200006</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1678,6 +1718,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>16200011</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1704,6 +1749,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>16200012</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1752,6 +1802,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>20260001</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1778,6 +1833,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>20260006</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1804,6 +1864,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>20260002</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -1918,6 +1983,18 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>24220009</item> | ||||
| 					<item>24220011</item> | ||||
| 					<item>24220012</item> | ||||
| 					<item>24220014</item> | ||||
| 					<item>24220015</item> | ||||
| 					<item>24220016</item> | ||||
| 					<item>24220017</item> | ||||
| 					<item>24220019</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<cond msgId="113" addName="1"> | ||||
| 			<player instanceId="167" /> | ||||
| @@ -1947,6 +2024,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>24220040</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -2017,6 +2099,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>24220020</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -2043,6 +2130,11 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>24220022</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
|   | ||||
| @@ -145,6 +145,16 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>22110100</item> | ||||
| 					<item>22110101</item> | ||||
| 					<item>22110102</item> | ||||
| 					<item>22110103</item> | ||||
| 					<item>22110104</item> | ||||
| 					<item>22110105</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -720,6 +730,13 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>17240101</item> | ||||
| 					<item>17240105</item> | ||||
| 					<item>17240109</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
| @@ -744,6 +761,12 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>17240103</item> | ||||
| 					<item>17240107</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
|   | ||||
| @@ -214,6 +214,47 @@ | ||||
| 		<affectScope>RANGE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="CanUseSwoopCannon" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>19210001</item> | ||||
| 					<item>19210002</item> | ||||
| 					<item>19210003</item> | ||||
| 					<item>19210004</item> | ||||
| 					<item>20160001</item> | ||||
| 					<item>20160002</item> | ||||
| 					<item>20160007</item> | ||||
| 					<item>20160008</item> | ||||
| 					<item>20160009</item> | ||||
| 					<item>20220001</item> | ||||
| 					<item>20220002</item> | ||||
| 					<item>20220003</item> | ||||
| 					<item>20220004</item> | ||||
| 					<item>22130001</item> | ||||
| 					<item>22130002</item> | ||||
| 					<item>22130004</item> | ||||
| 					<item>22130005</item> | ||||
| 					<item>22190001</item> | ||||
| 					<item>22190002</item> | ||||
| 					<item>22190003</item> | ||||
| 					<item>22190004</item> | ||||
| 					<item>23220001</item> | ||||
| 					<item>23220002</item> | ||||
| 					<item>23220003</item> | ||||
| 					<item>23220004</item> | ||||
| 					<item>23250001</item> | ||||
| 					<item>23250002</item> | ||||
| 					<item>23250003</item> | ||||
| 					<item>23250004</item> | ||||
| 					<item>24160009</item> | ||||
| 					<item>24160010</item> | ||||
| 					<item>24160021</item> | ||||
| 					<item>24160022</item> | ||||
| 					<item>24180001</item> | ||||
| 					<item>24180002</item> | ||||
| 					<item>24180006</item> | ||||
| 					<item>24180011</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="PhysicalAttack"> | ||||
| @@ -240,6 +281,47 @@ | ||||
| 		<affectScope>RANGE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="CanUseSwoopCannon" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>19210001</item> | ||||
| 					<item>19210002</item> | ||||
| 					<item>19210003</item> | ||||
| 					<item>19210004</item> | ||||
| 					<item>20160001</item> | ||||
| 					<item>20160002</item> | ||||
| 					<item>20160007</item> | ||||
| 					<item>20160008</item> | ||||
| 					<item>20160009</item> | ||||
| 					<item>20220001</item> | ||||
| 					<item>20220002</item> | ||||
| 					<item>20220003</item> | ||||
| 					<item>20220004</item> | ||||
| 					<item>22130001</item> | ||||
| 					<item>22130002</item> | ||||
| 					<item>22130004</item> | ||||
| 					<item>22130005</item> | ||||
| 					<item>22190001</item> | ||||
| 					<item>22190002</item> | ||||
| 					<item>22190003</item> | ||||
| 					<item>22190004</item> | ||||
| 					<item>23220001</item> | ||||
| 					<item>23220002</item> | ||||
| 					<item>23220003</item> | ||||
| 					<item>23220004</item> | ||||
| 					<item>23250001</item> | ||||
| 					<item>23250002</item> | ||||
| 					<item>23250003</item> | ||||
| 					<item>23250004</item> | ||||
| 					<item>24160009</item> | ||||
| 					<item>24160010</item> | ||||
| 					<item>24160021</item> | ||||
| 					<item>24160022</item> | ||||
| 					<item>24180001</item> | ||||
| 					<item>24180002</item> | ||||
| 					<item>24180006</item> | ||||
| 					<item>24180011</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="PhysicalAttack"> | ||||
|   | ||||
| @@ -4508,6 +4508,12 @@ | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<conditions> | ||||
| 			<condition name="OpUnlock" /> | ||||
| 			<condition name="OpTargetDoor"> | ||||
| 				<doorIds> | ||||
| 					<item>23150001</item> | ||||
| 					<item>23150002</item> | ||||
| 				</doorIds> | ||||
| 			</condition> | ||||
| 		</conditions> | ||||
| 		<effects> | ||||
| 			<effect name="OpenDoor"> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDev
					MobiusDev