Separated configs for custom features.
This commit is contained in:
598
L2J_Mobius_Helios/dist/game/config/Custom.ini
vendored
598
L2J_Mobius_Helios/dist/game/config/Custom.ini
vendored
@@ -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
|
|
13
L2J_Mobius_Helios/dist/game/config/Custom/AllowedPlayerRaces.ini
vendored
Normal file
13
L2J_Mobius_Helios/dist/game/config/Custom/AllowedPlayerRaces.ini
vendored
Normal 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
|
12
L2J_Mobius_Helios/dist/game/config/Custom/Banking.ini
vendored
Normal file
12
L2J_Mobius_Helios/dist/game/config/Custom/Banking.ini
vendored
Normal 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
|
77
L2J_Mobius_Helios/dist/game/config/Custom/ChampionMonsters.ini
vendored
Normal file
77
L2J_Mobius_Helios/dist/game/config/Custom/ChampionMonsters.ini
vendored
Normal 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
|
9
L2J_Mobius_Helios/dist/game/config/Custom/ChatModeration.ini
vendored
Normal file
9
L2J_Mobius_Helios/dist/game/config/Custom/ChatModeration.ini
vendored
Normal 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
|
63
L2J_Mobius_Helios/dist/game/config/Custom/CommunityBoard.ini
vendored
Normal file
63
L2J_Mobius_Helios/dist/game/config/Custom/CommunityBoard.ini
vendored
Normal 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
|
10
L2J_Mobius_Helios/dist/game/config/Custom/DebugVoiceCommand.ini
vendored
Normal file
10
L2J_Mobius_Helios/dist/game/config/Custom/DebugVoiceCommand.ini
vendored
Normal 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
|
25
L2J_Mobius_Helios/dist/game/config/Custom/DualboxCheck.ini
vendored
Normal file
25
L2J_Mobius_Helios/dist/game/config/Custom/DualboxCheck.ini
vendored
Normal 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
|
76
L2J_Mobius_Helios/dist/game/config/Custom/FactionSystem.ini
vendored
Normal file
76
L2J_Mobius_Helios/dist/game/config/Custom/FactionSystem.ini
vendored
Normal 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
|
35
L2J_Mobius_Helios/dist/game/config/Custom/MultilingualSupport.ini
vendored
Normal file
35
L2J_Mobius_Helios/dist/game/config/Custom/MultilingualSupport.ini
vendored
Normal 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 =
|
46
L2J_Mobius_Helios/dist/game/config/Custom/OfflineTrade.ini
vendored
Normal file
46
L2J_Mobius_Helios/dist/game/config/Custom/OfflineTrade.ini
vendored
Normal 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
|
10
L2J_Mobius_Helios/dist/game/config/Custom/OldDropBehavior.ini
vendored
Normal file
10
L2J_Mobius_Helios/dist/game/config/Custom/OldDropBehavior.ini
vendored
Normal 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
|
7
L2J_Mobius_Helios/dist/game/config/Custom/PasswordChange.ini
vendored
Normal file
7
L2J_Mobius_Helios/dist/game/config/Custom/PasswordChange.ini
vendored
Normal 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
|
42
L2J_Mobius_Helios/dist/game/config/Custom/PcCafe.ini
vendored
Normal file
42
L2J_Mobius_Helios/dist/game/config/Custom/PcCafe.ini
vendored
Normal 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
|
33
L2J_Mobius_Helios/dist/game/config/Custom/PremiumSystem.ini
vendored
Normal file
33
L2J_Mobius_Helios/dist/game/config/Custom/PremiumSystem.ini
vendored
Normal 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
|
8
L2J_Mobius_Helios/dist/game/config/Custom/PrivateStoreRange.ini
vendored
Normal file
8
L2J_Mobius_Helios/dist/game/config/Custom/PrivateStoreRange.ini
vendored
Normal 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
|
18
L2J_Mobius_Helios/dist/game/config/Custom/PvpAnnounce.ini
vendored
Normal file
18
L2J_Mobius_Helios/dist/game/config/Custom/PvpAnnounce.ini
vendored
Normal 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
|
7
L2J_Mobius_Helios/dist/game/config/Custom/SayuneForAll.ini
vendored
Normal file
7
L2J_Mobius_Helios/dist/game/config/Custom/SayuneForAll.ini
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Free Sayune for all Players
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Enable Sayune for players that are not Awakened (4rth class).
|
||||||
|
# Default: False
|
||||||
|
FreeJumpsForAll = False
|
14
L2J_Mobius_Helios/dist/game/config/Custom/ScreenWelcomeMessage.ini
vendored
Normal file
14
L2J_Mobius_Helios/dist/game/config/Custom/ScreenWelcomeMessage.ini
vendored
Normal 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
|
21
L2J_Mobius_Helios/dist/game/config/Custom/SellBuffs.ini
vendored
Normal file
21
L2J_Mobius_Helios/dist/game/config/Custom/SellBuffs.ini
vendored
Normal 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
|
6
L2J_Mobius_Helios/dist/game/config/Custom/ServerTime.ini
vendored
Normal file
6
L2J_Mobius_Helios/dist/game/config/Custom/ServerTime.ini
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Display Server Time
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# This option will enable displaying of the local server time for /time command.
|
||||||
|
DisplayServerTime = False
|
13
L2J_Mobius_Helios/dist/game/config/Custom/StartingLocation.ini
vendored
Normal file
13
L2J_Mobius_Helios/dist/game/config/Custom/StartingLocation.ini
vendored
Normal 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
|
7
L2J_Mobius_Helios/dist/game/config/Custom/WalkerBotProtection.ini
vendored
Normal file
7
L2J_Mobius_Helios/dist/game/config/Custom/WalkerBotProtection.ini
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Walker/Bot protection
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Basic protection against L2Walker.
|
||||||
|
# Default: False
|
||||||
|
L2WalkerProtection = False
|
@@ -552,10 +552,10 @@ public class MasterHandler
|
|||||||
// CastleVCmd.class,
|
// CastleVCmd.class,
|
||||||
// SetVCmd.class,
|
// SetVCmd.class,
|
||||||
Config.BANKING_SYSTEM_ENABLED ? Banking.class : null,
|
Config.BANKING_SYSTEM_ENABLED ? Banking.class : null,
|
||||||
Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null,
|
Config.CHAT_ADMIN ? ChatAdmin.class : null,
|
||||||
Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null,
|
Config.MULTILANG_ENABLE && Config.MULTILANG_VOICED_ALLOW ? Lang.class : null,
|
||||||
Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null,
|
Config.DEBUG_VOICE_COMMAND ? Debug.class : null,
|
||||||
Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null,
|
Config.ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null,
|
||||||
Config.PREMIUM_SYSTEM_ENABLED ? Premium.class : null,
|
Config.PREMIUM_SYSTEM_ENABLED ? Premium.class : null,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@@ -134,9 +134,9 @@ public class AdminKill implements IAdminCommandHandler
|
|||||||
}
|
}
|
||||||
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
|
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
|
||||||
}
|
}
|
||||||
else if (Config.L2JMOD_CHAMPION_ENABLE && target.isChampion())
|
else if (Config.CHAMPION_ENABLE && target.isChampion())
|
||||||
{
|
{
|
||||||
target.reduceCurrentHp((target.getMaxHp() * Config.L2JMOD_CHAMPION_HP) + 1, activeChar, null);
|
target.reduceCurrentHp((target.getMaxHp() * Config.CHAMPION_HP) + 1, activeChar, null);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -249,9 +249,9 @@ public class AdminMenu implements IAdminCommandHandler
|
|||||||
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
|
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
|
||||||
filename = "charmanage.htm";
|
filename = "charmanage.htm";
|
||||||
}
|
}
|
||||||
else if (Config.L2JMOD_CHAMPION_ENABLE && target.isChampion())
|
else if (Config.CHAMPION_ENABLE && target.isChampion())
|
||||||
{
|
{
|
||||||
target.reduceCurrentHp((target.getMaxHp() * Config.L2JMOD_CHAMPION_HP) + 1, activeChar, null);
|
target.reduceCurrentHp((target.getMaxHp() * Config.CHAMPION_HP) + 1, activeChar, null);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -72,7 +72,7 @@ public class Time implements IUserCommandHandler
|
|||||||
sm.addString(m);
|
sm.addString(m);
|
||||||
}
|
}
|
||||||
activeChar.sendPacket(sm);
|
activeChar.sendPacket(sm);
|
||||||
if (Config.L2JMOD_DISPLAY_SERVER_TIME)
|
if (Config.DISPLAY_SERVER_TIME)
|
||||||
{
|
{
|
||||||
activeChar.sendMessage("Server time is " + fmt.format(new Date(System.currentTimeMillis())));
|
activeChar.sendMessage("Server time is " + fmt.format(new Date(System.currentTimeMillis())));
|
||||||
}
|
}
|
||||||
|
@@ -33,7 +33,7 @@ public class Lang implements IVoicedCommandHandler
|
|||||||
@Override
|
@Override
|
||||||
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
|
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
|
||||||
{
|
{
|
||||||
if (!Config.L2JMOD_MULTILANG_ENABLE || !Config.L2JMOD_MULTILANG_VOICED_ALLOW)
|
if (!Config.MULTILANG_ENABLE || !Config.MULTILANG_VOICED_ALLOW)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -42,7 +42,7 @@ public class Lang implements IVoicedCommandHandler
|
|||||||
if (params == null)
|
if (params == null)
|
||||||
{
|
{
|
||||||
final StringBuilder html = new StringBuilder(100);
|
final StringBuilder html = new StringBuilder(100);
|
||||||
for (String lang : Config.L2JMOD_MULTILANG_ALLOWED)
|
for (String lang : Config.MULTILANG_ALLOWED)
|
||||||
{
|
{
|
||||||
html.append("<button value=\"" + lang.toUpperCase() + "\" action=\"bypass -h voice .lang " + lang + "\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>");
|
html.append("<button value=\"" + lang.toUpperCase() + "\" action=\"bypass -h voice .lang " + lang + "\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>");
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -168,7 +168,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (me.isChampion() && Config.L2JMOD_CHAMPION_PASSIVE)
|
if (me.isChampion() && Config.CHAMPION_PASSIVE)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -155,7 +155,7 @@ public final class AntiFeedManager
|
|||||||
|
|
||||||
final AtomicInteger connectionCount = event.computeIfAbsent(addrHash, k -> new AtomicInteger());
|
final AtomicInteger connectionCount = event.computeIfAbsent(addrHash, k -> new AtomicInteger());
|
||||||
|
|
||||||
if ((connectionCount.get() + 1) <= (max + Config.L2JMOD_DUALBOX_CHECK_WHITELIST.getOrDefault(addrHash, 0)))
|
if ((connectionCount.get() + 1) <= (max + Config.DUALBOX_CHECK_WHITELIST.getOrDefault(addrHash, 0)))
|
||||||
{
|
{
|
||||||
connectionCount.incrementAndGet();
|
connectionCount.incrementAndGet();
|
||||||
return true;
|
return true;
|
||||||
@@ -259,9 +259,9 @@ public final class AntiFeedManager
|
|||||||
|
|
||||||
final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
|
final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
|
||||||
int limit = max;
|
int limit = max;
|
||||||
if (Config.L2JMOD_DUALBOX_CHECK_WHITELIST.containsKey(addrHash))
|
if (Config.DUALBOX_CHECK_WHITELIST.containsKey(addrHash))
|
||||||
{
|
{
|
||||||
limit += Config.L2JMOD_DUALBOX_CHECK_WHITELIST.get(addrHash);
|
limit += Config.DUALBOX_CHECK_WHITELIST.get(addrHash);
|
||||||
}
|
}
|
||||||
return limit;
|
return limit;
|
||||||
}
|
}
|
||||||
|
@@ -474,10 +474,10 @@ public class L2Attackable extends L2Npc
|
|||||||
long exp = expSp[0];
|
long exp = expSp[0];
|
||||||
int sp = expSp[1];
|
int sp = expSp[1];
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion())
|
if (Config.CHAMPION_ENABLE && isChampion())
|
||||||
{
|
{
|
||||||
exp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
|
exp *= Config.CHAMPION_REWARDS_EXP_SP;
|
||||||
sp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
|
sp *= Config.CHAMPION_REWARDS_EXP_SP;
|
||||||
}
|
}
|
||||||
|
|
||||||
exp *= penalty;
|
exp *= penalty;
|
||||||
@@ -586,10 +586,10 @@ public class L2Attackable extends L2Npc
|
|||||||
long exp = expSp[0];
|
long exp = expSp[0];
|
||||||
int sp = expSp[1];
|
int sp = expSp[1];
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion())
|
if (Config.CHAMPION_ENABLE && isChampion())
|
||||||
{
|
{
|
||||||
exp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
|
exp *= Config.CHAMPION_REWARDS_EXP_SP;
|
||||||
sp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
|
sp *= Config.CHAMPION_REWARDS_EXP_SP;
|
||||||
}
|
}
|
||||||
|
|
||||||
exp *= partyMul;
|
exp *= partyMul;
|
||||||
@@ -1005,12 +1005,12 @@ public class L2Attackable extends L2Npc
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Apply Special Item drop with random(rnd) quantity(qty) for champions.
|
// Apply Special Item drop with random(rnd) quantity(qty) for champions.
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion() && ((Config.L2JMOD_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE > 0) || (Config.L2JMOD_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE > 0)))
|
if (Config.CHAMPION_ENABLE && isChampion() && ((Config.CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE > 0) || (Config.CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE > 0)))
|
||||||
{
|
{
|
||||||
int champqty = Rnd.get(Config.L2JMOD_CHAMPION_REWARD_QTY);
|
int champqty = Rnd.get(Config.CHAMPION_REWARD_QTY);
|
||||||
final ItemHolder item = new ItemHolder(Config.L2JMOD_CHAMPION_REWARD_ID, ++champqty);
|
final ItemHolder item = new ItemHolder(Config.CHAMPION_REWARD_ID, ++champqty);
|
||||||
|
|
||||||
if ((player.getLevel() <= getLevel()) && (Rnd.get(100) < Config.L2JMOD_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE))
|
if ((player.getLevel() <= getLevel()) && (Rnd.get(100) < Config.CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE))
|
||||||
{
|
{
|
||||||
if (Config.AUTO_LOOT || isFlying())
|
if (Config.AUTO_LOOT || isFlying())
|
||||||
{
|
{
|
||||||
@@ -1021,7 +1021,7 @@ public class L2Attackable extends L2Npc
|
|||||||
dropItem(player, item);
|
dropItem(player, item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((player.getLevel() > getLevel()) && (Rnd.get(100) < Config.L2JMOD_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE))
|
else if ((player.getLevel() > getLevel()) && (Rnd.get(100) < Config.CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE))
|
||||||
{
|
{
|
||||||
if (Config.AUTO_LOOT || isFlying())
|
if (Config.AUTO_LOOT || isFlying())
|
||||||
{
|
{
|
||||||
@@ -1401,15 +1401,15 @@ public class L2Attackable extends L2Npc
|
|||||||
// Reset champion state
|
// Reset champion state
|
||||||
_champion = false;
|
_champion = false;
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE)
|
if (Config.CHAMPION_ENABLE)
|
||||||
{
|
{
|
||||||
// Set champion on next spawn
|
// Set champion on next spawn
|
||||||
if (isMonster() && !getTemplate().isUndying() && !isRaid() && !isRaidMinion() && (Config.L2JMOD_CHAMPION_FREQUENCY > 0) && (getLevel() >= Config.L2JMOD_CHAMP_MIN_LVL) && (getLevel() <= Config.L2JMOD_CHAMP_MAX_LVL) && (Config.L2JMOD_CHAMPION_ENABLE_IN_INSTANCES || (getInstanceId() == 0)))
|
if (isMonster() && !getTemplate().isUndying() && !isRaid() && !isRaidMinion() && (Config.CHAMPION_FREQUENCY > 0) && (getLevel() >= Config.CHAMP_MIN_LVL) && (getLevel() <= Config.CHAMP_MAX_LVL) && (Config.CHAMPION_ENABLE_IN_INSTANCES || (getInstanceId() == 0)))
|
||||||
{
|
{
|
||||||
if (Rnd.get(100) < Config.L2JMOD_CHAMPION_FREQUENCY)
|
if (Rnd.get(100) < Config.CHAMPION_FREQUENCY)
|
||||||
{
|
{
|
||||||
_champion = true;
|
_champion = true;
|
||||||
if (Config.L2JMOD_SHOW_CHAMPION_AURA)
|
if (Config.SHOW_CHAMPION_AURA)
|
||||||
{
|
{
|
||||||
setTeam(Team.RED);
|
setTeam(Team.RED);
|
||||||
}
|
}
|
||||||
@@ -1613,7 +1613,7 @@ public class L2Attackable extends L2Npc
|
|||||||
*/
|
*/
|
||||||
public boolean useVitalityRate()
|
public boolean useVitalityRate()
|
||||||
{
|
{
|
||||||
return !isChampion() || Config.L2JMOD_CHAMPION_ENABLE_VITALITY;
|
return !isChampion() || Config.CHAMPION_ENABLE_VITALITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Return True if the L2Character is RaidBoss or his minion. */
|
/** Return True if the L2Character is RaidBoss or his minion. */
|
||||||
|
@@ -2495,7 +2495,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
|||||||
{
|
{
|
||||||
if (isChampion())
|
if (isChampion())
|
||||||
{
|
{
|
||||||
return Config.L2JMOD_CHAMP_TITLE;
|
return Config.CHAMP_TITLE;
|
||||||
}
|
}
|
||||||
if (Config.SHOW_NPC_LVL && isMonster())
|
if (Config.SHOW_NPC_LVL && isMonster())
|
||||||
{
|
{
|
||||||
@@ -4830,9 +4830,9 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion() && (Config.L2JMOD_CHAMPION_HP != 0))
|
if (Config.CHAMPION_ENABLE && isChampion() && (Config.CHAMPION_HP != 0))
|
||||||
{
|
{
|
||||||
getStatus().reduceHp(value / Config.L2JMOD_CHAMPION_HP, attacker, (skill == null) || !skill.isToggle(), isDOT, false);
|
getStatus().reduceHp(value / Config.CHAMPION_HP, attacker, (skill == null) || !skill.isToggle(), isDOT, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -12522,7 +12522,7 @@ public final class L2PcInstance extends L2Playable
|
|||||||
|
|
||||||
public String getHtmlPrefix()
|
public String getHtmlPrefix()
|
||||||
{
|
{
|
||||||
if (!Config.L2JMOD_MULTILANG_ENABLE)
|
if (!Config.MULTILANG_ENABLE)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -12538,16 +12538,16 @@ public final class L2PcInstance extends L2Playable
|
|||||||
public boolean setLang(String lang)
|
public boolean setLang(String lang)
|
||||||
{
|
{
|
||||||
boolean result = false;
|
boolean result = false;
|
||||||
if (Config.L2JMOD_MULTILANG_ENABLE)
|
if (Config.MULTILANG_ENABLE)
|
||||||
{
|
{
|
||||||
if (Config.L2JMOD_MULTILANG_ALLOWED.contains(lang))
|
if (Config.MULTILANG_ALLOWED.contains(lang))
|
||||||
{
|
{
|
||||||
_lang = lang;
|
_lang = lang;
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_lang = Config.L2JMOD_MULTILANG_DEFAULT;
|
_lang = Config.MULTILANG_DEFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
_htmlPrefix = "data/lang/" + _lang + "/";
|
_htmlPrefix = "data/lang/" + _lang + "/";
|
||||||
|
@@ -119,7 +119,7 @@ public class GeneralDropItem implements IDropItem
|
|||||||
// global champions amount multiplier
|
// global champions amount multiplier
|
||||||
if (victim.isChampion())
|
if (victim.isChampion())
|
||||||
{
|
{
|
||||||
multiplier *= getItemId() != Inventory.ADENA_ID ? Config.L2JMOD_CHAMPION_REWARDS_AMOUNT : Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT;
|
multiplier *= getItemId() != Inventory.ADENA_ID ? Config.CHAMPION_REWARDS_AMOUNT : Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (long) (val * multiplier);
|
return (long) (val * multiplier);
|
||||||
@@ -241,7 +241,7 @@ public class GeneralDropItem implements IDropItem
|
|||||||
|
|
||||||
if (victim.isChampion())
|
if (victim.isChampion())
|
||||||
{
|
{
|
||||||
multiplier *= getItemId() != Inventory.ADENA_ID ? Config.L2JMOD_CHAMPION_REWARDS_CHANCE : Config.L2JMOD_CHAMPION_ADENAS_REWARDS_CHANCE;
|
multiplier *= getItemId() != Inventory.ADENA_ID ? Config.CHAMPION_REWARDS_CHANCE : Config.CHAMPION_ADENAS_REWARDS_CHANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (getChance() * multiplier);
|
return (getChance() * multiplier);
|
||||||
@@ -277,7 +277,7 @@ public class GeneralDropItem implements IDropItem
|
|||||||
{
|
{
|
||||||
final Collection<ItemHolder> items = new ArrayList<>(1);
|
final Collection<ItemHolder> items = new ArrayList<>(1);
|
||||||
final long baseDropCount = Rnd.get(getMin(victim, killer), getMax(victim, killer));
|
final long baseDropCount = Rnd.get(getMin(victim, killer), getMax(victim, killer));
|
||||||
final long finaldropCount = (long) (Config.L2JMOD_OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + (chance > 100 ? (chance % 100) > (Rnd.nextDouble() * 100) ? baseDropCount : 0 : 0) : baseDropCount);
|
final long finaldropCount = (long) (Config.OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + (chance > 100 ? (chance % 100) > (Rnd.nextDouble() * 100) ? baseDropCount : 0 : 0) : baseDropCount);
|
||||||
items.add(new ItemHolder(getItemId(), finaldropCount));
|
items.add(new ItemHolder(getItemId(), finaldropCount));
|
||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
@@ -135,7 +135,7 @@ public class GroupedGeneralDropItem implements IDropItem
|
|||||||
{
|
{
|
||||||
final Collection<ItemHolder> items = new ArrayList<>(1);
|
final Collection<ItemHolder> items = new ArrayList<>(1);
|
||||||
final long baseDropCount = Rnd.get(item.getMin(victim, killer), item.getMax(victim, killer));
|
final long baseDropCount = Rnd.get(item.getMin(victim, killer), item.getMax(victim, killer));
|
||||||
final long finaldropCount = (long) (Config.L2JMOD_OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + ((chance > 100) && ((chance % 100) > (Rnd.nextDouble() * 100)) ? baseDropCount : 0) : baseDropCount);
|
final long finaldropCount = (long) (Config.OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + ((chance > 100) && ((chance % 100) > (Rnd.nextDouble() * 100)) ? baseDropCount : 0) : baseDropCount);
|
||||||
items.add(new ItemHolder(item.getItemId(), finaldropCount));
|
items.add(new ItemHolder(item.getItemId(), finaldropCount));
|
||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
@@ -253,7 +253,7 @@ public class L2Event
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP == 0) || AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.L2EVENT_ID, player, Config.L2JMOD_DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP))
|
if ((Config.DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP == 0) || AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.L2EVENT_ID, player, Config.DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP))
|
||||||
{
|
{
|
||||||
_registeredPlayers.add(player);
|
_registeredPlayers.add(player);
|
||||||
}
|
}
|
||||||
|
@@ -2620,19 +2620,19 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
|
|||||||
minAmount *= Config.RATE_QUEST_DROP;
|
minAmount *= Config.RATE_QUEST_DROP;
|
||||||
maxAmount *= Config.RATE_QUEST_DROP;
|
maxAmount *= Config.RATE_QUEST_DROP;
|
||||||
dropChance *= Config.RATE_QUEST_DROP; // TODO separate configs for rate and amount
|
dropChance *= Config.RATE_QUEST_DROP; // TODO separate configs for rate and amount
|
||||||
if ((npc != null) && Config.L2JMOD_CHAMPION_ENABLE && npc.isChampion())
|
if ((npc != null) && Config.CHAMPION_ENABLE && npc.isChampion())
|
||||||
{
|
{
|
||||||
if ((itemId == Inventory.ADENA_ID) || (itemId == Inventory.ANCIENT_ADENA_ID))
|
if ((itemId == Inventory.ADENA_ID) || (itemId == Inventory.ANCIENT_ADENA_ID))
|
||||||
{
|
{
|
||||||
dropChance *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_CHANCE;
|
dropChance *= Config.CHAMPION_ADENAS_REWARDS_CHANCE;
|
||||||
minAmount *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT;
|
minAmount *= Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
|
||||||
maxAmount *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT;
|
maxAmount *= Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dropChance *= Config.L2JMOD_CHAMPION_REWARDS_CHANCE;
|
dropChance *= Config.CHAMPION_REWARDS_CHANCE;
|
||||||
minAmount *= Config.L2JMOD_CHAMPION_REWARDS_AMOUNT;
|
minAmount *= Config.CHAMPION_REWARDS_AMOUNT;
|
||||||
maxAmount *= Config.L2JMOD_CHAMPION_REWARDS_AMOUNT;
|
maxAmount *= Config.CHAMPION_REWARDS_AMOUNT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -385,7 +385,7 @@ public abstract class AbstractOlympiadGame
|
|||||||
player.setCurrentMp(player.getMaxMp());
|
player.setCurrentMp(player.getMaxMp());
|
||||||
player.getStatus().startHpMpRegeneration();
|
player.getStatus().startHpMpRegeneration();
|
||||||
|
|
||||||
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||||
{
|
{
|
||||||
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, player);
|
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, player);
|
||||||
}
|
}
|
||||||
|
@@ -203,11 +203,11 @@ public class OlympiadManager
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))
|
if ((Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))
|
||||||
{
|
{
|
||||||
final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId());
|
final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId());
|
||||||
message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm");
|
message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm");
|
||||||
message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)));
|
message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)));
|
||||||
player.sendPacket(message);
|
player.sendPacket(message);
|
||||||
if (player.isGM() && player.isDebug())
|
if (player.isGM() && player.isDebug())
|
||||||
{
|
{
|
||||||
@@ -234,11 +234,11 @@ public class OlympiadManager
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))
|
if ((Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))
|
||||||
{
|
{
|
||||||
final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId());
|
final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId());
|
||||||
message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm");
|
message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm");
|
||||||
message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)));
|
message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)));
|
||||||
player.sendPacket(message);
|
player.sendPacket(message);
|
||||||
if (player.isGM() && player.isDebug())
|
if (player.isGM() && player.isDebug())
|
||||||
{
|
{
|
||||||
@@ -291,7 +291,7 @@ public class OlympiadManager
|
|||||||
final Integer objId = Integer.valueOf(noble.getObjectId());
|
final Integer objId = Integer.valueOf(noble.getObjectId());
|
||||||
if (_nonClassBasedRegisters.remove(objId))
|
if (_nonClassBasedRegisters.remove(objId))
|
||||||
{
|
{
|
||||||
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||||
{
|
{
|
||||||
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble);
|
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble);
|
||||||
}
|
}
|
||||||
@@ -303,7 +303,7 @@ public class OlympiadManager
|
|||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
||||||
if ((classed != null) && classed.remove(objId))
|
if ((classed != null) && classed.remove(objId))
|
||||||
{
|
{
|
||||||
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||||
{
|
{
|
||||||
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble);
|
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble);
|
||||||
}
|
}
|
||||||
|
@@ -43,9 +43,9 @@ public class MAttackFinalizer implements IStatsFunction
|
|||||||
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR);
|
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion())
|
if (Config.CHAMPION_ENABLE && creature.isChampion())
|
||||||
{
|
{
|
||||||
baseValue *= Config.L2JMOD_CHAMPION_ATK;
|
baseValue *= Config.CHAMPION_ATK;
|
||||||
}
|
}
|
||||||
if (creature.isRaid())
|
if (creature.isRaid())
|
||||||
{
|
{
|
||||||
|
@@ -35,9 +35,9 @@ public class MAttackSpeedFinalizer implements IStatsFunction
|
|||||||
throwIfPresent(base);
|
throwIfPresent(base);
|
||||||
|
|
||||||
double baseValue = calcWeaponBaseValue(creature, stat);
|
double baseValue = calcWeaponBaseValue(creature, stat);
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion())
|
if (Config.CHAMPION_ENABLE && creature.isChampion())
|
||||||
{
|
{
|
||||||
baseValue *= Config.L2JMOD_CHAMPION_SPD_ATK;
|
baseValue *= Config.CHAMPION_SPD_ATK;
|
||||||
}
|
}
|
||||||
|
|
||||||
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
||||||
|
@@ -44,9 +44,9 @@ public class PAttackFinalizer implements IStatsFunction
|
|||||||
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR);
|
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion())
|
if (Config.CHAMPION_ENABLE && creature.isChampion())
|
||||||
{
|
{
|
||||||
baseValue *= Config.L2JMOD_CHAMPION_ATK;
|
baseValue *= Config.CHAMPION_ATK;
|
||||||
}
|
}
|
||||||
if (creature.isRaid())
|
if (creature.isRaid())
|
||||||
{
|
{
|
||||||
|
@@ -34,9 +34,9 @@ public class PAttackSpeedFinalizer implements IStatsFunction
|
|||||||
{
|
{
|
||||||
throwIfPresent(base);
|
throwIfPresent(base);
|
||||||
double baseValue = calcWeaponBaseValue(creature, stat);
|
double baseValue = calcWeaponBaseValue(creature, stat);
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion())
|
if (Config.CHAMPION_ENABLE && creature.isChampion())
|
||||||
{
|
{
|
||||||
baseValue *= Config.L2JMOD_CHAMPION_SPD_ATK;
|
baseValue *= Config.CHAMPION_SPD_ATK;
|
||||||
}
|
}
|
||||||
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
||||||
final double dexBonus = creature.getDEX() > 0 ? BaseStats.DEX.calcBonus(creature) : 1.;
|
final double dexBonus = creature.getDEX() > 0 ? BaseStats.DEX.calcBonus(creature) : 1.;
|
||||||
|
@@ -55,9 +55,9 @@ public class RegenHPFinalizer implements IStatsFunction
|
|||||||
double baseValue = creature.isPlayer() ? creature.getActingPlayer().getTemplate().getBaseHpRegen(creature.getLevel()) : creature.getTemplate().getBaseHpReg();
|
double baseValue = creature.isPlayer() ? creature.getActingPlayer().getTemplate().getBaseHpRegen(creature.getLevel()) : creature.getTemplate().getBaseHpReg();
|
||||||
baseValue *= creature.isRaid() ? Config.RAID_HP_REGEN_MULTIPLIER : Config.HP_REGEN_MULTIPLIER;
|
baseValue *= creature.isRaid() ? Config.RAID_HP_REGEN_MULTIPLIER : Config.HP_REGEN_MULTIPLIER;
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion())
|
if (Config.CHAMPION_ENABLE && creature.isChampion())
|
||||||
{
|
{
|
||||||
baseValue *= Config.L2JMOD_CHAMPION_HP_REGEN;
|
baseValue *= Config.CHAMPION_HP_REGEN;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (creature.isPlayer())
|
if (creature.isPlayer())
|
||||||
|
@@ -114,11 +114,11 @@ public class CharacterSelect implements IClientIncomingPacket
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddClient(AntiFeedManager.GAME_ID, client, Config.L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP))
|
if ((Config.DUALBOX_CHECK_MAX_PLAYERS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddClient(AntiFeedManager.GAME_ID, client, Config.DUALBOX_CHECK_MAX_PLAYERS_PER_IP))
|
||||||
{
|
{
|
||||||
final NpcHtmlMessage msg = new NpcHtmlMessage();
|
final NpcHtmlMessage msg = new NpcHtmlMessage();
|
||||||
msg.setFile(info.getHtmlPrefix(), "data/html/mods/IPRestriction.htm");
|
msg.setFile(info.getHtmlPrefix(), "data/html/mods/IPRestriction.htm");
|
||||||
msg.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(client, Config.L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP)));
|
msg.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(client, Config.DUALBOX_CHECK_MAX_PLAYERS_PER_IP)));
|
||||||
client.sendPacket(msg);
|
client.sendPacket(msg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -329,12 +329,12 @@ public class CharSelectionInfo implements IClientOutgoingPacket
|
|||||||
charInfopackage.setEvil();
|
charInfopackage.setEvil();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.L2JMOD_MULTILANG_ENABLE)
|
if (Config.MULTILANG_ENABLE)
|
||||||
{
|
{
|
||||||
String lang = chardata.getString("language");
|
String lang = chardata.getString("language");
|
||||||
if (!Config.L2JMOD_MULTILANG_ALLOWED.contains(lang))
|
if (!Config.MULTILANG_ALLOWED.contains(lang))
|
||||||
{
|
{
|
||||||
lang = Config.L2JMOD_MULTILANG_DEFAULT;
|
lang = Config.MULTILANG_DEFAULT;
|
||||||
}
|
}
|
||||||
charInfopackage.setHtmlPrefix("data/lang/" + lang + "/");
|
charInfopackage.setHtmlPrefix("data/lang/" + lang + "/");
|
||||||
}
|
}
|
||||||
|
598
L2J_Mobius_Underground/dist/game/config/Custom.ini
vendored
598
L2J_Mobius_Underground/dist/game/config/Custom.ini
vendored
@@ -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
|
|
13
L2J_Mobius_Underground/dist/game/config/Custom/AllowedPlayerRaces.ini
vendored
Normal file
13
L2J_Mobius_Underground/dist/game/config/Custom/AllowedPlayerRaces.ini
vendored
Normal 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
|
12
L2J_Mobius_Underground/dist/game/config/Custom/Banking.ini
vendored
Normal file
12
L2J_Mobius_Underground/dist/game/config/Custom/Banking.ini
vendored
Normal 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
|
77
L2J_Mobius_Underground/dist/game/config/Custom/ChampionMonsters.ini
vendored
Normal file
77
L2J_Mobius_Underground/dist/game/config/Custom/ChampionMonsters.ini
vendored
Normal 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
|
9
L2J_Mobius_Underground/dist/game/config/Custom/ChatModeration.ini
vendored
Normal file
9
L2J_Mobius_Underground/dist/game/config/Custom/ChatModeration.ini
vendored
Normal 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
|
63
L2J_Mobius_Underground/dist/game/config/Custom/CommunityBoard.ini
vendored
Normal file
63
L2J_Mobius_Underground/dist/game/config/Custom/CommunityBoard.ini
vendored
Normal 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
|
10
L2J_Mobius_Underground/dist/game/config/Custom/DebugVoiceCommand.ini
vendored
Normal file
10
L2J_Mobius_Underground/dist/game/config/Custom/DebugVoiceCommand.ini
vendored
Normal 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
|
25
L2J_Mobius_Underground/dist/game/config/Custom/DualboxCheck.ini
vendored
Normal file
25
L2J_Mobius_Underground/dist/game/config/Custom/DualboxCheck.ini
vendored
Normal 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
|
76
L2J_Mobius_Underground/dist/game/config/Custom/FactionSystem.ini
vendored
Normal file
76
L2J_Mobius_Underground/dist/game/config/Custom/FactionSystem.ini
vendored
Normal 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
|
35
L2J_Mobius_Underground/dist/game/config/Custom/MultilingualSupport.ini
vendored
Normal file
35
L2J_Mobius_Underground/dist/game/config/Custom/MultilingualSupport.ini
vendored
Normal 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 =
|
46
L2J_Mobius_Underground/dist/game/config/Custom/OfflineTrade.ini
vendored
Normal file
46
L2J_Mobius_Underground/dist/game/config/Custom/OfflineTrade.ini
vendored
Normal 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
|
10
L2J_Mobius_Underground/dist/game/config/Custom/OldDropBehavior.ini
vendored
Normal file
10
L2J_Mobius_Underground/dist/game/config/Custom/OldDropBehavior.ini
vendored
Normal 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
|
7
L2J_Mobius_Underground/dist/game/config/Custom/PasswordChange.ini
vendored
Normal file
7
L2J_Mobius_Underground/dist/game/config/Custom/PasswordChange.ini
vendored
Normal 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
|
42
L2J_Mobius_Underground/dist/game/config/Custom/PcCafe.ini
vendored
Normal file
42
L2J_Mobius_Underground/dist/game/config/Custom/PcCafe.ini
vendored
Normal 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
|
33
L2J_Mobius_Underground/dist/game/config/Custom/PremiumSystem.ini
vendored
Normal file
33
L2J_Mobius_Underground/dist/game/config/Custom/PremiumSystem.ini
vendored
Normal 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
|
8
L2J_Mobius_Underground/dist/game/config/Custom/PrivateStoreRange.ini
vendored
Normal file
8
L2J_Mobius_Underground/dist/game/config/Custom/PrivateStoreRange.ini
vendored
Normal 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
|
18
L2J_Mobius_Underground/dist/game/config/Custom/PvpAnnounce.ini
vendored
Normal file
18
L2J_Mobius_Underground/dist/game/config/Custom/PvpAnnounce.ini
vendored
Normal 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
|
7
L2J_Mobius_Underground/dist/game/config/Custom/SayuneForAll.ini
vendored
Normal file
7
L2J_Mobius_Underground/dist/game/config/Custom/SayuneForAll.ini
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Free Sayune for all Players
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Enable Sayune for players that are not Awakened (4rth class).
|
||||||
|
# Default: False
|
||||||
|
FreeJumpsForAll = False
|
14
L2J_Mobius_Underground/dist/game/config/Custom/ScreenWelcomeMessage.ini
vendored
Normal file
14
L2J_Mobius_Underground/dist/game/config/Custom/ScreenWelcomeMessage.ini
vendored
Normal 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
|
21
L2J_Mobius_Underground/dist/game/config/Custom/SellBuffs.ini
vendored
Normal file
21
L2J_Mobius_Underground/dist/game/config/Custom/SellBuffs.ini
vendored
Normal 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
|
6
L2J_Mobius_Underground/dist/game/config/Custom/ServerTime.ini
vendored
Normal file
6
L2J_Mobius_Underground/dist/game/config/Custom/ServerTime.ini
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Display Server Time
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# This option will enable displaying of the local server time for /time command.
|
||||||
|
DisplayServerTime = False
|
13
L2J_Mobius_Underground/dist/game/config/Custom/StartingLocation.ini
vendored
Normal file
13
L2J_Mobius_Underground/dist/game/config/Custom/StartingLocation.ini
vendored
Normal 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
|
7
L2J_Mobius_Underground/dist/game/config/Custom/WalkerBotProtection.ini
vendored
Normal file
7
L2J_Mobius_Underground/dist/game/config/Custom/WalkerBotProtection.ini
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Walker/Bot protection
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Basic protection against L2Walker.
|
||||||
|
# Default: False
|
||||||
|
L2WalkerProtection = False
|
@@ -552,10 +552,10 @@ public class MasterHandler
|
|||||||
// CastleVCmd.class,
|
// CastleVCmd.class,
|
||||||
// SetVCmd.class,
|
// SetVCmd.class,
|
||||||
Config.BANKING_SYSTEM_ENABLED ? Banking.class : null,
|
Config.BANKING_SYSTEM_ENABLED ? Banking.class : null,
|
||||||
Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null,
|
Config.CHAT_ADMIN ? ChatAdmin.class : null,
|
||||||
Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null,
|
Config.MULTILANG_ENABLE && Config.MULTILANG_VOICED_ALLOW ? Lang.class : null,
|
||||||
Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null,
|
Config.DEBUG_VOICE_COMMAND ? Debug.class : null,
|
||||||
Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null,
|
Config.ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null,
|
||||||
Config.PREMIUM_SYSTEM_ENABLED ? Premium.class : null,
|
Config.PREMIUM_SYSTEM_ENABLED ? Premium.class : null,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@@ -134,9 +134,9 @@ public class AdminKill implements IAdminCommandHandler
|
|||||||
}
|
}
|
||||||
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
|
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
|
||||||
}
|
}
|
||||||
else if (Config.L2JMOD_CHAMPION_ENABLE && target.isChampion())
|
else if (Config.CHAMPION_ENABLE && target.isChampion())
|
||||||
{
|
{
|
||||||
target.reduceCurrentHp((target.getMaxHp() * Config.L2JMOD_CHAMPION_HP) + 1, activeChar, null);
|
target.reduceCurrentHp((target.getMaxHp() * Config.CHAMPION_HP) + 1, activeChar, null);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -249,9 +249,9 @@ public class AdminMenu implements IAdminCommandHandler
|
|||||||
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
|
target.reduceCurrentHp(target.getMaxHp() + target.getMaxCp() + 1, activeChar, null);
|
||||||
filename = "charmanage.htm";
|
filename = "charmanage.htm";
|
||||||
}
|
}
|
||||||
else if (Config.L2JMOD_CHAMPION_ENABLE && target.isChampion())
|
else if (Config.CHAMPION_ENABLE && target.isChampion())
|
||||||
{
|
{
|
||||||
target.reduceCurrentHp((target.getMaxHp() * Config.L2JMOD_CHAMPION_HP) + 1, activeChar, null);
|
target.reduceCurrentHp((target.getMaxHp() * Config.CHAMPION_HP) + 1, activeChar, null);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -72,7 +72,7 @@ public class Time implements IUserCommandHandler
|
|||||||
sm.addString(m);
|
sm.addString(m);
|
||||||
}
|
}
|
||||||
activeChar.sendPacket(sm);
|
activeChar.sendPacket(sm);
|
||||||
if (Config.L2JMOD_DISPLAY_SERVER_TIME)
|
if (Config.DISPLAY_SERVER_TIME)
|
||||||
{
|
{
|
||||||
activeChar.sendMessage("Server time is " + fmt.format(new Date(System.currentTimeMillis())));
|
activeChar.sendMessage("Server time is " + fmt.format(new Date(System.currentTimeMillis())));
|
||||||
}
|
}
|
||||||
|
@@ -33,7 +33,7 @@ public class Lang implements IVoicedCommandHandler
|
|||||||
@Override
|
@Override
|
||||||
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
|
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params)
|
||||||
{
|
{
|
||||||
if (!Config.L2JMOD_MULTILANG_ENABLE || !Config.L2JMOD_MULTILANG_VOICED_ALLOW)
|
if (!Config.MULTILANG_ENABLE || !Config.MULTILANG_VOICED_ALLOW)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -42,7 +42,7 @@ public class Lang implements IVoicedCommandHandler
|
|||||||
if (params == null)
|
if (params == null)
|
||||||
{
|
{
|
||||||
final StringBuilder html = new StringBuilder(100);
|
final StringBuilder html = new StringBuilder(100);
|
||||||
for (String lang : Config.L2JMOD_MULTILANG_ALLOWED)
|
for (String lang : Config.MULTILANG_ALLOWED)
|
||||||
{
|
{
|
||||||
html.append("<button value=\"" + lang.toUpperCase() + "\" action=\"bypass -h voice .lang " + lang + "\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>");
|
html.append("<button value=\"" + lang.toUpperCase() + "\" action=\"bypass -h voice .lang " + lang + "\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"><br>");
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -168,7 +168,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (me.isChampion() && Config.L2JMOD_CHAMPION_PASSIVE)
|
if (me.isChampion() && Config.CHAMPION_PASSIVE)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@@ -155,7 +155,7 @@ public final class AntiFeedManager
|
|||||||
|
|
||||||
final AtomicInteger connectionCount = event.computeIfAbsent(addrHash, k -> new AtomicInteger());
|
final AtomicInteger connectionCount = event.computeIfAbsent(addrHash, k -> new AtomicInteger());
|
||||||
|
|
||||||
if ((connectionCount.get() + 1) <= (max + Config.L2JMOD_DUALBOX_CHECK_WHITELIST.getOrDefault(addrHash, 0)))
|
if ((connectionCount.get() + 1) <= (max + Config.DUALBOX_CHECK_WHITELIST.getOrDefault(addrHash, 0)))
|
||||||
{
|
{
|
||||||
connectionCount.incrementAndGet();
|
connectionCount.incrementAndGet();
|
||||||
return true;
|
return true;
|
||||||
@@ -259,9 +259,9 @@ public final class AntiFeedManager
|
|||||||
|
|
||||||
final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
|
final Integer addrHash = Integer.valueOf(client.getConnectionAddress().hashCode());
|
||||||
int limit = max;
|
int limit = max;
|
||||||
if (Config.L2JMOD_DUALBOX_CHECK_WHITELIST.containsKey(addrHash))
|
if (Config.DUALBOX_CHECK_WHITELIST.containsKey(addrHash))
|
||||||
{
|
{
|
||||||
limit += Config.L2JMOD_DUALBOX_CHECK_WHITELIST.get(addrHash);
|
limit += Config.DUALBOX_CHECK_WHITELIST.get(addrHash);
|
||||||
}
|
}
|
||||||
return limit;
|
return limit;
|
||||||
}
|
}
|
||||||
|
@@ -474,10 +474,10 @@ public class L2Attackable extends L2Npc
|
|||||||
long exp = expSp[0];
|
long exp = expSp[0];
|
||||||
int sp = expSp[1];
|
int sp = expSp[1];
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion())
|
if (Config.CHAMPION_ENABLE && isChampion())
|
||||||
{
|
{
|
||||||
exp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
|
exp *= Config.CHAMPION_REWARDS_EXP_SP;
|
||||||
sp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
|
sp *= Config.CHAMPION_REWARDS_EXP_SP;
|
||||||
}
|
}
|
||||||
|
|
||||||
exp *= penalty;
|
exp *= penalty;
|
||||||
@@ -586,10 +586,10 @@ public class L2Attackable extends L2Npc
|
|||||||
long exp = expSp[0];
|
long exp = expSp[0];
|
||||||
int sp = expSp[1];
|
int sp = expSp[1];
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion())
|
if (Config.CHAMPION_ENABLE && isChampion())
|
||||||
{
|
{
|
||||||
exp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
|
exp *= Config.CHAMPION_REWARDS_EXP_SP;
|
||||||
sp *= Config.L2JMOD_CHAMPION_REWARDS_EXP_SP;
|
sp *= Config.CHAMPION_REWARDS_EXP_SP;
|
||||||
}
|
}
|
||||||
|
|
||||||
exp *= partyMul;
|
exp *= partyMul;
|
||||||
@@ -1005,12 +1005,12 @@ public class L2Attackable extends L2Npc
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Apply Special Item drop with random(rnd) quantity(qty) for champions.
|
// Apply Special Item drop with random(rnd) quantity(qty) for champions.
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion() && ((Config.L2JMOD_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE > 0) || (Config.L2JMOD_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE > 0)))
|
if (Config.CHAMPION_ENABLE && isChampion() && ((Config.CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE > 0) || (Config.CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE > 0)))
|
||||||
{
|
{
|
||||||
int champqty = Rnd.get(Config.L2JMOD_CHAMPION_REWARD_QTY);
|
int champqty = Rnd.get(Config.CHAMPION_REWARD_QTY);
|
||||||
final ItemHolder item = new ItemHolder(Config.L2JMOD_CHAMPION_REWARD_ID, ++champqty);
|
final ItemHolder item = new ItemHolder(Config.CHAMPION_REWARD_ID, ++champqty);
|
||||||
|
|
||||||
if ((player.getLevel() <= getLevel()) && (Rnd.get(100) < Config.L2JMOD_CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE))
|
if ((player.getLevel() <= getLevel()) && (Rnd.get(100) < Config.CHAMPION_REWARD_LOWER_LVL_ITEM_CHANCE))
|
||||||
{
|
{
|
||||||
if (Config.AUTO_LOOT || isFlying())
|
if (Config.AUTO_LOOT || isFlying())
|
||||||
{
|
{
|
||||||
@@ -1021,7 +1021,7 @@ public class L2Attackable extends L2Npc
|
|||||||
dropItem(player, item);
|
dropItem(player, item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((player.getLevel() > getLevel()) && (Rnd.get(100) < Config.L2JMOD_CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE))
|
else if ((player.getLevel() > getLevel()) && (Rnd.get(100) < Config.CHAMPION_REWARD_HIGHER_LVL_ITEM_CHANCE))
|
||||||
{
|
{
|
||||||
if (Config.AUTO_LOOT || isFlying())
|
if (Config.AUTO_LOOT || isFlying())
|
||||||
{
|
{
|
||||||
@@ -1401,15 +1401,15 @@ public class L2Attackable extends L2Npc
|
|||||||
// Reset champion state
|
// Reset champion state
|
||||||
_champion = false;
|
_champion = false;
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE)
|
if (Config.CHAMPION_ENABLE)
|
||||||
{
|
{
|
||||||
// Set champion on next spawn
|
// Set champion on next spawn
|
||||||
if (isMonster() && !getTemplate().isUndying() && !isRaid() && !isRaidMinion() && (Config.L2JMOD_CHAMPION_FREQUENCY > 0) && (getLevel() >= Config.L2JMOD_CHAMP_MIN_LVL) && (getLevel() <= Config.L2JMOD_CHAMP_MAX_LVL) && (Config.L2JMOD_CHAMPION_ENABLE_IN_INSTANCES || (getInstanceId() == 0)))
|
if (isMonster() && !getTemplate().isUndying() && !isRaid() && !isRaidMinion() && (Config.CHAMPION_FREQUENCY > 0) && (getLevel() >= Config.CHAMP_MIN_LVL) && (getLevel() <= Config.CHAMP_MAX_LVL) && (Config.CHAMPION_ENABLE_IN_INSTANCES || (getInstanceId() == 0)))
|
||||||
{
|
{
|
||||||
if (Rnd.get(100) < Config.L2JMOD_CHAMPION_FREQUENCY)
|
if (Rnd.get(100) < Config.CHAMPION_FREQUENCY)
|
||||||
{
|
{
|
||||||
_champion = true;
|
_champion = true;
|
||||||
if (Config.L2JMOD_SHOW_CHAMPION_AURA)
|
if (Config.SHOW_CHAMPION_AURA)
|
||||||
{
|
{
|
||||||
setTeam(Team.RED);
|
setTeam(Team.RED);
|
||||||
}
|
}
|
||||||
@@ -1613,7 +1613,7 @@ public class L2Attackable extends L2Npc
|
|||||||
*/
|
*/
|
||||||
public boolean useVitalityRate()
|
public boolean useVitalityRate()
|
||||||
{
|
{
|
||||||
return !isChampion() || Config.L2JMOD_CHAMPION_ENABLE_VITALITY;
|
return !isChampion() || Config.CHAMPION_ENABLE_VITALITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Return True if the L2Character is RaidBoss or his minion. */
|
/** Return True if the L2Character is RaidBoss or his minion. */
|
||||||
|
@@ -2495,7 +2495,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
|||||||
{
|
{
|
||||||
if (isChampion())
|
if (isChampion())
|
||||||
{
|
{
|
||||||
return Config.L2JMOD_CHAMP_TITLE;
|
return Config.CHAMP_TITLE;
|
||||||
}
|
}
|
||||||
if (Config.SHOW_NPC_LVL && isMonster())
|
if (Config.SHOW_NPC_LVL && isMonster())
|
||||||
{
|
{
|
||||||
@@ -4830,9 +4830,9 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && isChampion() && (Config.L2JMOD_CHAMPION_HP != 0))
|
if (Config.CHAMPION_ENABLE && isChampion() && (Config.CHAMPION_HP != 0))
|
||||||
{
|
{
|
||||||
getStatus().reduceHp(value / Config.L2JMOD_CHAMPION_HP, attacker, (skill == null) || !skill.isToggle(), isDOT, false);
|
getStatus().reduceHp(value / Config.CHAMPION_HP, attacker, (skill == null) || !skill.isToggle(), isDOT, false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -12521,7 +12521,7 @@ public final class L2PcInstance extends L2Playable
|
|||||||
|
|
||||||
public String getHtmlPrefix()
|
public String getHtmlPrefix()
|
||||||
{
|
{
|
||||||
if (!Config.L2JMOD_MULTILANG_ENABLE)
|
if (!Config.MULTILANG_ENABLE)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -12537,16 +12537,16 @@ public final class L2PcInstance extends L2Playable
|
|||||||
public boolean setLang(String lang)
|
public boolean setLang(String lang)
|
||||||
{
|
{
|
||||||
boolean result = false;
|
boolean result = false;
|
||||||
if (Config.L2JMOD_MULTILANG_ENABLE)
|
if (Config.MULTILANG_ENABLE)
|
||||||
{
|
{
|
||||||
if (Config.L2JMOD_MULTILANG_ALLOWED.contains(lang))
|
if (Config.MULTILANG_ALLOWED.contains(lang))
|
||||||
{
|
{
|
||||||
_lang = lang;
|
_lang = lang;
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_lang = Config.L2JMOD_MULTILANG_DEFAULT;
|
_lang = Config.MULTILANG_DEFAULT;
|
||||||
}
|
}
|
||||||
|
|
||||||
_htmlPrefix = "data/lang/" + _lang + "/";
|
_htmlPrefix = "data/lang/" + _lang + "/";
|
||||||
|
@@ -119,7 +119,7 @@ public class GeneralDropItem implements IDropItem
|
|||||||
// global champions amount multiplier
|
// global champions amount multiplier
|
||||||
if (victim.isChampion())
|
if (victim.isChampion())
|
||||||
{
|
{
|
||||||
multiplier *= getItemId() != Inventory.ADENA_ID ? Config.L2JMOD_CHAMPION_REWARDS_AMOUNT : Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT;
|
multiplier *= getItemId() != Inventory.ADENA_ID ? Config.CHAMPION_REWARDS_AMOUNT : Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (long) (val * multiplier);
|
return (long) (val * multiplier);
|
||||||
@@ -241,7 +241,7 @@ public class GeneralDropItem implements IDropItem
|
|||||||
|
|
||||||
if (victim.isChampion())
|
if (victim.isChampion())
|
||||||
{
|
{
|
||||||
multiplier *= getItemId() != Inventory.ADENA_ID ? Config.L2JMOD_CHAMPION_REWARDS_CHANCE : Config.L2JMOD_CHAMPION_ADENAS_REWARDS_CHANCE;
|
multiplier *= getItemId() != Inventory.ADENA_ID ? Config.CHAMPION_REWARDS_CHANCE : Config.CHAMPION_ADENAS_REWARDS_CHANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (getChance() * multiplier);
|
return (getChance() * multiplier);
|
||||||
@@ -277,7 +277,7 @@ public class GeneralDropItem implements IDropItem
|
|||||||
{
|
{
|
||||||
final Collection<ItemHolder> items = new ArrayList<>(1);
|
final Collection<ItemHolder> items = new ArrayList<>(1);
|
||||||
final long baseDropCount = Rnd.get(getMin(victim, killer), getMax(victim, killer));
|
final long baseDropCount = Rnd.get(getMin(victim, killer), getMax(victim, killer));
|
||||||
final long finaldropCount = (long) (Config.L2JMOD_OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + (chance > 100 ? (chance % 100) > (Rnd.nextDouble() * 100) ? baseDropCount : 0 : 0) : baseDropCount);
|
final long finaldropCount = (long) (Config.OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + (chance > 100 ? (chance % 100) > (Rnd.nextDouble() * 100) ? baseDropCount : 0 : 0) : baseDropCount);
|
||||||
items.add(new ItemHolder(getItemId(), finaldropCount));
|
items.add(new ItemHolder(getItemId(), finaldropCount));
|
||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
@@ -135,7 +135,7 @@ public class GroupedGeneralDropItem implements IDropItem
|
|||||||
{
|
{
|
||||||
final Collection<ItemHolder> items = new ArrayList<>(1);
|
final Collection<ItemHolder> items = new ArrayList<>(1);
|
||||||
final long baseDropCount = Rnd.get(item.getMin(victim, killer), item.getMax(victim, killer));
|
final long baseDropCount = Rnd.get(item.getMin(victim, killer), item.getMax(victim, killer));
|
||||||
final long finaldropCount = (long) (Config.L2JMOD_OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + ((chance > 100) && ((chance % 100) > (Rnd.nextDouble() * 100)) ? baseDropCount : 0) : baseDropCount);
|
final long finaldropCount = (long) (Config.OLD_DROP_BEHAVIOR ? (baseDropCount * Math.max(1, chance / 100)) + ((chance > 100) && ((chance % 100) > (Rnd.nextDouble() * 100)) ? baseDropCount : 0) : baseDropCount);
|
||||||
items.add(new ItemHolder(item.getItemId(), finaldropCount));
|
items.add(new ItemHolder(item.getItemId(), finaldropCount));
|
||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
@@ -253,7 +253,7 @@ public class L2Event
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP == 0) || AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.L2EVENT_ID, player, Config.L2JMOD_DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP))
|
if ((Config.DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP == 0) || AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.L2EVENT_ID, player, Config.DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP))
|
||||||
{
|
{
|
||||||
_registeredPlayers.add(player);
|
_registeredPlayers.add(player);
|
||||||
}
|
}
|
||||||
|
@@ -2620,19 +2620,19 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
|
|||||||
minAmount *= Config.RATE_QUEST_DROP;
|
minAmount *= Config.RATE_QUEST_DROP;
|
||||||
maxAmount *= Config.RATE_QUEST_DROP;
|
maxAmount *= Config.RATE_QUEST_DROP;
|
||||||
dropChance *= Config.RATE_QUEST_DROP; // TODO separate configs for rate and amount
|
dropChance *= Config.RATE_QUEST_DROP; // TODO separate configs for rate and amount
|
||||||
if ((npc != null) && Config.L2JMOD_CHAMPION_ENABLE && npc.isChampion())
|
if ((npc != null) && Config.CHAMPION_ENABLE && npc.isChampion())
|
||||||
{
|
{
|
||||||
if ((itemId == Inventory.ADENA_ID) || (itemId == Inventory.ANCIENT_ADENA_ID))
|
if ((itemId == Inventory.ADENA_ID) || (itemId == Inventory.ANCIENT_ADENA_ID))
|
||||||
{
|
{
|
||||||
dropChance *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_CHANCE;
|
dropChance *= Config.CHAMPION_ADENAS_REWARDS_CHANCE;
|
||||||
minAmount *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT;
|
minAmount *= Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
|
||||||
maxAmount *= Config.L2JMOD_CHAMPION_ADENAS_REWARDS_AMOUNT;
|
maxAmount *= Config.CHAMPION_ADENAS_REWARDS_AMOUNT;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dropChance *= Config.L2JMOD_CHAMPION_REWARDS_CHANCE;
|
dropChance *= Config.CHAMPION_REWARDS_CHANCE;
|
||||||
minAmount *= Config.L2JMOD_CHAMPION_REWARDS_AMOUNT;
|
minAmount *= Config.CHAMPION_REWARDS_AMOUNT;
|
||||||
maxAmount *= Config.L2JMOD_CHAMPION_REWARDS_AMOUNT;
|
maxAmount *= Config.CHAMPION_REWARDS_AMOUNT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -385,7 +385,7 @@ public abstract class AbstractOlympiadGame
|
|||||||
player.setCurrentMp(player.getMaxMp());
|
player.setCurrentMp(player.getMaxMp());
|
||||||
player.getStatus().startHpMpRegeneration();
|
player.getStatus().startHpMpRegeneration();
|
||||||
|
|
||||||
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||||
{
|
{
|
||||||
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, player);
|
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, player);
|
||||||
}
|
}
|
||||||
|
@@ -203,11 +203,11 @@ public class OlympiadManager
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))
|
if ((Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))
|
||||||
{
|
{
|
||||||
final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId());
|
final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId());
|
||||||
message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm");
|
message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm");
|
||||||
message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)));
|
message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)));
|
||||||
player.sendPacket(message);
|
player.sendPacket(message);
|
||||||
if (player.isGM() && player.isDebug())
|
if (player.isGM() && player.isDebug())
|
||||||
{
|
{
|
||||||
@@ -234,11 +234,11 @@ public class OlympiadManager
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))
|
if ((Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddPlayer(AntiFeedManager.OLYMPIAD_ID, player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP))
|
||||||
{
|
{
|
||||||
final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId());
|
final NpcHtmlMessage message = new NpcHtmlMessage(player.getLastHtmlActionOriginId());
|
||||||
message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm");
|
message.setFile(player.getHtmlPrefix(), "data/html/mods/OlympiadIPRestriction.htm");
|
||||||
message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)));
|
message.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(player, Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP)));
|
||||||
player.sendPacket(message);
|
player.sendPacket(message);
|
||||||
if (player.isGM() && player.isDebug())
|
if (player.isGM() && player.isDebug())
|
||||||
{
|
{
|
||||||
@@ -291,7 +291,7 @@ public class OlympiadManager
|
|||||||
final Integer objId = Integer.valueOf(noble.getObjectId());
|
final Integer objId = Integer.valueOf(noble.getObjectId());
|
||||||
if (_nonClassBasedRegisters.remove(objId))
|
if (_nonClassBasedRegisters.remove(objId))
|
||||||
{
|
{
|
||||||
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||||
{
|
{
|
||||||
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble);
|
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble);
|
||||||
}
|
}
|
||||||
@@ -303,7 +303,7 @@ public class OlympiadManager
|
|||||||
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
final Set<Integer> classed = _classBasedRegisters.get(noble.getBaseClass());
|
||||||
if ((classed != null) && classed.remove(objId))
|
if ((classed != null) && classed.remove(objId))
|
||||||
{
|
{
|
||||||
if (Config.L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
if (Config.DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP > 0)
|
||||||
{
|
{
|
||||||
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble);
|
AntiFeedManager.getInstance().removePlayer(AntiFeedManager.OLYMPIAD_ID, noble);
|
||||||
}
|
}
|
||||||
|
@@ -43,9 +43,9 @@ public class MAttackFinalizer implements IStatsFunction
|
|||||||
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR);
|
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion())
|
if (Config.CHAMPION_ENABLE && creature.isChampion())
|
||||||
{
|
{
|
||||||
baseValue *= Config.L2JMOD_CHAMPION_ATK;
|
baseValue *= Config.CHAMPION_ATK;
|
||||||
}
|
}
|
||||||
if (creature.isRaid())
|
if (creature.isRaid())
|
||||||
{
|
{
|
||||||
|
@@ -35,9 +35,9 @@ public class MAttackSpeedFinalizer implements IStatsFunction
|
|||||||
throwIfPresent(base);
|
throwIfPresent(base);
|
||||||
|
|
||||||
double baseValue = calcWeaponBaseValue(creature, stat);
|
double baseValue = calcWeaponBaseValue(creature, stat);
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion())
|
if (Config.CHAMPION_ENABLE && creature.isChampion())
|
||||||
{
|
{
|
||||||
baseValue *= Config.L2JMOD_CHAMPION_SPD_ATK;
|
baseValue *= Config.CHAMPION_SPD_ATK;
|
||||||
}
|
}
|
||||||
|
|
||||||
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
||||||
|
@@ -44,9 +44,9 @@ public class PAttackFinalizer implements IStatsFunction
|
|||||||
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR);
|
baseValue += calcEnchantBodyPart(creature, L2Item.SLOT_CHEST, L2Item.SLOT_FULL_ARMOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion())
|
if (Config.CHAMPION_ENABLE && creature.isChampion())
|
||||||
{
|
{
|
||||||
baseValue *= Config.L2JMOD_CHAMPION_ATK;
|
baseValue *= Config.CHAMPION_ATK;
|
||||||
}
|
}
|
||||||
if (creature.isRaid())
|
if (creature.isRaid())
|
||||||
{
|
{
|
||||||
|
@@ -34,9 +34,9 @@ public class PAttackSpeedFinalizer implements IStatsFunction
|
|||||||
{
|
{
|
||||||
throwIfPresent(base);
|
throwIfPresent(base);
|
||||||
double baseValue = calcWeaponBaseValue(creature, stat);
|
double baseValue = calcWeaponBaseValue(creature, stat);
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion())
|
if (Config.CHAMPION_ENABLE && creature.isChampion())
|
||||||
{
|
{
|
||||||
baseValue *= Config.L2JMOD_CHAMPION_SPD_ATK;
|
baseValue *= Config.CHAMPION_SPD_ATK;
|
||||||
}
|
}
|
||||||
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
final double chaBonus = creature.isPlayer() ? BaseStats.CHA.calcBonus(creature) : 1.;
|
||||||
final double dexBonus = creature.getDEX() > 0 ? BaseStats.DEX.calcBonus(creature) : 1.;
|
final double dexBonus = creature.getDEX() > 0 ? BaseStats.DEX.calcBonus(creature) : 1.;
|
||||||
|
@@ -55,9 +55,9 @@ public class RegenHPFinalizer implements IStatsFunction
|
|||||||
double baseValue = creature.isPlayer() ? creature.getActingPlayer().getTemplate().getBaseHpRegen(creature.getLevel()) : creature.getTemplate().getBaseHpReg();
|
double baseValue = creature.isPlayer() ? creature.getActingPlayer().getTemplate().getBaseHpRegen(creature.getLevel()) : creature.getTemplate().getBaseHpReg();
|
||||||
baseValue *= creature.isRaid() ? Config.RAID_HP_REGEN_MULTIPLIER : Config.HP_REGEN_MULTIPLIER;
|
baseValue *= creature.isRaid() ? Config.RAID_HP_REGEN_MULTIPLIER : Config.HP_REGEN_MULTIPLIER;
|
||||||
|
|
||||||
if (Config.L2JMOD_CHAMPION_ENABLE && creature.isChampion())
|
if (Config.CHAMPION_ENABLE && creature.isChampion())
|
||||||
{
|
{
|
||||||
baseValue *= Config.L2JMOD_CHAMPION_HP_REGEN;
|
baseValue *= Config.CHAMPION_HP_REGEN;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (creature.isPlayer())
|
if (creature.isPlayer())
|
||||||
|
@@ -114,11 +114,11 @@ public class CharacterSelect implements IClientIncomingPacket
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((Config.L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddClient(AntiFeedManager.GAME_ID, client, Config.L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP))
|
if ((Config.DUALBOX_CHECK_MAX_PLAYERS_PER_IP > 0) && !AntiFeedManager.getInstance().tryAddClient(AntiFeedManager.GAME_ID, client, Config.DUALBOX_CHECK_MAX_PLAYERS_PER_IP))
|
||||||
{
|
{
|
||||||
final NpcHtmlMessage msg = new NpcHtmlMessage();
|
final NpcHtmlMessage msg = new NpcHtmlMessage();
|
||||||
msg.setFile(info.getHtmlPrefix(), "data/html/mods/IPRestriction.htm");
|
msg.setFile(info.getHtmlPrefix(), "data/html/mods/IPRestriction.htm");
|
||||||
msg.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(client, Config.L2JMOD_DUALBOX_CHECK_MAX_PLAYERS_PER_IP)));
|
msg.replace("%max%", String.valueOf(AntiFeedManager.getInstance().getLimit(client, Config.DUALBOX_CHECK_MAX_PLAYERS_PER_IP)));
|
||||||
client.sendPacket(msg);
|
client.sendPacket(msg);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -328,12 +328,12 @@ public class CharSelectionInfo implements IClientOutgoingPacket
|
|||||||
charInfopackage.setEvil();
|
charInfopackage.setEvil();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Config.L2JMOD_MULTILANG_ENABLE)
|
if (Config.MULTILANG_ENABLE)
|
||||||
{
|
{
|
||||||
String lang = chardata.getString("language");
|
String lang = chardata.getString("language");
|
||||||
if (!Config.L2JMOD_MULTILANG_ALLOWED.contains(lang))
|
if (!Config.MULTILANG_ALLOWED.contains(lang))
|
||||||
{
|
{
|
||||||
lang = Config.L2JMOD_MULTILANG_DEFAULT;
|
lang = Config.MULTILANG_DEFAULT;
|
||||||
}
|
}
|
||||||
charInfopackage.setHtmlPrefix("data/lang/" + lang + "/");
|
charInfopackage.setHtmlPrefix("data/lang/" + lang + "/");
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user