Addition of OfflineAbnormalEffect configuration.

This commit is contained in:
MobiusDevelopment
2022-08-21 21:32:28 +00:00
parent 19241a0080
commit f9cad86ed8
112 changed files with 784 additions and 0 deletions

View File

@@ -64,6 +64,7 @@ import org.l2jmobius.gameserver.enums.ClassId;
import org.l2jmobius.gameserver.enums.IllegalActionPunishmentType;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.holders.ItemHolder;
import org.l2jmobius.gameserver.model.skill.AbnormalVisualEffect;
import org.l2jmobius.gameserver.util.FloodProtectorConfig;
import org.l2jmobius.gameserver.util.Util;
@@ -1109,6 +1110,7 @@ public class Config
public static int OFFLINE_MAX_DAYS;
public static boolean OFFLINE_DISCONNECT_FINISHED;
public static boolean OFFLINE_DISCONNECT_SAME_ACCOUNT;
public static List<AbnormalVisualEffect> OFFLINE_ABNORMAL_EFFECTS = new ArrayList<>();
public static boolean OFFLINE_SET_NAME_COLOR;
public static int OFFLINE_NAME_COLOR;
public static boolean OFFLINE_FAME;
@@ -3317,6 +3319,15 @@ public class Config
OFFLINE_DISCONNECT_SAME_ACCOUNT = offlineTradeConfig.getBoolean("OfflineDisconnectSameAccount", false);
STORE_OFFLINE_TRADE_IN_REALTIME = offlineTradeConfig.getBoolean("StoreOfflineTradeInRealtime", true);
ENABLE_OFFLINE_COMMAND = offlineTradeConfig.getBoolean("EnableOfflineCommand", true);
OFFLINE_ABNORMAL_EFFECTS.clear();
final String offlineAbnormalEffects = offlineTradeConfig.getString("OfflineAbnormalEffect", "").trim();
if (!offlineAbnormalEffects.isEmpty())
{
for (String ave : offlineAbnormalEffects.split(","))
{
OFFLINE_ABNORMAL_EFFECTS.add(Enum.valueOf(AbnormalVisualEffect.class, ave.trim()));
}
}
// Load PasswordChange config file (if exists)
final PropertiesParser passwordChangeConfig = new PropertiesParser(CUSTOM_PASSWORD_CHANGE_CONFIG_FILE);

View File

@@ -26,6 +26,7 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.enums.PrivateStoreType;
import org.l2jmobius.gameserver.model.ManufactureItem;
import org.l2jmobius.gameserver.model.TradeItem;
@@ -293,6 +294,10 @@ public class OfflineTraderTable
player.setPrivateStoreType(type);
player.setOnlineStatus(true, true);
player.restoreEffects();
if (!Config.OFFLINE_ABNORMAL_EFFECTS.isEmpty())
{
player.getEffectList().startAbnormalVisualEffect(Config.OFFLINE_ABNORMAL_EFFECTS.get(Rnd.get(Config.OFFLINE_ABNORMAL_EFFECTS.size())));
}
player.broadcastUserInfo();
nTraders++;
}

View File

@@ -19,6 +19,7 @@ package org.l2jmobius.gameserver.util;
import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.sql.OfflineTraderTable;
import org.l2jmobius.gameserver.instancemanager.AntiFeedManager;
import org.l2jmobius.gameserver.model.World;
@@ -155,6 +156,12 @@ public class OfflineTradeUtil
player.storeMe();
LOGGER_ACCOUNTING.info("Entering offline mode, " + client);
if (!Config.OFFLINE_ABNORMAL_EFFECTS.isEmpty())
{
player.getEffectList().startAbnormalVisualEffect(Config.OFFLINE_ABNORMAL_EFFECTS.get(Rnd.get(Config.OFFLINE_ABNORMAL_EFFECTS.size())));
}
return true;
}
}