mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-07 16:49:12 +00:00
Change interface management (see commit notes).
This commit is contained in:
@@ -2,16 +2,9 @@ WALK_BUTTON_ID = 152
|
|||||||
RUN_BUTTON_ID = 153
|
RUN_BUTTON_ID = 153
|
||||||
|
|
||||||
on :button, WALK_BUTTON_ID do |player|
|
on :button, WALK_BUTTON_ID do |player|
|
||||||
player.running = false
|
player.toggle_running
|
||||||
end
|
end
|
||||||
|
|
||||||
on :button, RUN_BUTTON_ID do |player|
|
on :button, RUN_BUTTON_ID do |player|
|
||||||
player.running = true
|
player.toggle_running
|
||||||
end
|
|
||||||
|
|
||||||
on :command, :run do |player, command|
|
|
||||||
running = player.is_running
|
|
||||||
player.running = !running
|
|
||||||
|
|
||||||
player.send_message(running ? "You are now running." : "You are no longer running.")
|
|
||||||
end
|
end
|
||||||
@@ -33,12 +33,12 @@ public final class IsaacRandom {
|
|||||||
/**
|
/**
|
||||||
* The log of the size of the result and memory arrays.
|
* The log of the size of the result and memory arrays.
|
||||||
*/
|
*/
|
||||||
private static final int SIZEL = 8;
|
private static final int LOG_SIZE = 8;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The size of the result and memory arrays.
|
* The size of the result and memory arrays.
|
||||||
*/
|
*/
|
||||||
private static final int SIZE = 1 << SIZEL;
|
private static final int SIZE = 1 << LOG_SIZE;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A mask for pseudorandom lookup.
|
* A mask for pseudorandom lookup.
|
||||||
@@ -241,25 +241,25 @@ public final class IsaacRandom {
|
|||||||
a ^= a << 13;
|
a ^= a << 13;
|
||||||
a += mem[j++];
|
a += mem[j++];
|
||||||
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
||||||
rsl[i++] = b = mem[(y >> SIZEL & MASK) >> 2] + x;
|
rsl[i++] = b = mem[(y >> LOG_SIZE & MASK) >> 2] + x;
|
||||||
|
|
||||||
x = mem[i];
|
x = mem[i];
|
||||||
a ^= a >>> 6;
|
a ^= a >>> 6;
|
||||||
a += mem[j++];
|
a += mem[j++];
|
||||||
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
||||||
rsl[i++] = b = mem[(y >> SIZEL & MASK) >> 2] + x;
|
rsl[i++] = b = mem[(y >> LOG_SIZE & MASK) >> 2] + x;
|
||||||
|
|
||||||
x = mem[i];
|
x = mem[i];
|
||||||
a ^= a << 2;
|
a ^= a << 2;
|
||||||
a += mem[j++];
|
a += mem[j++];
|
||||||
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
||||||
rsl[i++] = b = mem[(y >> SIZEL & MASK) >> 2] + x;
|
rsl[i++] = b = mem[(y >> LOG_SIZE & MASK) >> 2] + x;
|
||||||
|
|
||||||
x = mem[i];
|
x = mem[i];
|
||||||
a ^= a >>> 16;
|
a ^= a >>> 16;
|
||||||
a += mem[j++];
|
a += mem[j++];
|
||||||
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
||||||
rsl[i++] = b = mem[(y >> SIZEL & MASK) >> 2] + x;
|
rsl[i++] = b = mem[(y >> LOG_SIZE & MASK) >> 2] + x;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (j = 0; j < SIZE / 2;) {
|
for (j = 0; j < SIZE / 2;) {
|
||||||
@@ -267,25 +267,25 @@ public final class IsaacRandom {
|
|||||||
a ^= a << 13;
|
a ^= a << 13;
|
||||||
a += mem[j++];
|
a += mem[j++];
|
||||||
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
||||||
rsl[i++] = b = mem[(y >> SIZEL & MASK) >> 2] + x;
|
rsl[i++] = b = mem[(y >> LOG_SIZE & MASK) >> 2] + x;
|
||||||
|
|
||||||
x = mem[i];
|
x = mem[i];
|
||||||
a ^= a >>> 6;
|
a ^= a >>> 6;
|
||||||
a += mem[j++];
|
a += mem[j++];
|
||||||
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
||||||
rsl[i++] = b = mem[(y >> SIZEL & MASK) >> 2] + x;
|
rsl[i++] = b = mem[(y >> LOG_SIZE & MASK) >> 2] + x;
|
||||||
|
|
||||||
x = mem[i];
|
x = mem[i];
|
||||||
a ^= a << 2;
|
a ^= a << 2;
|
||||||
a += mem[j++];
|
a += mem[j++];
|
||||||
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
||||||
rsl[i++] = b = mem[(y >> SIZEL & MASK) >> 2] + x;
|
rsl[i++] = b = mem[(y >> LOG_SIZE & MASK) >> 2] + x;
|
||||||
|
|
||||||
x = mem[i];
|
x = mem[i];
|
||||||
a ^= a >>> 16;
|
a ^= a >>> 16;
|
||||||
a += mem[j++];
|
a += mem[j++];
|
||||||
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
mem[i] = y = mem[(x & MASK) >> 2] + a + b;
|
||||||
rsl[i++] = b = mem[(y >> SIZEL & MASK) >> 2] + x;
|
rsl[i++] = b = mem[(y >> LOG_SIZE & MASK) >> 2] + x;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ public final class CommandDispatcher {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a listener with the
|
* Registers a listener with the dispatcher.
|
||||||
*
|
*
|
||||||
* @param command The command's name.
|
* @param command The command's name.
|
||||||
* @param listener The listener.
|
* @param listener The listener.
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package org.apollo.game.command;
|
package org.apollo.game.command;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.apollo.game.event.impl.SetWidgetTextEvent;
|
|
||||||
import org.apollo.game.model.Player;
|
import org.apollo.game.model.Player;
|
||||||
import org.apollo.game.model.World;
|
import org.apollo.game.model.World;
|
||||||
import org.apollo.game.model.inter.quest.QuestConstants;
|
|
||||||
import org.apollo.util.plugin.PluginManager;
|
import org.apollo.util.plugin.PluginManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -27,36 +27,26 @@ public final class CreditsCommandListener implements CommandListener {
|
|||||||
@Override
|
@Override
|
||||||
public void execute(Player player, Command command) {
|
public void execute(Player player, Command command) {
|
||||||
PluginManager mgr = World.getWorld().getPluginManager();
|
PluginManager mgr = World.getWorld().getPluginManager();
|
||||||
Iterator<String> it = mgr.createAuthorsIterator();
|
final Set<String> authors = mgr.getAuthors();
|
||||||
|
|
||||||
int pos = 0;
|
List<String> text = new ArrayList<String>(14 + authors.size());
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++], "@dre@Apollo"));
|
text.add("@dre@Apollo");
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++], "@dre@Introduction"));
|
text.add("@dre@Introduction");
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++], ""));
|
text.add("");
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++],
|
text.add("This server is based on Apollo, a lightweight, fast, secure");
|
||||||
"This server is based on Apollo, a lightweight, fast, secure"));
|
text.add("and open-source RuneScape emulator. For more");
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++],
|
text.add("information about Apollo, visit the website at:");
|
||||||
"and open-source RuneScape emulator. For more"));
|
text.add("@dbl@https://github.com/apollo-rsps/apollo");
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++],
|
text.add("");
|
||||||
"information about Apollo, visit the website at:"));
|
text.add("Apollo is released under the terms of the ISC");
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++],
|
text.add("license, details can be found in the root folder of the");
|
||||||
"@dbl@https://github.com/apollo-rsps/apollo"));
|
text.add("Apollo distribution.");
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++], ""));
|
text.add("");
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++],
|
text.add("@dre@Credits");
|
||||||
"Apollo is released under the terms of the ISC"));
|
text.add("");
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++],
|
text.addAll(authors);
|
||||||
"license, details can be found in the root folder of the "));
|
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++], "Apollo distribution."));
|
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++], ""));
|
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++], "@dre@Credits"));
|
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos++], ""));
|
|
||||||
|
|
||||||
for (; pos < QuestConstants.QUEST_TEXT.length; pos++) {
|
player.sendQuestInterface(text);
|
||||||
String text = it.hasNext() ? it.next() : "";
|
|
||||||
player.send(new SetWidgetTextEvent(QuestConstants.QUEST_TEXT[pos], text));
|
|
||||||
}
|
|
||||||
|
|
||||||
player.getInterfaceSet().openWindow(QuestConstants.QUEST_INTERFACE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -5,9 +5,9 @@ import org.apollo.game.event.handler.EventHandlerContext;
|
|||||||
import org.apollo.game.event.impl.InventoryItemEvent;
|
import org.apollo.game.event.impl.InventoryItemEvent;
|
||||||
import org.apollo.game.model.Inventory;
|
import org.apollo.game.model.Inventory;
|
||||||
import org.apollo.game.model.Item;
|
import org.apollo.game.model.Item;
|
||||||
|
import org.apollo.game.model.Player;
|
||||||
import org.apollo.game.model.inter.bank.BankConstants;
|
import org.apollo.game.model.inter.bank.BankConstants;
|
||||||
import org.apollo.game.model.inv.SynchronizationInventoryListener;
|
import org.apollo.game.model.inv.SynchronizationInventoryListener;
|
||||||
import org.apollo.game.model.Player;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An {@link EventHandler} which verifies {@link InventoryItemEvent}s.
|
* An {@link EventHandler} which verifies {@link InventoryItemEvent}s.
|
||||||
|
|||||||
@@ -3,9 +3,9 @@ package org.apollo.game.event.handler.impl;
|
|||||||
import org.apollo.game.event.handler.EventHandler;
|
import org.apollo.game.event.handler.EventHandler;
|
||||||
import org.apollo.game.event.handler.EventHandlerContext;
|
import org.apollo.game.event.handler.EventHandlerContext;
|
||||||
import org.apollo.game.event.impl.WalkEvent;
|
import org.apollo.game.event.impl.WalkEvent;
|
||||||
|
import org.apollo.game.model.Player;
|
||||||
import org.apollo.game.model.Position;
|
import org.apollo.game.model.Position;
|
||||||
import org.apollo.game.model.WalkingQueue;
|
import org.apollo.game.model.WalkingQueue;
|
||||||
import org.apollo.game.model.Player;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A handler for the {@link WalkEvent}.
|
* A handler for the {@link WalkEvent}.
|
||||||
|
|||||||
@@ -7,16 +7,16 @@ package org.apollo.game.event.impl;
|
|||||||
*/
|
*/
|
||||||
public final class ItemOnItemEvent extends InventoryItemEvent {
|
public final class ItemOnItemEvent extends InventoryItemEvent {
|
||||||
|
|
||||||
/**
|
|
||||||
* The interface id of the target item.
|
|
||||||
*/
|
|
||||||
private final int targetInterface;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The id of the target item.
|
* The id of the target item.
|
||||||
*/
|
*/
|
||||||
private final int targetId;
|
private final int targetId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The interface id of the target item.
|
||||||
|
*/
|
||||||
|
private final int targetInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The slot of the target item.
|
* The slot of the target item.
|
||||||
*/
|
*/
|
||||||
@@ -40,15 +40,6 @@ public final class ItemOnItemEvent extends InventoryItemEvent {
|
|||||||
this.targetId = targetId;
|
this.targetId = targetId;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the interface id of the target item.
|
|
||||||
*
|
|
||||||
* @return The target item's interface id.
|
|
||||||
*/
|
|
||||||
public int getTargetInterfaceId() {
|
|
||||||
return targetInterface;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the id of the target item.
|
* Gets the id of the target item.
|
||||||
*
|
*
|
||||||
@@ -58,6 +49,15 @@ public final class ItemOnItemEvent extends InventoryItemEvent {
|
|||||||
return targetId;
|
return targetId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the interface id of the target item.
|
||||||
|
*
|
||||||
|
* @return The target item's interface id.
|
||||||
|
*/
|
||||||
|
public int getTargetInterfaceId() {
|
||||||
|
return targetInterface;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the slot of the target item.
|
* Gets the slot of the target item.
|
||||||
*
|
*
|
||||||
|
|||||||
+26
-14
@@ -1,11 +1,25 @@
|
|||||||
package org.apollo.game.model.inter.quest;
|
package org.apollo.game.model;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains quest-related constants.
|
* Contains interface-related constants.
|
||||||
*
|
*
|
||||||
* @author Graham
|
* @author Major
|
||||||
*/
|
*/
|
||||||
public final class QuestConstants {
|
public class InterfaceConstants {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The character design interface id.
|
||||||
|
*/
|
||||||
|
public static final int CHARACTER_DESIGN = 3559;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The default inventory tab ids.
|
||||||
|
*/
|
||||||
|
public static final int[] DEFAULT_INVENTORY_TABS = { 2423, 3917, 638, 3213, 1644, 5608, 1151, -1, 5065, 5715, 2449,
|
||||||
|
904, 147, 962, };
|
||||||
|
// 6299 = music tab, music disabled
|
||||||
|
// 4445 = settings tab, music disabled
|
||||||
|
// 12855 = ancients magic
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The quest interface id.
|
* The quest interface id.
|
||||||
@@ -13,12 +27,17 @@ public final class QuestConstants {
|
|||||||
public static final int QUEST_INTERFACE = 8134;
|
public static final int QUEST_INTERFACE = 8134;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The part of the quest interface that contains the scroll bar.
|
* The scroll bar widget.
|
||||||
*/
|
*/
|
||||||
public static final int QUEST_SCROLL_PANE = 8143; // 8144 = title
|
public static final int QUEST_SCROLL_PANE = 8143;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The array of sub interfaces which display the text.
|
* The quest title widget id.
|
||||||
|
*/
|
||||||
|
public static final int QUEST_TITLE = 8144;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The array of widgets that display the text.
|
||||||
*/
|
*/
|
||||||
public static final int[] QUEST_TEXT = { 8144, 8145, 8147, 8148, 8149, 8150, 8151, 8152, 8153, 8154, 8155, 8156,
|
public static final int[] QUEST_TEXT = { 8144, 8145, 8147, 8148, 8149, 8150, 8151, 8152, 8153, 8154, 8155, 8156,
|
||||||
8157, 8158, 8159, 8160, 8161, 8162, 8163, 8164, 8165, 8166, 8167, 8168, 8169, 8170, 8171, 8172, 8173, 8174,
|
8157, 8158, 8159, 8160, 8161, 8162, 8163, 8164, 8165, 8166, 8167, 8168, 8169, 8170, 8171, 8172, 8173, 8174,
|
||||||
@@ -28,11 +47,4 @@ public final class QuestConstants {
|
|||||||
12201, 12202, 12203, 12204, 12205, 12206, 12207, 12208, 12209, 12210, 12211, 12212, 12213, 12214, 12215,
|
12201, 12202, 12203, 12204, 12205, 12206, 12207, 12208, 12209, 12210, 12211, 12212, 12213, 12214, 12215,
|
||||||
12216, 12217, 12218, 12219, 12220, 12221, 12222, 12223 };
|
12216, 12217, 12218, 12219, 12220, 12221, 12222, 12223 };
|
||||||
|
|
||||||
/**
|
|
||||||
* Default private constructor to prevent instantiation.
|
|
||||||
*/
|
|
||||||
private QuestConstants() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -36,7 +36,6 @@ public final class InterfaceSet {
|
|||||||
*/
|
*/
|
||||||
private EnterAmountListener amountListener;
|
private EnterAmountListener amountListener;
|
||||||
|
|
||||||
// TODO: maybe store the current inventory tab ids here??
|
|
||||||
/**
|
/**
|
||||||
* A map of open interfaces.
|
* A map of open interfaces.
|
||||||
*/
|
*/
|
||||||
@@ -174,4 +173,13 @@ public final class InterfaceSet {
|
|||||||
player.send(new OpenInterfaceSidebarEvent(windowId, sidebarId));
|
player.send(new OpenInterfaceSidebarEvent(windowId, sidebarId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the size of the interface set.
|
||||||
|
*
|
||||||
|
* @return The size.
|
||||||
|
*/
|
||||||
|
public int size() {
|
||||||
|
return interfaces.size();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,15 @@
|
|||||||
package org.apollo.game.model;
|
package org.apollo.game.model;
|
||||||
|
|
||||||
import java.util.ArrayDeque;
|
import java.util.ArrayDeque;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Queue;
|
import java.util.Queue;
|
||||||
|
|
||||||
import org.apollo.game.event.Event;
|
import org.apollo.game.event.Event;
|
||||||
|
import org.apollo.game.event.impl.ConfigEvent;
|
||||||
import org.apollo.game.event.impl.IdAssignmentEvent;
|
import org.apollo.game.event.impl.IdAssignmentEvent;
|
||||||
import org.apollo.game.event.impl.LogoutEvent;
|
import org.apollo.game.event.impl.LogoutEvent;
|
||||||
import org.apollo.game.event.impl.ServerMessageEvent;
|
import org.apollo.game.event.impl.ServerMessageEvent;
|
||||||
|
import org.apollo.game.event.impl.SetWidgetTextEvent;
|
||||||
import org.apollo.game.event.impl.SwitchTabInterfaceEvent;
|
import org.apollo.game.event.impl.SwitchTabInterfaceEvent;
|
||||||
import org.apollo.game.model.inter.bank.BankConstants;
|
import org.apollo.game.model.inter.bank.BankConstants;
|
||||||
import org.apollo.game.model.inv.AppearanceInventoryListener;
|
import org.apollo.game.model.inv.AppearanceInventoryListener;
|
||||||
@@ -105,6 +108,11 @@ public final class Player extends Character {
|
|||||||
*/
|
*/
|
||||||
private boolean designedCharacter = false;
|
private boolean designedCharacter = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The player's run energy.
|
||||||
|
*/
|
||||||
|
private int runEnergy = 100;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A flag which indicates there are npcs that couldn't be added.
|
* A flag which indicates there are npcs that couldn't be added.
|
||||||
*/
|
*/
|
||||||
@@ -173,7 +181,7 @@ public final class Player extends Character {
|
|||||||
/**
|
/**
|
||||||
* A flag indicating if the player is withdrawing items as notes.
|
* A flag indicating if the player is withdrawing items as notes.
|
||||||
*/
|
*/
|
||||||
private boolean withdrawingNotes = false; // TODO find a better place!
|
private boolean withdrawingNotes = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the {@link Player}.
|
* Creates the {@link Player}.
|
||||||
@@ -191,7 +199,7 @@ public final class Player extends Character {
|
|||||||
* Decrements this player's viewing distance if it is greater than 1.
|
* Decrements this player's viewing distance if it is greater than 1.
|
||||||
*/
|
*/
|
||||||
public void decrementViewingDistance() {
|
public void decrementViewingDistance() {
|
||||||
if (viewingDistance > 1) { // TODO should it be 0?
|
if (viewingDistance > 1) {
|
||||||
viewingDistance--;
|
viewingDistance--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -496,27 +504,19 @@ public final class Player extends Character {
|
|||||||
send(new IdAssignmentEvent(getIndex(), members)); // TODO should this be sent when we reconnect?
|
send(new IdAssignmentEvent(getIndex(), members)); // TODO should this be sent when we reconnect?
|
||||||
sendMessage("Welcome to RuneScape.");
|
sendMessage("Welcome to RuneScape.");
|
||||||
|
|
||||||
// character design screen
|
|
||||||
if (!designedCharacter) {
|
if (!designedCharacter) {
|
||||||
interfaceSet.openWindow(3559); // TODO make the interface id a constant or something?
|
interfaceSet.openWindow(InterfaceConstants.CHARACTER_DESIGN);
|
||||||
}
|
}
|
||||||
|
|
||||||
// tabs TODO make a constant? look at player settings
|
int[] tabs = InterfaceConstants.DEFAULT_INVENTORY_TABS;
|
||||||
int[] tabs = {
|
|
||||||
// 6299 = music tab, music disabled
|
|
||||||
// 4445 = settings tab, music disabled
|
|
||||||
// 12855 = ancients magic
|
|
||||||
2423, 3917, 638, 3213, 1644, 5608, 1151, -1, 5065, 5715, 2449, 904, 147, 962, };
|
|
||||||
for (int i = 0; i < tabs.length; i++) {
|
for (int i = 0; i < tabs.length; i++) {
|
||||||
send(new SwitchTabInterfaceEvent(i, tabs[i]));
|
send(new SwitchTabInterfaceEvent(i, tabs[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
// force inventories to update
|
|
||||||
getInventory().forceRefresh();
|
getInventory().forceRefresh();
|
||||||
getEquipment().forceRefresh();
|
getEquipment().forceRefresh();
|
||||||
getBank().forceRefresh();
|
getBank().forceRefresh();
|
||||||
|
|
||||||
// force skills to update
|
|
||||||
getSkillSet().forceRefresh();
|
getSkillSet().forceRefresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -529,6 +529,23 @@ public final class Player extends Character {
|
|||||||
send(new ServerMessageEvent(message));
|
send(new ServerMessageEvent(message));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sends the quest interface
|
||||||
|
*
|
||||||
|
* @param text The text to display on the interface.
|
||||||
|
*/
|
||||||
|
public void sendQuestInterface(List<String> text) {
|
||||||
|
int size = text.size(), lines = InterfaceConstants.QUEST_TEXT.length;
|
||||||
|
if (size > lines) {
|
||||||
|
throw new IllegalArgumentException("List contains too much text for the interface.");
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int pos = 0; pos < lines; pos++) {
|
||||||
|
send(new SetWidgetTextEvent(InterfaceConstants.QUEST_TEXT[pos], pos < size ? text.get(pos) : ""));
|
||||||
|
}
|
||||||
|
interfaceSet.openWindow(InterfaceConstants.QUEST_INTERFACE);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the player's appearance.
|
* Sets the player's appearance.
|
||||||
*
|
*
|
||||||
@@ -602,16 +619,6 @@ public final class Player extends Character {
|
|||||||
this.regionChanged = regionChanged;
|
this.regionChanged = regionChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets whether the running toggle is enabled.
|
|
||||||
*
|
|
||||||
* @param running The toggle.
|
|
||||||
*/
|
|
||||||
public void setRunning(boolean running) {
|
|
||||||
this.running = running;
|
|
||||||
getWalkingQueue().setRunningQueue(running);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the player's {@link GameSession}.
|
* Sets the player's {@link GameSession}.
|
||||||
*
|
*
|
||||||
@@ -638,7 +645,18 @@ public final class Player extends Character {
|
|||||||
@Override
|
@Override
|
||||||
public void teleport(Position position) {
|
public void teleport(Position position) {
|
||||||
super.teleport(position); // TODO put this in the same place as Character#teleport and WalkEventHandler!!
|
super.teleport(position); // TODO put this in the same place as Character#teleport and WalkEventHandler!!
|
||||||
interfaceSet.close(); // TODO: should this be done if size == 0?
|
if (interfaceSet.size() > 0) {
|
||||||
|
interfaceSet.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Toggles whether the player is running or not.
|
||||||
|
*/
|
||||||
|
public void toggleRunning() {
|
||||||
|
running = !running;
|
||||||
|
getWalkingQueue().setRunningQueue(running);
|
||||||
|
send(new ConfigEvent(173, running ? 1 : 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -647,4 +665,22 @@ public final class Player extends Character {
|
|||||||
+ privilegeLevel + "]";
|
+ privilegeLevel + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the player's run energy.
|
||||||
|
*
|
||||||
|
* @return The run energy.
|
||||||
|
*/
|
||||||
|
public int getRunEnergy() {
|
||||||
|
return runEnergy;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the player's run energy.
|
||||||
|
*
|
||||||
|
* @param runEnergy The energy.
|
||||||
|
*/
|
||||||
|
public void setRunEnergy(int runEnergy) {
|
||||||
|
this.runEnergy = runEnergy;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
/**
|
|
||||||
* Contains classes related to the quest interfaces.
|
|
||||||
*/
|
|
||||||
package org.apollo.game.model.inter.quest;
|
|
||||||
|
|
||||||
@@ -75,29 +75,34 @@ public final class Release317 extends Release {
|
|||||||
*/
|
*/
|
||||||
private void init() {
|
private void init() {
|
||||||
// register decoders
|
// register decoders
|
||||||
register(0, new KeepAliveEventDecoder());
|
|
||||||
register(101, new CharacterDesignEventDecoder());
|
|
||||||
WalkEventDecoder walkEventDecoder = new WalkEventDecoder();
|
WalkEventDecoder walkEventDecoder = new WalkEventDecoder();
|
||||||
register(248, walkEventDecoder);
|
register(248, walkEventDecoder);
|
||||||
register(164, walkEventDecoder);
|
register(164, walkEventDecoder);
|
||||||
register(98, walkEventDecoder);
|
register(98, walkEventDecoder);
|
||||||
|
|
||||||
|
register(0, new KeepAliveEventDecoder());
|
||||||
|
register(101, new CharacterDesignEventDecoder());
|
||||||
register(4, new ChatEventDecoder());
|
register(4, new ChatEventDecoder());
|
||||||
register(185, new ButtonEventDecoder());
|
|
||||||
register(103, new CommandEventDecoder());
|
register(103, new CommandEventDecoder());
|
||||||
register(214, new SwitchItemEventDecoder());
|
register(214, new SwitchItemEventDecoder());
|
||||||
|
|
||||||
register(132, new FirstObjectActionEventDecoder());
|
register(132, new FirstObjectActionEventDecoder());
|
||||||
register(252, new SecondObjectActionEventDecoder());
|
register(252, new SecondObjectActionEventDecoder());
|
||||||
register(70, new ThirdObjectActionEventDecoder());
|
register(70, new ThirdObjectActionEventDecoder());
|
||||||
|
|
||||||
register(122, new FirstItemOptionEventDecoder());
|
register(122, new FirstItemOptionEventDecoder());
|
||||||
register(41, new SecondItemOptionEventDecoder());
|
register(41, new SecondItemOptionEventDecoder());
|
||||||
register(16, new ThirdItemOptionEventDecoder());
|
register(16, new ThirdItemOptionEventDecoder());
|
||||||
register(75, new FourthItemOptionEventDecoder());
|
register(75, new FourthItemOptionEventDecoder());
|
||||||
register(87, new FifthItemOptionEventDecoder());
|
register(87, new FifthItemOptionEventDecoder());
|
||||||
|
|
||||||
register(145, new FirstItemActionEventDecoder());
|
register(145, new FirstItemActionEventDecoder());
|
||||||
register(117, new SecondItemActionEventDecoder());
|
register(117, new SecondItemActionEventDecoder());
|
||||||
register(43, new ThirdItemActionEventDecoder());
|
register(43, new ThirdItemActionEventDecoder());
|
||||||
register(129, new FourthItemActionEventDecoder());
|
register(129, new FourthItemActionEventDecoder());
|
||||||
register(135, new FifthItemActionEventDecoder());
|
register(135, new FifthItemActionEventDecoder());
|
||||||
|
|
||||||
|
register(185, new ButtonEventDecoder());
|
||||||
register(130, new ClosedInterfaceEventDecoder());
|
register(130, new ClosedInterfaceEventDecoder());
|
||||||
register(208, new EnteredAmountEventDecoder());
|
register(208, new EnteredAmountEventDecoder());
|
||||||
register(53, new ItemOnItemEventDecoder());
|
register(53, new ItemOnItemEventDecoder());
|
||||||
|
|||||||
@@ -75,29 +75,34 @@ public final class Release377 extends Release {
|
|||||||
*/
|
*/
|
||||||
private void init() {
|
private void init() {
|
||||||
// register decoders
|
// register decoders
|
||||||
register(248, new KeepAliveEventDecoder());
|
|
||||||
register(163, new CharacterDesignEventDecoder());
|
|
||||||
WalkEventDecoder walkEventDecoder = new WalkEventDecoder();
|
WalkEventDecoder walkEventDecoder = new WalkEventDecoder();
|
||||||
register(213, walkEventDecoder);
|
register(213, walkEventDecoder);
|
||||||
register(28, walkEventDecoder);
|
register(28, walkEventDecoder);
|
||||||
register(247, walkEventDecoder);
|
register(247, walkEventDecoder);
|
||||||
|
|
||||||
|
register(248, new KeepAliveEventDecoder());
|
||||||
|
register(163, new CharacterDesignEventDecoder());
|
||||||
register(49, new ChatEventDecoder());
|
register(49, new ChatEventDecoder());
|
||||||
register(79, new ButtonEventDecoder());
|
|
||||||
register(56, new CommandEventDecoder());
|
register(56, new CommandEventDecoder());
|
||||||
register(123, new SwitchItemEventDecoder());
|
register(123, new SwitchItemEventDecoder());
|
||||||
|
|
||||||
register(181, new FirstObjectActionEventDecoder());
|
register(181, new FirstObjectActionEventDecoder());
|
||||||
register(241, new SecondObjectActionEventDecoder());
|
register(241, new SecondObjectActionEventDecoder());
|
||||||
register(50, new ThirdObjectActionEventDecoder());
|
register(50, new ThirdObjectActionEventDecoder());
|
||||||
|
|
||||||
register(203, new FirstItemOptionEventDecoder());
|
register(203, new FirstItemOptionEventDecoder());
|
||||||
register(24, new SecondItemOptionEventDecoder());
|
register(24, new SecondItemOptionEventDecoder());
|
||||||
register(161, new ThirdItemOptionEventDecoder());
|
register(161, new ThirdItemOptionEventDecoder());
|
||||||
register(228, new FourthItemOptionEventDecoder());
|
register(228, new FourthItemOptionEventDecoder());
|
||||||
register(4, new FifthItemOptionEventDecoder());
|
register(4, new FifthItemOptionEventDecoder());
|
||||||
|
|
||||||
register(3, new FirstItemActionEventDecoder());
|
register(3, new FirstItemActionEventDecoder());
|
||||||
register(177, new SecondItemActionEventDecoder());
|
register(177, new SecondItemActionEventDecoder());
|
||||||
register(91, new ThirdItemActionEventDecoder());
|
register(91, new ThirdItemActionEventDecoder());
|
||||||
register(231, new FourthItemActionEventDecoder());
|
register(231, new FourthItemActionEventDecoder());
|
||||||
register(158, new FifthItemActionEventDecoder());
|
register(158, new FifthItemActionEventDecoder());
|
||||||
|
|
||||||
|
register(79, new ButtonEventDecoder());
|
||||||
register(110, new ClosedInterfaceEventDecoder());
|
register(110, new ClosedInterfaceEventDecoder());
|
||||||
register(75, new EnteredAmountEventDecoder());
|
register(75, new EnteredAmountEventDecoder());
|
||||||
register(1, new ItemOnItemEventDecoder());
|
register(1, new ItemOnItemEventDecoder());
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import java.util.Collection;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.SortedSet;
|
import java.util.SortedSet;
|
||||||
@@ -46,12 +45,12 @@ public final class PluginManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an iterator for the set of authors.
|
* Creates an unmodifiable {@link Set} containing the authors.
|
||||||
*
|
*
|
||||||
* @return The iterator.
|
* @return The set.
|
||||||
*/
|
*/
|
||||||
public Iterator<String> createAuthorsIterator() {
|
public Set<String> getAuthors() {
|
||||||
return authors.iterator();
|
return Collections.unmodifiableSortedSet(authors);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user