Implemented Zogre Flesh Eaters quest
This commit is contained in:
@@ -1818,8 +1818,11 @@ fun sendItemDialogue(player: Player, item: Any, message: String) {
|
||||
* @param item2 the ID of the second item to show
|
||||
* @param message the text to display
|
||||
*/
|
||||
fun sendDoubleItemDialogue(player: Player, item1: Int, item2: Int, message: String) {
|
||||
player.dialogueInterpreter.sendDoubleItemMessage(item1, item2, message)
|
||||
fun sendDoubleItemDialogue(player: Player, item1: Any, item2: Any, message: String) {
|
||||
when (item1) {
|
||||
is Item -> player.dialogueInterpreter.sendDoubleItemMessage(item1, item2 as Item, message)
|
||||
is Int -> player.dialogueInterpreter.sendDoubleItemMessage(item1, item2 as Int, message)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,6 +3,7 @@ package core.game.global.action;
|
||||
import core.game.node.entity.player.Player;
|
||||
import core.game.node.entity.player.link.diary.DiaryType;
|
||||
import core.game.world.map.Location;
|
||||
import content.region.kandarin.feldip.quest.zogreflesheaters.ZogreFleshEatersListeners;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
@@ -80,6 +81,13 @@ public enum SpecialLadders implements LadderAchievementCheck {
|
||||
PATERDOMUS_TEMPLE_STAIRCASE_SOUTH_DOWN(new Location(3415, 3486,1), new Location(3414, 3486,0)),
|
||||
PHASMATYS_BAR_DOWN(new Location(3681,3498,0), new Location(3682,9961,0)),
|
||||
PHASMATYS_BAR_UP(new Location(3682,9962,0), new Location(3681,3497,0)),
|
||||
YANNILE_HOUSE_DOWN(new Location(2597, 3107,1), new Location(2597, 3107,0)),
|
||||
YANNILE_HOUSE_UP(new Location(2597, 3107,0), new Location(2597, 3107,1)) {
|
||||
@Override
|
||||
public void checkAchievement(Player player) {
|
||||
ZogreFleshEatersListeners.ladderMakesSithikTurnIntoOgre(player);
|
||||
}
|
||||
},
|
||||
SEERS_VILLAGE_SPINNING_HOUSE_ROOFTOP_UP(new Location(2715,3472,1), new Location(2714,3472,3)) {
|
||||
@Override
|
||||
public void checkAchievement(Player player) {
|
||||
|
||||
@@ -36,18 +36,28 @@ class FunCommandSet : CommandSet(Privilege.ADMIN) {
|
||||
|
||||
/**
|
||||
* Force animation + messages on all NPCs in a radius of 10 from the player.
|
||||
* Add an optional 3rd argument if cycling through a range of animation ids.
|
||||
*/
|
||||
define("npcanim", Privilege.ADMIN, "::npcanim <lt>Animation ID<gt>") { player, args ->
|
||||
define("npcanim", Privilege.ADMIN, "::npcanim <lt>Animation ID<gt> <lt>Optional: End Animation ID<gt>") { player, args ->
|
||||
if (args.size < 2) {
|
||||
reject(player, "Syntax error: ::npcanim <Animation ID>")
|
||||
}
|
||||
npcs = RegionManager.getLocalNpcs(player.location, 10)
|
||||
for (n in npcs) {
|
||||
n.sendChat(args.slice(1 until args.size).joinToString(" "))
|
||||
n.lock(6)
|
||||
n.faceTemporary(player, 6)
|
||||
n.animator.animate(Animation(args[1].toInt()))
|
||||
n.animate(Animation.create(-1), 6)
|
||||
if (args.size == 2) {
|
||||
n.sendChat(args.slice(1 until args.size).joinToString(" "))
|
||||
n.animate(Animation(args[1].toInt()))
|
||||
n.animate(Animation.create(-1), 6)
|
||||
}
|
||||
if (args.size == 3) {
|
||||
var count = 0
|
||||
for(animNum in args[1].toInt()..args[2].toInt()) {
|
||||
count++
|
||||
n.animate(Animation(animNum), count*6)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user