Raidboss changes.
Contributed by champzix1.
This commit is contained in:
		| @@ -847,7 +847,7 @@ public class Trasken extends AbstractNpcAI | ||||
| 			{ | ||||
| 				tie_trasken = addSpawn(TAIL_TRASKEN, CENTER_LOCATION, false, 0, true); | ||||
| 				hp_tail = tie_trasken.getCurrentHp(); | ||||
| 				startQuestTimer("spawn_rnd", 30000, tie_trasken, null); | ||||
| 				startQuestTimer("spawn_rnd", 3000000, tie_trasken, null); | ||||
| 				break; | ||||
| 			} | ||||
| 			case 3: | ||||
| @@ -858,7 +858,7 @@ public class Trasken extends AbstractNpcAI | ||||
| 				trasken.doCast(SKILL_TRASKEN_UP.getSkill()); | ||||
| 				hp_trasken = trasken.getCurrentHp(); | ||||
| 				 | ||||
| 				startQuestTimer("spawn_rnd", 70000, trasken, null); | ||||
| 				startQuestTimer("spawn_rnd", 9000000, trasken, null); | ||||
| 				for (Location loc : Spawn_Larva_1) | ||||
| 				{ | ||||
| 					addSpawn(LAVRA_1, loc, false, 0, true); | ||||
|   | ||||
| @@ -16,32 +16,23 @@ | ||||
|  */ | ||||
| package ai.bosses.Valakas; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| import org.l2jmobius.Config; | ||||
| import org.l2jmobius.gameserver.ai.CtrlIntention; | ||||
| import org.l2jmobius.gameserver.data.xml.impl.SkillData; | ||||
| import org.l2jmobius.gameserver.enums.MountType; | ||||
| import org.l2jmobius.gameserver.geoengine.GeoEngine; | ||||
| import org.l2jmobius.gameserver.instancemanager.GrandBossManager; | ||||
| import org.l2jmobius.gameserver.instancemanager.ZoneManager; | ||||
| import org.l2jmobius.gameserver.model.Location; | ||||
| import org.l2jmobius.gameserver.model.StatsSet; | ||||
| import org.l2jmobius.gameserver.model.World; | ||||
| import org.l2jmobius.gameserver.model.actor.Npc; | ||||
| import org.l2jmobius.gameserver.model.actor.Playable; | ||||
| import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; | ||||
| import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; | ||||
| import org.l2jmobius.gameserver.model.holders.SkillHolder; | ||||
| import org.l2jmobius.gameserver.model.skills.BuffInfo; | ||||
| import org.l2jmobius.gameserver.model.skills.Skill; | ||||
| import org.l2jmobius.gameserver.model.skills.SkillCaster; | ||||
| import org.l2jmobius.gameserver.model.zone.ZoneType; | ||||
| import org.l2jmobius.gameserver.network.serverpackets.PlaySound; | ||||
| import org.l2jmobius.gameserver.network.serverpackets.SocialAction; | ||||
| import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera; | ||||
| import org.l2jmobius.gameserver.util.Util; | ||||
|  | ||||
| import ai.AbstractNpcAI; | ||||
|  | ||||
| @@ -54,36 +45,36 @@ public final class Valakas extends AbstractNpcAI | ||||
| 	// NPC | ||||
| 	private static final int VALAKAS = 29028; | ||||
| 	// Skills | ||||
| 	private static final SkillHolder VALAKAS_LAVA_SKIN = new SkillHolder(4680, 1); | ||||
| 	// private static final SkillHolder VALAKAS_LAVA_SKIN = new SkillHolder(4680, 1); | ||||
| 	private static final int VALAKAS_REGENERATION = 4691; | ||||
| 	 | ||||
| 	private static final SkillHolder[] VALAKAS_REGULAR_SKILLS = | ||||
| 	{ | ||||
| 		new SkillHolder(4681, 1), // Valakas Trample | ||||
| 		new SkillHolder(4682, 1), // Valakas Trample | ||||
| 		new SkillHolder(4683, 1), // Valakas Dragon Breath | ||||
| 		new SkillHolder(4689, 1), // Valakas Fear TODO: has two levels only level one is used. | ||||
| 	}; | ||||
| 	 | ||||
| 	private static final SkillHolder[] VALAKAS_LOWHP_SKILLS = | ||||
| 	{ | ||||
| 		new SkillHolder(4681, 1), // Valakas Trample | ||||
| 		new SkillHolder(4682, 1), // Valakas Trample | ||||
| 		new SkillHolder(4683, 1), // Valakas Dragon Breath | ||||
| 		new SkillHolder(4689, 1), // Valakas Fear TODO: has two levels only level one is used. | ||||
| 		new SkillHolder(4690, 1), // Valakas Meteor Storm | ||||
| 	}; | ||||
| 	 | ||||
| 	private static final SkillHolder[] VALAKAS_AOE_SKILLS = | ||||
| 	{ | ||||
| 		new SkillHolder(4683, 1), // Valakas Dragon Breath | ||||
| 		new SkillHolder(4684, 1), // Valakas Dragon Breath | ||||
| 		new SkillHolder(4685, 1), // Valakas Tail Stomp | ||||
| 		new SkillHolder(4686, 1), // Valakas Tail Stomp | ||||
| 		new SkillHolder(4688, 1), // Valakas Stun | ||||
| 		new SkillHolder(4689, 1), // Valakas Fear TODO: has two levels only level one is used. | ||||
| 		new SkillHolder(4690, 1), // Valakas Meteor Storm | ||||
| 	}; | ||||
| 	// private static final SkillHolder[] VALAKAS_REGULAR_SKILLS = | ||||
| 	// { | ||||
| 	// new SkillHolder(4681, 1), // Valakas Trample | ||||
| 	// new SkillHolder(4682, 1), // Valakas Trample | ||||
| 	// new SkillHolder(4683, 1), // Valakas Dragon Breath | ||||
| 	// new SkillHolder(4689, 1), // Valakas Fear TODO: has two levels only level one is used. | ||||
| 	// }; | ||||
| 	// | ||||
| 	// private static final SkillHolder[] VALAKAS_LOWHP_SKILLS = | ||||
| 	// { | ||||
| 	// new SkillHolder(4681, 1), // Valakas Trample | ||||
| 	// new SkillHolder(4682, 1), // Valakas Trample | ||||
| 	// new SkillHolder(4683, 1), // Valakas Dragon Breath | ||||
| 	// new SkillHolder(4689, 1), // Valakas Fear TODO: has two levels only level one is used. | ||||
| 	// new SkillHolder(4690, 1), // Valakas Meteor Storm | ||||
| 	// }; | ||||
| 	// | ||||
| 	// private static final SkillHolder[] VALAKAS_AOE_SKILLS = | ||||
| 	// { | ||||
| 	// new SkillHolder(4683, 1), // Valakas Dragon Breath | ||||
| 	// new SkillHolder(4684, 1), // Valakas Dragon Breath | ||||
| 	// new SkillHolder(4685, 1), // Valakas Tail Stomp | ||||
| 	// new SkillHolder(4686, 1), // Valakas Tail Stomp | ||||
| 	// new SkillHolder(4688, 1), // Valakas Stun | ||||
| 	// new SkillHolder(4689, 1), // Valakas Fear TODO: has two levels only level one is used. | ||||
| 	// new SkillHolder(4690, 1), // Valakas Meteor Storm | ||||
| 	// }; | ||||
| 	 | ||||
| 	// Locations | ||||
| 	private static final Location TELEPORT_CUBE_LOCATIONS[] = | ||||
| @@ -114,7 +105,7 @@ public final class Valakas extends AbstractNpcAI | ||||
| 	private static final byte DEAD = 3; // Valakas has been killed. Entry is locked. | ||||
| 	// Misc | ||||
| 	private long _timeTracker = 0; // Time tracker for last attack on Valakas. | ||||
| 	private Playable _actualVictim; // Actual target of Valakas. | ||||
| 	// private Playable _actualVictim; // Actual target of Valakas. | ||||
| 	private static ZoneType ZONE; | ||||
| 	 | ||||
| 	private Valakas() | ||||
| @@ -355,10 +346,10 @@ public final class Valakas extends AbstractNpcAI | ||||
| 				 | ||||
| 				startQuestTimer("remove_players", 900000, null, null); | ||||
| 			} | ||||
| 			else if (event.equalsIgnoreCase("skill_task")) | ||||
| 			{ | ||||
| 				callSkillAI(npc); | ||||
| 			} | ||||
| 			// else if (event.equalsIgnoreCase("skill_task")) | ||||
| 			// { | ||||
| 			// callSkillAI(npc); | ||||
| 			// } | ||||
| 		} | ||||
| 		else if (event.equalsIgnoreCase("valakas_unlock")) | ||||
| 		{ | ||||
| @@ -373,12 +364,12 @@ public final class Valakas extends AbstractNpcAI | ||||
| 		return super.onAdvEvent(event, npc, player); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
| 	public String onSpawn(Npc npc) | ||||
| 	{ | ||||
| 		npc.disableCoreAI(true); | ||||
| 		return super.onSpawn(npc); | ||||
| 	} | ||||
| 	// @Override | ||||
| 	// public String onSpawn(Npc npc) | ||||
| 	// { | ||||
| 	// npc.disableCoreAI(true); | ||||
| 	// return super.onSpawn(npc); | ||||
| 	// } | ||||
| 	 | ||||
| 	@Override | ||||
| 	public String onAttack(Npc npc, PlayerInstance attacker, int damage, boolean isSummon) | ||||
| @@ -449,105 +440,105 @@ public final class Valakas extends AbstractNpcAI | ||||
| 		return super.onKill(npc, killer, isSummon); | ||||
| 	} | ||||
| 	 | ||||
| 	@Override | ||||
| 	public String onAggroRangeEnter(Npc npc, PlayerInstance player, boolean isSummon) | ||||
| 	{ | ||||
| 		return null; | ||||
| 	} | ||||
| 	 | ||||
| 	private void callSkillAI(Npc npc) | ||||
| 	{ | ||||
| 		if (npc.isInvul() || npc.isCastingNow(SkillCaster::isAnyNormalType)) | ||||
| 		{ | ||||
| 			return; | ||||
| 		} | ||||
| 		 | ||||
| 		// Pickup a target if no or dead victim. 10% luck he decides to reconsiders his target. | ||||
| 		if ((_actualVictim == null) || _actualVictim.isDead() || !(npc.isInSurroundingRegion(_actualVictim)) || (getRandom(10) == 0)) | ||||
| 		{ | ||||
| 			_actualVictim = getRandomTarget(npc); | ||||
| 		} | ||||
| 		 | ||||
| 		// If result is still null, Valakas will roam. Don't go deeper in skill AI. | ||||
| 		if (_actualVictim == null) | ||||
| 		{ | ||||
| 			if (getRandom(10) == 0) | ||||
| 			{ | ||||
| 				final int posX = npc.getX() + getRandom(-1400, 1400); | ||||
| 				final int posY = npc.getY() + getRandom(-1400, 1400); | ||||
| 				if (GeoEngine.getInstance().canMoveToTarget(npc.getX(), npc.getY(), npc.getZ(), posX, posY, npc.getZ(), npc.getInstanceWorld())) | ||||
| 				{ | ||||
| 					npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(posX, posY, npc.getZ(), 0)); | ||||
| 				} | ||||
| 			} | ||||
| 			return; | ||||
| 		} | ||||
| 		 | ||||
| 		final Skill skill = getRandomSkill(npc).getSkill(); | ||||
| 		 | ||||
| 		// Cast the skill or follow the target. | ||||
| 		if (Util.checkIfInRange((skill.getCastRange() < 600) ? 600 : skill.getCastRange(), npc, _actualVictim, true)) | ||||
| 		{ | ||||
| 			npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); | ||||
| 			npc.setTarget(_actualVictim); | ||||
| 			npc.doCast(skill); | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			npc.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, _actualVictim, null); | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	/** | ||||
| 	 * Pick a random skill.<br> | ||||
| 	 * Valakas will mostly use utility skills. If Valakas feels surrounded, he will use AoE skills.<br> | ||||
| 	 * Lower than 50% HPs, he will begin to use Meteor skill. | ||||
| 	 * @param npc valakas | ||||
| 	 * @return a skill holder | ||||
| 	 */ | ||||
| 	private SkillHolder getRandomSkill(Npc npc) | ||||
| 	{ | ||||
| 		final int hpRatio = (int) ((npc.getCurrentHp() / npc.getMaxHp()) * 100); | ||||
| 		 | ||||
| 		// Valakas Lava Skin has priority. | ||||
| 		if ((hpRatio < 75) && (getRandom(150) == 0) && !npc.isAffectedBySkill(VALAKAS_LAVA_SKIN.getSkillId())) | ||||
| 		{ | ||||
| 			return VALAKAS_LAVA_SKIN; | ||||
| 		} | ||||
| 		 | ||||
| 		// Valakas will use mass spells if he feels surrounded. | ||||
| 		if (World.getInstance().getVisibleObjectsInRange(npc, PlayerInstance.class, 1200).size() >= 20) | ||||
| 		{ | ||||
| 			return VALAKAS_AOE_SKILLS[getRandom(VALAKAS_AOE_SKILLS.length)]; | ||||
| 		} | ||||
| 		 | ||||
| 		if (hpRatio > 50) | ||||
| 		{ | ||||
| 			return VALAKAS_REGULAR_SKILLS[getRandom(VALAKAS_REGULAR_SKILLS.length)]; | ||||
| 		} | ||||
| 		 | ||||
| 		return VALAKAS_LOWHP_SKILLS[getRandom(VALAKAS_LOWHP_SKILLS.length)]; | ||||
| 	} | ||||
| 	 | ||||
| 	/** | ||||
| 	 * Pickup a random Playable from the zone, deads targets aren't included. | ||||
| 	 * @param npc | ||||
| 	 * @return a random Playable. | ||||
| 	 */ | ||||
| 	private Playable getRandomTarget(Npc npc) | ||||
| 	{ | ||||
| 		final List<Playable> result = new ArrayList<>(); | ||||
| 		 | ||||
| 		World.getInstance().forEachVisibleObject(npc, Playable.class, obj -> | ||||
| 		{ | ||||
| 			if (!obj.isPet() && !obj.isDead()) | ||||
| 			{ | ||||
| 				result.add(obj); | ||||
| 			} | ||||
| 		}); | ||||
| 		 | ||||
| 		return (result.isEmpty()) ? null : result.get(getRandom(result.size())); | ||||
| 	} | ||||
| 	// @Override | ||||
| 	// public String onAggroRangeEnter(Npc npc, PlayerInstance player, boolean isSummon) | ||||
| 	// { | ||||
| 	// return null; | ||||
| 	// } | ||||
| 	// | ||||
| 	// private void callSkillAI(Npc npc) | ||||
| 	// { | ||||
| 	// if (npc.isInvul() || npc.isCastingNow(SkillCaster::isAnyNormalType)) | ||||
| 	// { | ||||
| 	// return; | ||||
| 	// } | ||||
| 	// | ||||
| 	// // Pickup a target if no or dead victim. 10% luck he decides to reconsiders his target. | ||||
| 	// if ((_actualVictim == null) || _actualVictim.isDead() || !(npc.isInSurroundingRegion(_actualVictim)) || (getRandom(10) == 0)) | ||||
| 	// { | ||||
| 	// _actualVictim = getRandomTarget(npc); | ||||
| 	// } | ||||
| 	// | ||||
| 	// // If result is still null, Valakas will roam. Don't go deeper in skill AI. | ||||
| 	// if (_actualVictim == null) | ||||
| 	// { | ||||
| 	// if (getRandom(10) == 0) | ||||
| 	// { | ||||
| 	// final int posX = npc.getX() + getRandom(-1400, 1400); | ||||
| 	// final int posY = npc.getY() + getRandom(-1400, 1400); | ||||
| 	// if (GeoEngine.getInstance().canMoveToTarget(npc.getX(), npc.getY(), npc.getZ(), posX, posY, npc.getZ(), npc.getInstanceWorld())) | ||||
| 	// { | ||||
| 	// npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(posX, posY, npc.getZ(), 0)); | ||||
| 	// } | ||||
| 	// } | ||||
| 	// return; | ||||
| 	// } | ||||
| 	// | ||||
| 	// final Skill skill = getRandomSkill(npc).getSkill(); | ||||
| 	// | ||||
| 	// // Cast the skill or follow the target. | ||||
| 	// if (Util.checkIfInRange((skill.getCastRange() < 600) ? 600 : skill.getCastRange(), npc, _actualVictim, true)) | ||||
| 	// { | ||||
| 	// npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); | ||||
| 	// npc.setTarget(_actualVictim); | ||||
| 	// npc.doCast(skill); | ||||
| 	// } | ||||
| 	// else | ||||
| 	// { | ||||
| 	// npc.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, _actualVictim, null); | ||||
| 	// } | ||||
| 	// } | ||||
| 	// | ||||
| 	// /** | ||||
| 	// * Pick a random skill.<br> | ||||
| 	// * Valakas will mostly use utility skills. If Valakas feels surrounded, he will use AoE skills.<br> | ||||
| 	// * Lower than 50% HPs, he will begin to use Meteor skill. | ||||
| 	// * @param npc valakas | ||||
| 	// * @return a skill holder | ||||
| 	// */ | ||||
| 	// private SkillHolder getRandomSkill(Npc npc) | ||||
| 	// { | ||||
| 	// final int hpRatio = (int) ((npc.getCurrentHp() / npc.getMaxHp()) * 100); | ||||
| 	// | ||||
| 	// // Valakas Lava Skin has priority. | ||||
| 	// if ((hpRatio < 75) && (getRandom(150) == 0) && !npc.isAffectedBySkill(VALAKAS_LAVA_SKIN.getSkillId())) | ||||
| 	// { | ||||
| 	// return VALAKAS_LAVA_SKIN; | ||||
| 	// } | ||||
| 	// | ||||
| 	// // Valakas will use mass spells if he feels surrounded. | ||||
| 	// if (World.getInstance().getVisibleObjectsInRange(npc, PlayerInstance.class, 1200).size() >= 20) | ||||
| 	// { | ||||
| 	// return VALAKAS_AOE_SKILLS[getRandom(VALAKAS_AOE_SKILLS.length)]; | ||||
| 	// } | ||||
| 	// | ||||
| 	// if (hpRatio > 50) | ||||
| 	// { | ||||
| 	// return VALAKAS_REGULAR_SKILLS[getRandom(VALAKAS_REGULAR_SKILLS.length)]; | ||||
| 	// } | ||||
| 	// | ||||
| 	// return VALAKAS_LOWHP_SKILLS[getRandom(VALAKAS_LOWHP_SKILLS.length)]; | ||||
| 	// } | ||||
| 	// | ||||
| 	// /** | ||||
| 	// * Pickup a random Playable from the zone, deads targets aren't included. | ||||
| 	// * @param npc | ||||
| 	// * @return a random Playable. | ||||
| 	// */ | ||||
| 	// private Playable getRandomTarget(Npc npc) | ||||
| 	// { | ||||
| 	// final List<Playable> result = new ArrayList<>(); | ||||
| 	// | ||||
| 	// World.getInstance().forEachVisibleObject(npc, Playable.class, obj -> | ||||
| 	// { | ||||
| 	// if (!obj.isPet() && !obj.isDead()) | ||||
| 	// { | ||||
| 	// result.add(obj); | ||||
| 	// } | ||||
| 	// }); | ||||
| 	// | ||||
| 	// return (result.isEmpty()) ? null : result.get(getRandom(result.size())); | ||||
| 	// } | ||||
| 	 | ||||
| 	public static void main(String[] args) | ||||
| 	{ | ||||
|   | ||||
| @@ -3247,8 +3247,8 @@ | ||||
| 		<mpReward value="20" type="PER" ticks="10" affects="PARTY" /> | ||||
| 		<stats str="164" int="188" dex="55" wit="78" con="111" men="149"> | ||||
| 			<vitals hp="35459535.30342" hpRegen="23103.5" mp="44856" mpRegen="30" /> | ||||
| 			<attack physical="128810.835640155" magical="7231" random="10" critical="4" accuracy="0" attackSpeed="253" type="FIST" range="40" distance="80" width="120" /> | ||||
| 			<defence physical="3468" magical="1981" /> | ||||
| 			<attack physical="214683.835640155" magical="34104.0387932822" random="10" critical="4" accuracy="0" attackSpeed="253" type="FIST" range="40" distance="80" width="120" /> | ||||
| 			<defence physical="17685" magical="10155" /> | ||||
| 			<speed> | ||||
| 				<walk ground="60" /> | ||||
| 				<run ground="180" /> | ||||
| @@ -3481,8 +3481,8 @@ | ||||
| 		<mpReward value="20" type="PER" ticks="10" affects="PARTY" /> | ||||
| 		<stats str="164" int="188" dex="55" wit="78" con="111" men="149"> | ||||
| 			<vitals hp="19240798.98207" hpRegen="9827.1" mp="39048" mpRegen="30" /> | ||||
| 			<attack physical="55253.562042107" magical="5006" random="10" critical="4" accuracy="0" attackSpeed="253" type="FIST" range="40" distance="80" width="120" /> | ||||
| 			<defence physical="2960" magical="1626" /> | ||||
| 			<attack physical="108740.05311" magical="18875.915859" random="10" critical="4" accuracy="0" attackSpeed="253" type="FIST" range="40" distance="80" width="120" /> | ||||
| 			<defence physical="19210.828167" magical="9370.70992" /> | ||||
| 			<speed> | ||||
| 				<walk ground="70" /> | ||||
| 				<run ground="140" /> | ||||
| @@ -3589,8 +3589,8 @@ | ||||
| 		<mpReward value="53" type="DIFF" ticks="10" affects="PARTY" /> | ||||
| 		<stats str="164" int="188" dex="55" wit="78" con="111" men="149"> | ||||
| 			<vitals hp="21357837.419145" hpRegen="10667.3" mp="41920" mpRegen="30" /> | ||||
| 			<attack physical="66344.3340380442" magical="6016" random="10" critical="4" accuracy="0" attackSpeed="253" type="FIST" range="40" distance="80" width="120" /> | ||||
| 			<defence physical="3204" magical="1795" /> | ||||
| 			<attack physical="110573.05311" magical="20640.02495" random="10" critical="4" accuracy="0" attackSpeed="253" type="FIST" range="40" distance="80" width="120" /> | ||||
| 			<defence physical="21005.176917" magical="10245.529071" /> | ||||
| 			<speed> | ||||
| 				<walk ground="70" /> | ||||
| 				<run ground="140" /> | ||||
| @@ -3692,8 +3692,8 @@ | ||||
| 		<mpReward value="20" type="PER" ticks="10" affects="PARTY" /> | ||||
| 		<stats str="164" int="188" dex="55" wit="78" con="111" men="149"> | ||||
| 			<vitals hp="15744949.44027" hpRegen="10704.9" mp="43380" mpRegen="30" /> | ||||
| 			<attack physical="77439.5246547926" magical="6591" random="10" critical="4" accuracy="0" attackSpeed="253" type="FIST" range="40" distance="80" width="120" /> | ||||
| 			<defence physical="3333" magical="1886" /> | ||||
| 			<attack physical="185920.60661" magical="32950.821824" random="10" critical="4" accuracy="0" attackSpeed="253" type="FIST" range="40" distance="80" width="120" /> | ||||
| 			<defence physical="21930.340408" magical="10695.860414" /> | ||||
| 			<speed> | ||||
| 				<walk ground="70" /> | ||||
| 				<run ground="140" /> | ||||
|   | ||||
| @@ -408,8 +408,8 @@ | ||||
| 				<walk ground="50" /> | ||||
| 				<run ground="300" /> | ||||
| 			</speed> | ||||
| 			<attack physical="59025.2573487332" magical="8304.88513767892" critical="4" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" accuracy="5" /> | ||||
| 			<defence physical="3679.90243035914" magical="2133.38489847112" /> | ||||
| 			<attack physical="236100.20588" magical="41520.885138" critical="4" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" accuracy="5" /> | ||||
| 			<defence physical="24330.717385" magical="11870.210597" /> | ||||
| 			<attribute> | ||||
| 				<defence fire="450" water="450" wind="450" earth="400" holy="450" dark="450" /> | ||||
| 				<attack type="WIND" value="450" /> | ||||
| @@ -489,8 +489,8 @@ | ||||
| 				<walk ground="50" /> | ||||
| 				<run ground="180" /> | ||||
| 			</speed> | ||||
| 			<attack physical="59025.2573487332" magical="8304.88513767892" critical="4" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" accuracy="5" /> | ||||
| 			<defence physical="2943.92194428731" magical="1706.70791877689" /> | ||||
| 			<attack physical="236100.20588" magical="41520.885138" critical="4" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" accuracy="5" /> | ||||
| 			<defence physical="24330.717385" magical="11870.210597" /> | ||||
| 			<attribute> | ||||
| 				<defence fire="450" water="450" wind="450" earth="400" holy="450" dark="450" /> | ||||
| 				<attack type="WIND" value="450" /> | ||||
| @@ -532,8 +532,8 @@ | ||||
| 				<walk ground="50" /> | ||||
| 				<run ground="180" /> | ||||
| 			</speed> | ||||
| 			<attack physical="59025.2573487332" magical="8304.88513767892" critical="4" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" accuracy="5" /> | ||||
| 			<defence physical="2355.13755542985" magical="1365.36633502151" /> | ||||
| 			<attack physical="236100.20588" magical="41520.885138" critical="4" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" accuracy="5" /> | ||||
| 			<defence physical="24330.717385" magical="11870.210597" /> | ||||
| 			<attribute> | ||||
| 				<defence fire="450" water="450" wind="450" earth="400" holy="450" dark="450" /> | ||||
| 				<attack type="WIND" value="450" /> | ||||
| @@ -685,8 +685,8 @@ | ||||
| 				<walk ground="34" /> | ||||
| 				<run ground="180" /> | ||||
| 			</speed> | ||||
| 			<attack physical="45027.4086463771" magical="7933.39078546243" critical="4" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" accuracy="5" /> | ||||
| 			<defence physical="3607.74748074426" magical="2081.35112045963" /> | ||||
| 			<attack physical="236100.20588" magical="41520.885138" critical="4" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" accuracy="5" /> | ||||
| 			<defence physical="24330.717385" magical="11870.210597" /> | ||||
| 			<attribute> | ||||
| 				<defence fire="350" water="350" wind="350" earth="350" holy="300" dark="350" /> | ||||
| 				<attack type="DARK" value="430" /> | ||||
| @@ -991,8 +991,8 @@ | ||||
| 				<walk ground="120" /> | ||||
| 				<run ground="240" /> | ||||
| 			</speed> | ||||
| 			<attack physical="47220.2058789866" magical="8304.88513767892" critical="4" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" accuracy="5" /> | ||||
| 			<defence physical="3679.90243035914" magical="2133.38489847112" /> | ||||
| 			<attack physical="236100.20588" magical="41520.885138" critical="4" attackSpeed="253" range="40" type="SWORD" distance="80" width="120" random="10" accuracy="5" /> | ||||
| 			<defence physical="24330.717385" magical="11870.210597" /> | ||||
| 			<attribute> | ||||
| 				<defence fire="350" water="350" wind="350" earth="350" holy="300" dark="350" /> | ||||
| 				<attack type="DARK" value="430" /> | ||||
| @@ -1876,8 +1876,8 @@ | ||||
| 				<walk ground="25" /> | ||||
| 				<run ground="100" /> | ||||
| 			</speed> | ||||
| 			<attack physical="63485" magical="18304" critical="4" attackSpeed="253" range="80" type="SWORD" distance="80" width="120" random="5" accuracy="10" /> | ||||
| 			<defence physical="2355.13755542985" magical="1679" /> | ||||
| 			<attack physical="236100.20588" magical="41520.885138" critical="4" attackSpeed="253" range="80" type="SWORD" distance="80" width="120" random="5" accuracy="10" /> | ||||
| 			<defence physical="24330.717385" magical="11870.210597" /> | ||||
| 			<attribute> | ||||
| 				<defence fire="450" water="450" wind="450" earth="450" holy="400" dark="450" /> | ||||
| 				<attack type="DARK" value="450" /> | ||||
| @@ -1984,8 +1984,8 @@ | ||||
| 				<walk ground="25" /> | ||||
| 				<run ground="100" /> | ||||
| 			</speed> | ||||
| 			<attack physical="87548" magical="18304" critical="4" attackSpeed="253" range="80" type="SWORD" distance="80" width="120" random="5" accuracy="10" /> | ||||
| 			<defence physical="2355.13755542985" magical="1679" /> | ||||
| 			<attack physical="236100.20588" magical="41520.885138" critical="4" attackSpeed="253" range="80" type="SWORD" distance="80" width="120" random="5" accuracy="10" /> | ||||
| 			<defence physical="24330.717385" magical="11870.210597" /> | ||||
| 			<attribute> | ||||
| 				<defence fire="450" water="450" wind="450" earth="450" holy="400" dark="450" /> | ||||
| 				<attack type="DARK" value="450" /> | ||||
|   | ||||
| @@ -3935,6 +3935,11 @@ | ||||
| 		<magicLvl>1</magicLvl> | ||||
| 		<operateType>P</operateType> | ||||
| 		<magicCriticalRate>-5</magicCriticalRate> | ||||
| 		<effects> | ||||
| 			<effect name="DefenceTrait"> | ||||
| 				<SHOCK>100</SHOCK> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="4495" toLevel="12" name="Power Shot"> | ||||
| 		<castRange>900</castRange> | ||||
|   | ||||
| @@ -3003,25 +3003,21 @@ | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="5093" toLevel="1" name="Antharas Meteor"> | ||||
| 		<affectRange>150</affectRange> | ||||
| 		<castRange>600</castRange> | ||||
| 		<effectPoint>-1</effectPoint> | ||||
| 		<effectRange>1100</effectRange> | ||||
| 		<castRange>2500</castRange> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<effectRange>2500</effectRange> | ||||
| 		<attributeType>EARTH</attributeType> | ||||
| 		<attributeValue>180</attributeValue> | ||||
| 		<attributeValue>450</attributeValue> | ||||
| 		<hitTime>8000</hitTime> | ||||
| 		<isMagic>2</isMagic> <!-- Static Skill --> | ||||
| 		<magicLvl>99</magicLvl> | ||||
| 		<operateType>A1</operateType> | ||||
| 		<reuseDelay>6000</reuseDelay> | ||||
| 		<abnormalResists>TURN_FLEE;KNOCKDOWN;DEPORT;SILENCE;PARALYZE;ABSORB;DISARM;SILENCE_PHYSICAL;SILENCE_ALL;CHANGEBODY;TURN_STONE;DERANGEMENT;AIRBIND;SLEEP;OBLIVION;MIRAGE;MIRAGE_TRAP;ROOT_MAGICALLY;ROOT_PHYSICALLY;STUN;PUBLIC_SLOT</abnormalResists> | ||||
| 		<magicCriticalRate>-5</magicCriticalRate> | ||||
| 		<magicLvl>110</magicLvl> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<affectRange>300</affectRange> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>RANGE</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<effects> | ||||
| 			<effect name="MagicalAttack"> | ||||
| 				<power>1084</power> | ||||
| 			<effect name="PhysicalAttack"> | ||||
| 				<power>34255</power> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
|   | ||||
| @@ -1232,29 +1232,20 @@ | ||||
| 	<skill id="14247" toLevel="1" name="Black Vortex"> | ||||
| 		<icon>icon.skill0054</icon> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<mpConsume>1</mpConsume> | ||||
| 		<castRange>1000</castRange> | ||||
| 		<castRange>600</castRange> | ||||
| 		<hitTime>1500</hitTime> | ||||
| 		<isMagic>1</isMagic> | ||||
| 		<effectPoint>-1</effectPoint> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<abnormalType>FLY_AWAY</abnormalType> | ||||
| 		<basicProperty>NONE</basicProperty> | ||||
| 		<magicCriticalRate>-5</magicCriticalRate> | ||||
| 		<hitCancelTime>0</hitCancelTime> | ||||
| 		<effectRange>1400</effectRange> | ||||
| 		<lvlBonusRate>1</lvlBonusRate> | ||||
| 		<activateRate>99</activateRate> | ||||
| 		<effectRange>600</effectRange> | ||||
| 		<magicLvl>99</magicLvl> | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<abnormalTime>1</abnormalTime> | ||||
| 		<affectRange>200</affectRange> | ||||
| 		<abnormalTime>3</abnormalTime> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>RANGE</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<effects> | ||||
| 			<effect name="MagicalAttack"> | ||||
| 				<power>2000</power> | ||||
| 				<power>157</power> | ||||
| 			</effect> | ||||
| 			<effect name="FlyAway"> <!-- TODO: {i_fly_away;curve;push;200} --> | ||||
| 				<radius>200</radius> | ||||
|   | ||||
| @@ -1330,56 +1330,104 @@ | ||||
| 		<!-- Lindvior's stun --> | ||||
| 		<icon>icon.skill0100</icon> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<castRange>400</castRange> | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<abnormalTime>10</abnormalTime> | ||||
| 		<abnormalType>STUN</abnormalType> | ||||
| 		<abnormalVisualEffect>STUN</abnormalVisualEffect> | ||||
| 		<affectRange>600</affectRange> | ||||
| 		<hitTime>2500</hitTime> | ||||
| 		<coolTime>1000</coolTime> | ||||
| 		<effectPoint>-574</effectPoint> | ||||
| 		<magicCriticalRate>-5</magicCriticalRate> | ||||
| 		<hitCancelTime>0</hitCancelTime> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<attributeType>WIND</attributeType> | ||||
| 		<attributeValue>300</attributeValue> | ||||
| 		<magicLvl>99</magicLvl> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<trait>SHOCK</trait> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<affectScope>POINT_BLANK</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<effects> | ||||
| 			<effect name="PhysicalAttack"> | ||||
| 				<power>34255</power> | ||||
| 			</effect> | ||||
| 			<effect name="BlockActions" /> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="15272" toLevel="1" name="Wind Breath"> | ||||
| 		<!-- Lindvior's Landing Breath Skill --> | ||||
| 		<icon>icon.skill10549</icon> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<castRange>400</castRange> | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<abnormalTime>30</abnormalTime> | ||||
| 		<hitTime>2500</hitTime> | ||||
| 		<coolTime>3000</coolTime> | ||||
| 		<effectPoint>-574</effectPoint> | ||||
| 		<magicCriticalRate>-5</magicCriticalRate> | ||||
| 		<hitCancelTime>0</hitCancelTime> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<attributeType>WIND</attributeType> | ||||
| 		<attributeValue>300</attributeValue> | ||||
| 		<magicLvl>99</magicLvl> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<fanRange>0;0;2500;900</fanRange> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<affectScope>SQUARE</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<effects> | ||||
| 			<effect name="PhysicalAttack"> | ||||
| 				<power>34255</power> | ||||
| 			</effect> | ||||
| 			<effect name="PhysicalAttackSpeed"> | ||||
| 				<amount>-30</amount> | ||||
| 				<mode>PER</mode> | ||||
| 			</effect> | ||||
| 			<effect name="MagicalAttackSpeed"> | ||||
| 				<amount>-30</amount> | ||||
| 				<mode>PER</mode> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="15273" toLevel="1" name="Tail Swipe"> | ||||
| 		<!-- Lindvior's Landing Range --> | ||||
| 		<operateType>A1</operateType> | ||||
| 		<hitTime>2500</hitTime> | ||||
| 		<effectPoint>-574</effectPoint> | ||||
| 		<magicCriticalRate>-5</magicCriticalRate> | ||||
| 		<hitCancelTime>0</hitCancelTime> | ||||
| 		<magicLvl>99</magicLvl> | ||||
| 		<coolTime>1500</coolTime> | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<abnormalTime>10</abnormalTime> | ||||
| 		<abnormalType>STUN</abnormalType> | ||||
| 		<abnormalVisualEffect>STUN</abnormalVisualEffect> | ||||
| 		<coolTime>1000</coolTime> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<attributeType>WIND</attributeType> | ||||
| 		<attributeValue>300</attributeValue> | ||||
| 		<fanRange>0;180;1500;600</fanRange> | ||||
| 		<hitTime>3000</hitTime> | ||||
| 		<magicLvl>110</magicLvl> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<trait>SHOCK</trait> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<affectScope>SQUARE</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<effects> | ||||
| 			<effect name="PhysicalAttack"> | ||||
| 				<power>34255</power> | ||||
| 			</effect> | ||||
| 			<effect name="BlockActions" /> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="15274" toLevel="1" name="Mighty Wind Strike"> | ||||
| 		<!-- Long-range projectile --> | ||||
| 		<operateType>A1</operateType> | ||||
| 		<castRange>1800</castRange> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<affectRange>300</affectRange> | ||||
| 		<castRange>2500</castRange> | ||||
| 		<hitTime>2500</hitTime> | ||||
| 		<effectPoint>-707</effectPoint> | ||||
| 		<magicCriticalRate>-5</magicCriticalRate> | ||||
| 		<hitCancelTime>0</hitCancelTime> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<effectRange>2500</effectRange> | ||||
| 		<attributeType>WIND</attributeType> | ||||
| 		<attributeValue>300</attributeValue> | ||||
| 		<magicLvl>99</magicLvl> | ||||
| 		<isMagic>1</isMagic> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>RANGE</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<effects> | ||||
| 			<effect name="MagicalAttack"> | ||||
| 				<power>157</power> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="15275" toLevel="1" name="Tornado"> | ||||
| 		<!-- Lindvior's Takeoff Presentation --> | ||||
|   | ||||
| @@ -444,10 +444,21 @@ | ||||
| 	<skill id="15430" toLevel="1" name="Lindvior's Jump"> | ||||
| 		<!-- Ranged attack. --> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<abnormalTime>5</abnormalTime> | ||||
| 		<affectRange>600</affectRange> | ||||
| 		<hitTime>5000</hitTime> | ||||
| 		<coolTime>5000</coolTime> | ||||
| 		<effectPoint>-574</effectPoint> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<affectScope>POINT_BLANK</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<effects> | ||||
| 			<effect name="PhysicalAttack"> | ||||
| 				<power>34255</power> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="15431" toLevel="1" name="Supersonic Blaster"> | ||||
| 		<operateType>A1</operateType> | ||||
|   | ||||
| @@ -939,21 +939,53 @@ | ||||
| 	<skill id="15590" toLevel="1" name="Fear of Lindvior"> | ||||
| 		<!-- Afflicted with Fear and moving against own will. --> | ||||
| 		<icon>icon.skill4108</icon> | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<abnormalTime>30</abnormalTime> | ||||
| 		<abnormalType>TURN_FLEE</abnormalType> | ||||
| 		<abnormalVisualEffect>TURN_FLEE</abnormalVisualEffect> | ||||
| 		<affectRange>600</affectRange> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<hitTime>3000</hitTime> | ||||
| 		<coolTime>500</coolTime> | ||||
| 		<isMagic>1</isMagic> | ||||
| 		<effectPoint>-867</effectPoint> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<trait>DERANGEMENT</trait> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<affectScope>POINT_BLANK</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<effects> | ||||
| 			<effect name="BlockControl" /> | ||||
| 			<effect name="Fear" /> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="15591" toLevel="1" name="Wind Pull"> | ||||
| 		<!-- Pulls target using the wind. --> | ||||
| 		<icon>icon.skill0006</icon> | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<abnormalTime>5</abnormalTime> | ||||
| 		<abnormalType>STUN</abnormalType> | ||||
| 		<affectRange>600</affectRange> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<hitTime>2000</hitTime> | ||||
| 		<coolTime>3000</coolTime> | ||||
| 		<effectPoint>-867</effectPoint> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<trait>PULL</trait> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<affectScope>POINT_BLANK</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<effects> | ||||
| 			<effect name="PhysicalAttack"> | ||||
| 				<power>34255</power> | ||||
| 			</effect> | ||||
| 			<effect name="PullBack"> | ||||
| 				<speed>600</speed> | ||||
| 			</effect> | ||||
| 			<effect name="BlockActions"> | ||||
| 				<allowedSkills>10279;10517;10025;10776;11770;1904;11264;11093;13314;1912</allowedSkills> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="15592" toLevel="1" name="Dark Wind Armor"> | ||||
| 		<!-- Reflects a part of received damage. --> | ||||
|   | ||||
| @@ -4,11 +4,22 @@ | ||||
| 		<!-- Powerful P. Atk. on enemy. --> | ||||
| 		<icon>icon.skill1275</icon> | ||||
| 		<operateType>A1</operateType> | ||||
| 		<affectRange>300</affectRange> | ||||
| 		<castRange>300</castRange> | ||||
| 		<hitTime>1500</hitTime> | ||||
| 		<coolTime>1000</coolTime> | ||||
| 		<effectPoint>-867</effectPoint> | ||||
| 		<reuseDelay>5000</reuseDelay> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<effectRange>300</effectRange> | ||||
| 		<attributeType>WIND</attributeType> | ||||
| 		<attributeValue>300</attributeValue> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>RANGE</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<effects> | ||||
| 			<effect name="PhysicalAttack"> | ||||
| 				<power>34255</power> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="15601" toLevel="1" name="Lindvior's Attack"> | ||||
| 		<!-- Powerful P. Atk. on enemy. --> | ||||
| @@ -90,13 +101,11 @@ | ||||
| 		<!-- Powerful P. Atk. on enemy. --> | ||||
| 		<icon>icon.skill0003</icon> | ||||
| 		<operateType>A1</operateType> | ||||
| 		<castRange>40</castRange> | ||||
| 		<castRange>600</castRange> | ||||
| 		<hitTime>2000</hitTime> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<effectRange>600</effectRange> | ||||
| 		<coolTime>500</coolTime> | ||||
| 		<nextAction>ATTACK</nextAction> | ||||
| 		<reuseDelay>6000</reuseDelay> | ||||
| 		<magicCriticalRate>5</magicCriticalRate> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<effects> | ||||
| @@ -108,7 +117,7 @@ | ||||
| 					<value level="4">1000</value> | ||||
| 					<value level="5">2000</value> | ||||
| 					<value level="6">4000</value> | ||||
| 					<value level="7">6000</value> | ||||
| 					<value level="7">50000</value> | ||||
| 				</power> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| @@ -130,8 +139,7 @@ | ||||
| 		<hitTime>6000</hitTime> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<coolTime>500</coolTime> | ||||
| 		<affectRange>300</affectRange> | ||||
| 		<reuseDelay>30000</reuseDelay> | ||||
| 		<affectRange>600</affectRange> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<affectScope>POINT_BLANK</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| @@ -144,7 +152,7 @@ | ||||
| 					<value level="4">12000</value> | ||||
| 					<value level="5">14000</value> | ||||
| 					<value level="6">16000</value> | ||||
| 					<value level="7">18000</value> | ||||
| 					<value level="7">50000</value> | ||||
| 				</power> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| @@ -156,8 +164,7 @@ | ||||
| 		<hitTime>6000</hitTime> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<coolTime>500</coolTime> | ||||
| 		<affectRange>800</affectRange> | ||||
| 		<reuseDelay>30000</reuseDelay> | ||||
| 		<affectRange>600</affectRange> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<affectScope>POINT_BLANK</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| @@ -170,7 +177,7 @@ | ||||
| 					<value level="4">16000</value> | ||||
| 					<value level="5">18000</value> | ||||
| 					<value level="6">20000</value> | ||||
| 					<value level="7">22000</value> | ||||
| 					<value level="7">50000</value> | ||||
| 				</power> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| @@ -394,6 +401,10 @@ | ||||
| 		<!-- Very strong against Wind, and vulnerable to Earth. --> | ||||
| 		<icon>icon.skillboss</icon> | ||||
| 		<operateType>P</operateType> | ||||
| 		<magicLvl>99</magicLvl> | ||||
| 		<effects> | ||||
| 			<effect name="DebuffBlock" /> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="15639" toLevel="1" name="Mysterious Fear"> | ||||
| 		<!-- In Fear. --> | ||||
| @@ -1215,11 +1226,25 @@ | ||||
| 		<!-- M. Def. -20%. --> | ||||
| 		<icon>icon.skill1422</icon> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<hitTime>2000</hitTime> | ||||
| 		<hitTime>2500</hitTime> | ||||
| 		<coolTime>500</coolTime> | ||||
| 		<isMagic>1</isMagic> | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<abnormalTime>30</abnormalTime> | ||||
| 		<castRange>300</castRange> | ||||
| 		<affectRange>300</affectRange> | ||||
| 		<effectRange>300</effectRange> | ||||
| 		<affectLimit>40-80</affectLimit> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>RANGE</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<effects> | ||||
| 			<effect name="MagicalDefence"> | ||||
| 				<amount>-20</amount> | ||||
| 				<mode>PER</mode> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="15663" toLevel="1" name="Increase P. Atk."> | ||||
| 		<!-- P. Atk. and M. Atk. +10%. --> | ||||
|   | ||||
| @@ -28,11 +28,22 @@ | ||||
| 		<!-- Powerful magical attack on target and nearby enemies. --> | ||||
| 		<icon>icon.skill1167</icon> | ||||
| 		<operateType>A1</operateType> | ||||
| 		<castRange>900</castRange> | ||||
| 		<hitTime>2000</hitTime> | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<castRange>300</castRange> | ||||
| 		<affectLimit>40-80</affectLimit> | ||||
| 		<affectRange>300</affectRange> | ||||
| 		<hitTime>2500</hitTime> | ||||
| 		<coolTime>500</coolTime> | ||||
| 		<effectPoint>-264</effectPoint> | ||||
| 		<isMagic>1</isMagic> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<effectRange>300</effectRange> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>RANGE</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<effects> | ||||
| 			<effect name="MagicalAttack"> | ||||
| 				<power>157</power> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| 	<skill id="16103" toLevel="6" name="Death Lift"> | ||||
| 		<!-- Deals damage and cancels target. --> | ||||
|   | ||||
| @@ -206,25 +206,19 @@ | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<abnormalTime>10</abnormalTime> | ||||
| 		<abnormalType>PARALYZE</abnormalType> | ||||
| 		<activateRate>150</activateRate> | ||||
| 		<abnormalVisualEffect>PARALYZE</abnormalVisualEffect> | ||||
| 		<mpConsume>10</mpConsume> | ||||
| 		<castRange>2500</castRange> | ||||
| 		<effectRange>2500</effectRange> | ||||
| 		<affectRange>200</affectRange> | ||||
| 		<hitTime>3000</hitTime> | ||||
| 		<coolTime>500</coolTime> | ||||
| 		<reuseDelay>10000</reuseDelay> | ||||
| 		<isMagic>2</isMagic> <!-- Static Skill --> | ||||
| 		<effectPoint>-52</effectPoint> | ||||
| 		<hitCancelTime>0</hitCancelTime> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<trait>PARALYZE</trait> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<effects> | ||||
| 			<effect name="MagicalAttack"> | ||||
| 				<power>1500</power>		<!-- TODO --> | ||||
| 				<power>157</power>		<!-- TODO --> | ||||
| 			</effect> | ||||
| 			<effect name="BlockActions"> | ||||
| 				<allowedSkills>10279;10517;10025;10776;11770;1904;11264;11093;13314;1912;30516</allowedSkills> | ||||
| @@ -237,20 +231,17 @@ | ||||
| 		<operateType>A1</operateType> | ||||
| 		<staticReuse>true</staticReuse> | ||||
| 		<affectLimit>40-80</affectLimit> | ||||
| 		<castRange>2500</castRange> | ||||
| 		<affectRange>900</affectRange> | ||||
| 		<mpConsume>10</mpConsume> | ||||
| 		<affectRange>600</affectRange> | ||||
| 		<hitTime>1000</hitTime> | ||||
| 		<coolTime>500</coolTime> | ||||
| 		<effectPoint>-52</effectPoint> | ||||
| 		<effectRange>2500</effectRange> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<affectScope>POINT_BLANK</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<effects> | ||||
| 			<effect name="MagicalAttack"> | ||||
| 				<power>1500</power>		<!-- TODO --> | ||||
| 			<effect name="PhysicalAttack"> | ||||
| 				<power>34255</power>		<!-- TODO --> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| @@ -259,21 +250,14 @@ | ||||
| 		<icon>icon.skill1275</icon> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<abnormalLvl>5</abnormalLvl> | ||||
| 		<abnormalTime>2</abnormalTime> | ||||
| 		<activateRate>200</activateRate> | ||||
| 		<staticReuse>true</staticReuse> | ||||
| 		<castRange>-1</castRange> | ||||
| 		<abnormalTime>5</abnormalTime> | ||||
| 		<affectLimit>40-80</affectLimit> | ||||
| 		<affectRange>900</affectRange> | ||||
| 		<reuseDelay>20000</reuseDelay> | ||||
| 		<affectRange>600</affectRange> | ||||
| 		<abnormalType>KNOCKDOWN</abnormalType> | ||||
| 		<abnormalVisualEffect>KNOCKDOWN</abnormalVisualEffect> | ||||
| 		<hitCancelTime>0</hitCancelTime> | ||||
| 		<mpConsume>10</mpConsume> | ||||
| 		<hitTime>1000</hitTime> | ||||
| 		<coolTime>500</coolTime> | ||||
| 		<effectPoint>-52</effectPoint> | ||||
| 		<effectRange>2500</effectRange> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<trait>KNOCKDOWN</trait> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<affectScope>POINT_BLANK</affectScope> | ||||
| @@ -281,7 +265,7 @@ | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<effects> | ||||
| 			<effect name="MagicalAttack"> | ||||
| 				<power>1500</power>		<!-- TODO --> | ||||
| 				<power>157</power>		<!-- TODO --> | ||||
| 			</effect> | ||||
| 			<effect name="KnockBack"> | ||||
| 				<speed>600</speed> | ||||
| @@ -297,18 +281,11 @@ | ||||
| 		<operateType>A2</operateType> | ||||
| 		<abnormalLvl>5</abnormalLvl> | ||||
| 		<abnormalTime>30</abnormalTime> | ||||
| 		<activateRate>200</activateRate> | ||||
| 		<staticReuse>true</staticReuse> | ||||
| 		<castRange>-1</castRange> | ||||
| 		<affectLimit>40-80</affectLimit> | ||||
| 		<affectRange>900</affectRange> | ||||
| 		<reuseDelay>20000</reuseDelay> | ||||
| 		<hitCancelTime>0</hitCancelTime> | ||||
| 		<mpConsume>10</mpConsume> | ||||
| 		<affectRange>600</affectRange> | ||||
| 		<hitTime>2000</hitTime> | ||||
| 		<coolTime>500</coolTime> | ||||
| 		<effectPoint>-52</effectPoint> | ||||
| 		<effectRange>2500</effectRange> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<trait>GIANT_WEAKNESS</trait> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<affectScope>POINT_BLANK</affectScope> | ||||
| @@ -316,7 +293,7 @@ | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<effects> | ||||
| 			<effect name="MagicalAttack"> | ||||
| 				<power>1500</power>		<!-- TODO --> | ||||
| 				<power>157</power>		<!-- TODO --> | ||||
| 			</effect> | ||||
| 			<effect name="PAtk"> | ||||
| 				<amount>30</amount> | ||||
| @@ -368,22 +345,16 @@ | ||||
| 		<!-- Deals physical damage to, and paralyzes the target and nearby enemies. --> | ||||
| 		<icon>icon.skill1172</icon> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<castRange>1200</castRange> | ||||
| 		<castRange>2500</castRange> | ||||
| 		<hitTime>2000</hitTime> | ||||
| 		<effectPoint>-52</effectPoint> | ||||
| 		<isMagic>1</isMagic> | ||||
| 		<mpConsume>10</mpConsume> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<abnormalTime>10</abnormalTime>		<!-- TODO --> | ||||
| 		<affectLimit>40-80</affectLimit> | ||||
| 		<abnormalType>PARALYZE</abnormalType> | ||||
| 		<abnormalVisualEffect>PARALYZE</abnormalVisualEffect> | ||||
| 		<activateRate>150</activateRate> | ||||
| 		<affectRange>900</affectRange> | ||||
| 		<effectRange>1200</effectRange> | ||||
| 		<reuseDelay>10000</reuseDelay> | ||||
| 		<isMagic>2</isMagic> <!-- Static Skill --> | ||||
| 		<hitCancelTime>0</hitCancelTime> | ||||
| 		<affectRange>300</affectRange> | ||||
| 		<effectRange>2500</effectRange> | ||||
| 		<trait>PARALYZE</trait> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>RANGE</affectScope> | ||||
| @@ -391,7 +362,7 @@ | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<effects> | ||||
| 			<effect name="PhysicalAttack">		<!-- TODO --> | ||||
| 				<power>100000</power> | ||||
| 				<power>34255</power> | ||||
| 			</effect> | ||||
| 			<effect name="BlockActions"> | ||||
| 				<allowedSkills>10279;10517;10025;10776;11770;1904;11264;11093;13314;1912;30516</allowedSkills> | ||||
| @@ -402,23 +373,20 @@ | ||||
| 	<skill id="16615" toLevel="1" name="Helios Plasma Wall"> | ||||
| 		<!-- A rectangular barrier or electricity is formed around a range target, dealing powerful magic damage and 25% Mana Burn. --> | ||||
| 		<operateType>A1</operateType> | ||||
| 		<staticReuse>true</staticReuse> | ||||
| 		<affectLimit>45-45</affectLimit> | ||||
| 		<activateRate>200</activateRate> | ||||
| 		<castRange>1200</castRange> | ||||
| 		<affectRange>400</affectRange> | ||||
| 		<mpConsume>10</mpConsume> | ||||
| 		<castRange>2500</castRange> | ||||
| 		<affectRange>300</affectRange> | ||||
| 		<hitTime>3000</hitTime> | ||||
| 		<coolTime>500</coolTime> | ||||
| 		<effectPoint>-1349</effectPoint> | ||||
| 		<effectRange>1200</effectRange> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<effectRange>2500</effectRange> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>RANGE</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<effects> | ||||
| 			<effect name="MagicalAttack"> | ||||
| 				<power>1500</power>		<!-- TODO --> | ||||
| 				<power>157</power>		<!-- TODO --> | ||||
| 			</effect> | ||||
| 			<effect name="MagicalAttackMp"> | ||||
| 				<power>250</power> | ||||
| @@ -431,26 +399,21 @@ | ||||
| 		<!-- Helios' overawing gaze has petrified you and made you unable to move. Additional damage is received at regular intervals. --> | ||||
| 		<icon>icon.skill16614</icon> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<castRange>1200</castRange> | ||||
| 		<castRange>2500</castRange> | ||||
| 		<hitTime>3000</hitTime> | ||||
| 		<effectPoint>-52</effectPoint> | ||||
| 		<isMagic>1</isMagic> | ||||
| 		<mpConsume>10</mpConsume> | ||||
| 		<reuseDelay>10000</reuseDelay> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<effectRange>2500</effectRange> | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<abnormalTime>30</abnormalTime> | ||||
| 		<abnormalType>PARALYZE</abnormalType> | ||||
| 		<activateRate>150</activateRate> | ||||
| 		<abnormalVisualEffect>PARALYZE</abnormalVisualEffect> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<hitCancelTime>0</hitCancelTime> | ||||
| 		<trait>PARALYZE</trait> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<effects> | ||||
| 			<effect name="DamOverTime"> | ||||
| 				<power>200</power>		<!-- TODO --> | ||||
| 				<power>512</power>		<!-- TODO --> | ||||
| 				<ticks>1</ticks> | ||||
| 			</effect> | ||||
| 			<effect name="BlockActions"> | ||||
| @@ -587,19 +550,20 @@ | ||||
| 		<operateType>A1</operateType> | ||||
| 		<castRange>2500</castRange> | ||||
| 		<hitTime>5000</hitTime> | ||||
| 		<effectPoint>-696</effectPoint> | ||||
| 		<isMagic>1</isMagic> | ||||
| 		<reuseDelay>10000</reuseDelay> | ||||
| 		<affectRange>200</affectRange> | ||||
| 		<mpConsume>12</mpConsume> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<affectRange>300</affectRange> | ||||
| 		<effectRange>2500</effectRange> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<affectScope>RANGE</affectScope> | ||||
| 		<affectObject>NOT_FRIEND</affectObject> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<effects> | ||||
| 			<effect name="MagicalAttack"> | ||||
| 				<power>1500</power>		<!-- TODO --> | ||||
| 				<power>157</power>		<!-- TODO --> | ||||
| 			</effect> | ||||
| 			<effect name="DamOverTime"> | ||||
| 				<power>512</power> | ||||
| 				<ticks>1</ticks> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
| @@ -607,23 +571,17 @@ | ||||
| 		<!-- Lightning strikes the target and nearby enemies, dealing magic damage and paralyzing them. Also decreases P. Def. and Magic Resistance. --> | ||||
| 		<icon>icon.skll10094</icon> | ||||
| 		<operateType>A2</operateType> | ||||
| 		<targetType>SELF</targetType> | ||||
| 		<castRange>2500</castRange> | ||||
| 		<effectRange>2500</effectRange> | ||||
| 		<affectRange>900</affectRange> | ||||
| 		<affectRange>300</affectRange> | ||||
| 		<hitTime>2500</hitTime> | ||||
| 		<affectLimit>40-80</affectLimit> | ||||
| 		<effectPoint>-438</effectPoint> | ||||
| 		<isMagic>1</isMagic> | ||||
| 		<mpConsume>10</mpConsume> | ||||
| 		<reuseDelay>10000</reuseDelay> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<abnormalLvl>1</abnormalLvl> | ||||
| 		<abnormalTime>30</abnormalTime> | ||||
| 		<abnormalType>PARALYZE</abnormalType> | ||||
| 		<activateRate>150</activateRate> | ||||
| 		<abnormalVisualEffect>PARALYZE</abnormalVisualEffect> | ||||
| 		<isDebuff>true</isDebuff> | ||||
| 		<hitCancelTime>0</hitCancelTime> | ||||
| 		<trait>PARALYZE</trait> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>RANGE</affectScope> | ||||
| @@ -634,7 +592,7 @@ | ||||
| 				<allowedSkills>10279;10517;10025;10776;11770;1904;11264;11093;13314;1912;30516</allowedSkills> | ||||
| 			</effect> | ||||
| 			<effect name="MagicalAttack"> | ||||
| 				<power>1500</power>		<!-- TODO --> | ||||
| 				<power>157</power>		<!-- TODO --> | ||||
| 			</effect> | ||||
| 			<effect name="MagicalDefence"> | ||||
| 				<amount>-50</amount> | ||||
|   | ||||
| @@ -389,15 +389,15 @@ | ||||
| 	</skill> | ||||
| 	<skill id="16727" toLevel="1" name="Helios Storm Fist"> | ||||
| 		<operateType>A1</operateType> | ||||
| 		<castRange>-1</castRange> | ||||
| 		<castRange>600</castRange> | ||||
| 		<hitTime>1500</hitTime> | ||||
| 		<isMagic>1</isMagic> <!-- Static Skill --> | ||||
| 		<effectPoint>-100</effectPoint> | ||||
| 		<effectRange>600</effectRange> | ||||
| 		<targetType>ENEMY</targetType> | ||||
| 		<affectScope>SINGLE</affectScope> | ||||
| 		<effects> | ||||
| 			<effect name="PhysicalAttack"> | ||||
| 				<power>100000</power> | ||||
| 				<power>34255</power> | ||||
| 			</effect> | ||||
| 		</effects> | ||||
| 	</skill> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDevelopment
					MobiusDevelopment