Skip to content
Snippets Groups Projects
Commit 34f1c018 authored by Zoey76's avatar Zoey76
Browse files

Agathions with energy support

Added ConsumeAgathionEnergy effect.
Added InstantAgathionEnergy effect.

Added skills:
Appetite for Destruction (21104)
Enhanced Authority - CON+1 DEX+1 (21175)
Enhanced Authority - CON+1 STR+1 (21172)
Enhanced Authority - WIT+1 INT+1 (21173)
Enhanced Authority - WIT+1 MEN+1 (21174)
Enhanced Authority - CON+1 DEX+1 (21175)
Divine Protection - Divinity (21176)
Divine Protection - Water (21177)
Divine Protection - Fire (21178)
Divine Protection - Wind (21179)
Divine Protection - Earth (21180)
Divine Protection - Darkness (21181)
Blessing of Resistance - Hold (21182)
Blessing of Resistance - Paralysis (21183)
Blessing of Resistance - Sleep (21184)
Blessing of Resistance - Decrease Speed (21185)
Blessing of Resistance - Bleed (21186)
Blessing of Resistance - Stun (21187)
Recovery Ability - HP (21188)
Recovery Ability - MP (21189)
Soul's Shield (21190)
Guardian Deity's Strength (21193)
Induk's Buff (21197)
Silence of Loyalty (21198)
Jack O'Lantern Card (23092)
Rotten Jack O'Lantern Card (23093)
Jack O'Lantern Card - Confirm Skill (23094)
Rotten Jack O'Lantern Card - Confirm Skill (23095)
Halloween Defeat (23096)
First win (23097)
2nd Consecutive Win (23098)
3rd Consecutive Win (23099)
4th Consecutive Win (23100)
5th Consecutive Win (23101)
6th Consecutive Win (23102)
7th Consecutive Win (23103)
8th Consecutive Win (23104)
9th Consecutive Win (23105)
10th Consecutive Win (23106)
11th Consecutive Win (23107)
12th Consecutive Win (23108)
13th Consecutive Win (23109)
14th Consecutive Win (23110)
15th Consecutive Win (23111)
16th Consecutive Win (23112)
17th Consecutive Win (23113)
18th Consecutive Win (23114)
19th Consecutive Win (23115)
20th Consecutive Win (23116)
Jack's game - Gauge (23121)
Gwangong Agathion Special Skill - Aura of Fury (23124)

Fixed skills.xsd:
Added categoryType condition.
Added hasAgathion condition.
Added agathionEnergy condition.
Added ticks parameter.
Added energy parameter.
Added flyCourse parameter.
Added enchant8Effects effect type node.
parent f09de1e1
No related branches found
No related tags found
No related merge requests found
Showing
with 1015 additions and 201 deletions
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=14
org.eclipse.jdt.core.compiler.compliance=14
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.problem.APILeak=warning
org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
org.eclipse.jdt.core.compiler.problem.deadCode=warning
org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=14
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
org.eclipse.jdt.core.compiler.problem.nullReference=warning
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
......
......@@ -21,6 +21,7 @@ package com.l2jserver.datapack.handlers;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.l2jserver.datapack.handlers.effecthandlers.consume.ConsumeAgathionEnergy;
import com.l2jserver.datapack.handlers.effecthandlers.consume.ConsumeChameleonRest;
import com.l2jserver.datapack.handlers.effecthandlers.consume.ConsumeFakeDeath;
import com.l2jserver.datapack.handlers.effecthandlers.consume.ConsumeHp;
......@@ -87,6 +88,7 @@ import com.l2jserver.datapack.handlers.effecthandlers.instant.Hp;
import com.l2jserver.datapack.handlers.effecthandlers.instant.HpByLevel;
import com.l2jserver.datapack.handlers.effecthandlers.instant.HpDrain;
import com.l2jserver.datapack.handlers.effecthandlers.instant.HpPerMax;
import com.l2jserver.datapack.handlers.effecthandlers.instant.InstantAgathionEnergy;
import com.l2jserver.datapack.handlers.effecthandlers.instant.Lethal;
import com.l2jserver.datapack.handlers.effecthandlers.instant.MagicalAttack;
import com.l2jserver.datapack.handlers.effecthandlers.instant.MagicalAttackByAbnormal;
......@@ -217,6 +219,7 @@ public final class EffectMasterHandler {
ChangeHairStyle.class,
ClanGate.class,
Confuse.class,
ConsumeAgathionEnergy.class,
ConsumeBody.class,
ConsumeChameleonRest.class,
ConsumeFakeDeath.class,
......@@ -266,6 +269,7 @@ public final class EffectMasterHandler {
HpPerMax.class,
ImmobileBuff.class,
ImmobilePetBuff.class,
InstantAgathionEnergy.class,
Lethal.class,
Lucky.class,
MagicalAttack.class,
......
/*
* Copyright © 2004-2020 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 com.l2jserver.datapack.handlers.effecthandlers.consume;
import static com.l2jserver.gameserver.model.itemcontainer.Inventory.PAPERDOLL_LBRACELET;
import java.util.List;
import com.l2jserver.gameserver.agathion.repository.AgathionRepository;
import com.l2jserver.gameserver.model.StatsSet;
import com.l2jserver.gameserver.model.conditions.Condition;
import com.l2jserver.gameserver.model.effects.AbstractEffect;
import com.l2jserver.gameserver.model.skills.BuffInfo;
import com.l2jserver.gameserver.network.serverpackets.ExBR_AgathionEnergyInfo;
/**
* Consume AgathionEnergy effect implementation.
* @author Zoey76
* @version 2.6.2.0
*/
public final class ConsumeAgathionEnergy extends AbstractEffect {
private final int energy;
public ConsumeAgathionEnergy(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) {
super(attachCond, applyCond, set, params);
energy = params.getInt("energy", 0);
setTicks(params.getInt("ticks"));
}
@Override
public boolean onActionTime(BuffInfo info) {
if (info.getEffected().isDead()) {
return false;
}
if (!info.getEffected().isPlayer()) {
return false;
}
final var target = info.getEffected().getActingPlayer();
final var agathionInfo = AgathionRepository.getInstance().getByNpcId(target.getAgathionId());
if ((agathionInfo == null) || (agathionInfo.getMaxEnergy() <= 0)) {
return false;
}
final var agathionItem = target.getInventory().getPaperdollItem(PAPERDOLL_LBRACELET);
if ((agathionItem == null) || (agathionInfo.getItemId() != agathionItem.getId())) {
return false;
}
final var consumed = (int) (energy * getTicksMultiplier());
if ((consumed < 0) && ((agathionItem.getAgathionRemainingEnergy() + consumed) <= 0)) {
return false;
}
agathionItem.setAgathionRemainingEnergy(agathionItem.getAgathionRemainingEnergy() + consumed);
// If item is agathion with energy, then send info to client.
info.getEffected().sendPacket(new ExBR_AgathionEnergyInfo(List.of(agathionItem)));
return true;
}
}
/*
* Copyright © 2004-2020 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 com.l2jserver.datapack.handlers.effecthandlers.instant;
import static com.l2jserver.gameserver.enums.EffectCalculationType.DIFF;
import static com.l2jserver.gameserver.model.itemcontainer.Inventory.PAPERDOLL_LBRACELET;
import java.util.List;
import com.l2jserver.gameserver.agathion.repository.AgathionRepository;
import com.l2jserver.gameserver.enums.EffectCalculationType;
import com.l2jserver.gameserver.model.StatsSet;
import com.l2jserver.gameserver.model.conditions.Condition;
import com.l2jserver.gameserver.model.effects.AbstractEffect;
import com.l2jserver.gameserver.model.skills.BuffInfo;
import com.l2jserver.gameserver.network.serverpackets.ExBR_AgathionEnergyInfo;
/**
* Agathion Energy instant effect implementation.
* @author Zoey76
* @version 2.6.2.0
*/
public final class InstantAgathionEnergy extends AbstractEffect {
private final double energy;
private final EffectCalculationType mode;
public InstantAgathionEnergy(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) {
super(attachCond, applyCond, set, params);
energy = params.getDouble("energy", 0);
mode = params.getEnum("mode", EffectCalculationType.class, DIFF);
}
@Override
public boolean isInstant() {
return true;
}
@Override
public void onStart(BuffInfo info) {
if (info.getEffected().isDead()) {
return;
}
if (!info.getEffected().isPlayer()) {
return;
}
final var target = info.getEffected().getActingPlayer();
final var agathionInfo = AgathionRepository.getInstance().getByNpcId(target.getAgathionId());
if ((agathionInfo == null) || (agathionInfo.getMaxEnergy() <= 0)) {
return;
}
final var agathionItem = target.getInventory().getPaperdollItem(PAPERDOLL_LBRACELET);
if ((agathionItem == null) || (agathionInfo.getItemId() != agathionItem.getId())) {
return;
}
int agathionEnergy = 0;
switch (mode) {
case DIFF: {
agathionEnergy = (int) Math.max(0, agathionItem.getAgathionRemainingEnergy() + energy);
break;
}
case PER: {
agathionEnergy = (int) ((agathionItem.getAgathionRemainingEnergy() * energy) / 100.0);
break;
}
}
agathionItem.setAgathionRemainingEnergy(agathionEnergy);
// If item is agathion with energy, then send info to client.
target.sendPacket(new ExBR_AgathionEnergyInfo(List.of(agathionItem)));
}
}
......@@ -29,16 +29,12 @@ import com.l2jserver.gameserver.model.skills.BuffInfo;
* @author Zoey76
*/
public final class SummonAgathion extends AbstractEffect {
private final int _npcId;
private final int npcId;
public SummonAgathion(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params) {
super(attachCond, applyCond, set, params);
if (params.isEmpty()) {
_log.warning(getClass().getSimpleName() + ": must have parameters.");
}
_npcId = params.getInt("npcId", 0);
npcId = params.getInt("npcId", 0);
}
@Override
......@@ -48,13 +44,12 @@ public final class SummonAgathion extends AbstractEffect {
@Override
public void onStart(BuffInfo info) {
if ((info.getEffected() == null) || !info.getEffected().isPlayer()) {
if (!info.getEffected().isPlayer()) {
return;
}
final L2PcInstance player = info.getEffected().getActingPlayer();
player.setAgathionId(_npcId);
player.setAgathionId(npcId);
player.broadcastUserInfo();
}
}
This diff is collapsed.
......@@ -1789,79 +1789,109 @@
<set name="trait" val="ETC" />
</skill>
<skill id="23092" levels="1" name="Jack O'Lantern Card">
<!-- High Five Confirmed -->
<set name="affectScope" val="SINGLE" />
<set name="blockedInOlympiad" val="true" />
<set name="coolTime" val="500" />
<set name="hitTime" val="2000" />
<set name="icon" val="BranchSys.icon.br_jack_ghost_i00" />
<set name="isMagic" val="2" /> <!-- Static Skill -->
<set name="isMagic" val="2" />
<set name="magicLvl" val="1" />
<set name="operateType" val="A1" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="NONE" />
<set name="targetType" val="SELF" />
</skill>
<skill id="23093" levels="1" name="Rotten Jack O'Lantern Card">
<!-- High Five Confirmed -->
<set name="affectScope" val="SINGLE" />
<set name="blockedInOlympiad" val="true" />
<set name="coolTime" val="500" />
<set name="hitTime" val="2000" />
<set name="icon" val="BranchSys.icon.br_rotten_jack_ghost_i00" />
<set name="isMagic" val="2" /> <!-- Static Skill -->
<set name="isMagic" val="2" />
<set name="magicLvl" val="1" />
<set name="operateType" val="A1" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="NONE" />
<set name="targetType" val="SELF" />
</skill>
<skill id="23094" levels="1" name="Jack O'Lantern Card - Confirm Skill">
<!-- High Five Confirmed -->
<set name="affectScope" val="SINGLE" />
<set name="blockedInOlympiad" val="true" />
<set name="castRange" val="500" />
<set name="effectPoint" val="-1" />
<set name="effectRange" val="500" />
<set name="icon" val="BranchSys.icon.br_jack_ghost_i00" />
<set name="isMagic" val="2" /> <!-- Static Skill -->
<set name="isMagic" val="2" />
<set name="magicLvl" val="1" />
<set name="operateType" val="A1" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="NONE" />
<set name="targetType" val="ONE" />
</skill>
<skill id="23095" levels="1" name="Rotten Jack O'Lantern Card - Confirm Skill">
<!-- High Five Confirmed -->
<set name="affectScope" val="SINGLE" />
<set name="blockedInOlympiad" val="true" />
<set name="castRange" val="500" />
<set name="effectPoint" val="-1" />
<set name="effectRange" val="500" />
<set name="icon" val="BranchSys.icon.br_rotten_jack_ghost_i00" />
<set name="isMagic" val="2" /> <!-- Static Skill -->
<set name="isMagic" val="2" />
<set name="magicLvl" val="1" />
<set name="operateType" val="A1" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="NONE" />
<set name="targetType" val="ONE" />
</skill>
<skill id="23096" levels="1" name="Halloween Defeat">
<!-- High Five Confirmed -->
<set name="affectScope" val="SINGLE" />
<set name="blockedInOlympiad" val="true" />
<set name="castRange" val="500" />
<set name="effectPoint" val="-1" />
<set name="isMagic" val="2" /> <!-- Static Skill -->
<set name="effectRange" val="500" />
<set name="isMagic" val="2" />
<set name="magicLvl" val="1" />
<set name="operateType" val="A1" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="NONE" />
<set name="targetType" val="ONE" />
</skill>
<skill id="23097" levels="1" name="First Consecutive Win">
<skill id="23097" levels="1" name="First win">
<!-- High Five Confirmed -->
<set name="affectScope" val="SINGLE" />
<set name="blockedInOlympiad" val="true" />
<set name="castRange" val="500" />
<set name="effectPoint" val="-1" />
<set name="isMagic" val="2" /> <!-- Static Skill -->
<set name="effectRange" val="550" />
<set name="isMagic" val="2" />
<set name="magicLvl" val="1" />
<set name="operateType" val="A1" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="NONE" />
<set name="targetType" val="ONE" />
</skill>
<skill id="23098" levels="1" name="2nd Consecutive Win">
<!-- High Five Confirmed -->
<set name="affectScope" val="SINGLE" />
<set name="blockedInOlympiad" val="true" />
<set name="castRange" val="500" />
<set name="effectPoint" val="-1" />
<set name="isMagic" val="2" /> <!-- Static Skill -->
<set name="effectRange" val="550" />
<set name="isMagic" val="2" />
<set name="magicLvl" val="1" />
<set name="operateType" val="A1" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="NONE" />
<set name="targetType" val="ONE" />
</skill>
<skill id="23099" levels="1" name="Third Consecutive Win">
<skill id="23099" levels="1" name="3rd Consecutive Win">
<!-- High Five Confirmed -->
<set name="affectScope" val="SINGLE" />
<set name="blockedInOlympiad" val="true" />
<set name="castRange" val="500" />
<set name="effectPoint" val="-1" />
<set name="isMagic" val="2" /> <!-- Static Skill -->
<set name="effectRange" val="550" />
<set name="isMagic" val="2" />
<set name="magicLvl" val="1" />
<set name="operateType" val="A1" />
<set name="rideState" val="NONE;STRIDER;WYVERN;WOLF" />
<set name="targetType" val="NONE" />
<set name="targetType" val="ONE" />
</skill>
</list>
This diff is collapsed.
......@@ -148,6 +148,9 @@
<xs:attribute type="xs:string" name="class_id_restriction" use="optional" />
<xs:attribute type="xs:short" name="siegeZone" use="optional" />
<xs:attribute type="xs:byte" name="siegeSide" use="optional" />
<xs:attribute type="xs:string" name="categoryType" use="optional" />
<xs:attribute type="xs:boolean" name="hasAgathion" use="optional" />
<xs:attribute type="xs:int" name="agathionEnergy" use="optional" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
......@@ -230,6 +233,8 @@
<xs:attribute type="xs:string" name="mAtkSpd" use="optional" />
<xs:attribute type="xs:string" name="chance" use="optional" />
<xs:attribute type="xs:string" name="power" use="optional" />
<xs:attribute type="xs:string" name="ticks" use="optional" />
<xs:attribute type="xs:string" name="energy" use="optional" />
<xs:attribute type="operation" name="type" use="optional" />
<xs:attribute type="operation" name="mode" use="optional" />
<xs:attribute type="xs:boolean" name="heal" use="optional" />
......@@ -330,6 +335,7 @@
<xs:attribute type="xs:short" name="skillId3" use="optional" />
<xs:attribute type="xs:string" name="time" use="optional" />
<xs:attribute type="xs:string" name="flyRadius" use="optional" />
<xs:attribute type="xs:int" name="flyCourse" use="optional" />
<xs:attribute type="xs:string" name="normal" use="optional" />
<xs:attribute type="xs:string" name="ride" use="optional" />
<xs:attribute type="xs:string" name="wyvern" use="optional" />
......@@ -516,6 +522,7 @@
<xs:enumeration value="ChangeHairStyle" />
<xs:enumeration value="ClanGate" />
<xs:enumeration value="Confuse" />
<xs:enumeration value="ConsumeAgathionEnergy" />
<xs:enumeration value="ConsumeBody" />
<xs:enumeration value="ConsumeChameleonRest" />
<xs:enumeration value="ConsumeFakeDeath" />
......@@ -565,6 +572,7 @@
<xs:enumeration value="HpPerMax" />
<xs:enumeration value="ImmobileBuff" />
<xs:enumeration value="ImmobilePetBuff" />
<xs:enumeration value="InstantAgathionEnergy" />
<xs:enumeration value="Lethal" />
<xs:enumeration value="Lucky" />
<xs:enumeration value="MagicalAttack" />
......@@ -694,6 +702,7 @@
<xs:element name="enchant2Effects" type="effectsType" />
<xs:element name="enchant2pvpEffects" type="effectsType" />
<xs:element name="enchant2pveEffects" type="effectsType" />
<xs:element name="enchant8Effects" type="effectsType" />
<xs:element name="enchant7Effects" type="effectsType" />
<xs:element name="enchant3pvpEffects" type="effectsType" />
<xs:element name="enchant3pveEffects" type="effectsType" />
......
......@@ -11,6 +11,7 @@ CREATE TABLE IF NOT EXISTS `items` (
`custom_type2` INT DEFAULT 0,
`mana_left` decimal(5,0) NOT NULL DEFAULT -1,
`time` decimal(13) NOT NULL DEFAULT 0,
`agathion_energy` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`object_id`),
KEY `owner_id` (`owner_id`),
KEY `item_id` (`item_id`),
......
ALTER TABLE `items` ADD COLUMN `agathion_energy` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT 0 AFTER `time`;
UPDATE `l2jgs`.`items` SET `agathion_energy`=100000 WHERE `item_id` IN (20818, 20820, 20822, 20824, 20826, 20828, 20830, 20832, 20834, 20836, 20838, 20840);
UPDATE `l2jgs`.`items` SET `agathion_energy`=1000 WHERE `item_id` IN (20983, 20984, 20985, 20986, 20987, 20988, 20989, 20990, 20991);
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment