SHOW:
|
|
- or go back to the newest paste.
1 | ### Eclipse Workspace Patch 1.0 | |
2 | #P aCis_gameserver | |
3 | diff --git java/net/sf/l2j/gameserver/model/actor/instance/NoblesseNpc.java | |
4 | new file mode 100644 | |
5 | index 0000000..0aa51ef | |
6 | --- /dev/null | |
7 | +++ java/net/sf/l2j/gameserver/model/actor/instance/NoblesseNpc.java | |
8 | @@ -0,0 +1,88 @@ | |
9 | +package net.sf.l2j.gameserver.model.actor.instance; | |
10 | + | |
11 | +import net.sf.l2j.gameserver.model.actor.Player; | |
12 | +import net.sf.l2j.gameserver.model.actor.template.NpcTemplate; | |
13 | +import net.sf.l2j.gameserver.network.serverpackets.ExShowScreenMessage; | |
14 | +import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; | |
15 | + | |
16 | +public final class NoblesseNpc extends Folk | |
17 | +{ | |
18 | + private static final int BLACK_CROWN = 9210; | |
19 | + private static final int GOLD_CROWN = 9211; | |
20 | + private static final int RED_CROWN = 9212; | |
21 | + private static final int SILVER_CROWN = 9213; | |
22 | + private static final int NOBLESSE_TIARA = 7694; | |
23 | + | |
24 | + public NoblesseNpc(int objectId, NpcTemplate template) | |
25 | + { | |
26 | + super(objectId, template); | |
27 | + } | |
28 | + | |
29 | + @Override | |
30 | + public void onBypassFeedback(Player player, String command) | |
31 | + { | |
32 | + if (command.startsWith("becomeNoblesse")) | |
33 | + { | |
34 | + if (player.isNoble()) | |
35 | + { | |
36 | + NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); | |
37 | + html.setFile("data/html/l2jmods/noblessmanager/noblesse-already.htm"); | |
38 | + | |
39 | + player.sendPacket(html); | |
40 | + return; | |
41 | + } | |
42 | + else if (player.getStatus().getLevel() < 78) | |
43 | + { | |
44 | + NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); | |
45 | + html.setFile("data/html/l2jmods/noblessmanager/noblesse-level.htm"); | |
46 | + player.sendPacket(html); | |
47 | + return; | |
48 | + } | |
49 | + else if (player.getInventory().getItemByItemId(BLACK_CROWN) == null || player.getInventory().getItemByItemId(GOLD_CROWN) == null || player.getInventory().getItemByItemId(RED_CROWN) == null || player.getInventory().getItemByItemId(SILVER_CROWN) == null) | |
50 | + { | |
51 | + NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); | |
52 | + html.setFile("data/html/l2jmods/noblessmanager/noblesse-crowns.htm"); | |
53 | + player.sendPacket(html); | |
54 | + return; | |
55 | + } | |
56 | + else if (player.getPvpKills() < 50) | |
57 | + { | |
58 | + NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); | |
59 | + html.setFile("data/html/l2jmods/noblessmanager/noblesse-pvpkills.htm"); | |
60 | + player.sendPacket(html); | |
61 | + return; | |
62 | + } | |
63 | + else | |
64 | + { | |
65 | + NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); | |
66 | + html.setFile("data/html/l2jmods/noblessmanager/noblesse-successfully.htm"); | |
67 | + | |
68 | + player.destroyItemByItemId("Consume", BLACK_CROWN, 1, player, true); | |
69 | + player.destroyItemByItemId("Consume", GOLD_CROWN, 1, player, true); | |
70 | + player.destroyItemByItemId("Consume", RED_CROWN, 1, player, true); | |
71 | + player.destroyItemByItemId("Consume", SILVER_CROWN, 1, player, true); | |
72 | + player.addItem("Loot", NOBLESSE_TIARA, 1, player, true); | |
73 | + player.setNoble(true, true); | |
74 | + player.sendPacket(html); | |
75 | + player.sendPacket(new ExShowScreenMessage("Parabens! Voce virou Nobless!", 6000)); | |
76 | + } | |
77 | + } | |
78 | + else | |
79 | + super.onBypassFeedback(player, command); | |
80 | + } | |
81 | + | |
82 | + @Override | |
83 | + public void showChatWindow(Player player) | |
84 | + { | |
85 | + NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); | |
86 | + html.setFile("data/html/l2jmods/noblessmanager/noblesse.htm"); | |
87 | + html.replace("%objectId%", String.valueOf(player.getTargetId())); | |
88 | + html.replace("%blackcrown%", player.getInventory().getItemByItemId(BLACK_CROWN) == null ? "l2ui.CheckBox" : "l2ui.CheckBox_checked"); | |
89 | + html.replace("%goldcrown%", player.getInventory().getItemByItemId(GOLD_CROWN) == null ? "l2ui.CheckBox" : "l2ui.CheckBox_checked"); | |
90 | + html.replace("%redcrown%", player.getInventory().getItemByItemId(RED_CROWN) == null ? "l2ui.CheckBox" : "l2ui.CheckBox_checked"); | |
91 | + html.replace("%silvercrown%", player.getInventory().getItemByItemId(SILVER_CROWN) == null ? "l2ui.CheckBox" : "l2ui.CheckBox_checked"); | |
92 | + html.replace("%level%", player.getStatus().getLevel() < 78 ? "l2ui.CheckBox" : "l2ui.CheckBox_checked"); | |
93 | + html.replace("%pvptonobles%", player.getPvpKills() < 50 ? "l2ui.CheckBox" : "l2ui.CheckBox_checked"); | |
94 | + player.sendPacket(html); | |
95 | + } | |
96 | +} | |
97 | \ No newline at end of file | |
98 |