View difference between Paste ID: 0bMy0JAa and tbFdTe8G
SHOW: | | - or go back to the newest paste.
1
diff --git a/java/net/sf/l2j/Config.java b/java/net/sf/l2j/Config.java
2
index d78b026..b034ed5 100644
3
--- a/java/net/sf/l2j/Config.java
4
+++ b/java/net/sf/l2j/Config.java
5
@@ -44,6 +44,9 @@
6
 	// Clans settings
7
 	// --------------------------------------------------
8
 	/** Clans */
9
+	public static boolean ANNOUNCE_BOSS_ALIVE;
10
+	public static boolean ANNOUNCE_RAIDBOS_KILL;
11
+	public static boolean ANNOUNCE_GRANDBOS_KILL;
12
 	public static String MESSAGE_XPON;
13
 	public static int MESSAGE_TIME_XPON;
14
 	public static String MESSAGE_XPOFF;
15
@@ -1111,6 +1114,9 @@
16
 	private static final void loadSpecial()
17
 	{
18
 		final ExProperties Special = initProperties(SPECIAL_MODS);
19
+		ANNOUNCE_RAIDBOS_KILL = Boolean.parseBoolean(Special.getProperty("AnnounceRaidBossKill", "false"));
20
+		ANNOUNCE_GRANDBOS_KILL = Boolean.parseBoolean(Special.getProperty("AnnounceGranBossKill", "false"));
21
+		ANNOUNCE_BOSS_ALIVE =  Boolean.parseBoolean(Special.getProperty("AnnounceSpawnAllBoss", "false"));
22
 		ALT_OLY_END_ANNOUNCE = Boolean.parseBoolean(Special.getProperty("AltOlyEndAnnounce", "False"));
23
 		ENABLE_ALTERNATIVE_SKILL_DURATION = Boolean.parseBoolean(Special.getProperty("EnableModifySkillDuration", "false"));
24
 		if (ENABLE_ALTERNATIVE_SKILL_DURATION)
25
diff --git a/java/net/sf/l2j/gameserver/model/World.java b/java/net/sf/l2j/gameserver/model/World.java
26
index aa74cb5..5ff3e41 100644
27
--- a/java/net/sf/l2j/gameserver/model/World.java
28
+++ b/java/net/sf/l2j/gameserver/model/World.java
29
@@ -285,4 +285,9 @@
30
 	{
31
 		protected static final World INSTANCE = new World();
32
 	}
33
+
34
+	public static void gameAnnounceToOnlinePlayers(String text)
35
+	{
36
+		toAllOnlinePlayers(new CreatureSay(0, SayType.CRITICAL_ANNOUNCE, "", text));
37
+	}
38
 }
39
\ No newline at end of file
40
diff --git a/java/net/sf/l2j/gameserver/model/actor/instance/GrandBoss.java b/java/net/sf/l2j/gameserver/model/actor/instance/GrandBoss.java
41
index ca72456..4f6afc1 100644
42
--- a/java/net/sf/l2j/gameserver/model/actor/instance/GrandBoss.java
43
+++ b/java/net/sf/l2j/gameserver/model/actor/instance/GrandBoss.java
44
@@ -2,8 +2,10 @@
45
 
46
 import net.sf.l2j.commons.random.Rnd;
47
 
48
+import net.sf.l2j.Config;
49
 import net.sf.l2j.gameserver.data.manager.HeroManager;
50
 import net.sf.l2j.gameserver.data.manager.RaidPointManager;
51
+import net.sf.l2j.gameserver.model.World;
52
 import net.sf.l2j.gameserver.model.actor.Creature;
53
 import net.sf.l2j.gameserver.model.actor.Player;
54
 import net.sf.l2j.gameserver.model.actor.template.NpcTemplate;
55
@@ -41,6 +43,13 @@
56
 		final Player player = killer.getActingPlayer();
57
 		if (player != null)
58
 		{
59
+			if (Config.ANNOUNCE_GRANDBOS_KILL)
60
+			{
61
+				if (player.getClan() != null)
62
+					World.gameAnnounceToOnlinePlayers("Epic Boss: "+getName() +" was killed by " + player.getName()+ " of the clan: " + player.getClan().getName());
63
+				else
64
+					World.gameAnnounceToOnlinePlayers("Epic Boss: "+getName() +" was killed by " + player.getName());
65
+			}
66
 			broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.RAID_WAS_SUCCESSFUL));
67
 			broadcastPacket(new PlaySound("systemmsg_e.1209"));
68
 			
69
diff --git a/java/net/sf/l2j/gameserver/model/actor/instance/RaidBoss.java b/java/net/sf/l2j/gameserver/model/actor/instance/RaidBoss.java
70
index 760e02a..75a513d 100644
71
--- a/java/net/sf/l2j/gameserver/model/actor/instance/RaidBoss.java
72
+++ b/java/net/sf/l2j/gameserver/model/actor/instance/RaidBoss.java
73
@@ -9,6 +9,7 @@
74
 import net.sf.l2j.gameserver.data.manager.HeroManager;
75
 import net.sf.l2j.gameserver.data.manager.RaidBossManager;
76
 import net.sf.l2j.gameserver.data.manager.RaidPointManager;
77
+import net.sf.l2j.gameserver.model.World;
78
 import net.sf.l2j.gameserver.model.actor.Creature;
79
 import net.sf.l2j.gameserver.model.actor.Player;
80
 import net.sf.l2j.gameserver.model.actor.template.NpcTemplate;
81
@@ -109,6 +110,13 @@
82
 			final Player player = killer.getActingPlayer();
83
 			if (player != null)
84
 			{
85
+				if (Config.ANNOUNCE_RAIDBOS_KILL)
86
+				{
87
+					if (player.getClan() != null)
88
+						World.gameAnnounceToOnlinePlayers("Boss: " + getName() + " was killed by " + player.getName()+ " of the clan: " + player.getClan().getName());
89
+					else
90
+						World.gameAnnounceToOnlinePlayers("Boss: " + getName() + " was killed by " + player.getName());
91
+				}
92
 				broadcastPacket(SystemMessage.getSystemMessage(SystemMessageId.RAID_WAS_SUCCESSFUL));
93
 				broadcastPacket(new PlaySound("systemmsg_e.1209"));
94
 				
95
diff --git a/java/net/sf/l2j/gameserver/model/spawn/BossSpawn.java b/java/net/sf/l2j/gameserver/model/spawn/BossSpawn.java
96
index f30299a..c7c5a19 100644
97
--- a/java/net/sf/l2j/gameserver/model/spawn/BossSpawn.java
98
+++ b/java/net/sf/l2j/gameserver/model/spawn/BossSpawn.java
99
@@ -10,7 +10,9 @@
100
 import net.sf.l2j.commons.pool.ThreadPool;
101
 import net.sf.l2j.commons.random.Rnd;
102
 
103
+import net.sf.l2j.Config;
104
 import net.sf.l2j.gameserver.enums.BossStatus;
105
+import net.sf.l2j.gameserver.model.World;
106
 import net.sf.l2j.gameserver.model.actor.Npc;
107
 
108
 /**
109
@@ -173,7 +175,8 @@
110
 		
111
 		// Refresh the database for this particular boss entry.
112
 		updateOnDb();
113
-		
114
+		if (Config.ANNOUNCE_BOSS_ALIVE)
115
+			World.gameAnnounceToOnlinePlayers("Boss: " + npc.getName() + " has spawned in the world!");
116
 		LOGGER.info("{} raid boss has spawned.", npc.getName());
117
 	}
118
 	
119
@@ -231,4 +234,5 @@
120
 			LOGGER.error("Couldn't update raid boss #{}.", e, _spawn.getNpcId());
121
 		}
122
 	}
123
 }
124
\ No newline at end of file
125
diff --git a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Antharas.java b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Antharas.java
126
index 6be3f40..650265b 100644
127
--- a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Antharas.java
128
+++ b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Antharas.java
129
@@ -12,6 +12,7 @@
130
 import net.sf.l2j.gameserver.data.manager.GrandBossManager;
131
 import net.sf.l2j.gameserver.data.manager.ZoneManager;
132
 import net.sf.l2j.gameserver.enums.ScriptEventType;
133
+import net.sf.l2j.gameserver.model.World;
134
 import net.sf.l2j.gameserver.model.actor.Creature;
135
 import net.sf.l2j.gameserver.model.actor.Npc;
136
 import net.sf.l2j.gameserver.model.actor.Playable;
137
@@ -102,7 +103,10 @@
138
 				
139
 				final Npc antharas = addSpawn(_antharasId, loc_x, loc_y, loc_z, heading, false, 0, false);
140
 				GrandBossManager.getInstance().addBoss(ANTHARAS, (GrandBoss) antharas);
141
-				
142
+				if (Config.ANNOUNCE_BOSS_ALIVE)
143
+				{
144
+					World.gameAnnounceToOnlinePlayers("Epic Boss: " + antharas.getName() + " spawned in world.");
145
+				}
146
 				antharas.getStatus().setHpMp(hp, mp);
147
 				antharas.forceRunStance();
148
 				
149
@@ -230,7 +234,10 @@
150
 			final Npc antharas = addSpawn(_antharasId, 181323, 114850, -7623, 32542, false, 0, false);
151
 			GrandBossManager.getInstance().addBoss(ANTHARAS, (GrandBoss) antharas);
152
 			antharas.setInvul(true);
153
-			
154
+			if (Config.ANNOUNCE_BOSS_ALIVE)
155
+			{
156
+				World.gameAnnounceToOnlinePlayers("Epic Boss: " + antharas.getName() + " spawned in world.");
157
+			}
158
 			// Earthquake.
159
 			antharas.broadcastPacket(new Earthquake(antharas, 20, 10, true));
160
 			
161
diff --git a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Baium.java b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Baium.java
162
index fcdbf35..0828e46 100644
163
--- a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Baium.java
164
+++ b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Baium.java
165
@@ -12,6 +12,7 @@
166
 import net.sf.l2j.gameserver.data.manager.ZoneManager;
167
 import net.sf.l2j.gameserver.enums.ScriptEventType;
168
 import net.sf.l2j.gameserver.geoengine.GeoEngine;
169
+import net.sf.l2j.gameserver.model.World;
170
 import net.sf.l2j.gameserver.model.actor.Attackable;
171
 import net.sf.l2j.gameserver.model.actor.Creature;
172
 import net.sf.l2j.gameserver.model.actor.Npc;
173
@@ -89,13 +90,20 @@
174
 			else
175
 			{
176
 				addSpawn(STONE_BAIUM, STONE_BAIUM_LOC, false, 0, false);
177
+				if (Config.ANNOUNCE_BOSS_ALIVE)
178
+				{
179
+					World.gameAnnounceToOnlinePlayers("Epic Boss Baium Stone spawned in world.");
180
+				}
181
 				GrandBossManager.getInstance().setBossStatus(LIVE_BAIUM, ASLEEP);
182
 			}
183
 		}
184
 		else if (status == AWAKE)
185
 		{
186
 			final Npc baium = addGrandBossSpawn(LIVE_BAIUM, info);
187
-			
188
+			if (Config.ANNOUNCE_BOSS_ALIVE)
189
+			{
190
+				World.gameAnnounceToOnlinePlayers("Epic Boss: " + baium.getName() + " spawned in world.");
191
+			}
192
 			// Start monitoring Baium's inactivity.
193
 			_timeTracker = System.currentTimeMillis();
194
 			
195
@@ -115,6 +123,11 @@
196
 		}
197
 		else
198
 			addSpawn(STONE_BAIUM, STONE_BAIUM_LOC, false, 0, false);
199
+			if (Config.ANNOUNCE_BOSS_ALIVE)
200
+			{
201
+			World.gameAnnounceToOnlinePlayers("Epic Boss Baium Stone spawned in world.");
202
+			}
203
+		
204
 	}
205
 	
206
 	@Override
207
@@ -233,6 +246,10 @@
208
 		{
209
 			GrandBossManager.getInstance().setBossStatus(LIVE_BAIUM, ASLEEP);
210
 			addSpawn(STONE_BAIUM, STONE_BAIUM_LOC, false, 0, false);
211
+			if (Config.ANNOUNCE_BOSS_ALIVE)
212
+			{
213
+				World.gameAnnounceToOnlinePlayers("Epic Boss Baium Stone spawned in world.");
214
+			}
215
 		}
216
 		else if (name.equalsIgnoreCase("angels_aggro_reconsider"))
217
 		{
218
@@ -276,7 +293,6 @@
219
 		if (GrandBossManager.getInstance().getBossStatus(LIVE_BAIUM) == ASLEEP)
220
 		{
221
 			GrandBossManager.getInstance().setBossStatus(LIVE_BAIUM, AWAKE);
222
-			
223
 			final Npc baium = addSpawn(LIVE_BAIUM, npc, false, 0, false);
224
 			baium.setInvul(true);
225
 			
226
@@ -291,7 +307,10 @@
227
 			startQuestTimer("sacrifice_waker", baium, player, 24000);
228
 			startQuestTimer("baium_roar", baium, null, 28000);
229
 			startQuestTimer("baium_move", baium, null, 35000);
230
-			
231
+			if (Config.ANNOUNCE_BOSS_ALIVE)
232
+			{
233
+				World.gameAnnounceToOnlinePlayers("Epic Boss: " + baium.getName() + " spawned in world.");
234
+			}
235
 			// Delete the statue.
236
 			npc.deleteMe();
237
 		}
238
diff --git a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Core.java b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Core.java
239
index 37a8e03..e7d433e 100644
240
--- a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Core.java
241
+++ b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Core.java
242
@@ -8,6 +8,7 @@
243
 
244
 import net.sf.l2j.Config;
245
 import net.sf.l2j.gameserver.data.manager.GrandBossManager;
246
+import net.sf.l2j.gameserver.model.World;
247
 import net.sf.l2j.gameserver.model.actor.Creature;
248
 import net.sf.l2j.gameserver.model.actor.Npc;
249
 import net.sf.l2j.gameserver.model.actor.Playable;
250
@@ -51,6 +52,10 @@
251
 				final GrandBoss core = (GrandBoss) addSpawn(CORE, 17726, 108915, -6480, 0, false, 0, false);
252
 				GrandBossManager.getInstance().setBossStatus(CORE, ALIVE);
253
 				spawnBoss(core);
254
+				if (Config.ANNOUNCE_BOSS_ALIVE)
255
+				{
256
+					World.gameAnnounceToOnlinePlayers("Epic Boss: " + core.getName() + " spawned in world.");
257
+				}
258
 			}
259
 		}
260
 		else
261
@@ -65,6 +70,10 @@
262
 			final GrandBoss core = (GrandBoss) addSpawn(CORE, loc_x, loc_y, loc_z, heading, false, 0, false);
263
 			core.getStatus().setHpMp(hp, mp);
264
 			spawnBoss(core);
265
+			if (Config.ANNOUNCE_BOSS_ALIVE)
266
+			{
267
+				World.gameAnnounceToOnlinePlayers("Epic Boss: " + core.getName() + " spawned in world.");
268
+			}
269
 		}
270
 	}
271
 	
272
@@ -114,6 +123,10 @@
273
 			final GrandBoss core = (GrandBoss) addSpawn(CORE, 17726, 108915, -6480, 0, false, 0, false);
274
 			GrandBossManager.getInstance().setBossStatus(CORE, ALIVE);
275
 			spawnBoss(core);
276
+			if (Config.ANNOUNCE_BOSS_ALIVE)
277
+			{
278
+				World.gameAnnounceToOnlinePlayers("Epic Boss: " + core.getName() + " spawned in world.");
279
+			}
280
 		}
281
 		else if (name.equalsIgnoreCase("spawn_minion"))
282
 		{
283
diff --git a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Orfen.java b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Orfen.java
284
index 8081510..ce8682e 100644
285
--- a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Orfen.java
286
+++ b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Orfen.java
287
@@ -6,6 +6,7 @@
288
 import net.sf.l2j.Config;
289
 import net.sf.l2j.gameserver.data.manager.GrandBossManager;
290
 import net.sf.l2j.gameserver.enums.ZoneId;
291
+import net.sf.l2j.gameserver.model.World;
292
 import net.sf.l2j.gameserver.model.actor.Attackable;
293
 import net.sf.l2j.gameserver.model.actor.Creature;
294
 import net.sf.l2j.gameserver.model.actor.Npc;
295
@@ -67,6 +68,10 @@
296
 				final GrandBoss orfen = (GrandBoss) addSpawn(ORFEN, ORFEN_LOCATION[Rnd.get(1, 3)], false, 0, false);
297
 				GrandBossManager.getInstance().setBossStatus(ORFEN, ALIVE);
298
 				spawnBoss(orfen);
299
+				if (Config.ANNOUNCE_BOSS_ALIVE)
300
+				{
301
+					World.gameAnnounceToOnlinePlayers("Epic Boss: " + orfen.getName() + " spawned in world.");
302
+				}
303
 			}
304
 		}
305
 		else
306
@@ -81,6 +86,10 @@
307
 			final GrandBoss orfen = (GrandBoss) addSpawn(ORFEN, loc_x, loc_y, loc_z, heading, false, 0, false);
308
 			orfen.getStatus().setHpMp(hp, mp);
309
 			spawnBoss(orfen);
310
+			if (Config.ANNOUNCE_BOSS_ALIVE)
311
+			{
312
+				World.gameAnnounceToOnlinePlayers("Epic Boss: " + orfen.getName() + " spawned in world.");
313
+			}
314
 		}
315
 	}
316
 	
317
@@ -101,6 +110,10 @@
318
 			final GrandBoss orfen = (GrandBoss) addSpawn(ORFEN, ORFEN_LOCATION[Rnd.get(1, 3)], false, 0, false);
319
 			GrandBossManager.getInstance().setBossStatus(ORFEN, ALIVE);
320
 			spawnBoss(orfen);
321
+			if (Config.ANNOUNCE_BOSS_ALIVE)
322
+			{
323
+				World.gameAnnounceToOnlinePlayers("Epic Boss: " + orfen.getName() + " spawned in world.");
324
+			}
325
 		}
326
 		else if (name.equalsIgnoreCase("3001"))
327
 		{
328
diff --git a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/QueenAnt.java b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/QueenAnt.java
329
index a95a17d..19eedb2 100644
330
--- a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/QueenAnt.java
331
+++ b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/QueenAnt.java
332
@@ -8,6 +8,7 @@
333
 import net.sf.l2j.gameserver.data.manager.GrandBossManager;
334
 import net.sf.l2j.gameserver.data.manager.ZoneManager;
335
 import net.sf.l2j.gameserver.enums.skills.ElementType;
336
+import net.sf.l2j.gameserver.model.World;
337
 import net.sf.l2j.gameserver.model.actor.Attackable;
338
 import net.sf.l2j.gameserver.model.actor.Creature;
339
 import net.sf.l2j.gameserver.model.actor.Npc;
340
@@ -303,7 +304,10 @@
341
 		}
342
 		
343
 		GrandBossManager.getInstance().addBoss(queen);
344
-		
345
+		if (Config.ANNOUNCE_BOSS_ALIVE)
346
+		{
347
+			World.gameAnnounceToOnlinePlayers("Epic Boss: " + queen.getName() + " spawned in world.");
348
+		}
349
 		startQuestTimerAtFixedRate("action", queen, null, 10000);
350
 		startQuestTimer("chaos", queen, null, 90000 + Rnd.get(240000));
351
 		
352
diff --git a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Sailren.java b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Sailren.java
353
index 3b62e49..3a98219 100644
354
--- a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Sailren.java
355
+++ b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Sailren.java
356
@@ -9,6 +9,7 @@
357
 import net.sf.l2j.Config;
358
 import net.sf.l2j.gameserver.data.manager.GrandBossManager;
359
 import net.sf.l2j.gameserver.data.manager.ZoneManager;
360
+import net.sf.l2j.gameserver.model.World;
361
 import net.sf.l2j.gameserver.model.actor.Creature;
362
 import net.sf.l2j.gameserver.model.actor.Npc;
363
 import net.sf.l2j.gameserver.model.actor.Playable;
364
@@ -73,7 +74,10 @@
365
 				final Npc sailren = addSpawn(SAILREN, loc_x, loc_y, loc_z, heading, false, 0, false);
366
 				GrandBossManager.getInstance().addBoss((GrandBoss) sailren);
367
 				_mobs.add(sailren);
368
-				
369
+				if (Config.ANNOUNCE_BOSS_ALIVE)
370
+				{
371
+					World.gameAnnounceToOnlinePlayers("Epic Boss: " + sailren.getName() + " spawned in world.");
372
+				}
373
 				sailren.getStatus().setHpMp(hp, mp);
374
 				sailren.forceRunStance();
375
 				
376
diff --git a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Valakas.java b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Valakas.java
377
index 03cd98e..94e4257 100644
378
--- a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Valakas.java
379
+++ b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Valakas.java
380
@@ -8,6 +8,7 @@
381
 import net.sf.l2j.gameserver.data.manager.GrandBossManager;
382
 import net.sf.l2j.gameserver.data.manager.ZoneManager;
383
 import net.sf.l2j.gameserver.enums.ScriptEventType;
384
+import net.sf.l2j.gameserver.model.World;
385
 import net.sf.l2j.gameserver.model.actor.Creature;
386
 import net.sf.l2j.gameserver.model.actor.Npc;
387
 import net.sf.l2j.gameserver.model.actor.Playable;
388
@@ -103,7 +104,10 @@
389
 				
390
 				final Npc valakas = addSpawn(VALAKAS, loc_x, loc_y, loc_z, heading, false, 0, false);
391
 				GrandBossManager.getInstance().addBoss((GrandBoss) valakas);
392
-				
393
+				if (Config.ANNOUNCE_BOSS_ALIVE)
394
+				{
395
+					World.gameAnnounceToOnlinePlayers("Epic Boss: " + valakas.getName() + " spawned in world.");
396
+				}
397
 				valakas.getStatus().setHpMp(hp, mp);
398
 				valakas.forceRunStance();
399
 				
400
diff --git a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Zaken.java b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Zaken.java
401
index e438b9d..dd80b45 100644
402
--- a/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Zaken.java
403
+++ b/java/net/sf/l2j/gameserver/scripting/script/ai/boss/Zaken.java
404
@@ -12,6 +12,7 @@
405
 import net.sf.l2j.gameserver.data.manager.ZoneManager;
406
 import net.sf.l2j.gameserver.data.xml.DoorData;
407
 import net.sf.l2j.gameserver.enums.IntentionType;
408
+import net.sf.l2j.gameserver.model.World;
409
 import net.sf.l2j.gameserver.model.actor.Attackable;
410
 import net.sf.l2j.gameserver.model.actor.Creature;
411
 import net.sf.l2j.gameserver.model.actor.Npc;
412
@@ -459,6 +460,7 @@
413
 			final StatSet info = GrandBossManager.getInstance().getStatSet(ZAKEN);
414
 			info.set("respawn_time", System.currentTimeMillis() + respawnTime);
415
 			GrandBossManager.getInstance().setStatSet(ZAKEN, info);
416
+			
417
 		}
418
 		else if (GrandBossManager.getInstance().getBossStatus(ZAKEN) == ALIVE)
419
 			startQuestTimer("CreateOnePrivateEx", npc, null, ((30 + Rnd.get(60)) * 1000));
420
@@ -566,7 +568,10 @@
421
 		}
422
 		
423
 		GrandBossManager.getInstance().addBoss(zaken);
424
-		
425
+		if (Config.ANNOUNCE_BOSS_ALIVE)
426
+		{
427
+			World.gameAnnounceToOnlinePlayers("Epic Boss: " + zaken.getName() + " spawned in world.");
428
+		}
429
 		// Reset variables.
430
 		_teleportCheck = 3;
431
 		_hate = 0;
432
433
434
Index: DataPack
435
436
+#===================================================
437
+#    Annuncie to Kill/Live raid/GrandBoss World
438
+#===================================================
439
+AnnounceRaidBossKill = True
440
+AnnounceGranBossKill = True
441
+
442
+#Annuncie to live all Boss
443
+AnnounceSpawnAllBoss = True
444