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,
// SetVCmd.class,
Config.BANKING_SYSTEM_ENABLED ? Banking.class : null,
Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null,
Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null,
Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null,
Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null,
Config.CHAT_ADMIN ? ChatAdmin.class : null,
Config.MULTILANG_ENABLE && Config.MULTILANG_VOICED_ALLOW ? Lang.class : null,
Config.DEBUG_VOICE_COMMAND ? Debug.class : null,
Config.ALLOW_CHANGE_PASSWORD ? ChangePassword.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);
}
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
{

View File

@@ -249,9 +249,9 @@ public class AdminMenu implements IAdminCommandHandler
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
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
{

View File

@@ -72,7 +72,7 @@ public class Time implements IUserCommandHandler
sm.addString(m);
}
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())));
}

View File

@@ -33,7 +33,7 @@ public class Lang implements IVoicedCommandHandler
@Override
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;
}
@@ -42,7 +42,7 @@ public class Lang implements IVoicedCommandHandler
if (params == null)
{
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>");
}

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;
}
if (me.isChampion() && Config.L2JMOD_CHAMPION_PASSIVE)
if (me.isChampion() && Config.CHAMPION_PASSIVE)
{
return false;
}

View File

@@ -155,7 +155,7 @@ public final class AntiFeedManager
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();
return true;
@@ -259,9 +259,9 @@ public final class AntiFeedManager
final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
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;
}

View File

@@ -474,10 +474,10 @@ public class L2Attackable extends L2Npc
long exp = expSp[0];
int sp = expSp[1];
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion())
if (Config.CHAMPION_ENABLE && isChampion())
{
exp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
sp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
exp *= Config.CHAMPION_REWARDS_EXP_SP;
sp *= Config.CHAMPION_REWARDS_EXP_SP;
}
exp *= penalty;
@@ -586,10 +586,10 @@ public class L2Attackable extends L2Npc
long exp = expSp[0];
int sp = expSp[1];
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion())
if (Config.CHAMPION_ENABLE && isChampion())
{
exp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
sp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
exp *= Config.CHAMPION_REWARDS_EXP_SP;
sp *= Config.CHAMPION_REWARDS_EXP_SP;
}
exp *= partyMul;
@@ -1005,12 +1005,12 @@ public class L2Attackable extends L2Npc
}
// 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);
final ItemHolder item = new ItemHolder(Config.L2JMOD_CHAMPION_REWARD_ID, ++champqty);
int champqty = Rnd.get(Config.CHAMPION_REWARD_QTY);
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())
{
@@ -1021,7 +1021,7 @@ public class L2Attackable extends L2Npc
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())
{
@@ -1401,15 +1401,15 @@ public class L2Attackable extends L2Npc
// Reset champion state
_champion = false;
if (Config.L2JMOD_CHAMPION_ENABLE)
if (Config.CHAMPION_ENABLE)
{
// 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;
if (Config.L2JMOD_SHOW_CHAMPION_AURA)
if (Config.SHOW_CHAMPION_AURA)
{
setTeam(Team.RED);
}
@@ -1613,7 +1613,7 @@ public class L2Attackable extends L2Npc
*/
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. */

View File

@@ -2495,7 +2495,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
{
if (isChampion())
{
return Config.L2JMOD_CHAMP_TITLE;
return Config.CHAMP_TITLE;
}
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
{

View File

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

View File

@@ -119,7 +119,7 @@ public class GeneralDropItem implements IDropItem
// global champions amount multiplier
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);
@@ -241,7 +241,7 @@ public class GeneralDropItem implements IDropItem
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);
@@ -277,7 +277,7 @@ public class GeneralDropItem implements IDropItem
{
final Collection<ItemHolder> items = new ArrayList<>(1);
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));
return items;
}

View File

@@ -135,7 +135,7 @@ public class GroupedGeneralDropItem implements IDropItem
{
final Collection<ItemHolder> items = new ArrayList<>(1);
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));
return items;
}

View File

@@ -253,7 +253,7 @@ public class L2Event
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);
}

View File

@@ -2620,19 +2620,19 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
minAmount *= Config.RATE_QUEST_DROP;
maxAmount *= Config.RATE_QUEST_DROP;
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))
{
dropChance *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_CHANCE;
minAmount *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT;
maxAmount *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT;
dropChance *= Config.CHAMPION_ADENAS_REWARDS_CHANCE;
minAmount *= Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
maxAmount *= Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
}
else
{
dropChance *= Config.L2JMOD_CHAMPION_REWARDS_CHANCE;
minAmount *= Config.L2JMOD_CHAMPION_REWARDS_AMOUNT;
maxAmount *= Config.L2JMOD_CHAMPION_REWARDS_AMOUNT;
dropChance *= Config.CHAMPION_REWARDS_CHANCE;
minAmount *= Config.CHAMPION_REWARDS_AMOUNT;
maxAmount *= Config.CHAMPION_REWARDS_AMOUNT;
}
}

View File

@@ -385,7 +385,7 @@ public abstract class AbstractOlympiadGame
player.setCurrentMp(player.getMaxMp());
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);
}

View File

@@ -203,11 +203,11 @@ public class OlympiadManager
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());
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);
if (player.isGM() && player.isDebug())
{
@@ -234,11 +234,11 @@ public class OlympiadManager
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());
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);
if (player.isGM() && player.isDebug())
{
@@ -291,7 +291,7 @@ public class OlympiadManager
final Integer objId = Integer.valueOf(noble.getObjectId());
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);
}
@@ -303,7 +303,7 @@ public class OlympiadManager
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
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);
}

View File

@@ -43,9 +43,9 @@ public class MAttackFinalizer implements IStatsFunction
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())
{

View File

@@ -35,9 +35,9 @@ public class MAttackSpeedFinalizer implements IStatsFunction
throwIfPresent(base);
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.;

View File

@@ -44,9 +44,9 @@ public class PAttackFinalizer implements IStatsFunction
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())
{

View File

@@ -34,9 +34,9 @@ public class PAttackSpeedFinalizer implements IStatsFunction
{
throwIfPresent(base);
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 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();
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())

View File

@@ -114,11 +114,11 @@ public class CharacterSelect implements IClientIncomingPacket
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();
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);
return;
}

View File

@@ -329,12 +329,12 @@ public class CharSelectionInfo implements IClientOutgoingPacket
charInfopackage.setEvil();
}
if (Config.L2JMOD_MULTILANG_ENABLE)
if (Config.MULTILANG_ENABLE)
{
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 + "/");
}

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,
// SetVCmd.class,
Config.BANKING_SYSTEM_ENABLED ? Banking.class : null,
Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null,
Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null,
Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null,
Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null,
Config.CHAT_ADMIN ? ChatAdmin.class : null,
Config.MULTILANG_ENABLE && Config.MULTILANG_VOICED_ALLOW ? Lang.class : null,
Config.DEBUG_VOICE_COMMAND ? Debug.class : null,
Config.ALLOW_CHANGE_PASSWORD ? ChangePassword.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);
}
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
{

View File

@@ -249,9 +249,9 @@ public class AdminMenu implements IAdminCommandHandler
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
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
{

View File

@@ -72,7 +72,7 @@ public class Time implements IUserCommandHandler
sm.addString(m);
}
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())));
}

View File

@@ -33,7 +33,7 @@ public class Lang implements IVoicedCommandHandler
@Override
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;
}
@@ -42,7 +42,7 @@ public class Lang implements IVoicedCommandHandler
if (params == null)
{
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>");
}

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;
}
if (me.isChampion() && Config.L2JMOD_CHAMPION_PASSIVE)
if (me.isChampion() && Config.CHAMPION_PASSIVE)
{
return false;
}

View File

@@ -155,7 +155,7 @@ public final class AntiFeedManager
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();
return true;
@@ -259,9 +259,9 @@ public final class AntiFeedManager
final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
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;
}

View File

@@ -474,10 +474,10 @@ public class L2Attackable extends L2Npc
long exp = expSp[0];
int sp = expSp[1];
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion())
if (Config.CHAMPION_ENABLE && isChampion())
{
exp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
sp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
exp *= Config.CHAMPION_REWARDS_EXP_SP;
sp *= Config.CHAMPION_REWARDS_EXP_SP;
}
exp *= penalty;
@@ -586,10 +586,10 @@ public class L2Attackable extends L2Npc
long exp = expSp[0];
int sp = expSp[1];
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion())
if (Config.CHAMPION_ENABLE && isChampion())
{
exp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
sp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
exp *= Config.CHAMPION_REWARDS_EXP_SP;
sp *= Config.CHAMPION_REWARDS_EXP_SP;
}
exp *= partyMul;
@@ -1005,12 +1005,12 @@ public class L2Attackable extends L2Npc
}
// 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);
final ItemHolder item = new ItemHolder(Config.L2JMOD_CHAMPION_REWARD_ID, ++champqty);
int champqty = Rnd.get(Config.CHAMPION_REWARD_QTY);
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())
{
@@ -1021,7 +1021,7 @@ public class L2Attackable extends L2Npc
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())
{
@@ -1401,15 +1401,15 @@ public class L2Attackable extends L2Npc
// Reset champion state
_champion = false;
if (Config.L2JMOD_CHAMPION_ENABLE)
if (Config.CHAMPION_ENABLE)
{
// 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;
if (Config.L2JMOD_SHOW_CHAMPION_AURA)
if (Config.SHOW_CHAMPION_AURA)
{
setTeam(Team.RED);
}
@@ -1613,7 +1613,7 @@ public class L2Attackable extends L2Npc
*/
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. */

View File

@@ -2495,7 +2495,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
{
if (isChampion())
{
return Config.L2JMOD_CHAMP_TITLE;
return Config.CHAMP_TITLE;
}
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
{

View File

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

View File

@@ -119,7 +119,7 @@ public class GeneralDropItem implements IDropItem
// global champions amount multiplier
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);
@@ -241,7 +241,7 @@ public class GeneralDropItem implements IDropItem
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);
@@ -277,7 +277,7 @@ public class GeneralDropItem implements IDropItem
{
final Collection<ItemHolder> items = new ArrayList<>(1);
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));
return items;
}

View File

@@ -135,7 +135,7 @@ public class GroupedGeneralDropItem implements IDropItem
{
final Collection<ItemHolder> items = new ArrayList<>(1);
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));
return items;
}

View File

@@ -253,7 +253,7 @@ public class L2Event
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);
}

View File

@@ -2620,19 +2620,19 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
minAmount *= Config.RATE_QUEST_DROP;
maxAmount *= Config.RATE_QUEST_DROP;
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))
{
dropChance *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_CHANCE;
minAmount *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT;
maxAmount *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT;
dropChance *= Config.CHAMPION_ADENAS_REWARDS_CHANCE;
minAmount *= Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
maxAmount *= Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
}
else
{
dropChance *= Config.L2JMOD_CHAMPION_REWARDS_CHANCE;
minAmount *= Config.L2JMOD_CHAMPION_REWARDS_AMOUNT;
maxAmount *= Config.L2JMOD_CHAMPION_REWARDS_AMOUNT;
dropChance *= Config.CHAMPION_REWARDS_CHANCE;
minAmount *= Config.CHAMPION_REWARDS_AMOUNT;
maxAmount *= Config.CHAMPION_REWARDS_AMOUNT;
}
}

View File

@@ -385,7 +385,7 @@ public abstract class AbstractOlympiadGame
player.setCurrentMp(player.getMaxMp());
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);
}

View File

@@ -203,11 +203,11 @@ public class OlympiadManager
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());
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);
if (player.isGM() && player.isDebug())
{
@@ -234,11 +234,11 @@ public class OlympiadManager
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());
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);
if (player.isGM() && player.isDebug())
{
@@ -291,7 +291,7 @@ public class OlympiadManager
final Integer objId = Integer.valueOf(noble.getObjectId());
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);
}
@@ -303,7 +303,7 @@ public class OlympiadManager
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
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);
}

View File

@@ -43,9 +43,9 @@ public class MAttackFinalizer implements IStatsFunction
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())
{

View File

@@ -35,9 +35,9 @@ public class MAttackSpeedFinalizer implements IStatsFunction
throwIfPresent(base);
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.;

View File

@@ -44,9 +44,9 @@ public class PAttackFinalizer implements IStatsFunction
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())
{

View File

@@ -34,9 +34,9 @@ public class PAttackSpeedFinalizer implements IStatsFunction
{
throwIfPresent(base);
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 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();
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())

View File

@@ -114,11 +114,11 @@ public class CharacterSelect implements IClientIncomingPacket
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();
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);
return;
}

View File

@@ -328,12 +328,12 @@ public class CharSelectionInfo implements IClientOutgoingPacket
charInfopackage.setEvil();
}
if (Config.L2JMOD_MULTILANG_ENABLE)
if (Config.MULTILANG_ENABLE)
{
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 + "/");
}