Separated configs for custom features.

This commit is contained in:
MobiusDev
2017-04-28 19:50:03 +00:00
parent 3e8a51ec0b
commit 110ab19c91
94 changed files with 2248 additions and 2166 deletions

View File

@@ -1,598 +0,0 @@
# ---------------------------------------------------------------------------
# Custom - non-retail-like systems that have been integrated into the project.
# Be warned that there may be no support for these mods beyond the original author's assistance.
# ---------------------------------------------------------------------------
# Champion mobs - Turn random mobs into Champions
# ---------------------------------------------------------------------------
# Enable/Disable Champion Mob System.
ChampionEnable = False
# Force Champion mobs to be passive?
# To leave champion mobs to default/Aggressive, set to False.
# To set all champion mobs to Passive, set True.
ChampionPassive = False
# % chance for a mob to became champion (0 to disable).
ChampionFrequency = 5
# Title of all Champion Mobs.
ChampionTitle = Champion
# Red aura for Champion Mobs.
ChampionAura = True
# Min and max levels allowed for a mob to be a Champion mob.
ChampionMinLevel = 20
ChampionMaxLevel = 85
# Hp multiplier for Champion mobs.
ChampionHp = 8
# Hp Regen Multiplier for Champion mobs.
ChampionHpRegen = 1.0
# Exp/Sp rewards multiplier for Champion mobs.
ChampionRewardsExpSp = 8.0
# Standard rewards chance multiplier for Champion mobs.
ChampionRewardsChance = 8.0
# Standard rewards amount multiplier for Champion mobs.
ChampionRewardsAmount = 1.0
# Adena & Seal Stone rewards chance multiplier for Champion mobs.
ChampionAdenasRewardsChance = 1.0
# Adena & Seal Stone rewards amount multiplier for Champion mobs.
ChampionAdenasRewardsAmount = 1.0
# P. Attack and M. Attack bonus for Champion mobs.
ChampionAtk = 1.0
# Physical/Magical Attack Speed bonus for Champion mobs.
ChampionSpdAtk = 1.0
# Specified reward item ID
ChampionRewardItemID = 6393
# The amount of the specified reward a player will receive if they are awarded the item.
ChampionRewardItemQty = 1
# % Chance to obtain a specified reward item from a higher level Champion mob.
# Default: 0
ChampionRewardLowerLvlItemChance = 0
# % Chance to obtain a specified reward item from a lower level Champion mob.
# Default: 0
ChampionRewardHigherLvlItemChance = 0
# Do you want to enable the vitality calculation when killing champion mobs?
# Be aware that it can lead to huge unbalance on your server, your rate for that mob would
# then be "mobXP x serverRate x vitalityRate x championXpRate
# Notes:
# Works only if EnableVitality = True
# Default: False
ChampionEnableVitality = False
# Enable spawning of the champions in instances
# Default = False
ChampionEnableInInstances = False
# ---------------------------------------------------------------------------
# Banking System
# ---------------------------------------------------------------------------
# Enable/Disable Banking System
BankingEnabled = False
# Amount of Goldbars a player gets when they use the ".deposit" command. Also the same amount they will lose with ".withdraw".
BankingGoldbarCount = 1
# Amount of Adena a player gets when they use the ".withdraw" command. Also the same amount they will lose with ".deposit".
BankingAdenaCount = 500000000
# ---------------------------------------------------------------------------
# Offline trade/craft
# ---------------------------------------------------------------------------
# Option to enable or disable offline trade feature.
# Enable -> true, Disable -> false
OfflineTradeEnable = True
# Option to enable or disable offline craft feature.
# Enable -> true, Disable -> false
OfflineCraftEnable = True
# If set to True, off-line shops will be possible only peace zones.
# Default: False
OfflineModeInPeaceZone = True
# If set to True, players in off-line shop mode wont take any damage, thus they cannot be killed.
# Default: False
OfflineModeNoDamage = True
# If set to True, name color will be changed then entering offline mode
OfflineSetNameColor = True
# Color of the name in offline mode (if OfflineSetNameColor = True)
OfflineNameColor = 808080
# Allow fame for characters in offline mode
# Enable -> true, Disable -> false
OfflineFame = True
#Restore offline traders/crafters after restart/shutdown. Default: false.
RestoreOffliners = True
#Do not restore offline characters, after OfflineMaxDays days spent from first restore.
#Require server restart to disconnect expired shops.
#0 = disabled (always restore).
#Default: 10
OfflineMaxDays = 10
#Disconnect shop after finished selling, buying.
#Default: True
OfflineDisconnectFinished = True
#Store offline trader transactions in realtime.
#Uses more datatabase resources, but helps if server shuts down unexpectedly.
StoreOfflineTradeInRealtime = True
# ---------------------------------------------------------------------------
# Display Server Time
# ---------------------------------------------------------------------------
# This option will enable displaying of the local server time for /time command.
DisplayServerTime = False
# ---------------------------------------------------------------------------
# Welcome message
# ---------------------------------------------------------------------------
# Show screen welcome message on character login
# Default: False
ScreenWelcomeMessageEnable = False
# Screen welcome message text to show on character login if enabled
# ('#' for a new line, but message can have max 2 lines)
ScreenWelcomeMessageText = Welcome to our server!
# Show screen welcome message for x seconds when character log in to game if enabled
ScreenWelcomeMessageTime = 10
# ---------------------------------------------------------------------------
# Pvp/pk Announce
# ---------------------------------------------------------------------------
# Default: False
AnnouncePkPvP = False
# Announce this as normal system message
# Default: True
AnnouncePkPvPNormalMessage = True
# PK message template
# variables: $killer, $target
AnnouncePkMsg = $killer has slaughtered $target
# Pvp message template
# variables: $killer, $target
AnnouncePvpMsg = $killer has defeated $target
# ---------------------------------------------------------------------------
# Chat Moderation
# ---------------------------------------------------------------------------
# This option will enable using of the voice commands .banchat and .unbanchat
# for players with corresponding access level (default: 100).
# Check access_levels.sql and admin_command_access_rights for details.
# Default: True
ChatAdmin = True
# ---------------------------------------------------------------------------
# Multilingual support
# ---------------------------------------------------------------------------
# Enable or disable multilingual support.
# Default: False
MultiLangEnable = False
# Default language, if not defined.
# Default: en
MultiLangDefault = en
# List of allowed languages, semicolon separated.
# Default: en;ru
MultiLangAllowed = en;ru
# Enable or disable voice command .lang for changing languages on the fly.
# Default: True
MultiLangVoiceCommand = True
# Enable or disable multilingual SystemMessages support.
# Default: False
MultiLangSystemMessageEnable = False
# List of allowed languages for SystemMessages, semicolon separated.
# Default:
MultiLangSystemMessageAllowed =
# Enable or disable multilingual NpcStrings support.
# Default: False
MultiLangNpcStringEnable = False
# List of allowed languages for NpcStrings, semicolon separated.
# Default:
MultiLangNpcStringAllowed =
# ---------------------------------------------------------------------------
# Walker/Bot protection
# ---------------------------------------------------------------------------
# Basic protection against L2Walker.
# Default: False
L2WalkerProtection = False
# ---------------------------------------------------------------------------
# Debug enable/disable voice command
# ---------------------------------------------------------------------------
# This option will enable voice command .debug allowing players
# to turn on/off debugging on self only.
# (admin command //debug can enable debugging on any character)
# Use admin_command_access_rights table for defining access rights.
# Default: False
DebugVoiceCommand = False
# ---------------------------------------------------------------------------
# Dualbox Check
# ---------------------------------------------------------------------------
# Maximum number of players per IP address allowed to enter game.
# Default: 0 (unlimited)
DualboxCheckMaxPlayersPerIP = 0
# Maximum number of players per IP address allowed to participate in olympiad.
# Default: 0 (unlimited)
DualboxCheckMaxOlympiadParticipantsPerIP = 0
# Maximum number of players per IP address allowed to participate in events using L2J Event Engine (//event).
# Default: 0 (unlimited)
DualboxCheckMaxL2EventParticipantsPerIP = 0
# Whitelist of the addresses for dualbox checks.
# Format: Address1,Number1;Address2,Number2...
# Network address can be number (127.0.0.1) or symbolic (localhost) formats.
# Additional connection number added to the global limits for this address.
# For example, if number of TvT event participants per IP address set to the 1 (no dualbox)
# and whitelist contains "l2jmobius.com,2" then number of allowed participants from l2jmobius.com
# will be 1+2=3. Use 0 or negative value for unlimited number of connections.
# Default: 127.0.0.1,0 (no limits from localhost)
DualboxCheckWhitelist = 127.0.0.1,0
# ---------------------------------------------------------------------------
# Password Change
# ---------------------------------------------------------------------------
# Enables .changepassword voiced command which allows the players to change their account's password ingame.
# Default: False
AllowChangePassword = False
# ---------------------------------------------------------------------------
# Old Drop Behavior
# ---------------------------------------------------------------------------
# Enables L2J old drop behavior
# The old L2J system used to add amount of items drop per 100% range of chance.
# For example, if chance is 230% when rate are applied, it will do :
# amount dropped = (2 * getRandomAmount(min,max)) + 30% chance to get ad additional getRandomAmount(min,max)
# Default : False
OldDropBehavior = False
# ---------------------------------------------------------------------------
# Allowed Player Races
# ---------------------------------------------------------------------------
# Allowing specific races to be created.
# Default: True
AllowHuman = True
AllowElf = True
AllowDarkElf = True
AllowOrc = True
AllowDwarf = True
AllowKamael = True
AllowErtheia = True
# ---------------------------------------------------------------------------
# Custom Starting Location
# ---------------------------------------------------------------------------
# Enable custom starting location.
# Default: False
CustomStartingLocation = False
# Coordinates for custom starting location.
# Default: 50821, 186527, -3625 (Giran Harbor)
CustomStartingLocX = 50821
CustomStartingLocY = 186527
CustomStartingLocZ = -3625
# ---------------------------------------------------------------------------
# Minimum Range for Private Stores
# ---------------------------------------------------------------------------
# Minimum distance from player / npc to open a new private store.
# Default: 0
ShopMinRangeFromPlayer = 50
ShopMinRangeFromNpc = 100
# ---------------------------------------------------------------------------
# Free Jumps (Sayune) for all Players
# ---------------------------------------------------------------------------
# Enable Sayune for players that are not Awakened (4rth class).
# Default: False
FreeJumpsForAll = False
# ---------------------------------------------------------------------------
# Premium System (VIP)
# ---------------------------------------------------------------------------
# -Admins can manage subscriptions from main admin menu.
# -Players can use .premium to view account related info.
# -Caution: Premium rates multiply existing server rates.
# Enable premium system.
# Default: False
EnablePremiumSystem = False
# Xp rate for premium players.
PremiumRateXp = 2
# Sp rate for premium players.
PremiumRateSp = 2
# Drop chance for premium players.
PremiumRateDropChance = 1
# Drop amount for premium players.
PremiumRateDropAmount = 2
# Spoil chance for premium players.
PremiumRateSpoilChance = 1
# Spoil amount for premium players.
PremiumRateSpoilAmount = 2
# List of items affected by custom drop rate by id, used now for Adena rate too.
# Usage: itemId1,multiplier1;itemId2,multiplier2;...
PremiumRateDropChanceByItemId = 57,2;6656,1;6657,1;6658,1;6659,1;6660,1;6661,1;6662,1;8191,1;10170,1;10314,1
PremiumRateDropAmountByItemId = 57,2;6656,1;6657,1;6658,1;6659,1;6660,1;6661,1;6662,1;8191,1;10170,1;10314,1
# ---------------------------------------------------------------------------
# Custom Community Board
# ---------------------------------------------------------------------------
# Enable Custom Community Board.
# Default: False
CustomCommunityBoard = True
# Currency used by the Community Board (itemId).
# Default: 57 (Adena)
CommunityCurrencyId = 57
# Enable Multisells.
# Default: True
CommunityEnableMultisells = True
# Enable Teleports.
# Default: True
CommunityEnableTeleports = True
# Enable Buffs.
# Default: True
CommunityEnableBuffs = True
# Enable Heal.
# Default: True
CommunityEnableHeal = True
# Price for Teleports.
# Default: 0 (free)
CommunityTeleportPrice = 0
# Price for Buffs.
# Default: 0 (free)
CommunityBuffPrice = 0
# Price for Heal.
# Default: 0 (free)
CommunityHealPrice = 0
# Disable Community Board while in combat.
# Default: True
CommunityCombatDisabled = True
# Disable Community Board while player has Karma.
# Default: True
CommunityKarmaDisabled = True
# Cast animations of each buff.
# Default: False
CommunityCastAnimations = False
# Enable buying premium from community board.
# EnablePremiumSystem must also be set to true.
# Default: False
CommunityPremiumSystem = False
# ItemID for buying premium in community board.
# Check data/html/CommunityBoard/Custom/premium/main.html
CommunityPremiumBuyCoinId = 57
# Amount of coins needed for each premium day bought.
CommunityPremiumPricePerDay = 1000000
# ---------------------------------------------------------------------------
# Faction System (Good vs Evil)
# ---------------------------------------------------------------------------
# Enable faction system.
# Default: False
EnableFactionSystem = False
# Starting location for all players.
# Default: 85332,16199,-1252
StartingLocation = 85332,16199,-1252
# Faction manager NPC ID.
# Default: 500
FactionManagerNpcId = 500
# Spawn location for faction manager NPC.
# Default: 85712,15974,-1260,26808
ManagerSpawnLocation = 85712,15974,-1260,26808
# Good base location.
# Default: 45306,48878,-3058
GoodBaseLocation = 45306,48878,-3058
# Evil base location.
# Default: -44037,-113283,-237
EvilBaseLocation = -44037,-113283,-237
# Good team name.
# Default: Good
GoodTeamName = Good
# Evil team name.
# Default: Evil
EvilTeamName = Evil
# Good name color.
# Default: 00FF00
GoodNameColor = 00FF00
# Evil name color.
# Default: 0000FF
EvilNameColor = 0000FF
# Enable faction guards.
# The NPC template must have faction as clan.
# Default: True
EnableFactionGuards = True
# Good Guard NPC ID.
# Default: 501
GoodGuardNpcId = 501
# Evil Guard NPC ID.
# Default: 502
EvilGuardNpcId = 502
# Upon death, respawn at faction base.
# Default: True
RespawnAtFactionBase = True
# Upon selecting faction, players become nobless.
# Default: False
FactionAutoNobless = False
# Disallow chat between factions.
# Default: True
EnableFactionChat = True
# Prohibit login when faction has more online players.
# Default: True
BalanceOnlinePlayers = True
# Online player exceed limit (used by setting above).
# Default: 20
BalancePlayerExceedLimit = 20
# ---------------------------------------------------------------------------
# PC Cafe (PC Bang) System
# ---------------------------------------------------------------------------
# PC CAFE POINTS ID = -100
# PC Cafe Enabled.
PcCafeEnabled = False
# Allow only players with a Premium account.
PcCafeOnlyPremium = False
# Max points that player may have.
# Limited by int limit.
MaxPcCafePoints = 200000
# PC Bang point rate.
# Acquisition formula equals (exp * 0.0001 * AcquisitionPointsRate)
# e.g. with 1.0 it's 10000 exp = 1 PC Bang point
# 2.0 - 10000 exp = 2 PC Bang points
# 0.5 - 5000 exp = 1 PC Bang point
AcquisitionPointsRate = 1.0
# Use random points rewarding.
# If enabled points will be random from points/2 to points.
AcquisitionPointsRandom = False
# Creates a chance to aquire double points.
DoublingAcquisitionPoints = True
# Double points chance.
# Used when DoublingAcquisitionPoints is enabled.
# Default 1 (%)
DoublingAcquisitionPointsChance = 1
# Reward low exp kills
# Acquire points if player gains exp and aquire formula equals 0.
RewardLowExpKills = True
# Chance for low exp kills
# Used when RewardLowExpKills is enabled.
# Default 50 (%)
RewardLowExpKillsChance = 50
# ---------------------------------------------------------------------------
# Sell Buffs configuration
# ---------------------------------------------------------------------------
# Enable/Disable selling buffs
SellBuffEnable = False
# Multipler for mana cost of buffs
MpCostMultipler = 1
# Payment for Sell Buff System, can be changed to custom server coin
PaymentID = 57
# Minimal price of every buff
MinimalPrice = 100000
# Maximal price of every buff
MaximalPrice = 100000000
# Maximum count of buffs in sell list
MaxBuffs = 20

View File

@@ -0,0 +1,13 @@
# ---------------------------------------------------------------------------
# Allowed Player Races
# ---------------------------------------------------------------------------
# Allowing specific races to be created.
# Default: True
AllowHuman = True
AllowElf = True
AllowDarkElf = True
AllowOrc = True
AllowDwarf = True
AllowKamael = True
AllowErtheia = True

View File

@@ -0,0 +1,12 @@
# ---------------------------------------------------------------------------
# Banking System
# ---------------------------------------------------------------------------
# Enable/Disable Banking System
BankingEnabled = False
# Amount of Goldbars a player gets when they use the ".deposit" command. Also the same amount they will lose with ".withdraw".
BankingGoldbarCount = 1
# Amount of Adena a player gets when they use the ".withdraw" command. Also the same amount they will lose with ".deposit".
BankingAdenaCount = 500000000

View File

@@ -0,0 +1,77 @@
# ---------------------------------------------------------------------------
# Champion mobs - Turn random mobs into Champions
# ---------------------------------------------------------------------------
# Enable/Disable Champion Mob System.
ChampionEnable = False
# Force Champion mobs to be passive?
# To leave champion mobs to default/Aggressive, set to False.
# To set all champion mobs to Passive, set True.
ChampionPassive = False
# % chance for a mob to became champion (0 to disable).
ChampionFrequency = 5
# Title of all Champion Mobs.
ChampionTitle = Champion
# Red aura for Champion Mobs.
ChampionAura = True
# Min and max levels allowed for a mob to be a Champion mob.
ChampionMinLevel = 20
ChampionMaxLevel = 85
# Hp multiplier for Champion mobs.
ChampionHp = 8
# Hp Regen Multiplier for Champion mobs.
ChampionHpRegen = 1.0
# Exp/Sp rewards multiplier for Champion mobs.
ChampionRewardsExpSp = 8.0
# Standard rewards chance multiplier for Champion mobs.
ChampionRewardsChance = 8.0
# Standard rewards amount multiplier for Champion mobs.
ChampionRewardsAmount = 1.0
# Adena & Seal Stone rewards chance multiplier for Champion mobs.
ChampionAdenasRewardsChance = 1.0
# Adena & Seal Stone rewards amount multiplier for Champion mobs.
ChampionAdenasRewardsAmount = 1.0
# P. Attack and M. Attack bonus for Champion mobs.
ChampionAtk = 1.0
# Physical/Magical Attack Speed bonus for Champion mobs.
ChampionSpdAtk = 1.0
# Specified reward item ID
ChampionRewardItemID = 6393
# The amount of the specified reward a player will receive if they are awarded the item.
ChampionRewardItemQty = 1
# % Chance to obtain a specified reward item from a higher level Champion mob.
# Default: 0
ChampionRewardLowerLvlItemChance = 0
# % Chance to obtain a specified reward item from a lower level Champion mob.
# Default: 0
ChampionRewardHigherLvlItemChance = 0
# Do you want to enable the vitality calculation when killing champion mobs?
# Be aware that it can lead to huge unbalance on your server, your rate for that mob would
# then be "mobXP x serverRate x vitalityRate x championXpRate
# Notes:
# Works only if EnableVitality = True
# Default: False
ChampionEnableVitality = False
# Enable spawning of the champions in instances
# Default = False
ChampionEnableInInstances = False

View File

@@ -0,0 +1,9 @@
# ---------------------------------------------------------------------------
# Chat Moderation
# ---------------------------------------------------------------------------
# This option will enable using of the voice commands .banchat and .unbanchat
# for players with corresponding access level (default: 100).
# Check access_levels.sql and admin_command_access_rights for details.
# Default: True
ChatAdmin = True

View File

@@ -0,0 +1,63 @@
# ---------------------------------------------------------------------------
# Custom Community Board
# ---------------------------------------------------------------------------
# Enable Custom Community Board.
# Default: False
CustomCommunityBoard = True
# Currency used by the Community Board (itemId).
# Default: 57 (Adena)
CommunityCurrencyId = 57
# Enable Multisells.
# Default: True
CommunityEnableMultisells = True
# Enable Teleports.
# Default: True
CommunityEnableTeleports = True
# Enable Buffs.
# Default: True
CommunityEnableBuffs = True
# Enable Heal.
# Default: True
CommunityEnableHeal = True
# Price for Teleports.
# Default: 0 (free)
CommunityTeleportPrice = 0
# Price for Buffs.
# Default: 0 (free)
CommunityBuffPrice = 0
# Price for Heal.
# Default: 0 (free)
CommunityHealPrice = 0
# Disable Community Board while in combat.
# Default: True
CommunityCombatDisabled = True
# Disable Community Board while player has Karma.
# Default: True
CommunityKarmaDisabled = True
# Cast animations of each buff.
# Default: False
CommunityCastAnimations = False
# Enable buying premium from community board.
# Premium System must be enabled.
# Default: False
CommunityPremiumSystem = False
# ItemID for buying premium in community board.
# Check data/html/CommunityBoard/Custom/premium/main.html
CommunityPremiumBuyCoinId = 57
# Amount of coins needed for each premium day bought.
CommunityPremiumPricePerDay = 1000000

View File

@@ -0,0 +1,10 @@
# ---------------------------------------------------------------------------
# Debug enable/disable voice command
# ---------------------------------------------------------------------------
# This option will enable voice command .debug allowing players
# to turn on/off debugging on self only.
# (admin command //debug can enable debugging on any character)
# Use admin_command_access_rights table for defining access rights.
# Default: False
DebugVoiceCommand = False

View File

@@ -0,0 +1,25 @@
# ---------------------------------------------------------------------------
# Dualbox Check
# ---------------------------------------------------------------------------
# Maximum number of players per IP address allowed to enter game.
# Default: 0 (unlimited)
DualboxCheckMaxPlayersPerIP = 0
# Maximum number of players per IP address allowed to participate in olympiad.
# Default: 0 (unlimited)
DualboxCheckMaxOlympiadParticipantsPerIP = 0
# Maximum number of players per IP address allowed to participate in events using L2J Event Engine (//event).
# Default: 0 (unlimited)
DualboxCheckMaxL2EventParticipantsPerIP = 0
# Whitelist of the addresses for dualbox checks.
# Format: Address1,Number1;Address2,Number2...
# Network address can be number (127.0.0.1) or symbolic (localhost) formats.
# Additional connection number added to the global limits for this address.
# For example, if number of TvT event participants per IP address set to the 1 (no dualbox)
# and whitelist contains "l2jmobius.com,2" then number of allowed participants from l2jmobius.com
# will be 1+2=3. Use 0 or negative value for unlimited number of connections.
# Default: 127.0.0.1,0 (no limits from localhost)
DualboxCheckWhitelist = 127.0.0.1,0

View File

@@ -0,0 +1,76 @@
# ---------------------------------------------------------------------------
# Faction System (Good vs Evil)
# ---------------------------------------------------------------------------
# Enable faction system.
# Default: False
EnableFactionSystem = False
# Starting location for all players.
# Default: 85332,16199,-1252
StartingLocation = 85332,16199,-1252
# Faction manager NPC ID.
# Default: 500
FactionManagerNpcId = 500
# Spawn location for faction manager NPC.
# Default: 85712,15974,-1260,26808
ManagerSpawnLocation = 85712,15974,-1260,26808
# Good base location.
# Default: 45306,48878,-3058
GoodBaseLocation = 45306,48878,-3058
# Evil base location.
# Default: -44037,-113283,-237
EvilBaseLocation = -44037,-113283,-237
# Good team name.
# Default: Good
GoodTeamName = Good
# Evil team name.
# Default: Evil
EvilTeamName = Evil
# Good name color.
# Default: 00FF00
GoodNameColor = 00FF00
# Evil name color.
# Default: 0000FF
EvilNameColor = 0000FF
# Enable faction guards.
# The NPC template must have faction as clan.
# Default: True
EnableFactionGuards = True
# Good Guard NPC ID.
# Default: 501
GoodGuardNpcId = 501
# Evil Guard NPC ID.
# Default: 502
EvilGuardNpcId = 502
# Upon death, respawn at faction base.
# Default: True
RespawnAtFactionBase = True
# Upon selecting faction, players become nobless.
# Default: False
FactionAutoNobless = False
# Disallow chat between factions.
# Default: True
EnableFactionChat = True
# Prohibit login when faction has more online players.
# Default: True
BalanceOnlinePlayers = True
# Online player exceed limit (used by setting above).
# Default: 20
BalancePlayerExceedLimit = 20

View File

@@ -0,0 +1,35 @@
# ---------------------------------------------------------------------------
# Multilingual support
# ---------------------------------------------------------------------------
# Enable or disable multilingual support.
# Default: False
MultiLangEnable = False
# Default language, if not defined.
# Default: en
MultiLangDefault = en
# List of allowed languages, semicolon separated.
# Default: en;ru
MultiLangAllowed = en;ru
# Enable or disable voice command .lang for changing languages on the fly.
# Default: True
MultiLangVoiceCommand = True
# Enable or disable multilingual SystemMessages support.
# Default: False
MultiLangSystemMessageEnable = False
# List of allowed languages for SystemMessages, semicolon separated.
# Default:
MultiLangSystemMessageAllowed =
# Enable or disable multilingual NpcStrings support.
# Default: False
MultiLangNpcStringEnable = False
# List of allowed languages for NpcStrings, semicolon separated.
# Default:
MultiLangNpcStringAllowed =

View File

@@ -0,0 +1,46 @@
# ---------------------------------------------------------------------------
# Offline trade/craft
# ---------------------------------------------------------------------------
# Option to enable or disable offline trade feature.
# Enable -> true, Disable -> false
OfflineTradeEnable = True
# Option to enable or disable offline craft feature.
# Enable -> true, Disable -> false
OfflineCraftEnable = True
# If set to True, off-line shops will be possible only peace zones.
# Default: False
OfflineModeInPeaceZone = True
# If set to True, players in off-line shop mode wont take any damage, thus they cannot be killed.
# Default: False
OfflineModeNoDamage = True
# If set to True, name color will be changed then entering offline mode
OfflineSetNameColor = True
# Color of the name in offline mode (if OfflineSetNameColor = True)
OfflineNameColor = 808080
# Allow fame for characters in offline mode
# Enable -> true, Disable -> false
OfflineFame = True
#Restore offline traders/crafters after restart/shutdown. Default: false.
RestoreOffliners = True
#Do not restore offline characters, after OfflineMaxDays days spent from first restore.
#Require server restart to disconnect expired shops.
#0 = disabled (always restore).
#Default: 10
OfflineMaxDays = 10
#Disconnect shop after finished selling, buying.
#Default: True
OfflineDisconnectFinished = True
#Store offline trader transactions in realtime.
#Uses more datatabase resources, but helps if server shuts down unexpectedly.
StoreOfflineTradeInRealtime = True

View File

@@ -0,0 +1,10 @@
# ---------------------------------------------------------------------------
# Old Drop Behavior
# ---------------------------------------------------------------------------
# Enables L2J old drop behavior
# The old L2J system used to add amount of items drop per 100% range of chance.
# For example, if chance is 230% when rate are applied, it will do :
# amount dropped = (2 * getRandomAmount(min,max)) + 30% chance to get ad additional getRandomAmount(min,max)
# Default : False
OldDropBehavior = False

View File

@@ -0,0 +1,7 @@
# ---------------------------------------------------------------------------
# Password Change
# ---------------------------------------------------------------------------
# Enables .changepassword voiced command which allows the players to change their account's password ingame.
# Default: False
AllowChangePassword = False

View File

@@ -0,0 +1,42 @@
# ---------------------------------------------------------------------------
# PC Cafe (PC Bang) System
# ---------------------------------------------------------------------------
# PC CAFE POINTS ID = -100
# PC Cafe Enabled.
PcCafeEnabled = False
# Allow only players with a Premium account.
PcCafeOnlyPremium = False
# Max points that player may have.
# Limited by int limit.
MaxPcCafePoints = 200000
# PC Bang point rate.
# Acquisition formula equals (exp * 0.0001 * AcquisitionPointsRate)
# e.g. with 1.0 it's 10000 exp = 1 PC Bang point
# 2.0 - 10000 exp = 2 PC Bang points
# 0.5 - 5000 exp = 1 PC Bang point
AcquisitionPointsRate = 1.0
# Use random points rewarding.
# If enabled points will be random from points/2 to points.
AcquisitionPointsRandom = False
# Creates a chance to aquire double points.
DoublingAcquisitionPoints = True
# Double points chance.
# Used when DoublingAcquisitionPoints is enabled.
# Default 1 (%)
DoublingAcquisitionPointsChance = 1
# Reward low exp kills
# Acquire points if player gains exp and aquire formula equals 0.
RewardLowExpKills = True
# Chance for low exp kills
# Used when RewardLowExpKills is enabled.
# Default 50 (%)
RewardLowExpKillsChance = 50

View File

@@ -0,0 +1,33 @@
# ---------------------------------------------------------------------------
# Premium System
# ---------------------------------------------------------------------------
# -Admins can manage subscriptions from main admin menu.
# -Players can use .premium to view account related info.
# -Caution: Premium rates multiply existing server rates.
# Enable premium system.
# Default: False
EnablePremiumSystem = False
# Xp rate for premium players.
PremiumRateXp = 2
# Sp rate for premium players.
PremiumRateSp = 2
# Drop chance for premium players.
PremiumRateDropChance = 1
# Drop amount for premium players.
PremiumRateDropAmount = 2
# Spoil chance for premium players.
PremiumRateSpoilChance = 1
# Spoil amount for premium players.
PremiumRateSpoilAmount = 2
# List of items affected by custom drop rate by id, used now for Adena rate too.
# Usage: itemId1,multiplier1;itemId2,multiplier2;...
PremiumRateDropChanceByItemId = 57,2;6656,1;6657,1;6658,1;6659,1;6660,1;6661,1;6662,1;8191,1;10170,1;10314,1
PremiumRateDropAmountByItemId = 57,2;6656,1;6657,1;6658,1;6659,1;6660,1;6661,1;6662,1;8191,1;10170,1;10314,1

View File

@@ -0,0 +1,8 @@
# ---------------------------------------------------------------------------
# Minimum Range for Private Stores
# ---------------------------------------------------------------------------
# Minimum distance from player / npc to open a new private store.
# Default: 0
ShopMinRangeFromPlayer = 50
ShopMinRangeFromNpc = 100

View File

@@ -0,0 +1,18 @@
# ---------------------------------------------------------------------------
# Pvp/pk Announce
# ---------------------------------------------------------------------------
# Default: False
AnnouncePkPvP = False
# Announce this as normal system message
# Default: True
AnnouncePkPvPNormalMessage = True
# PK message template
# variables: $killer, $target
AnnouncePkMsg = $killer has slaughtered $target
# Pvp message template
# variables: $killer, $target
AnnouncePvpMsg = $killer has defeated $target

View File

@@ -0,0 +1,7 @@
# ---------------------------------------------------------------------------
# Free Sayune for all Players
# ---------------------------------------------------------------------------
# Enable Sayune for players that are not Awakened (4rth class).
# Default: False
FreeJumpsForAll = False

View File

@@ -0,0 +1,14 @@
# ---------------------------------------------------------------------------
# Welcome message
# ---------------------------------------------------------------------------
# Show screen welcome message on character login
# Default: False
ScreenWelcomeMessageEnable = False
# Screen welcome message text to show on character login if enabled
# ('#' for a new line, but message can have max 2 lines)
ScreenWelcomeMessageText = Welcome to our server!
# Show screen welcome message for x seconds when character log in to game if enabled
ScreenWelcomeMessageTime = 10

View File

@@ -0,0 +1,21 @@
# ---------------------------------------------------------------------------
# Sell Buffs configuration
# ---------------------------------------------------------------------------
# Enable/Disable selling buffs
SellBuffEnable = False
# Multipler for mana cost of buffs
MpCostMultipler = 1
# Payment for Sell Buff System, can be changed to custom server coin
PaymentID = 57
# Minimal price of every buff
MinimalPrice = 100000
# Maximal price of every buff
MaximalPrice = 100000000
# Maximum count of buffs in sell list
MaxBuffs = 20

View File

@@ -0,0 +1,6 @@
# ---------------------------------------------------------------------------
# Display Server Time
# ---------------------------------------------------------------------------
# This option will enable displaying of the local server time for /time command.
DisplayServerTime = False

View File

@@ -0,0 +1,13 @@
# ---------------------------------------------------------------------------
# Custom Starting Location
# ---------------------------------------------------------------------------
# Enable custom starting location.
# Default: False
CustomStartingLocation = False
# Coordinates for custom starting location.
# Default: 50821, 186527, -3625 (Giran Harbor)
CustomStartingLocX = 50821
CustomStartingLocY = 186527
CustomStartingLocZ = -3625

View File

@@ -0,0 +1,7 @@
# ---------------------------------------------------------------------------
# Walker/Bot protection
# ---------------------------------------------------------------------------
# Basic protection against L2Walker.
# Default: False
L2WalkerProtection = False

View File

@@ -552,10 +552,10 @@ public class MasterHandler
// CastleVCmd.class, // CastleVCmd.class,
// SetVCmd.class, // SetVCmd.class,
Config.BANKING_SYSTEM_ENABLED ? Banking.class : null, Config.BANKING_SYSTEM_ENABLED ? Banking.class : null,
Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null, Config.CHAT_ADMIN ? ChatAdmin.class : null,
Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null, Config.MULTILANG_ENABLE && Config.MULTILANG_VOICED_ALLOW ? Lang.class : null,
Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null, Config.DEBUG_VOICE_COMMAND ? Debug.class : null,
Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null, Config.ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null,
Config.PREMIUM_SYSTEM_ENABLED ? Premium.class : null, Config.PREMIUM_SYSTEM_ENABLED ? Premium.class : null,
}, },
{ {

View File

@@ -134,9 +134,9 @@ public class AdminKill implements IAdminCommandHandler
} }
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null); target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
} }
else if (Config.L2JMOD_CHAMPION_ENABLE && target.isChampion()) else if (Config.CHAMPION_ENABLE && target.isChampion())
{ {
target.reduceCurrentHp((target.getMaxHp() * Config.L2JMOD_CHAMPION_HP) + 1, activeChar, null); target.reduceCurrentHp((target.getMaxHp() * Config.CHAMPION_HP) + 1, activeChar, null);
} }
else else
{ {

View File

@@ -249,9 +249,9 @@ public class AdminMenu implements IAdminCommandHandler
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null); target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
filename = "charmanage.htm"; filename = "charmanage.htm";
} }
else if (Config.L2JMOD_CHAMPION_ENABLE && target.isChampion()) else if (Config.CHAMPION_ENABLE && target.isChampion())
{ {
target.reduceCurrentHp((target.getMaxHp() * Config.L2JMOD_CHAMPION_HP) + 1, activeChar, null); target.reduceCurrentHp((target.getMaxHp() * Config.CHAMPION_HP) + 1, activeChar, null);
} }
else else
{ {

View File

@@ -72,7 +72,7 @@ public class Time implements IUserCommandHandler
sm.addString(m); sm.addString(m);
} }
activeChar.sendPacket(sm); activeChar.sendPacket(sm);
if (Config.L2JMOD_DISPLAY_SERVER_TIME) if (Config.DISPLAY_SERVER_TIME)
{ {
activeChar.sendMessage("Server time is " + fmt.format(new Date(System.currentTimeMillis()))); activeChar.sendMessage("Server time is " + fmt.format(new Date(System.currentTimeMillis())));
} }

View File

@@ -33,7 +33,7 @@ public class Lang implements IVoicedCommandHandler
@Override @Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params) public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
{ {
if (!Config.L2JMOD_MULTILANG_ENABLE || !Config.L2JMOD_MULTILANG_VOICED_ALLOW) if (!Config.MULTILANG_ENABLE || !Config.MULTILANG_VOICED_ALLOW)
{ {
return false; return false;
} }
@@ -42,7 +42,7 @@ public class Lang implements IVoicedCommandHandler
if (params == null) if (params == null)
{ {
final StringBuilder html = new StringBuilder(100); final StringBuilder html = new StringBuilder(100);
for (String lang : Config.L2JMOD_MULTILANG_ALLOWED) for (String lang : Config.MULTILANG_ALLOWED)
{ {
html.append("<button value=\"" + lang.toUpperCase() + "\" action=\"bypass -h voice .lang " + lang + "\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>"); html.append("<button value=\"" + lang.toUpperCase() + "\" action=\"bypass -h voice .lang " + lang + "\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>");
} }

File diff suppressed because it is too large Load Diff

View File

@@ -168,7 +168,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
return false; return false;
} }
if (me.isChampion() && Config.L2JMOD_CHAMPION_PASSIVE) if (me.isChampion() && Config.CHAMPION_PASSIVE)
{ {
return false; return false;
} }

View File

@@ -155,7 +155,7 @@ public final class AntiFeedManager
final AtomicInteger connectionCount = event.computeIfAbsent(addrHash, k -> new AtomicInteger()); final AtomicInteger connectionCount = event.computeIfAbsent(addrHash, k -> new AtomicInteger());
if ((connectionCount.get() + 1) <= (max + Config.L2JMOD_DUALBOX_CHECK_WHITELIST.getOrDefault(addrHash, 0))) if ((connectionCount.get() + 1) <= (max + Config.DUALBOX_CHECK_WHITELIST.getOrDefault(addrHash, 0)))
{ {
connectionCount.incrementAndGet(); connectionCount.incrementAndGet();
return true; return true;
@@ -259,9 +259,9 @@ public final class AntiFeedManager
final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode()); final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
int limit = max; int limit = max;
if (Config.L2JMOD_DUALBOX_CHECK_WHITELIST.containsKey(addrHash)) if (Config.DUALBOX_CHECK_WHITELIST.containsKey(addrHash))
{ {
limit += Config.L2JMOD_DUALBOX_CHECK_WHITELIST.get(addrHash); limit += Config.DUALBOX_CHECK_WHITELIST.get(addrHash);
} }
return limit; return limit;
} }

View File

@@ -474,10 +474,10 @@ public class L2Attackable extends L2Npc
long exp = expSp[0]; long exp = expSp[0];
int sp = expSp[1]; int sp = expSp[1];
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion()) if (Config.CHAMPION_ENABLE && isChampion())
{ {
exp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP; exp *= Config.CHAMPION_REWARDS_EXP_SP;
sp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP; sp *= Config.CHAMPION_REWARDS_EXP_SP;
} }
exp *= penalty; exp *= penalty;
@@ -586,10 +586,10 @@ public class L2Attackable extends L2Npc
long exp = expSp[0]; long exp = expSp[0];
int sp = expSp[1]; int sp = expSp[1];
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion()) if (Config.CHAMPION_ENABLE && isChampion())
{ {
exp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP; exp *= Config.CHAMPION_REWARDS_EXP_SP;
sp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP; sp *= Config.CHAMPION_REWARDS_EXP_SP;
} }
exp *= partyMul; exp *= partyMul;
@@ -1005,12 +1005,12 @@ public class L2Attackable extends L2Npc
} }
// Apply Special Item drop with random(rnd) quantity(qty) for champions. // Apply Special Item drop with random(rnd) quantity(qty) for champions.
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion() && ((Config.L2JMOD_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE > 0) || (Config.L2JMOD_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE > 0))) if (Config.CHAMPION_ENABLE && isChampion() && ((Config.CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE > 0) || (Config.CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE > 0)))
{ {
int champqty = Rnd.get(Config.L2JMOD_CHAMPION_REWARD_QTY); int champqty = Rnd.get(Config.CHAMPION_REWARD_QTY);
final ItemHolder item = new ItemHolder(Config.L2JMOD_CHAMPION_REWARD_ID, ++champqty); final ItemHolder item = new ItemHolder(Config.CHAMPION_REWARD_ID, ++champqty);
if ((player.getLevel() <= getLevel()) && (Rnd.get(100) < Config.L2JMOD_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE)) if ((player.getLevel() <= getLevel()) && (Rnd.get(100) < Config.CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE))
{ {
if (Config.AUTO_LOOT || isFlying()) if (Config.AUTO_LOOT || isFlying())
{ {
@@ -1021,7 +1021,7 @@ public class L2Attackable extends L2Npc
dropItem(player, item); dropItem(player, item);
} }
} }
else if ((player.getLevel() > getLevel()) && (Rnd.get(100) < Config.L2JMOD_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE)) else if ((player.getLevel() > getLevel()) && (Rnd.get(100) < Config.CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE))
{ {
if (Config.AUTO_LOOT || isFlying()) if (Config.AUTO_LOOT || isFlying())
{ {
@@ -1401,15 +1401,15 @@ public class L2Attackable extends L2Npc
// Reset champion state // Reset champion state
_champion = false; _champion = false;
if (Config.L2JMOD_CHAMPION_ENABLE) if (Config.CHAMPION_ENABLE)
{ {
// Set champion on next spawn // Set champion on next spawn
if (isMonster() && !getTemplate().isUndying() && !isRaid() && !isRaidMinion() && (Config.L2JMOD_CHAMPION_FREQUENCY > 0) && (getLevel() >= Config.L2JMOD_CHAMP_MIN_LVL) && (getLevel() <= Config.L2JMOD_CHAMP_MAX_LVL) && (Config.L2JMOD_CHAMPION_ENABLE_IN_INSTANCES || (getInstanceId() == 0))) if (isMonster() && !getTemplate().isUndying() && !isRaid() && !isRaidMinion() && (Config.CHAMPION_FREQUENCY > 0) && (getLevel() >= Config.CHAMP_MIN_LVL) && (getLevel() <= Config.CHAMP_MAX_LVL) && (Config.CHAMPION_ENABLE_IN_INSTANCES || (getInstanceId() == 0)))
{ {
if (Rnd.get(100) < Config.L2JMOD_CHAMPION_FREQUENCY) if (Rnd.get(100) < Config.CHAMPION_FREQUENCY)
{ {
_champion = true; _champion = true;
if (Config.L2JMOD_SHOW_CHAMPION_AURA) if (Config.SHOW_CHAMPION_AURA)
{ {
setTeam(Team.RED); setTeam(Team.RED);
} }
@@ -1613,7 +1613,7 @@ public class L2Attackable extends L2Npc
*/ */
public boolean useVitalityRate() public boolean useVitalityRate()
{ {
return !isChampion() || Config.L2JMOD_CHAMPION_ENABLE_VITALITY; return !isChampion() || Config.CHAMPION_ENABLE_VITALITY;
} }
/** Return True if the L2Character is RaidBoss or his minion. */ /** Return True if the L2Character is RaidBoss or his minion. */

View File

@@ -2495,7 +2495,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
{ {
if (isChampion()) if (isChampion())
{ {
return Config.L2JMOD_CHAMP_TITLE; return Config.CHAMP_TITLE;
} }
if (Config.SHOW_NPC_LVL && isMonster()) if (Config.SHOW_NPC_LVL && isMonster())
{ {
@@ -4830,9 +4830,9 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
} }
} }
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion() && (Config.L2JMOD_CHAMPION_HP != 0)) if (Config.CHAMPION_ENABLE && isChampion() && (Config.CHAMPION_HP != 0))
{ {
getStatus().reduceHp(value / Config.L2JMOD_CHAMPION_HP, attacker, (skill == null) || !skill.isToggle(), isDOT, false); getStatus().reduceHp(value / Config.CHAMPION_HP, attacker, (skill == null) || !skill.isToggle(), isDOT, false);
} }
else else
{ {

View File

@@ -12522,7 +12522,7 @@ public final class L2PcInstance extends L2Playable
public String getHtmlPrefix() public String getHtmlPrefix()
{ {
if (!Config.L2JMOD_MULTILANG_ENABLE) if (!Config.MULTILANG_ENABLE)
{ {
return null; return null;
} }
@@ -12538,16 +12538,16 @@ public final class L2PcInstance extends L2Playable
public boolean setLang(String lang) public boolean setLang(String lang)
{ {
boolean result = false; boolean result = false;
if (Config.L2JMOD_MULTILANG_ENABLE) if (Config.MULTILANG_ENABLE)
{ {
if (Config.L2JMOD_MULTILANG_ALLOWED.contains(lang)) if (Config.MULTILANG_ALLOWED.contains(lang))
{ {
_lang = lang; _lang = lang;
result = true; result = true;
} }
else else
{ {
_lang = Config.L2JMOD_MULTILANG_DEFAULT; _lang = Config.MULTILANG_DEFAULT;
} }
_htmlPrefix = "data/lang/" + _lang + "/"; _htmlPrefix = "data/lang/" + _lang + "/";

View File

@@ -119,7 +119,7 @@ public class GeneralDropItem implements IDropItem
// global champions amount multiplier // global champions amount multiplier
if (victim.isChampion()) if (victim.isChampion())
{ {
multiplier *= getItemId() != Inventory.ADENA_ID ? Config.L2JMOD_CHAMPION_REWARDS_AMOUNT : Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT; multiplier *= getItemId() != Inventory.ADENA_ID ? Config.CHAMPION_REWARDS_AMOUNT : Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
} }
return (long) (val * multiplier); return (long) (val * multiplier);
@@ -241,7 +241,7 @@ public class GeneralDropItem implements IDropItem
if (victim.isChampion()) if (victim.isChampion())
{ {
multiplier *= getItemId() != Inventory.ADENA_ID ? Config.L2JMOD_CHAMPION_REWARDS_CHANCE : Config.L2JMOD_CHAMPION_ADENAS_REWARDS_CHANCE; multiplier *= getItemId() != Inventory.ADENA_ID ? Config.CHAMPION_REWARDS_CHANCE : Config.CHAMPION_ADENAS_REWARDS_CHANCE;
} }
return (getChance() * multiplier); return (getChance() * multiplier);
@@ -277,7 +277,7 @@ public class GeneralDropItem implements IDropItem
{ {
final Collection<ItemHolder> items = new ArrayList<>(1); final Collection<ItemHolder> items = new ArrayList<>(1);
final long baseDropCount = Rnd.get(getMin(victim, killer), getMax(victim, killer)); final long baseDropCount = Rnd.get(getMin(victim, killer), getMax(victim, killer));
final long finaldropCount = (long) (Config.L2JMOD_OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + (chance > 100 ? (chance % 100) > (Rnd.nextDouble() * 100) ? baseDropCount : 0 : 0) : baseDropCount); final long finaldropCount = (long) (Config.OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + (chance > 100 ? (chance % 100) > (Rnd.nextDouble() * 100) ? baseDropCount : 0 : 0) : baseDropCount);
items.add(new ItemHolder(getItemId(), finaldropCount)); items.add(new ItemHolder(getItemId(), finaldropCount));
return items; return items;
} }

View File

@@ -135,7 +135,7 @@ public class GroupedGeneralDropItem implements IDropItem
{ {
final Collection<ItemHolder> items = new ArrayList<>(1); final Collection<ItemHolder> items = new ArrayList<>(1);
final long baseDropCount = Rnd.get(item.getMin(victim, killer), item.getMax(victim, killer)); final long baseDropCount = Rnd.get(item.getMin(victim, killer), item.getMax(victim, killer));
final long finaldropCount = (long) (Config.L2JMOD_OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + ((chance > 100) && ((chance % 100) > (Rnd.nextDouble() * 100)) ? baseDropCount : 0) : baseDropCount); final long finaldropCount = (long) (Config.OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + ((chance > 100) && ((chance % 100) > (Rnd.nextDouble() * 100)) ? baseDropCount : 0) : baseDropCount);
items.add(new ItemHolder(item.getItemId(), finaldropCount)); items.add(new ItemHolder(item.getItemId(), finaldropCount));
return items; return items;
} }

View File

@@ -253,7 +253,7 @@ public class L2Event
return; return;
} }
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP == 0) || AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.L2EVENT_ID, player, Config.L2JMOD_DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP)) if ((Config.DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP == 0) || AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.L2EVENT_ID, player, Config.DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP))
{ {
_registeredPlayers.add(player); _registeredPlayers.add(player);
} }

View File

@@ -2620,19 +2620,19 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
minAmount *= Config.RATE_QUEST_DROP; minAmount *= Config.RATE_QUEST_DROP;
maxAmount *= Config.RATE_QUEST_DROP; maxAmount *= Config.RATE_QUEST_DROP;
dropChance *= Config.RATE_QUEST_DROP; // TODO separate configs for rate and amount dropChance *= Config.RATE_QUEST_DROP; // TODO separate configs for rate and amount
if ((npc != null) && Config.L2JMOD_CHAMPION_ENABLE && npc.isChampion()) if ((npc != null) && Config.CHAMPION_ENABLE && npc.isChampion())
{ {
if ((itemId == Inventory.ADENA_ID) || (itemId == Inventory.ANCIENT_ADENA_ID)) if ((itemId == Inventory.ADENA_ID) || (itemId == Inventory.ANCIENT_ADENA_ID))
{ {
dropChance *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_CHANCE; dropChance *= Config.CHAMPION_ADENAS_REWARDS_CHANCE;
minAmount *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT; minAmount *= Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
maxAmount *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT; maxAmount *= Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
} }
else else
{ {
dropChance *= Config.L2JMOD_CHAMPION_REWARDS_CHANCE; dropChance *= Config.CHAMPION_REWARDS_CHANCE;
minAmount *= Config.L2JMOD_CHAMPION_REWARDS_AMOUNT; minAmount *= Config.CHAMPION_REWARDS_AMOUNT;
maxAmount *= Config.L2JMOD_CHAMPION_REWARDS_AMOUNT; maxAmount *= Config.CHAMPION_REWARDS_AMOUNT;
} }
} }

View File

@@ -385,7 +385,7 @@ public abstract class AbstractOlympiadGame
player.setCurrentMp(player.getMaxMp()); player.setCurrentMp(player.getMaxMp());
player.getStatus().startHpMpRegeneration(); player.getStatus().startHpMpRegeneration();
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
{ {
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, player); AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, player);
} }

View File

@@ -203,11 +203,11 @@ public class OlympiadManager
return false; return false;
} }
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)) if ((Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))
{ {
final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId()); final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId());
message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm"); message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm");
message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))); message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)));
player.sendPacket(message); player.sendPacket(message);
if (player.isGM() && player.isDebug()) if (player.isGM() && player.isDebug())
{ {
@@ -234,11 +234,11 @@ public class OlympiadManager
return false; return false;
} }
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)) if ((Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))
{ {
final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId()); final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId());
message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm"); message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm");
message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))); message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)));
player.sendPacket(message); player.sendPacket(message);
if (player.isGM() && player.isDebug()) if (player.isGM() && player.isDebug())
{ {
@@ -291,7 +291,7 @@ public class OlympiadManager
final Integer objId = Integer.valueOf(noble.getObjectId()); final Integer objId = Integer.valueOf(noble.getObjectId());
if (_nonClassBasedRegisters.remove(objId)) if (_nonClassBasedRegisters.remove(objId))
{ {
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
{ {
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble); AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble);
} }
@@ -303,7 +303,7 @@ public class OlympiadManager
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass()); final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
if ((classed != null) && classed.remove(objId)) if ((classed != null) && classed.remove(objId))
{ {
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
{ {
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble); AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble);
} }

View File

@@ -43,9 +43,9 @@ public class MAttackFinalizer implements IStatsFunction
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR); baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR);
} }
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion()) if (Config.CHAMPION_ENABLE && creature.isChampion())
{ {
baseValue *= Config.L2JMOD_CHAMPION_ATK; baseValue *= Config.CHAMPION_ATK;
} }
if (creature.isRaid()) if (creature.isRaid())
{ {

View File

@@ -35,9 +35,9 @@ public class MAttackSpeedFinalizer implements IStatsFunction
throwIfPresent(base); throwIfPresent(base);
double baseValue = calcWeaponBaseValue(creature, stat); double baseValue = calcWeaponBaseValue(creature, stat);
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion()) if (Config.CHAMPION_ENABLE && creature.isChampion())
{ {
baseValue *= Config.L2JMOD_CHAMPION_SPD_ATK; baseValue *= Config.CHAMPION_SPD_ATK;
} }
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;

View File

@@ -44,9 +44,9 @@ public class PAttackFinalizer implements IStatsFunction
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR); baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR);
} }
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion()) if (Config.CHAMPION_ENABLE && creature.isChampion())
{ {
baseValue *= Config.L2JMOD_CHAMPION_ATK; baseValue *= Config.CHAMPION_ATK;
} }
if (creature.isRaid()) if (creature.isRaid())
{ {

View File

@@ -34,9 +34,9 @@ public class PAttackSpeedFinalizer implements IStatsFunction
{ {
throwIfPresent(base); throwIfPresent(base);
double baseValue = calcWeaponBaseValue(creature, stat); double baseValue = calcWeaponBaseValue(creature, stat);
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion()) if (Config.CHAMPION_ENABLE && creature.isChampion())
{ {
baseValue *= Config.L2JMOD_CHAMPION_SPD_ATK; baseValue *= Config.CHAMPION_SPD_ATK;
} }
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStats.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStats.DEX.calcBonus(creature) : 1.;

View File

@@ -55,9 +55,9 @@ public class RegenHPFinalizer implements IStatsFunction
double baseValue = creature.isPlayer() ? creature.getActingPlayer().getTemplate().getBaseHpRegen(creature.getLevel()) : creature.getTemplate().getBaseHpReg(); double baseValue = creature.isPlayer() ? creature.getActingPlayer().getTemplate().getBaseHpRegen(creature.getLevel()) : creature.getTemplate().getBaseHpReg();
baseValue *= creature.isRaid() ? Config.RAID_HP_REGEN_MULTIPLIER : Config.HP_REGEN_MULTIPLIER; baseValue *= creature.isRaid() ? Config.RAID_HP_REGEN_MULTIPLIER : Config.HP_REGEN_MULTIPLIER;
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion()) if (Config.CHAMPION_ENABLE && creature.isChampion())
{ {
baseValue *= Config.L2JMOD_CHAMPION_HP_REGEN; baseValue *= Config.CHAMPION_HP_REGEN;
} }
if (creature.isPlayer()) if (creature.isPlayer())

View File

@@ -114,11 +114,11 @@ public class CharacterSelect implements IClientIncomingPacket
return; return;
} }
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddClient(AntiFeedManager.GAME_ID, client, Config.L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP)) if ((Config.DUALBOX_CHECK_MAX_PLAYERS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddClient(AntiFeedManager.GAME_ID, client, Config.DUALBOX_CHECK_MAX_PLAYERS_PER_IP))
{ {
final NpcHtmlMessage msg = new NpcHtmlMessage(); final NpcHtmlMessage msg = new NpcHtmlMessage();
msg.setFile(info.getHtmlPrefix(), "data/html/mods/IPRestriction.htm"); msg.setFile(info.getHtmlPrefix(), "data/html/mods/IPRestriction.htm");
msg.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(client, Config.L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP))); msg.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(client, Config.DUALBOX_CHECK_MAX_PLAYERS_PER_IP)));
client.sendPacket(msg); client.sendPacket(msg);
return; return;
} }

View File

@@ -329,12 +329,12 @@ public class CharSelectionInfo implements IClientOutgoingPacket
charInfopackage.setEvil(); charInfopackage.setEvil();
} }
if (Config.L2JMOD_MULTILANG_ENABLE) if (Config.MULTILANG_ENABLE)
{ {
String lang = chardata.getString("language"); String lang = chardata.getString("language");
if (!Config.L2JMOD_MULTILANG_ALLOWED.contains(lang)) if (!Config.MULTILANG_ALLOWED.contains(lang))
{ {
lang = Config.L2JMOD_MULTILANG_DEFAULT; lang = Config.MULTILANG_DEFAULT;
} }
charInfopackage.setHtmlPrefix("data/lang/" + lang + "/"); charInfopackage.setHtmlPrefix("data/lang/" + lang + "/");
} }

View File

@@ -1,598 +0,0 @@
# ---------------------------------------------------------------------------
# Custom - non-retail-like systems that have been integrated into the project.
# Be warned that there may be no support for these mods beyond the original author's assistance.
# ---------------------------------------------------------------------------
# Champion mobs - Turn random mobs into Champions
# ---------------------------------------------------------------------------
# Enable/Disable Champion Mob System.
ChampionEnable = False
# Force Champion mobs to be passive?
# To leave champion mobs to default/Aggressive, set to False.
# To set all champion mobs to Passive, set True.
ChampionPassive = False
# % chance for a mob to became champion (0 to disable).
ChampionFrequency = 5
# Title of all Champion Mobs.
ChampionTitle = Champion
# Red aura for Champion Mobs.
ChampionAura = True
# Min and max levels allowed for a mob to be a Champion mob.
ChampionMinLevel = 20
ChampionMaxLevel = 85
# Hp multiplier for Champion mobs.
ChampionHp = 8
# Hp Regen Multiplier for Champion mobs.
ChampionHpRegen = 1.0
# Exp/Sp rewards multiplier for Champion mobs.
ChampionRewardsExpSp = 8.0
# Standard rewards chance multiplier for Champion mobs.
ChampionRewardsChance = 8.0
# Standard rewards amount multiplier for Champion mobs.
ChampionRewardsAmount = 1.0
# Adena & Seal Stone rewards chance multiplier for Champion mobs.
ChampionAdenasRewardsChance = 1.0
# Adena & Seal Stone rewards amount multiplier for Champion mobs.
ChampionAdenasRewardsAmount = 1.0
# P. Attack and M. Attack bonus for Champion mobs.
ChampionAtk = 1.0
# Physical/Magical Attack Speed bonus for Champion mobs.
ChampionSpdAtk = 1.0
# Specified reward item ID
ChampionRewardItemID = 6393
# The amount of the specified reward a player will receive if they are awarded the item.
ChampionRewardItemQty = 1
# % Chance to obtain a specified reward item from a higher level Champion mob.
# Default: 0
ChampionRewardLowerLvlItemChance = 0
# % Chance to obtain a specified reward item from a lower level Champion mob.
# Default: 0
ChampionRewardHigherLvlItemChance = 0
# Do you want to enable the vitality calculation when killing champion mobs?
# Be aware that it can lead to huge unbalance on your server, your rate for that mob would
# then be "mobXP x serverRate x vitalityRate x championXpRate
# Notes:
# Works only if EnableVitality = True
# Default: False
ChampionEnableVitality = False
# Enable spawning of the champions in instances
# Default = False
ChampionEnableInInstances = False
# ---------------------------------------------------------------------------
# Banking System
# ---------------------------------------------------------------------------
# Enable/Disable Banking System
BankingEnabled = False
# Amount of Goldbars a player gets when they use the ".deposit" command. Also the same amount they will lose with ".withdraw".
BankingGoldbarCount = 1
# Amount of Adena a player gets when they use the ".withdraw" command. Also the same amount they will lose with ".deposit".
BankingAdenaCount = 500000000
# ---------------------------------------------------------------------------
# Offline trade/craft
# ---------------------------------------------------------------------------
# Option to enable or disable offline trade feature.
# Enable -> true, Disable -> false
OfflineTradeEnable = True
# Option to enable or disable offline craft feature.
# Enable -> true, Disable -> false
OfflineCraftEnable = True
# If set to True, off-line shops will be possible only peace zones.
# Default: False
OfflineModeInPeaceZone = True
# If set to True, players in off-line shop mode wont take any damage, thus they cannot be killed.
# Default: False
OfflineModeNoDamage = True
# If set to True, name color will be changed then entering offline mode
OfflineSetNameColor = True
# Color of the name in offline mode (if OfflineSetNameColor = True)
OfflineNameColor = 808080
# Allow fame for characters in offline mode
# Enable -> true, Disable -> false
OfflineFame = True
#Restore offline traders/crafters after restart/shutdown. Default: false.
RestoreOffliners = True
#Do not restore offline characters, after OfflineMaxDays days spent from first restore.
#Require server restart to disconnect expired shops.
#0 = disabled (always restore).
#Default: 10
OfflineMaxDays = 10
#Disconnect shop after finished selling, buying.
#Default: True
OfflineDisconnectFinished = True
#Store offline trader transactions in realtime.
#Uses more datatabase resources, but helps if server shuts down unexpectedly.
StoreOfflineTradeInRealtime = True
# ---------------------------------------------------------------------------
# Display Server Time
# ---------------------------------------------------------------------------
# This option will enable displaying of the local server time for /time command.
DisplayServerTime = False
# ---------------------------------------------------------------------------
# Welcome message
# ---------------------------------------------------------------------------
# Show screen welcome message on character login
# Default: False
ScreenWelcomeMessageEnable = False
# Screen welcome message text to show on character login if enabled
# ('#' for a new line, but message can have max 2 lines)
ScreenWelcomeMessageText = Welcome to our server!
# Show screen welcome message for x seconds when character log in to game if enabled
ScreenWelcomeMessageTime = 10
# ---------------------------------------------------------------------------
# Pvp/pk Announce
# ---------------------------------------------------------------------------
# Default: False
AnnouncePkPvP = False
# Announce this as normal system message
# Default: True
AnnouncePkPvPNormalMessage = True
# PK message template
# variables: $killer, $target
AnnouncePkMsg = $killer has slaughtered $target
# Pvp message template
# variables: $killer, $target
AnnouncePvpMsg = $killer has defeated $target
# ---------------------------------------------------------------------------
# Chat Moderation
# ---------------------------------------------------------------------------
# This option will enable using of the voice commands .banchat and .unbanchat
# for players with corresponding access level (default: 100).
# Check access_levels.sql and admin_command_access_rights for details.
# Default: True
ChatAdmin = True
# ---------------------------------------------------------------------------
# Multilingual support
# ---------------------------------------------------------------------------
# Enable or disable multilingual support.
# Default: False
MultiLangEnable = False
# Default language, if not defined.
# Default: en
MultiLangDefault = en
# List of allowed languages, semicolon separated.
# Default: en;ru
MultiLangAllowed = en;ru
# Enable or disable voice command .lang for changing languages on the fly.
# Default: True
MultiLangVoiceCommand = True
# Enable or disable multilingual SystemMessages support.
# Default: False
MultiLangSystemMessageEnable = False
# List of allowed languages for SystemMessages, semicolon separated.
# Default:
MultiLangSystemMessageAllowed =
# Enable or disable multilingual NpcStrings support.
# Default: False
MultiLangNpcStringEnable = False
# List of allowed languages for NpcStrings, semicolon separated.
# Default:
MultiLangNpcStringAllowed =
# ---------------------------------------------------------------------------
# Walker/Bot protection
# ---------------------------------------------------------------------------
# Basic protection against L2Walker.
# Default: False
L2WalkerProtection = False
# ---------------------------------------------------------------------------
# Debug enable/disable voice command
# ---------------------------------------------------------------------------
# This option will enable voice command .debug allowing players
# to turn on/off debugging on self only.
# (admin command //debug can enable debugging on any character)
# Use admin_command_access_rights table for defining access rights.
# Default: False
DebugVoiceCommand = False
# ---------------------------------------------------------------------------
# Dualbox Check
# ---------------------------------------------------------------------------
# Maximum number of players per IP address allowed to enter game.
# Default: 0 (unlimited)
DualboxCheckMaxPlayersPerIP = 0
# Maximum number of players per IP address allowed to participate in olympiad.
# Default: 0 (unlimited)
DualboxCheckMaxOlympiadParticipantsPerIP = 0
# Maximum number of players per IP address allowed to participate in events using L2J Event Engine (//event).
# Default: 0 (unlimited)
DualboxCheckMaxL2EventParticipantsPerIP = 0
# Whitelist of the addresses for dualbox checks.
# Format: Address1,Number1;Address2,Number2...
# Network address can be number (127.0.0.1) or symbolic (localhost) formats.
# Additional connection number added to the global limits for this address.
# For example, if number of TvT event participants per IP address set to the 1 (no dualbox)
# and whitelist contains "l2jmobius.com,2" then number of allowed participants from l2jmobius.com
# will be 1+2=3. Use 0 or negative value for unlimited number of connections.
# Default: 127.0.0.1,0 (no limits from localhost)
DualboxCheckWhitelist = 127.0.0.1,0
# ---------------------------------------------------------------------------
# Password Change
# ---------------------------------------------------------------------------
# Enables .changepassword voiced command which allows the players to change their account's password ingame.
# Default: False
AllowChangePassword = False
# ---------------------------------------------------------------------------
# Old Drop Behavior
# ---------------------------------------------------------------------------
# Enables L2J old drop behavior
# The old L2J system used to add amount of items drop per 100% range of chance.
# For example, if chance is 230% when rate are applied, it will do :
# amount dropped = (2 * getRandomAmount(min,max)) + 30% chance to get ad additional getRandomAmount(min,max)
# Default : False
OldDropBehavior = False
# ---------------------------------------------------------------------------
# Allowed Player Races
# ---------------------------------------------------------------------------
# Allowing specific races to be created.
# Default: True
AllowHuman = True
AllowElf = True
AllowDarkElf = True
AllowOrc = True
AllowDwarf = True
AllowKamael = True
AllowErtheia = True
# ---------------------------------------------------------------------------
# Custom Starting Location
# ---------------------------------------------------------------------------
# Enable custom starting location.
# Default: False
CustomStartingLocation = False
# Coordinates for custom starting location.
# Default: 50821, 186527, -3625 (Giran Harbor)
CustomStartingLocX = 50821
CustomStartingLocY = 186527
CustomStartingLocZ = -3625
# ---------------------------------------------------------------------------
# Minimum Range for Private Stores
# ---------------------------------------------------------------------------
# Minimum distance from player / npc to open a new private store.
# Default: 0
ShopMinRangeFromPlayer = 50
ShopMinRangeFromNpc = 100
# ---------------------------------------------------------------------------
# Free Jumps (Sayune) for all Players
# ---------------------------------------------------------------------------
# Enable Sayune for players that are not Awakened (4rth class).
# Default: False
FreeJumpsForAll = False
# ---------------------------------------------------------------------------
# Premium System (VIP)
# ---------------------------------------------------------------------------
# -Admins can manage subscriptions from main admin menu.
# -Players can use .premium to view account related info.
# -Caution: Premium rates multiply existing server rates.
# Enable premium system.
# Default: False
EnablePremiumSystem = False
# Xp rate for premium players.
PremiumRateXp = 2
# Sp rate for premium players.
PremiumRateSp = 2
# Drop chance for premium players.
PremiumRateDropChance = 1
# Drop amount for premium players.
PremiumRateDropAmount = 2
# Spoil chance for premium players.
PremiumRateSpoilChance = 1
# Spoil amount for premium players.
PremiumRateSpoilAmount = 2
# List of items affected by custom drop rate by id, used now for Adena rate too.
# Usage: itemId1,multiplier1;itemId2,multiplier2;...
PremiumRateDropChanceByItemId = 57,2;6656,1;6657,1;6658,1;6659,1;6660,1;6661,1;6662,1;8191,1;10170,1;10314,1
PremiumRateDropAmountByItemId = 57,2;6656,1;6657,1;6658,1;6659,1;6660,1;6661,1;6662,1;8191,1;10170,1;10314,1
# ---------------------------------------------------------------------------
# Custom Community Board
# ---------------------------------------------------------------------------
# Enable Custom Community Board.
# Default: False
CustomCommunityBoard = True
# Currency used by the Community Board (itemId).
# Default: 57 (Adena)
CommunityCurrencyId = 57
# Enable Multisells.
# Default: True
CommunityEnableMultisells = True
# Enable Teleports.
# Default: True
CommunityEnableTeleports = True
# Enable Buffs.
# Default: True
CommunityEnableBuffs = True
# Enable Heal.
# Default: True
CommunityEnableHeal = True
# Price for Teleports.
# Default: 0 (free)
CommunityTeleportPrice = 0
# Price for Buffs.
# Default: 0 (free)
CommunityBuffPrice = 0
# Price for Heal.
# Default: 0 (free)
CommunityHealPrice = 0
# Disable Community Board while in combat.
# Default: True
CommunityCombatDisabled = True
# Disable Community Board while player has Karma.
# Default: True
CommunityKarmaDisabled = True
# Cast animations of each buff.
# Default: False
CommunityCastAnimations = False
# Enable buying premium from community board.
# EnablePremiumSystem must also be set to true.
# Default: False
CommunityPremiumSystem = False
# ItemID for buying premium in community board.
# Check data/html/CommunityBoard/Custom/premium/main.html
CommunityPremiumBuyCoinId = 57
# Amount of coins needed for each premium day bought.
CommunityPremiumPricePerDay = 1000000
# ---------------------------------------------------------------------------
# Faction System (Good vs Evil)
# ---------------------------------------------------------------------------
# Enable faction system.
# Default: False
EnableFactionSystem = False
# Starting location for all players.
# Default: 85332,16199,-1252
StartingLocation = 85332,16199,-1252
# Faction manager NPC ID.
# Default: 500
FactionManagerNpcId = 500
# Spawn location for faction manager NPC.
# Default: 85712,15974,-1260,26808
ManagerSpawnLocation = 85712,15974,-1260,26808
# Good base location.
# Default: 45306,48878,-3058
GoodBaseLocation = 45306,48878,-3058
# Evil base location.
# Default: -44037,-113283,-237
EvilBaseLocation = -44037,-113283,-237
# Good team name.
# Default: Good
GoodTeamName = Good
# Evil team name.
# Default: Evil
EvilTeamName = Evil
# Good name color.
# Default: 00FF00
GoodNameColor = 00FF00
# Evil name color.
# Default: 0000FF
EvilNameColor = 0000FF
# Enable faction guards.
# The NPC template must have faction as clan.
# Default: True
EnableFactionGuards = True
# Good Guard NPC ID.
# Default: 501
GoodGuardNpcId = 501
# Evil Guard NPC ID.
# Default: 502
EvilGuardNpcId = 502
# Upon death, respawn at faction base.
# Default: True
RespawnAtFactionBase = True
# Upon selecting faction, players become nobless.
# Default: False
FactionAutoNobless = False
# Disallow chat between factions.
# Default: True
EnableFactionChat = True
# Prohibit login when faction has more online players.
# Default: True
BalanceOnlinePlayers = True
# Online player exceed limit (used by setting above).
# Default: 20
BalancePlayerExceedLimit = 20
# ---------------------------------------------------------------------------
# PC Cafe (PC Bang) System
# ---------------------------------------------------------------------------
# PC CAFE POINTS ID = -100
# PC Cafe Enabled.
PcCafeEnabled = False
# Allow only players with a Premium account.
PcCafeOnlyPremium = False
# Max points that player may have.
# Limited by int limit.
MaxPcCafePoints = 200000
# PC Bang point rate.
# Acquisition formula equals (exp * 0.0001 * AcquisitionPointsRate)
# e.g. with 1.0 it's 10000 exp = 1 PC Bang point
# 2.0 - 10000 exp = 2 PC Bang points
# 0.5 - 5000 exp = 1 PC Bang point
AcquisitionPointsRate = 1.0
# Use random points rewarding.
# If enabled points will be random from points/2 to points.
AcquisitionPointsRandom = False
# Creates a chance to aquire double points.
DoublingAcquisitionPoints = True
# Double points chance.
# Used when DoublingAcquisitionPoints is enabled.
# Default 1 (%)
DoublingAcquisitionPointsChance = 1
# Reward low exp kills
# Acquire points if player gains exp and aquire formula equals 0.
RewardLowExpKills = True
# Chance for low exp kills
# Used when RewardLowExpKills is enabled.
# Default 50 (%)
RewardLowExpKillsChance = 50
# ---------------------------------------------------------------------------
# Sell Buffs configuration
# ---------------------------------------------------------------------------
# Enable/Disable selling buffs
SellBuffEnable = False
# Multipler for mana cost of buffs
MpCostMultipler = 1
# Payment for Sell Buff System, can be changed to custom server coin
PaymentID = 57
# Minimal price of every buff
MinimalPrice = 100000
# Maximal price of every buff
MaximalPrice = 100000000
# Maximum count of buffs in sell list
MaxBuffs = 20

View File

@@ -0,0 +1,13 @@
# ---------------------------------------------------------------------------
# Allowed Player Races
# ---------------------------------------------------------------------------
# Allowing specific races to be created.
# Default: True
AllowHuman = True
AllowElf = True
AllowDarkElf = True
AllowOrc = True
AllowDwarf = True
AllowKamael = True
AllowErtheia = True

View File

@@ -0,0 +1,12 @@
# ---------------------------------------------------------------------------
# Banking System
# ---------------------------------------------------------------------------
# Enable/Disable Banking System
BankingEnabled = False
# Amount of Goldbars a player gets when they use the ".deposit" command. Also the same amount they will lose with ".withdraw".
BankingGoldbarCount = 1
# Amount of Adena a player gets when they use the ".withdraw" command. Also the same amount they will lose with ".deposit".
BankingAdenaCount = 500000000

View File

@@ -0,0 +1,77 @@
# ---------------------------------------------------------------------------
# Champion mobs - Turn random mobs into Champions
# ---------------------------------------------------------------------------
# Enable/Disable Champion Mob System.
ChampionEnable = False
# Force Champion mobs to be passive?
# To leave champion mobs to default/Aggressive, set to False.
# To set all champion mobs to Passive, set True.
ChampionPassive = False
# % chance for a mob to became champion (0 to disable).
ChampionFrequency = 5
# Title of all Champion Mobs.
ChampionTitle = Champion
# Red aura for Champion Mobs.
ChampionAura = True
# Min and max levels allowed for a mob to be a Champion mob.
ChampionMinLevel = 20
ChampionMaxLevel = 85
# Hp multiplier for Champion mobs.
ChampionHp = 8
# Hp Regen Multiplier for Champion mobs.
ChampionHpRegen = 1.0
# Exp/Sp rewards multiplier for Champion mobs.
ChampionRewardsExpSp = 8.0
# Standard rewards chance multiplier for Champion mobs.
ChampionRewardsChance = 8.0
# Standard rewards amount multiplier for Champion mobs.
ChampionRewardsAmount = 1.0
# Adena & Seal Stone rewards chance multiplier for Champion mobs.
ChampionAdenasRewardsChance = 1.0
# Adena & Seal Stone rewards amount multiplier for Champion mobs.
ChampionAdenasRewardsAmount = 1.0
# P. Attack and M. Attack bonus for Champion mobs.
ChampionAtk = 1.0
# Physical/Magical Attack Speed bonus for Champion mobs.
ChampionSpdAtk = 1.0
# Specified reward item ID
ChampionRewardItemID = 6393
# The amount of the specified reward a player will receive if they are awarded the item.
ChampionRewardItemQty = 1
# % Chance to obtain a specified reward item from a higher level Champion mob.
# Default: 0
ChampionRewardLowerLvlItemChance = 0
# % Chance to obtain a specified reward item from a lower level Champion mob.
# Default: 0
ChampionRewardHigherLvlItemChance = 0
# Do you want to enable the vitality calculation when killing champion mobs?
# Be aware that it can lead to huge unbalance on your server, your rate for that mob would
# then be "mobXP x serverRate x vitalityRate x championXpRate
# Notes:
# Works only if EnableVitality = True
# Default: False
ChampionEnableVitality = False
# Enable spawning of the champions in instances
# Default = False
ChampionEnableInInstances = False

View File

@@ -0,0 +1,9 @@
# ---------------------------------------------------------------------------
# Chat Moderation
# ---------------------------------------------------------------------------
# This option will enable using of the voice commands .banchat and .unbanchat
# for players with corresponding access level (default: 100).
# Check access_levels.sql and admin_command_access_rights for details.
# Default: True
ChatAdmin = True

View File

@@ -0,0 +1,63 @@
# ---------------------------------------------------------------------------
# Custom Community Board
# ---------------------------------------------------------------------------
# Enable Custom Community Board.
# Default: False
CustomCommunityBoard = True
# Currency used by the Community Board (itemId).
# Default: 57 (Adena)
CommunityCurrencyId = 57
# Enable Multisells.
# Default: True
CommunityEnableMultisells = True
# Enable Teleports.
# Default: True
CommunityEnableTeleports = True
# Enable Buffs.
# Default: True
CommunityEnableBuffs = True
# Enable Heal.
# Default: True
CommunityEnableHeal = True
# Price for Teleports.
# Default: 0 (free)
CommunityTeleportPrice = 0
# Price for Buffs.
# Default: 0 (free)
CommunityBuffPrice = 0
# Price for Heal.
# Default: 0 (free)
CommunityHealPrice = 0
# Disable Community Board while in combat.
# Default: True
CommunityCombatDisabled = True
# Disable Community Board while player has Karma.
# Default: True
CommunityKarmaDisabled = True
# Cast animations of each buff.
# Default: False
CommunityCastAnimations = False
# Enable buying premium from community board.
# Premium System must be enabled.
# Default: False
CommunityPremiumSystem = False
# ItemID for buying premium in community board.
# Check data/html/CommunityBoard/Custom/premium/main.html
CommunityPremiumBuyCoinId = 57
# Amount of coins needed for each premium day bought.
CommunityPremiumPricePerDay = 1000000

View File

@@ -0,0 +1,10 @@
# ---------------------------------------------------------------------------
# Debug enable/disable voice command
# ---------------------------------------------------------------------------
# This option will enable voice command .debug allowing players
# to turn on/off debugging on self only.
# (admin command //debug can enable debugging on any character)
# Use admin_command_access_rights table for defining access rights.
# Default: False
DebugVoiceCommand = False

View File

@@ -0,0 +1,25 @@
# ---------------------------------------------------------------------------
# Dualbox Check
# ---------------------------------------------------------------------------
# Maximum number of players per IP address allowed to enter game.
# Default: 0 (unlimited)
DualboxCheckMaxPlayersPerIP = 0
# Maximum number of players per IP address allowed to participate in olympiad.
# Default: 0 (unlimited)
DualboxCheckMaxOlympiadParticipantsPerIP = 0
# Maximum number of players per IP address allowed to participate in events using L2J Event Engine (//event).
# Default: 0 (unlimited)
DualboxCheckMaxL2EventParticipantsPerIP = 0
# Whitelist of the addresses for dualbox checks.
# Format: Address1,Number1;Address2,Number2...
# Network address can be number (127.0.0.1) or symbolic (localhost) formats.
# Additional connection number added to the global limits for this address.
# For example, if number of TvT event participants per IP address set to the 1 (no dualbox)
# and whitelist contains "l2jmobius.com,2" then number of allowed participants from l2jmobius.com
# will be 1+2=3. Use 0 or negative value for unlimited number of connections.
# Default: 127.0.0.1,0 (no limits from localhost)
DualboxCheckWhitelist = 127.0.0.1,0

View File

@@ -0,0 +1,76 @@
# ---------------------------------------------------------------------------
# Faction System (Good vs Evil)
# ---------------------------------------------------------------------------
# Enable faction system.
# Default: False
EnableFactionSystem = False
# Starting location for all players.
# Default: 85332,16199,-1252
StartingLocation = 85332,16199,-1252
# Faction manager NPC ID.
# Default: 500
FactionManagerNpcId = 500
# Spawn location for faction manager NPC.
# Default: 85712,15974,-1260,26808
ManagerSpawnLocation = 85712,15974,-1260,26808
# Good base location.
# Default: 45306,48878,-3058
GoodBaseLocation = 45306,48878,-3058
# Evil base location.
# Default: -44037,-113283,-237
EvilBaseLocation = -44037,-113283,-237
# Good team name.
# Default: Good
GoodTeamName = Good
# Evil team name.
# Default: Evil
EvilTeamName = Evil
# Good name color.
# Default: 00FF00
GoodNameColor = 00FF00
# Evil name color.
# Default: 0000FF
EvilNameColor = 0000FF
# Enable faction guards.
# The NPC template must have faction as clan.
# Default: True
EnableFactionGuards = True
# Good Guard NPC ID.
# Default: 501
GoodGuardNpcId = 501
# Evil Guard NPC ID.
# Default: 502
EvilGuardNpcId = 502
# Upon death, respawn at faction base.
# Default: True
RespawnAtFactionBase = True
# Upon selecting faction, players become nobless.
# Default: False
FactionAutoNobless = False
# Disallow chat between factions.
# Default: True
EnableFactionChat = True
# Prohibit login when faction has more online players.
# Default: True
BalanceOnlinePlayers = True
# Online player exceed limit (used by setting above).
# Default: 20
BalancePlayerExceedLimit = 20

View File

@@ -0,0 +1,35 @@
# ---------------------------------------------------------------------------
# Multilingual support
# ---------------------------------------------------------------------------
# Enable or disable multilingual support.
# Default: False
MultiLangEnable = False
# Default language, if not defined.
# Default: en
MultiLangDefault = en
# List of allowed languages, semicolon separated.
# Default: en;ru
MultiLangAllowed = en;ru
# Enable or disable voice command .lang for changing languages on the fly.
# Default: True
MultiLangVoiceCommand = True
# Enable or disable multilingual SystemMessages support.
# Default: False
MultiLangSystemMessageEnable = False
# List of allowed languages for SystemMessages, semicolon separated.
# Default:
MultiLangSystemMessageAllowed =
# Enable or disable multilingual NpcStrings support.
# Default: False
MultiLangNpcStringEnable = False
# List of allowed languages for NpcStrings, semicolon separated.
# Default:
MultiLangNpcStringAllowed =

View File

@@ -0,0 +1,46 @@
# ---------------------------------------------------------------------------
# Offline trade/craft
# ---------------------------------------------------------------------------
# Option to enable or disable offline trade feature.
# Enable -> true, Disable -> false
OfflineTradeEnable = True
# Option to enable or disable offline craft feature.
# Enable -> true, Disable -> false
OfflineCraftEnable = True
# If set to True, off-line shops will be possible only peace zones.
# Default: False
OfflineModeInPeaceZone = True
# If set to True, players in off-line shop mode wont take any damage, thus they cannot be killed.
# Default: False
OfflineModeNoDamage = True
# If set to True, name color will be changed then entering offline mode
OfflineSetNameColor = True
# Color of the name in offline mode (if OfflineSetNameColor = True)
OfflineNameColor = 808080
# Allow fame for characters in offline mode
# Enable -> true, Disable -> false
OfflineFame = True
#Restore offline traders/crafters after restart/shutdown. Default: false.
RestoreOffliners = True
#Do not restore offline characters, after OfflineMaxDays days spent from first restore.
#Require server restart to disconnect expired shops.
#0 = disabled (always restore).
#Default: 10
OfflineMaxDays = 10
#Disconnect shop after finished selling, buying.
#Default: True
OfflineDisconnectFinished = True
#Store offline trader transactions in realtime.
#Uses more datatabase resources, but helps if server shuts down unexpectedly.
StoreOfflineTradeInRealtime = True

View File

@@ -0,0 +1,10 @@
# ---------------------------------------------------------------------------
# Old Drop Behavior
# ---------------------------------------------------------------------------
# Enables L2J old drop behavior
# The old L2J system used to add amount of items drop per 100% range of chance.
# For example, if chance is 230% when rate are applied, it will do :
# amount dropped = (2 * getRandomAmount(min,max)) + 30% chance to get ad additional getRandomAmount(min,max)
# Default : False
OldDropBehavior = False

View File

@@ -0,0 +1,7 @@
# ---------------------------------------------------------------------------
# Password Change
# ---------------------------------------------------------------------------
# Enables .changepassword voiced command which allows the players to change their account's password ingame.
# Default: False
AllowChangePassword = False

View File

@@ -0,0 +1,42 @@
# ---------------------------------------------------------------------------
# PC Cafe (PC Bang) System
# ---------------------------------------------------------------------------
# PC CAFE POINTS ID = -100
# PC Cafe Enabled.
PcCafeEnabled = False
# Allow only players with a Premium account.
PcCafeOnlyPremium = False
# Max points that player may have.
# Limited by int limit.
MaxPcCafePoints = 200000
# PC Bang point rate.
# Acquisition formula equals (exp * 0.0001 * AcquisitionPointsRate)
# e.g. with 1.0 it's 10000 exp = 1 PC Bang point
# 2.0 - 10000 exp = 2 PC Bang points
# 0.5 - 5000 exp = 1 PC Bang point
AcquisitionPointsRate = 1.0
# Use random points rewarding.
# If enabled points will be random from points/2 to points.
AcquisitionPointsRandom = False
# Creates a chance to aquire double points.
DoublingAcquisitionPoints = True
# Double points chance.
# Used when DoublingAcquisitionPoints is enabled.
# Default 1 (%)
DoublingAcquisitionPointsChance = 1
# Reward low exp kills
# Acquire points if player gains exp and aquire formula equals 0.
RewardLowExpKills = True
# Chance for low exp kills
# Used when RewardLowExpKills is enabled.
# Default 50 (%)
RewardLowExpKillsChance = 50

View File

@@ -0,0 +1,33 @@
# ---------------------------------------------------------------------------
# Premium System
# ---------------------------------------------------------------------------
# -Admins can manage subscriptions from main admin menu.
# -Players can use .premium to view account related info.
# -Caution: Premium rates multiply existing server rates.
# Enable premium system.
# Default: False
EnablePremiumSystem = False
# Xp rate for premium players.
PremiumRateXp = 2
# Sp rate for premium players.
PremiumRateSp = 2
# Drop chance for premium players.
PremiumRateDropChance = 1
# Drop amount for premium players.
PremiumRateDropAmount = 2
# Spoil chance for premium players.
PremiumRateSpoilChance = 1
# Spoil amount for premium players.
PremiumRateSpoilAmount = 2
# List of items affected by custom drop rate by id, used now for Adena rate too.
# Usage: itemId1,multiplier1;itemId2,multiplier2;...
PremiumRateDropChanceByItemId = 57,2;6656,1;6657,1;6658,1;6659,1;6660,1;6661,1;6662,1;8191,1;10170,1;10314,1
PremiumRateDropAmountByItemId = 57,2;6656,1;6657,1;6658,1;6659,1;6660,1;6661,1;6662,1;8191,1;10170,1;10314,1

View File

@@ -0,0 +1,8 @@
# ---------------------------------------------------------------------------
# Minimum Range for Private Stores
# ---------------------------------------------------------------------------
# Minimum distance from player / npc to open a new private store.
# Default: 0
ShopMinRangeFromPlayer = 50
ShopMinRangeFromNpc = 100

View File

@@ -0,0 +1,18 @@
# ---------------------------------------------------------------------------
# Pvp/pk Announce
# ---------------------------------------------------------------------------
# Default: False
AnnouncePkPvP = False
# Announce this as normal system message
# Default: True
AnnouncePkPvPNormalMessage = True
# PK message template
# variables: $killer, $target
AnnouncePkMsg = $killer has slaughtered $target
# Pvp message template
# variables: $killer, $target
AnnouncePvpMsg = $killer has defeated $target

View File

@@ -0,0 +1,7 @@
# ---------------------------------------------------------------------------
# Free Sayune for all Players
# ---------------------------------------------------------------------------
# Enable Sayune for players that are not Awakened (4rth class).
# Default: False
FreeJumpsForAll = False

View File

@@ -0,0 +1,14 @@
# ---------------------------------------------------------------------------
# Welcome message
# ---------------------------------------------------------------------------
# Show screen welcome message on character login
# Default: False
ScreenWelcomeMessageEnable = False
# Screen welcome message text to show on character login if enabled
# ('#' for a new line, but message can have max 2 lines)
ScreenWelcomeMessageText = Welcome to our server!
# Show screen welcome message for x seconds when character log in to game if enabled
ScreenWelcomeMessageTime = 10

View File

@@ -0,0 +1,21 @@
# ---------------------------------------------------------------------------
# Sell Buffs configuration
# ---------------------------------------------------------------------------
# Enable/Disable selling buffs
SellBuffEnable = False
# Multipler for mana cost of buffs
MpCostMultipler = 1
# Payment for Sell Buff System, can be changed to custom server coin
PaymentID = 57
# Minimal price of every buff
MinimalPrice = 100000
# Maximal price of every buff
MaximalPrice = 100000000
# Maximum count of buffs in sell list
MaxBuffs = 20

View File

@@ -0,0 +1,6 @@
# ---------------------------------------------------------------------------
# Display Server Time
# ---------------------------------------------------------------------------
# This option will enable displaying of the local server time for /time command.
DisplayServerTime = False

View File

@@ -0,0 +1,13 @@
# ---------------------------------------------------------------------------
# Custom Starting Location
# ---------------------------------------------------------------------------
# Enable custom starting location.
# Default: False
CustomStartingLocation = False
# Coordinates for custom starting location.
# Default: 50821, 186527, -3625 (Giran Harbor)
CustomStartingLocX = 50821
CustomStartingLocY = 186527
CustomStartingLocZ = -3625

View File

@@ -0,0 +1,7 @@
# ---------------------------------------------------------------------------
# Walker/Bot protection
# ---------------------------------------------------------------------------
# Basic protection against L2Walker.
# Default: False
L2WalkerProtection = False

View File

@@ -552,10 +552,10 @@ public class MasterHandler
// CastleVCmd.class, // CastleVCmd.class,
// SetVCmd.class, // SetVCmd.class,
Config.BANKING_SYSTEM_ENABLED ? Banking.class : null, Config.BANKING_SYSTEM_ENABLED ? Banking.class : null,
Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null, Config.CHAT_ADMIN ? ChatAdmin.class : null,
Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null, Config.MULTILANG_ENABLE && Config.MULTILANG_VOICED_ALLOW ? Lang.class : null,
Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null, Config.DEBUG_VOICE_COMMAND ? Debug.class : null,
Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null, Config.ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null,
Config.PREMIUM_SYSTEM_ENABLED ? Premium.class : null, Config.PREMIUM_SYSTEM_ENABLED ? Premium.class : null,
}, },
{ {

View File

@@ -134,9 +134,9 @@ public class AdminKill implements IAdminCommandHandler
} }
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null); target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
} }
else if (Config.L2JMOD_CHAMPION_ENABLE && target.isChampion()) else if (Config.CHAMPION_ENABLE && target.isChampion())
{ {
target.reduceCurrentHp((target.getMaxHp() * Config.L2JMOD_CHAMPION_HP) + 1, activeChar, null); target.reduceCurrentHp((target.getMaxHp() * Config.CHAMPION_HP) + 1, activeChar, null);
} }
else else
{ {

View File

@@ -249,9 +249,9 @@ public class AdminMenu implements IAdminCommandHandler
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null); target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
filename = "charmanage.htm"; filename = "charmanage.htm";
} }
else if (Config.L2JMOD_CHAMPION_ENABLE && target.isChampion()) else if (Config.CHAMPION_ENABLE && target.isChampion())
{ {
target.reduceCurrentHp((target.getMaxHp() * Config.L2JMOD_CHAMPION_HP) + 1, activeChar, null); target.reduceCurrentHp((target.getMaxHp() * Config.CHAMPION_HP) + 1, activeChar, null);
} }
else else
{ {

View File

@@ -72,7 +72,7 @@ public class Time implements IUserCommandHandler
sm.addString(m); sm.addString(m);
} }
activeChar.sendPacket(sm); activeChar.sendPacket(sm);
if (Config.L2JMOD_DISPLAY_SERVER_TIME) if (Config.DISPLAY_SERVER_TIME)
{ {
activeChar.sendMessage("Server time is " + fmt.format(new Date(System.currentTimeMillis()))); activeChar.sendMessage("Server time is " + fmt.format(new Date(System.currentTimeMillis())));
} }

View File

@@ -33,7 +33,7 @@ public class Lang implements IVoicedCommandHandler
@Override @Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params) public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
{ {
if (!Config.L2JMOD_MULTILANG_ENABLE || !Config.L2JMOD_MULTILANG_VOICED_ALLOW) if (!Config.MULTILANG_ENABLE || !Config.MULTILANG_VOICED_ALLOW)
{ {
return false; return false;
} }
@@ -42,7 +42,7 @@ public class Lang implements IVoicedCommandHandler
if (params == null) if (params == null)
{ {
final StringBuilder html = new StringBuilder(100); final StringBuilder html = new StringBuilder(100);
for (String lang : Config.L2JMOD_MULTILANG_ALLOWED) for (String lang : Config.MULTILANG_ALLOWED)
{ {
html.append("<button value=\"" + lang.toUpperCase() + "\" action=\"bypass -h voice .lang " + lang + "\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>"); html.append("<button value=\"" + lang.toUpperCase() + "\" action=\"bypass -h voice .lang " + lang + "\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>");
} }

File diff suppressed because it is too large Load Diff

View File

@@ -168,7 +168,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
return false; return false;
} }
if (me.isChampion() && Config.L2JMOD_CHAMPION_PASSIVE) if (me.isChampion() && Config.CHAMPION_PASSIVE)
{ {
return false; return false;
} }

View File

@@ -155,7 +155,7 @@ public final class AntiFeedManager
final AtomicInteger connectionCount = event.computeIfAbsent(addrHash, k -> new AtomicInteger()); final AtomicInteger connectionCount = event.computeIfAbsent(addrHash, k -> new AtomicInteger());
if ((connectionCount.get() + 1) <= (max + Config.L2JMOD_DUALBOX_CHECK_WHITELIST.getOrDefault(addrHash, 0))) if ((connectionCount.get() + 1) <= (max + Config.DUALBOX_CHECK_WHITELIST.getOrDefault(addrHash, 0)))
{ {
connectionCount.incrementAndGet(); connectionCount.incrementAndGet();
return true; return true;
@@ -259,9 +259,9 @@ public final class AntiFeedManager
final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode()); final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
int limit = max; int limit = max;
if (Config.L2JMOD_DUALBOX_CHECK_WHITELIST.containsKey(addrHash)) if (Config.DUALBOX_CHECK_WHITELIST.containsKey(addrHash))
{ {
limit += Config.L2JMOD_DUALBOX_CHECK_WHITELIST.get(addrHash); limit += Config.DUALBOX_CHECK_WHITELIST.get(addrHash);
} }
return limit; return limit;
} }

View File

@@ -474,10 +474,10 @@ public class L2Attackable extends L2Npc
long exp = expSp[0]; long exp = expSp[0];
int sp = expSp[1]; int sp = expSp[1];
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion()) if (Config.CHAMPION_ENABLE && isChampion())
{ {
exp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP; exp *= Config.CHAMPION_REWARDS_EXP_SP;
sp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP; sp *= Config.CHAMPION_REWARDS_EXP_SP;
} }
exp *= penalty; exp *= penalty;
@@ -586,10 +586,10 @@ public class L2Attackable extends L2Npc
long exp = expSp[0]; long exp = expSp[0];
int sp = expSp[1]; int sp = expSp[1];
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion()) if (Config.CHAMPION_ENABLE && isChampion())
{ {
exp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP; exp *= Config.CHAMPION_REWARDS_EXP_SP;
sp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP; sp *= Config.CHAMPION_REWARDS_EXP_SP;
} }
exp *= partyMul; exp *= partyMul;
@@ -1005,12 +1005,12 @@ public class L2Attackable extends L2Npc
} }
// Apply Special Item drop with random(rnd) quantity(qty) for champions. // Apply Special Item drop with random(rnd) quantity(qty) for champions.
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion() && ((Config.L2JMOD_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE > 0) || (Config.L2JMOD_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE > 0))) if (Config.CHAMPION_ENABLE && isChampion() && ((Config.CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE > 0) || (Config.CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE > 0)))
{ {
int champqty = Rnd.get(Config.L2JMOD_CHAMPION_REWARD_QTY); int champqty = Rnd.get(Config.CHAMPION_REWARD_QTY);
final ItemHolder item = new ItemHolder(Config.L2JMOD_CHAMPION_REWARD_ID, ++champqty); final ItemHolder item = new ItemHolder(Config.CHAMPION_REWARD_ID, ++champqty);
if ((player.getLevel() <= getLevel()) && (Rnd.get(100) < Config.L2JMOD_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE)) if ((player.getLevel() <= getLevel()) && (Rnd.get(100) < Config.CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE))
{ {
if (Config.AUTO_LOOT || isFlying()) if (Config.AUTO_LOOT || isFlying())
{ {
@@ -1021,7 +1021,7 @@ public class L2Attackable extends L2Npc
dropItem(player, item); dropItem(player, item);
} }
} }
else if ((player.getLevel() > getLevel()) && (Rnd.get(100) < Config.L2JMOD_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE)) else if ((player.getLevel() > getLevel()) && (Rnd.get(100) < Config.CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE))
{ {
if (Config.AUTO_LOOT || isFlying()) if (Config.AUTO_LOOT || isFlying())
{ {
@@ -1401,15 +1401,15 @@ public class L2Attackable extends L2Npc
// Reset champion state // Reset champion state
_champion = false; _champion = false;
if (Config.L2JMOD_CHAMPION_ENABLE) if (Config.CHAMPION_ENABLE)
{ {
// Set champion on next spawn // Set champion on next spawn
if (isMonster() && !getTemplate().isUndying() && !isRaid() && !isRaidMinion() && (Config.L2JMOD_CHAMPION_FREQUENCY > 0) && (getLevel() >= Config.L2JMOD_CHAMP_MIN_LVL) && (getLevel() <= Config.L2JMOD_CHAMP_MAX_LVL) && (Config.L2JMOD_CHAMPION_ENABLE_IN_INSTANCES || (getInstanceId() == 0))) if (isMonster() && !getTemplate().isUndying() && !isRaid() && !isRaidMinion() && (Config.CHAMPION_FREQUENCY > 0) && (getLevel() >= Config.CHAMP_MIN_LVL) && (getLevel() <= Config.CHAMP_MAX_LVL) && (Config.CHAMPION_ENABLE_IN_INSTANCES || (getInstanceId() == 0)))
{ {
if (Rnd.get(100) < Config.L2JMOD_CHAMPION_FREQUENCY) if (Rnd.get(100) < Config.CHAMPION_FREQUENCY)
{ {
_champion = true; _champion = true;
if (Config.L2JMOD_SHOW_CHAMPION_AURA) if (Config.SHOW_CHAMPION_AURA)
{ {
setTeam(Team.RED); setTeam(Team.RED);
} }
@@ -1613,7 +1613,7 @@ public class L2Attackable extends L2Npc
*/ */
public boolean useVitalityRate() public boolean useVitalityRate()
{ {
return !isChampion() || Config.L2JMOD_CHAMPION_ENABLE_VITALITY; return !isChampion() || Config.CHAMPION_ENABLE_VITALITY;
} }
/** Return True if the L2Character is RaidBoss or his minion. */ /** Return True if the L2Character is RaidBoss or his minion. */

View File

@@ -2495,7 +2495,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
{ {
if (isChampion()) if (isChampion())
{ {
return Config.L2JMOD_CHAMP_TITLE; return Config.CHAMP_TITLE;
} }
if (Config.SHOW_NPC_LVL && isMonster()) if (Config.SHOW_NPC_LVL && isMonster())
{ {
@@ -4830,9 +4830,9 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
} }
} }
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion() && (Config.L2JMOD_CHAMPION_HP != 0)) if (Config.CHAMPION_ENABLE && isChampion() && (Config.CHAMPION_HP != 0))
{ {
getStatus().reduceHp(value / Config.L2JMOD_CHAMPION_HP, attacker, (skill == null) || !skill.isToggle(), isDOT, false); getStatus().reduceHp(value / Config.CHAMPION_HP, attacker, (skill == null) || !skill.isToggle(), isDOT, false);
} }
else else
{ {

View File

@@ -12521,7 +12521,7 @@ public final class L2PcInstance extends L2Playable
public String getHtmlPrefix() public String getHtmlPrefix()
{ {
if (!Config.L2JMOD_MULTILANG_ENABLE) if (!Config.MULTILANG_ENABLE)
{ {
return null; return null;
} }
@@ -12537,16 +12537,16 @@ public final class L2PcInstance extends L2Playable
public boolean setLang(String lang) public boolean setLang(String lang)
{ {
boolean result = false; boolean result = false;
if (Config.L2JMOD_MULTILANG_ENABLE) if (Config.MULTILANG_ENABLE)
{ {
if (Config.L2JMOD_MULTILANG_ALLOWED.contains(lang)) if (Config.MULTILANG_ALLOWED.contains(lang))
{ {
_lang = lang; _lang = lang;
result = true; result = true;
} }
else else
{ {
_lang = Config.L2JMOD_MULTILANG_DEFAULT; _lang = Config.MULTILANG_DEFAULT;
} }
_htmlPrefix = "data/lang/" + _lang + "/"; _htmlPrefix = "data/lang/" + _lang + "/";

View File

@@ -119,7 +119,7 @@ public class GeneralDropItem implements IDropItem
// global champions amount multiplier // global champions amount multiplier
if (victim.isChampion()) if (victim.isChampion())
{ {
multiplier *= getItemId() != Inventory.ADENA_ID ? Config.L2JMOD_CHAMPION_REWARDS_AMOUNT : Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT; multiplier *= getItemId() != Inventory.ADENA_ID ? Config.CHAMPION_REWARDS_AMOUNT : Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
} }
return (long) (val * multiplier); return (long) (val * multiplier);
@@ -241,7 +241,7 @@ public class GeneralDropItem implements IDropItem
if (victim.isChampion()) if (victim.isChampion())
{ {
multiplier *= getItemId() != Inventory.ADENA_ID ? Config.L2JMOD_CHAMPION_REWARDS_CHANCE : Config.L2JMOD_CHAMPION_ADENAS_REWARDS_CHANCE; multiplier *= getItemId() != Inventory.ADENA_ID ? Config.CHAMPION_REWARDS_CHANCE : Config.CHAMPION_ADENAS_REWARDS_CHANCE;
} }
return (getChance() * multiplier); return (getChance() * multiplier);
@@ -277,7 +277,7 @@ public class GeneralDropItem implements IDropItem
{ {
final Collection<ItemHolder> items = new ArrayList<>(1); final Collection<ItemHolder> items = new ArrayList<>(1);
final long baseDropCount = Rnd.get(getMin(victim, killer), getMax(victim, killer)); final long baseDropCount = Rnd.get(getMin(victim, killer), getMax(victim, killer));
final long finaldropCount = (long) (Config.L2JMOD_OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + (chance > 100 ? (chance % 100) > (Rnd.nextDouble() * 100) ? baseDropCount : 0 : 0) : baseDropCount); final long finaldropCount = (long) (Config.OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + (chance > 100 ? (chance % 100) > (Rnd.nextDouble() * 100) ? baseDropCount : 0 : 0) : baseDropCount);
items.add(new ItemHolder(getItemId(), finaldropCount)); items.add(new ItemHolder(getItemId(), finaldropCount));
return items; return items;
} }

View File

@@ -135,7 +135,7 @@ public class GroupedGeneralDropItem implements IDropItem
{ {
final Collection<ItemHolder> items = new ArrayList<>(1); final Collection<ItemHolder> items = new ArrayList<>(1);
final long baseDropCount = Rnd.get(item.getMin(victim, killer), item.getMax(victim, killer)); final long baseDropCount = Rnd.get(item.getMin(victim, killer), item.getMax(victim, killer));
final long finaldropCount = (long) (Config.L2JMOD_OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + ((chance > 100) && ((chance % 100) > (Rnd.nextDouble() * 100)) ? baseDropCount : 0) : baseDropCount); final long finaldropCount = (long) (Config.OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + ((chance > 100) && ((chance % 100) > (Rnd.nextDouble() * 100)) ? baseDropCount : 0) : baseDropCount);
items.add(new ItemHolder(item.getItemId(), finaldropCount)); items.add(new ItemHolder(item.getItemId(), finaldropCount));
return items; return items;
} }

View File

@@ -253,7 +253,7 @@ public class L2Event
return; return;
} }
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP == 0) || AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.L2EVENT_ID, player, Config.L2JMOD_DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP)) if ((Config.DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP == 0) || AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.L2EVENT_ID, player, Config.DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP))
{ {
_registeredPlayers.add(player); _registeredPlayers.add(player);
} }

View File

@@ -2620,19 +2620,19 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
minAmount *= Config.RATE_QUEST_DROP; minAmount *= Config.RATE_QUEST_DROP;
maxAmount *= Config.RATE_QUEST_DROP; maxAmount *= Config.RATE_QUEST_DROP;
dropChance *= Config.RATE_QUEST_DROP; // TODO separate configs for rate and amount dropChance *= Config.RATE_QUEST_DROP; // TODO separate configs for rate and amount
if ((npc != null) && Config.L2JMOD_CHAMPION_ENABLE && npc.isChampion()) if ((npc != null) && Config.CHAMPION_ENABLE && npc.isChampion())
{ {
if ((itemId == Inventory.ADENA_ID) || (itemId == Inventory.ANCIENT_ADENA_ID)) if ((itemId == Inventory.ADENA_ID) || (itemId == Inventory.ANCIENT_ADENA_ID))
{ {
dropChance *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_CHANCE; dropChance *= Config.CHAMPION_ADENAS_REWARDS_CHANCE;
minAmount *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT; minAmount *= Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
maxAmount *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT; maxAmount *= Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
} }
else else
{ {
dropChance *= Config.L2JMOD_CHAMPION_REWARDS_CHANCE; dropChance *= Config.CHAMPION_REWARDS_CHANCE;
minAmount *= Config.L2JMOD_CHAMPION_REWARDS_AMOUNT; minAmount *= Config.CHAMPION_REWARDS_AMOUNT;
maxAmount *= Config.L2JMOD_CHAMPION_REWARDS_AMOUNT; maxAmount *= Config.CHAMPION_REWARDS_AMOUNT;
} }
} }

View File

@@ -385,7 +385,7 @@ public abstract class AbstractOlympiadGame
player.setCurrentMp(player.getMaxMp()); player.setCurrentMp(player.getMaxMp());
player.getStatus().startHpMpRegeneration(); player.getStatus().startHpMpRegeneration();
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
{ {
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, player); AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, player);
} }

View File

@@ -203,11 +203,11 @@ public class OlympiadManager
return false; return false;
} }
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)) if ((Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))
{ {
final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId()); final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId());
message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm"); message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm");
message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))); message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)));
player.sendPacket(message); player.sendPacket(message);
if (player.isGM() && player.isDebug()) if (player.isGM() && player.isDebug())
{ {
@@ -234,11 +234,11 @@ public class OlympiadManager
return false; return false;
} }
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)) if ((Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))
{ {
final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId()); final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId());
message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm"); message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm");
message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))); message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)));
player.sendPacket(message); player.sendPacket(message);
if (player.isGM() && player.isDebug()) if (player.isGM() && player.isDebug())
{ {
@@ -291,7 +291,7 @@ public class OlympiadManager
final Integer objId = Integer.valueOf(noble.getObjectId()); final Integer objId = Integer.valueOf(noble.getObjectId());
if (_nonClassBasedRegisters.remove(objId)) if (_nonClassBasedRegisters.remove(objId))
{ {
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
{ {
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble); AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble);
} }
@@ -303,7 +303,7 @@ public class OlympiadManager
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass()); final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
if ((classed != null) && classed.remove(objId)) if ((classed != null) && classed.remove(objId))
{ {
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
{ {
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble); AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble);
} }

View File

@@ -43,9 +43,9 @@ public class MAttackFinalizer implements IStatsFunction
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR); baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR);
} }
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion()) if (Config.CHAMPION_ENABLE && creature.isChampion())
{ {
baseValue *= Config.L2JMOD_CHAMPION_ATK; baseValue *= Config.CHAMPION_ATK;
} }
if (creature.isRaid()) if (creature.isRaid())
{ {

View File

@@ -35,9 +35,9 @@ public class MAttackSpeedFinalizer implements IStatsFunction
throwIfPresent(base); throwIfPresent(base);
double baseValue = calcWeaponBaseValue(creature, stat); double baseValue = calcWeaponBaseValue(creature, stat);
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion()) if (Config.CHAMPION_ENABLE && creature.isChampion())
{ {
baseValue *= Config.L2JMOD_CHAMPION_SPD_ATK; baseValue *= Config.CHAMPION_SPD_ATK;
} }
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;

View File

@@ -44,9 +44,9 @@ public class PAttackFinalizer implements IStatsFunction
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR); baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR);
} }
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion()) if (Config.CHAMPION_ENABLE && creature.isChampion())
{ {
baseValue *= Config.L2JMOD_CHAMPION_ATK; baseValue *= Config.CHAMPION_ATK;
} }
if (creature.isRaid()) if (creature.isRaid())
{ {

View File

@@ -34,9 +34,9 @@ public class PAttackSpeedFinalizer implements IStatsFunction
{ {
throwIfPresent(base); throwIfPresent(base);
double baseValue = calcWeaponBaseValue(creature, stat); double baseValue = calcWeaponBaseValue(creature, stat);
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion()) if (Config.CHAMPION_ENABLE && creature.isChampion())
{ {
baseValue *= Config.L2JMOD_CHAMPION_SPD_ATK; baseValue *= Config.CHAMPION_SPD_ATK;
} }
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.; final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
final double dexBonus = creature.getDEX() > 0 ? BaseStats.DEX.calcBonus(creature) : 1.; final double dexBonus = creature.getDEX() > 0 ? BaseStats.DEX.calcBonus(creature) : 1.;

View File

@@ -55,9 +55,9 @@ public class RegenHPFinalizer implements IStatsFunction
double baseValue = creature.isPlayer() ? creature.getActingPlayer().getTemplate().getBaseHpRegen(creature.getLevel()) : creature.getTemplate().getBaseHpReg(); double baseValue = creature.isPlayer() ? creature.getActingPlayer().getTemplate().getBaseHpRegen(creature.getLevel()) : creature.getTemplate().getBaseHpReg();
baseValue *= creature.isRaid() ? Config.RAID_HP_REGEN_MULTIPLIER : Config.HP_REGEN_MULTIPLIER; baseValue *= creature.isRaid() ? Config.RAID_HP_REGEN_MULTIPLIER : Config.HP_REGEN_MULTIPLIER;
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion()) if (Config.CHAMPION_ENABLE && creature.isChampion())
{ {
baseValue *= Config.L2JMOD_CHAMPION_HP_REGEN; baseValue *= Config.CHAMPION_HP_REGEN;
} }
if (creature.isPlayer()) if (creature.isPlayer())

View File

@@ -114,11 +114,11 @@ public class CharacterSelect implements IClientIncomingPacket
return; return;
} }
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddClient(AntiFeedManager.GAME_ID, client, Config.L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP)) if ((Config.DUALBOX_CHECK_MAX_PLAYERS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddClient(AntiFeedManager.GAME_ID, client, Config.DUALBOX_CHECK_MAX_PLAYERS_PER_IP))
{ {
final NpcHtmlMessage msg = new NpcHtmlMessage(); final NpcHtmlMessage msg = new NpcHtmlMessage();
msg.setFile(info.getHtmlPrefix(), "data/html/mods/IPRestriction.htm"); msg.setFile(info.getHtmlPrefix(), "data/html/mods/IPRestriction.htm");
msg.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(client, Config.L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP))); msg.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(client, Config.DUALBOX_CHECK_MAX_PLAYERS_PER_IP)));
client.sendPacket(msg); client.sendPacket(msg);
return; return;
} }

View File

@@ -328,12 +328,12 @@ public class CharSelectionInfo implements IClientOutgoingPacket
charInfopackage.setEvil(); charInfopackage.setEvil();
} }
if (Config.L2JMOD_MULTILANG_ENABLE) if (Config.MULTILANG_ENABLE)
{ {
String lang = chardata.getString("language"); String lang = chardata.getString("language");
if (!Config.L2JMOD_MULTILANG_ALLOWED.contains(lang)) if (!Config.MULTILANG_ALLOWED.contains(lang))
{ {
lang = Config.L2JMOD_MULTILANG_DEFAULT; lang = Config.MULTILANG_DEFAULT;
} }
charInfopackage.setHtmlPrefix("data/lang/" + lang + "/"); charInfopackage.setHtmlPrefix("data/lang/" + lang + "/");
} }