L2JMobius

C6 Icon items xml

caioconc · 4 · 5693

Online Mobius

  • Distinguished King
  • *****
    • Posts: 16093
Are icons taken from Interlude client?

Did you use a parser to add them?
Format is wrong, does not have tabs.
And icon should be after comment, if a comment exists.

If you can't do it like that I can create a parser to do it.

Also where is the code that shows items?


Offline caioconc

  • Heir
  • **
    • Posts: 33
I got the acis interlude icons.
I used vb to massively edit the xml.


Code: [Select]
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/NpcInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/NpcInstance.java
index f9a4668..97be31a 100644
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/NpcInstance.java
+++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/NpcInstance.java
@@ -879,25 +879,37 @@
 
  final NpcHtmlMessage html = new NpcHtmlMessage(0);
  final StringBuilder html1 = new StringBuilder("<html><body>");
- html1.append("<br><center><font color=\"LEVEL\">[Combat Stats]</font></center>");
- html1.append("<table border=0 width=\"100%\">");
- html1.append("<tr><td>Max.HP</td><td>" + (int) (getMaxHp() / getStat().calcStat(Stat.MAX_HP, 1, this, null)) + "*" + (int) getStat().calcStat(Stat.MAX_HP, 1, this, null) + "</td><td>Max.MP</td><td>" + getMaxMp() + "</td></tr>");
- html1.append("<tr><td>P.Atk.</td><td>" + getPAtk(null) + "</td><td>M.Atk.</td><td>" + getMAtk(null, null) + "</td></tr>");
- html1.append("<tr><td>P.Def.</td><td>" + getPDef(null) + "</td><td>M.Def.</td><td>" + getMDef(null, null) + "</td></tr>");
- html1.append("<tr><td>Accuracy</td><td>" + getAccuracy() + "</td><td>Evasion</td><td>" + getEvasionRate(null) + "</td></tr>");
- html1.append("<tr><td>Critical</td><td>" + getCriticalHit(null, null) + "</td><td>Speed</td><td>" + getRunSpeed() + "</td></tr>");
- html1.append("<tr><td>Atk.Speed</td><td>" + getPAtkSpd() + "</td><td>Cast.Speed</td><td>" + getMAtkSpd() + "</td></tr>");
- html1.append("<tr><td>Race</td><td>" + getTemplate().getRace() + "</td><td></td><td></td></tr>");
+ html1.append("<table width=256>");
+ html1.append("<tr>");
+ html1.append("<td width=32><img src=icon.etc_alphabet_p_i00 width=32 height=32></td>");
+ html1.append("<td width=32><img src=icon.etc_alphabet_o_i00 width=32 height=32></td>");
+ html1.append("<td width=32><img src=icon.etc_alphabet_s_i00 width=32 height=32></td>");
+ html1.append("<td width=32><img src=icon.etc_alphabet_e_i00 width=32 height=32></td>");
+ html1.append("<td width=32><img src=icon.etc_alphabet_i_i00 width=32 height=32></td>");
+ html1.append("<td width=32><img src=icon.etc_alphabet_d_i00 width=32 height=32></td>");
+ html1.append("<td width=32><img src=icon.etc_alphabet_o_i00 width=32 height=32></td>");
+ html1.append("<td width=32><img src=icon.etc_alphabet_n_i00 width=32 height=32></td>");
+ html1.append("</tr>");
  html1.append("</table>");
 
- html1.append("<br><center><font color=\"LEVEL\">[Basic Stats]</font></center>");
- html1.append("<table border=0 width=\"100%\">");
- html1.append("<tr><td>STR</td><td>" + getSTR() + "</td><td>DEX</td><td>" + getDEX() + "</td><td>CON</td><td>" + getCON() + "</td></tr>");
- html1.append("<tr><td>INT</td><td>" + getINT() + "</td><td>WIT</td><td>" + getWIT() + "</td><td>MEN</td><td>" + getMEN() + "</td></tr>");
- html1.append("</table>");
+ // html1.append("<table border=0 width=\"100%\">");
+ // html1.append("<tr><td>Max.HP</td><td>" + (int) (getMaxHp() / getStat().calcStat(Stat.MAX_HP, 1, this, null)) + "*" + (int) getStat().calcStat(Stat.MAX_HP, 1, this, null) + "</td><td>Max.MP</td><td>" + getMaxMp() + "</td></tr>");
+ // html1.append("<tr><td>P.Atk.</td><td>" + getPAtk(null) + "</td><td>M.Atk.</td><td>" + getMAtk(null, null) + "</td></tr>");
+ // html1.append("<tr><td>P.Def.</td><td>" + getPDef(null) + "</td><td>M.Def.</td><td>" + getMDef(null, null) + "</td></tr>");
+ // html1.append("<tr><td>Accuracy</td><td>" + getAccuracy() + "</td><td>Evasion</td><td>" + getEvasionRate(null) + "</td></tr>");
+ // html1.append("<tr><td>Critical</td><td>" + getCriticalHit(null, null) + "</td><td>Speed</td><td>" + getRunSpeed() + "</td></tr>");
+ // html1.append("<tr><td>Atk.Speed</td><td>" + getPAtkSpd() + "</td><td>Cast.Speed</td><td>" + getMAtkSpd() + "</td></tr>");
+ // html1.append("<tr><td>Race</td><td>" + getTemplate().getRace() + "</td><td></td><td></td></tr>");
+ // html1.append("</table>");
+
+ // html1.append("<br><center><font color=\"LEVEL\">[Basic Stats]</font></center>");
+ // html1.append("<table border=0 width=\"100%\">");
+ // html1.append("<tr><td>STR</td><td>" + getSTR() + "</td><td>DEX</td><td>" + getDEX() + "</td><td>CON</td><td>" + getCON() + "</td></tr>");
+ // html1.append("<tr><td>INT</td><td>" + getINT() + "</td><td>WIT</td><td>" + getWIT() + "</td><td>MEN</td><td>" + getMEN() + "</td></tr>");
+ // html1.append("</table>");
 
  html1.append("<br><center><font color=\"LEVEL\">[Drop Info]</font><br>");
- html1.append("Rates legend: <font color=\"ff0000\">50%+</font> <font color=\"00ff00\">30%+</font> <font color=\"0000ff\">less than 30%</font>");
+ // html1.append("Rates legend: <font color=\"ff0000\">50%+</font> <font color=\"00ff00\">30%+</font> <font color=\"0000ff\">less than 30%</font>");
  html1.append("<table border=0 width=\"100%\">");
  for (DropCategory cat : getTemplate().getDropData())
  {
@@ -906,24 +918,18 @@
  {
  for (DropData drop : drops)
  {
+
+ final Item item = ItemTable.getInstance().getTemplate(drop.getItemId());
+
  if ((drop == null) || (ItemTable.getInstance().getTemplate(drop.getItemId()) == null))
  {
  continue;
  }
 
  final String name = ItemTable.getInstance().getTemplate(drop.getItemId()).getName();
- if (drop.getChance() >= 600000)
- {
- html1.append("<tr><td><font color=\"ff0000\">" + name + "</font></td><td>" + (drop.isQuestDrop() ? "Quest" : cat.isSweep() ? "Sweep" : "Drop") + "</td></tr>");
- }
- else if (drop.getChance() >= 300000)
- {
- html1.append("<tr><td><font color=\"00ff00\">" + name + "</font></td><td>" + (drop.isQuestDrop() ? "Quest" : cat.isSweep() ? "Sweep" : "Drop") + "</td></tr>");
- }
- else
- {
- html1.append("<tr><td><font color=\"0000ff\">" + name + "</font></td><td>" + (drop.isQuestDrop() ? "Quest" : cat.isSweep() ? "Sweep" : "Drop") + "</td></tr>");
- }
+
+ html1.append("<tr><td><img src=\"" + item.geticon() + "\" width=32 height=32>" + (drop.isQuestDrop() ? "Quest" : cat.isSweep() ? "<font color=\"0040FF\">" : "<font color=\"FFFFFF\">") + name + "</font> </td><td>" + (drop.getChance() / 10000.0) + "%</td><td>" + (drop.isQuestDrop() ? "Quest" : cat.isSweep() ? "Sweep" : "Drop") + "</td></tr>");
+
  }
  }
  }


Online Mobius

  • Distinguished King
  • *****
    • Posts: 16093
Item method getIcon was mising.
I parsed all icons from client to match other branches format.
Changed a bit the format that drops where showing.
Adjusted config description to match changes.

Committed with https://bitbucket.org/MobiusDev/l2j_mobius/commits/877f51bdc2830cc947b73b503b36ce287b19293f