SHOW:
|
|
- or go back to the newest paste.
1 | ### Eclipse Workspace Patch 1.0 | |
2 | #P L2jFrozen_GameServer | |
3 | Index: head-src/com/l2jfrozen/Config.java | |
4 | =================================================================== | |
5 | --- head-src/com/l2jfrozen/Config.java (revision 987) | |
6 | +++ head-src/com/l2jfrozen/Config.java (working copy) | |
7 | @@ -2891,6 +2891,9 @@ | |
8 | public static int GM_OVER_ENCHANT; | |
9 | public static int MAX_ITEM_ENCHANT_KICK; | |
10 | ||
11 | + public static boolean ENABLE_ENCHANT_ANNOUNCE; | |
12 | + public static String ENCHANT_ANNOUNCE_LEVEL; | |
13 | + public static FastList<Integer> LIST_ENCHANT_ANNOUNCE_LEVEL = new FastList<Integer>(); | |
14 | ||
15 | //============================================================ | |
16 | public static void loadEnchantConfig() | |
17 | @@ -3196,6 +3199,13 @@ | |
18 | MAX_ITEM_ENCHANT_KICK = Integer.parseInt(ENCHANTSetting.getProperty("EnchantKick", "0")); | |
19 | GM_OVER_ENCHANT = Integer.parseInt(ENCHANTSetting.getProperty("GMOverEnchant", "0")); | |
20 | ||
21 | + ENABLE_ENCHANT_ANNOUNCE = Boolean.parseBoolean(ENCHANTSetting.getProperty("EnableEnchantAnnounce", "False")); | |
22 | + ENCHANT_ANNOUNCE_LEVEL = ENCHANTSetting.getProperty("EnchantAnnounceLevels", "6,10,16,20"); | |
23 | + LIST_ENCHANT_ANNOUNCE_LEVEL = new FastList<Integer>(); | |
24 | + for (String id : ENCHANT_ANNOUNCE_LEVEL.split(",")) | |
25 | + { | |
26 | + LIST_ENCHANT_ANNOUNCE_LEVEL.add(Integer.parseInt(id)); | |
27 | + } | |
28 | } | |
29 | catch(Exception e) | |
30 | { | |
31 | Index: head-src/com/l2jfrozen/gameserver/model/entity/Announcements.java | |
32 | =================================================================== | |
33 | --- head-src/com/l2jfrozen/gameserver/model/entity/Announcements.java (revision 987) | |
34 | +++ head-src/com/l2jfrozen/gameserver/model/entity/Announcements.java (working copy) | |
35 | @@ -42,6 +42,7 @@ | |
36 | import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; | |
37 | import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; | |
38 | import com.l2jfrozen.gameserver.script.DateRange; | |
39 | +import com.l2jfrozen.gameserver.util.Broadcast; | |
40 | ||
41 | /** | |
42 | * @author ProGramMoS | |
43 | @@ -292,6 +293,12 @@ | |
44 | player.sendPacket(sm); | |
45 | } | |
46 | } | |
47 | + | |
48 | + public static void announceInRegion(L2PcInstance activeChar, String text) | |
49 | + { | |
50 | + CreatureSay cs = new CreatureSay(0, 18, "", text); | |
51 | + Broadcast.toPlayersInSameRegion(activeChar, cs); | |
52 | + } | |
53 | ||
54 | // Method fo handling announcements from admin | |
55 | public void handleAnnounce(String command, int lengthToTrim) | |
56 | Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestEnchantItem.java | |
57 | =================================================================== | |
58 | --- head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestEnchantItem.java (revision 987) | |
59 | +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/RequestEnchantItem.java (working copy) | |
60 | @@ -25,10 +25,12 @@ | |
61 | import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance; | |
62 | import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; | |
63 | import com.l2jfrozen.gameserver.model.base.Race; | |
64 | +import com.l2jfrozen.gameserver.model.entity.Announcements; | |
65 | import com.l2jfrozen.gameserver.network.SystemMessageId; | |
66 | import com.l2jfrozen.gameserver.network.serverpackets.EnchantResult; | |
67 | import com.l2jfrozen.gameserver.network.serverpackets.InventoryUpdate; | |
68 | import com.l2jfrozen.gameserver.network.serverpackets.ItemList; | |
69 | +import com.l2jfrozen.gameserver.network.serverpackets.MagicSkillUser; | |
70 | import com.l2jfrozen.gameserver.network.serverpackets.StatusUpdate; | |
71 | import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; | |
72 | import com.l2jfrozen.gameserver.templates.L2Item; | |
73 | @@ -301,6 +303,7 @@ | |
74 | int chance = 0; | |
75 | int maxEnchantLevel = 0; | |
76 | int minEnchantLevel = 0; | |
77 | + int nextEnchantLevel = item.getEnchantLevel() + 1; | |
78 | ||
79 | if(item.getItem().getType2() == L2Item.TYPE2_WEAPON) | |
80 | { | |
81 | @@ -565,6 +568,14 @@ | |
82 | sm = new SystemMessage(SystemMessageId.S1_SUCCESSFULLY_ENCHANTED); | |
83 | sm.addItemName(item.getItemId()); | |
84 | activeChar.sendPacket(sm); | |
85 | + | |
86 | + if (Config.ENABLE_ENCHANT_ANNOUNCE && Config.LIST_ENCHANT_ANNOUNCE_LEVEL.contains(nextEnchantLevel)) | |
87 | + { | |
88 | + Announcements.announceInRegion(activeChar, "Congratulations to " + activeChar.getName() + "! Your " + item.getItem() + " has been successfully enchanted to +" + nextEnchantLevel); | |
89 | + MagicSkillUser MSU = new MagicSkillUser(activeChar, activeChar, 2025, 1, 1, 0); | |
90 | + activeChar.sendPacket(MSU); | |
91 | + activeChar.broadcastPacket(MSU); | |
92 | + } | |
93 | } | |
94 | else | |
95 | { | |
96 | @@ -572,6 +583,14 @@ | |
97 | sm.addNumber(item.getEnchantLevel()); | |
98 | sm.addItemName(item.getItemId()); | |
99 | activeChar.sendPacket(sm); | |
100 | + | |
101 | + if (Config.ENABLE_ENCHANT_ANNOUNCE && Config.LIST_ENCHANT_ANNOUNCE_LEVEL.contains(nextEnchantLevel)) | |
102 | + { | |
103 | + Announcements.announceInRegion(activeChar, "Congratulations to " + activeChar.getName() + "! Your " + item.getItem() + " has been successfully enchanted to +" + nextEnchantLevel); | |
104 | + MagicSkillUser MSU = new MagicSkillUser(activeChar, activeChar, 2025, 1, 1, 0); | |
105 | + activeChar.sendPacket(MSU); | |
106 | + activeChar.broadcastPacket(MSU); | |
107 | + } | |
108 | } | |
109 | ||
110 | item.setEnchantLevel(item.getEnchantLevel() + Config.CUSTOM_ENCHANT_VALUE); | |
111 | Index: head-src/com/l2jfrozen/gameserver/util/Broadcast.java | |
112 | =================================================================== | |
113 | --- head-src/com/l2jfrozen/gameserver/util/Broadcast.java (revision 987) | |
114 | +++ head-src/com/l2jfrozen/gameserver/util/Broadcast.java (working copy) | |
115 | @@ -32,6 +32,7 @@ | |
116 | import java.util.logging.Logger; | |
117 | ||
118 | import com.l2jfrozen.Config; | |
119 | +import com.l2jfrozen.gameserver.datatables.csv.MapRegionTable; | |
120 | import com.l2jfrozen.gameserver.model.L2Character; | |
121 | import com.l2jfrozen.gameserver.model.L2World; | |
122 | import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; | |
123 | @@ -243,4 +244,26 @@ | |
124 | onlinePlayer.sendPacket(mov); | |
125 | } | |
126 | } | |
127 | + | |
128 | + public static void toPlayersInSameRegion(L2PcInstance player, L2GameServerPacket mov) | |
129 | + { | |
130 | + int curRegion = MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY()); | |
131 | + if (Config.DEBUG) | |
132 | + { | |
133 | + _log.fine("Players to notify: " + L2World.getAllPlayersCount() + " (with packet " + mov.getType() + ")"); | |
134 | + } | |
135 | + | |
136 | + for (L2PcInstance target : L2World.getInstance().getAllPlayers()) | |
137 | + { | |
138 | + if (target == null) | |
139 | + { | |
140 | + continue; | |
141 | + } | |
142 | + | |
143 | + if (curRegion == MapRegionTable.getInstance().getMapRegion(target.getX(), target.getY())) | |
144 | + { | |
145 | + target.sendPacket(mov); | |
146 | + } | |
147 | + } | |
148 | + } | |
149 | } | |
150 | Index: config/head/enchant.properties | |
151 | =================================================================== | |
152 | --- config/head/enchant.properties (revision 987) | |
153 | +++ config/head/enchant.properties (working copy) | |
154 | @@ -131,4 +131,15 @@ | |
155 | # HOW WORKS: if you set it to 20, and player have an item > 20 | |
156 | # he will be kicked and the item will disappear! | |
157 | # Enchant amount at which a player gets punished (0 disabled) | |
158 | -EnchantKick = 0 | |
159 | \ No newline at end of file | |
160 | +EnchantKick = 0 | |
161 | + | |
162 | +# ---------------------- | |
163 | +# Enchant Announce - | |
164 | +# ---------------------- | |
165 | +# Announce when a player successfully enchant an item to x | |
166 | +# Default: False | |
167 | +EnableEnchantAnnounce = False | |
168 | + | |
169 | +# The value of x is... set it here (separated by comma) e.g: 5,10,20,35,... | |
170 | +# NOTE: Dont have default value! | |
171 | +EnchantAnnounceLevels = 6,10,16,20 |