Addition of boss announcements configuration.
This commit is contained in:
		
							
								
								
									
										21
									
								
								L2J_Mobius_Classic_2.3_SevenSigns/dist/game/config/Custom/BossAnnouncements.ini
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								L2J_Mobius_Classic_2.3_SevenSigns/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
 | 
			
		||||
@@ -115,6 +115,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_CLASS_BALANCE_CONFIG_FILE = "./config/Custom/ClassBalance.ini";
 | 
			
		||||
@@ -1013,6 +1014,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_NPC_STAT_MULTIPLIERS;
 | 
			
		||||
	public static double MONSTER_HP_MULTIPLIER;
 | 
			
		||||
	public static double MONSTER_MP_MULTIPLIER;
 | 
			
		||||
@@ -2491,6 +2498,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);
 | 
			
		||||
 
 | 
			
		||||
@@ -50,6 +50,7 @@ import org.l2jmobius.gameserver.ai.CtrlEvent;
 | 
			
		||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
 | 
			
		||||
import org.l2jmobius.gameserver.cache.RelationCache;
 | 
			
		||||
import org.l2jmobius.gameserver.data.xml.CategoryData;
 | 
			
		||||
import org.l2jmobius.gameserver.data.xml.NpcData;
 | 
			
		||||
import org.l2jmobius.gameserver.data.xml.SkillData;
 | 
			
		||||
import org.l2jmobius.gameserver.data.xml.TransformData;
 | 
			
		||||
import org.l2jmobius.gameserver.enums.AttributeType;
 | 
			
		||||
@@ -82,6 +83,7 @@ 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.FriendlyNpc;
 | 
			
		||||
import org.l2jmobius.gameserver.model.actor.instance.GrandBoss;
 | 
			
		||||
import org.l2jmobius.gameserver.model.actor.instance.Monster;
 | 
			
		||||
import org.l2jmobius.gameserver.model.actor.instance.Trap;
 | 
			
		||||
import org.l2jmobius.gameserver.model.actor.stat.CreatureStat;
 | 
			
		||||
@@ -162,6 +164,7 @@ import org.l2jmobius.gameserver.network.serverpackets.UserInfo;
 | 
			
		||||
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;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -592,6 +595,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 && (!isInInstance() || 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 && (!isInInstance() || 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()
 | 
			
		||||
@@ -1735,6 +1761,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 && (!isInInstance() || 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 && (!isInInstance() || 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