Emberveil sourcetests/BankSmoke.java
import java.net.InetAddress;
public final class BankSmoke extends OnlineSmoke {
boolean opened, withdrew, deposited;
void command(String text) { stream.createFrame(103);stream.writeWordBigEndian(text.length()+1);stream.writeString(text); }
void itemClick(int widget,int slot,int item) { stream.createFrame(145);stream.method432(widget);stream.method432(slot);stream.method432(item); }
@Override public void processGameLoop() {
super.processGameLoop();
if(!loggedIn || loadingStage!=2) return;
if(ticks==40) { System.out.println("Bank client capacity="+RSInterface.interfaceCache[5382].inv.length);command("bank"); }
if(openInterfaceID==5292) opened=true;
if(ticks==100) {System.out.println("Bank first item="+RSInterface.interfaceCache[5382].inv[0]+" count="+RSInterface.interfaceCache[5382].invStackSizes[0]); itemClick(5382,0,11694);}
if(ticks==140) { withdrew=RSInterface.interfaceCache[5064].inv[0]==11695; System.out.println("Inventory after withdraw="+RSInterface.interfaceCache[5064].inv[0]); itemClick(5064,0,11694); }
if(ticks==180) {deposited=RSInterface.interfaceCache[5064].inv[0]==0; for(String line:chatMessages)if(line!=null)System.out.println("Chat: "+line);}
if(ticks>200 && ticks<900 && ticks%60==0) { closeOpenInterfaces();command("bank"); }
if(ticks==1000) {
boolean pass=opened&&withdrew&&deposited;
System.out.println((pass?"PASS":"FAIL")+" bank opened="+opened+" withdrew="+withdrew+" deposited="+deposited+" loaded="+RSInterface.interfaceCache[5382].inv.length);
System.exit(pass?0:1);
}
}
public static void main(String[] args)throws Exception {
host=args[0]; username=args[1]; peer=username;targetTicks=6000;
if(!username.equals("evnet777777a"))throw new IllegalArgumentException("QA fixture only");
ClientSettings.SERVER_IP=host;ClientSettings.SERVER_WORLD=1;ClientSettings.CHECK_CRC=false;
ClientSettings.SHOW_NAVBAR=false;Game.nodeID=10;Game.portOff=0;Game.setHighMem();Game.isMembers=true;
Signlink.storeid=32;Signlink.startpriv(InetAddress.getLocalHost());
BankSmoke client=new BankSmoke();client.testWalking=false;client.testChat=false;client.createClientFrame(503,765);client.gameFrame.setVisible(false);
}
}