Olympiad rework.

Contributed by facab.
This commit is contained in:
MobiusDevelopment
2019-06-07 10:02:50 +00:00
parent a0a9880858
commit 479b69ddb2
134 changed files with 6651 additions and 3676 deletions

View File

@@ -22,9 +22,9 @@ AltOlyMin = 00
# Default: 14400000
AltOlyCPeriod = 14400000
# Olympiad Battle Period, Default 6 minutes.
# Default: 360000
AltOlyBattle = 360000
# Olympiad Battle Period, Default 5 minutes.
# Default: 300000
AltOlyBattle = 300000
# Olympiad Weekly Period, Default 1 week
# Used for adding points to nobles
@@ -43,14 +43,23 @@ AltOlyStartPoints = 10
# Default: 10
AltOlyWeeklyPoints = 10
# Required number of participants for the games
# Required number of participants for the class based games
# Default: 20
AltOlyParticipants = 20
AltOlyClassedParticipants = 20
# Number used for displaying amount of registered participants, messages "Fewer than ..." or "More than ...".
# 0 for displaying digits instead of text phrase (old style).
# Default: 100
AltOlyRegistrationDisplayNumber = 100
# Required number of participants for the non-class based games
# Default: 10
AltOlyNonClassedParticipants = 20
# Reward for the winner
# Format: itemId1,itemNum1;itemId2,itemNum2... (45584,12)
# Default: None
AltOlyWinReward = None
# Reward for loser
# Format: itemId1,itemNum1;itemId2,itemNum2... (45584,7)
# Default: None
AltOlyLoserReward = None
# ItemId used for exchanging to the points.
# Default: 45584
@@ -61,31 +70,31 @@ AltOlyCompRewItem = 45584
AltOlyMinMatchesForPoints = 10
# Rate to exchange points to reward item.
# Default: 1000
# Default: 20
AltOlyMarkPerPoint = 20
# Noblesse points awarded to Heroes.
# Default: 30
# Default: 300
AltOlyHeroPoints = 300
# Noblesse points awarded to Rank 1 members.
# Default: 100
# Default: 200
AltOlyRank1Points = 200
# Noblesse points awarded to Rank 2 members.
# Default: 75
# Default: 80
AltOlyRank2Points = 80
# Noblesse points awarded to Rank 3 members.
# Default: 55
# Default: 50
AltOlyRank3Points = 50
# Noblesse points awarded to Rank 4 members.
# Default: 40
# Default: 30
AltOlyRank4Points = 30
# Noblesse points awarded to Rank 5 members.
# Default: 30
# Default: 15
AltOlyRank5Points = 15
# Maximum points that player can gain/lose on a match.
@@ -114,35 +123,22 @@ AltOlyEnchantLimit = -1
AltOlyLogFights = False
# Time to wait before teleported to arena.
# Default: 60
AltOlyWaitTime = 60
# Default: 120
AltOlyWaitTime = 120
# Divider for points in games
# Divider for points in classed and non-classed games
# Default: 5
AltOlyDivider = 5
AltOlyDividerClassed = 5
AltOlyDividerNonClassed = 5
# Maximum number of matches a Noblesse character can join per week
# Default: 30
AltOlyMaxWeeklyMatches = 30
# Enable competitions only on specific days.
# Default: 1,2,3,4,5,6,7 (SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY)
# Classic: 6,7 (FRIDAY,SATURDAY)
# Enable competitions only on specific days. Usage: 1,2,3,4,5,6,7 (SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY)
# Default: 6,7 (FRIDAY,SATURDAY)
AltOlyCompetitionDays = 6,7
# ---------------------------------------------------------------------------
# Custom Olympiad period settings
# ---------------------------------------------------------------------------
# Example for Olympiad every 2 weeks:
# AltOlyUseCustomPeriodSettings = True
# AltOlyPeriod = WEEK
# AltOlyPeriodMultiplier = 2
# ---------------------------------------------------------------------------
# Enable/disable custom period settings.
# Default: False
# Classic: True
AltOlyUseCustomPeriodSettings = True
# Change the type of delay between two Olympiads.
# Available values: MONTH, WEEK, DAY
# Default: MONTH

View File

@@ -7,15 +7,15 @@
<tr><td height=10></td></tr>
<tr><td><center></center><br>
<center>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;0">Haste Lv2</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;1">Acumen Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;2">Wind Walk Lv2</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;3">Might Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;4">Shield Lv3</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;5">Magic Barrier Lv2</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;6">Blessed Body Lv4</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;7">Blessed Soul Lv4</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;8">Berserker Spirit Lv2</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;0">Haste</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;1">Acumen</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;2">Wind Walk</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;3">Might</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;4">Shield</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;5">Magic Barrier</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;6">Blessed Body</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;7">Blessed Soul</Button>
<Button ALIGN=LEFT ICON="NORMAL" action="bypass -h Quest OlyBuffer giveBuff;8">Berserker Spirit</Button>
</center>
</td></tr>
<tr><td height=34></td></tr>

View File

@@ -34,15 +34,15 @@ public final class OlyBuffer extends AbstractNpcAI
// Skills
private static final SkillHolder[] ALLOWED_BUFFS =
{
new SkillHolder(4357, 2), // Haste Lv2
new SkillHolder(4355, 3), // Acumen Lv3
new SkillHolder(4342, 2), // Wind Walk Lv2
new SkillHolder(4345, 3), // Might Lv3
new SkillHolder(4344, 3), // Shield Lv3
new SkillHolder(4349, 2), // Magic Barrier lv.2
new SkillHolder(4347, 4), // Blessed Body lv.4
new SkillHolder(4348, 4), // Blessed Soul lv.4
new SkillHolder(4352, 2), // Berserker Spirit Lv2
new SkillHolder(1086, 1), // Haste - Atk. Spd. +15%.
new SkillHolder(1085, 1), // Acumen - Casting Spd. +15%
new SkillHolder(1204, 1), // Wind Walk - Speed +20.
new SkillHolder(1068, 1), // Might - P. Atk. +8%.
new SkillHolder(1040, 1), // Shield - P. Def. +8%.
new SkillHolder(1036, 1), // Magic Barrier - M. Def. +23%.
new SkillHolder(1045, 1), // Blessed Body - Max HP +10%.
new SkillHolder(1048, 1), // Blessed Soul - Max MP +10%.
new SkillHolder(1062, 1), // Berserker Spirit - P. Def. -5%, M. Def. -10%, P. Evasion -2, P. Atk. +5%, M. Atk. +10%, Atk. Spd. +5%, Casting Spd. +5% and Speed +5.
};
private OlyBuffer()

View File

@@ -30,6 +30,7 @@ import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Npc;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.olympiad.CompetitionType;
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.olympiad.OlympiadGameManager;
import org.l2jmobius.gameserver.model.olympiad.OlympiadGameTask;
@@ -123,7 +124,7 @@ public final class OlyManager extends AbstractNpcAI implements IBypassHandler
}
else
{
OlympiadManager.getInstance().registerNoble(player);
OlympiadManager.getInstance().registerNoble(player, CompetitionType.NON_CLASSED);
}
break;
}

View File

@@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
import org.l2jmobius.gameserver.model.olympiad.OlympiadGameManager;
import org.l2jmobius.gameserver.model.olympiad.OlympiadGameNormal;
import org.l2jmobius.gameserver.model.olympiad.OlympiadGameNonClassed;
import org.l2jmobius.gameserver.model.olympiad.OlympiadGameTask;
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
import org.l2jmobius.gameserver.model.olympiad.Participant;
@@ -91,7 +91,7 @@ public class AdminOlympiad implements IAdminCommandHandler
final Participant[] players = new Participant[2];
players[0] = new Participant(activeChar, 1);
players[1] = new Participant(player, 2);
task.attachGame(new OlympiadGameNormal(i, players));
task.attachGame(new OlympiadGameNonClassed(i, players));
return true;
}
}