Addition of boss announcements configuration.
This commit is contained in:
21
L2J_Mobius_CT_2.6_HighFive/dist/game/config/Custom/BossAnnouncements.ini
vendored
Normal file
21
L2J_Mobius_CT_2.6_HighFive/dist/game/config/Custom/BossAnnouncements.ini
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
# ---------------------------------------------------------------------------
|
||||
# Boss Announcement Settings
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# Enable RaidBoss spawn announcements.
|
||||
RaidBossSpawnAnnouncements = false
|
||||
|
||||
# Enable RaidBoss spawn announcements.
|
||||
RaidBossDefeatAnnouncements = false
|
||||
|
||||
# Enable RaidBoss announcements in instances.
|
||||
RaidBossInstanceAnnouncements = false
|
||||
|
||||
# Enable GrandBoss spawn announcements.
|
||||
GrandBossSpawnAnnouncements = false
|
||||
|
||||
# Enable GrandBoss spawn announcements.
|
||||
GrandBossDefeatAnnouncements = false
|
||||
|
||||
# Enable GrandBoss announcements in instances.
|
||||
RaidBossInstanceAnnouncements = false
|
||||
@@ -113,6 +113,7 @@ public class Config
|
||||
private static final String CUSTOM_ALLOWED_PLAYER_RACES_CONFIG_FILE = "./config/Custom/AllowedPlayerRaces.ini";
|
||||
private static final String CUSTOM_AUTO_POTIONS_CONFIG_FILE = "./config/Custom/AutoPotions.ini";
|
||||
private static final String CUSTOM_BANKING_CONFIG_FILE = "./config/Custom/Banking.ini";
|
||||
private static final String CUSTOM_BOSS_ANNOUNCEMENTS_CONFIG_FILE = "./config/Custom/BossAnnouncements.ini";
|
||||
private static final String CUSTOM_CHAMPION_MONSTERS_CONFIG_FILE = "./config/Custom/ChampionMonsters.ini";
|
||||
private static final String CUSTOM_CHAT_MODERATION_CONFIG_FILE = "./config/Custom/ChatModeration.ini";
|
||||
private static final String CUSTOM_COMMUNITY_BOARD_CONFIG_FILE = "./config/Custom/CommunityBoard.ini";
|
||||
@@ -1119,6 +1120,12 @@ public class Config
|
||||
public static boolean BANKING_SYSTEM_ENABLED;
|
||||
public static int BANKING_SYSTEM_GOLDBARS;
|
||||
public static int BANKING_SYSTEM_ADENA;
|
||||
public static boolean RAIDBOSS_SPAWN_ANNOUNCEMENTS;
|
||||
public static boolean RAIDBOSS_DEFEAT_ANNOUNCEMENTS;
|
||||
public static boolean RAIDBOSS_INSTANCE_ANNOUNCEMENTS;
|
||||
public static boolean GRANDBOSS_SPAWN_ANNOUNCEMENTS;
|
||||
public static boolean GRANDBOSS_DEFEAT_ANNOUNCEMENTS;
|
||||
public static boolean GRANDBOSS_INSTANCE_ANNOUNCEMENTS;
|
||||
public static boolean ENABLE_WAREHOUSESORTING_CLAN;
|
||||
public static boolean ENABLE_WAREHOUSESORTING_PRIVATE;
|
||||
public static boolean ENABLE_NPC_STAT_MULTIPLIERS;
|
||||
@@ -2654,6 +2661,15 @@ public class Config
|
||||
BANKING_SYSTEM_GOLDBARS = bankingConfig.getInt("BankingGoldbarCount", 1);
|
||||
BANKING_SYSTEM_ADENA = bankingConfig.getInt("BankingAdenaCount", 500000000);
|
||||
|
||||
// Load Boss Announcements config file (if exists)
|
||||
final PropertiesParser bossAnnouncementsConfig = new PropertiesParser(CUSTOM_BOSS_ANNOUNCEMENTS_CONFIG_FILE);
|
||||
RAIDBOSS_SPAWN_ANNOUNCEMENTS = bossAnnouncementsConfig.getBoolean("RaidBossSpawnAnnouncements", false);
|
||||
RAIDBOSS_DEFEAT_ANNOUNCEMENTS = bossAnnouncementsConfig.getBoolean("RaidBossDefeatAnnouncements", false);
|
||||
RAIDBOSS_INSTANCE_ANNOUNCEMENTS = bossAnnouncementsConfig.getBoolean("RaidBossInstanceAnnouncements", false);
|
||||
GRANDBOSS_SPAWN_ANNOUNCEMENTS = bossAnnouncementsConfig.getBoolean("GrandBossSpawnAnnouncements", false);
|
||||
GRANDBOSS_DEFEAT_ANNOUNCEMENTS = bossAnnouncementsConfig.getBoolean("GrandBossDefeatAnnouncements", false);
|
||||
GRANDBOSS_INSTANCE_ANNOUNCEMENTS = bossAnnouncementsConfig.getBoolean("RaidBossInstanceAnnouncements", false);
|
||||
|
||||
// Load BoostNpcStats config file (if exists)
|
||||
final PropertiesParser boostNpcStatConfig = new PropertiesParser(CUSTOM_NPC_STAT_MULTIPLIERS_CONFIG_FILE);
|
||||
ENABLE_NPC_STAT_MULTIPLIERS = boostNpcStatConfig.getBoolean("EnableNpcStatMultipliers", false);
|
||||
|
||||
@@ -49,6 +49,7 @@ import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.cache.RelationCache;
|
||||
import org.l2jmobius.gameserver.data.ItemTable;
|
||||
import org.l2jmobius.gameserver.data.xml.CategoryData;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcData;
|
||||
import org.l2jmobius.gameserver.enums.CategoryType;
|
||||
import org.l2jmobius.gameserver.enums.FlyType;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
@@ -74,6 +75,7 @@ import org.l2jmobius.gameserver.model.TimeStamp;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.WorldRegion;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.GrandBoss;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.Monster;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.Pet;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.QuestGuard;
|
||||
@@ -161,6 +163,7 @@ import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation;
|
||||
import org.l2jmobius.gameserver.taskmanager.AttackStanceTaskManager;
|
||||
import org.l2jmobius.gameserver.taskmanager.CreatureSeeTaskManager;
|
||||
import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager;
|
||||
import org.l2jmobius.gameserver.util.Broadcast;
|
||||
import org.l2jmobius.gameserver.util.Util;
|
||||
|
||||
/**
|
||||
@@ -524,6 +527,29 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
super.onSpawn();
|
||||
revalidateZone(true);
|
||||
|
||||
// Custom boss announcements configuration.
|
||||
if (this instanceof GrandBoss)
|
||||
{
|
||||
if (Config.GRANDBOSS_SPAWN_ANNOUNCEMENTS && ((getInstanceId() == 0) || Config.GRANDBOSS_INSTANCE_ANNOUNCEMENTS))
|
||||
{
|
||||
final String name = NpcData.getInstance().getTemplate(getId()).getName();
|
||||
if (name != null)
|
||||
{
|
||||
Broadcast.toAllOnlinePlayers(name + " has spawned!");
|
||||
Broadcast.toAllOnlinePlayersOnScreen(name + " has spawned!");
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (isRaid() && Config.RAIDBOSS_SPAWN_ANNOUNCEMENTS && ((getInstanceId() == 0) || Config.RAIDBOSS_INSTANCE_ANNOUNCEMENTS))
|
||||
{
|
||||
final String name = NpcData.getInstance().getTemplate(getId()).getName();
|
||||
if (name != null)
|
||||
{
|
||||
Broadcast.toAllOnlinePlayers(name + " has spawned!");
|
||||
Broadcast.toAllOnlinePlayersOnScreen(name + " has spawned!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void onTeleported()
|
||||
@@ -2479,6 +2505,29 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
getSkillChannelized().abortChannelization();
|
||||
}
|
||||
|
||||
// Custom boss announcements configuration.
|
||||
if (this instanceof GrandBoss)
|
||||
{
|
||||
if (Config.GRANDBOSS_DEFEAT_ANNOUNCEMENTS && ((getInstanceId() == 0) || Config.GRANDBOSS_INSTANCE_ANNOUNCEMENTS))
|
||||
{
|
||||
final String name = NpcData.getInstance().getTemplate(getId()).getName();
|
||||
if (name != null)
|
||||
{
|
||||
Broadcast.toAllOnlinePlayers(name + " has been defeated!");
|
||||
Broadcast.toAllOnlinePlayersOnScreen(name + " has been defeated!");
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (isRaid() && Config.RAIDBOSS_DEFEAT_ANNOUNCEMENTS && ((getInstanceId() == 0) || Config.RAIDBOSS_INSTANCE_ANNOUNCEMENTS))
|
||||
{
|
||||
final String name = NpcData.getInstance().getTemplate(getId()).getName();
|
||||
if (name != null)
|
||||
{
|
||||
Broadcast.toAllOnlinePlayers(name + " has been defeated!");
|
||||
Broadcast.toAllOnlinePlayersOnScreen(name + " has been defeated!");
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user