Untitled
unknown
plain_text
9 months ago
3.3 kB
5
Indexable
package l2e.scripts.custom;
import l2e.commons.apache.ArrayUtils;
import l2e.gameserver.model.actor.Npc;
import l2e.gameserver.model.actor.Player;
import l2e.scripts.ai.AbstractNpcAI;
public class MonumentOfHeroes extends AbstractNpcAI {
private static final int[] MONUMENTS = {
31690, 31769, 31770, 31771, 31772
};
private static final int WINGS_OF_DESTINY_CIRCLET = 6842;
private static final int[] WEAPONS = {
6611, 6612, 6613, 6614, 6615, 6616, 6617, 6618, 6619, 6620, 6621, 9388, 9389, 9390,
};
private static final int HERO_CLOAK = 9999; // **REPLACE 9999 WITH THE ACTUAL CLOAK ID**
private MonumentOfHeroes(String name, String descr) {
super(name, descr);
addStartNpc(MONUMENTS);
addTalkId(MONUMENTS);
addFirstTalkId(MONUMENTS);
}
@Override
public String onAdvEvent(String event, Npc npc, Player player) {
String htmltext = "";
switch (event) {
case "HeroWeapon":
if (!player.isHero()) {
htmltext = "no_hero_weapon.htm";
} else if (hasAtLeastOneQuestItem(player, WEAPONS)) {
htmltext = "already_have_weapon.htm";
} else {
htmltext = "weapon_list.htm";
}
break;
case "HeroCirclet":
if (!player.isHero()) {
htmltext = "no_hero_circlet.htm";
} else if (hasQuestItems(player, WINGS_OF_DESTINY_CIRCLET)) {
htmltext = "already_have_circlet.htm";
} else {
giveItems(player, WINGS_OF_DESTINY_CIRCLET, 1);
htmltext = "circlet_given.htm";
}
break;
case "HeroCloak":
if (!player.isHero()) {
htmltext = "no_hero_cloak.htm";
} else if (hasQuestItems(player, HERO_CLOAK)) {
htmltext = "already_have_cloak.htm";
} else {
giveItems(player, HERO_CLOAK, 1);
htmltext = "cloak_given.htm";
}
break;
default:
try {
int weaponId = Integer.parseInt(event);
if (ArrayUtils.contains(WEAPONS, weaponId)) {
giveItems(player, weaponId, 1);
htmltext = "weapon_given.htm";
} else {
htmltext = "invalid_weapon.htm";
}
} catch (NumberFormatException e) {
htmltext = "invalid_weapon.htm";
}
break;
}
return htmltext;
}
@Override
public String onTalk(Npc npc, Player player) {
return getHtmlPath(player, npc);
}
@Override
public String onFirstTalk(Npc npc, Player player) {
return getHtmlPath(player, npc);
}
private String getHtmlPath(Player player, Npc npc) {
if (!player.isHero()) {
return "no_hero.htm";
}
return "monument.htm";
}
public static void main(String[] args) {
new MonumentOfHeroes(MonumentOfHeroes.class.getSimpleName(), "custom");
}
}
Editor is loading...
Leave a Comment