mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-06 08:39:06 +00:00
init, thx MrExtremez
This commit is contained in:
@@ -0,0 +1,351 @@
|
||||
package redone.game.content;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.GregorianCalendar;
|
||||
|
||||
import redone.game.players.Client;
|
||||
import redone.util.Misc;
|
||||
|
||||
/**
|
||||
* Handles the BankPin on Bank's
|
||||
*
|
||||
* @author Michael
|
||||
* @author Ian / Core
|
||||
* @author Linus
|
||||
* @author Genesis
|
||||
*/
|
||||
|
||||
public class BankPin {
|
||||
|
||||
public int recovery_Delay = 3;
|
||||
|
||||
private final Client client;
|
||||
|
||||
public BankPin(Client client) {
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
public int allowTimer = 2000000;
|
||||
|
||||
public int dateExpired() {
|
||||
return client.pinDeleteDateRequested = dateRequested() + recovery_Delay;
|
||||
}
|
||||
|
||||
public int dateRequested() {
|
||||
Calendar cal = new GregorianCalendar();
|
||||
int day = cal.get(Calendar.DAY_OF_MONTH);
|
||||
int month = cal.get(Calendar.MONTH);
|
||||
int year = cal.get(Calendar.YEAR);
|
||||
return client.pinDeleteDateRequested = year * 10000 + month * 100 + day;
|
||||
}
|
||||
|
||||
public void closeBankPin() {
|
||||
firstPin = secondPin = thirdPin = fourthPin = client.playerBankPin = 0;
|
||||
falseButtons();
|
||||
client.getPlayerAssistant().removeAllWindows();
|
||||
}
|
||||
|
||||
public void pinSettingFrames() {
|
||||
int pinSendFrames[] = { 15075, 15080, 15110, 15171, 15076, 15176,
|
||||
15104, 15082, 15079 };
|
||||
for (int j = 0; j < 9; j++) {
|
||||
client.getPlayerAssistant().sendFrame126("", pinSendFrames[j]);
|
||||
}
|
||||
client.getPlayerAssistant().sendFrame126("Welcome to our bank", 15038);
|
||||
client.getPlayerAssistant().sendFrame126("recovery system.", 15039);
|
||||
client.getPlayerAssistant().sendFrame126("Remember, it's important",
|
||||
15040);
|
||||
client.getPlayerAssistant()
|
||||
.sendFrame126("to change your recovery", 15041);
|
||||
client.getPlayerAssistant().sendFrame126("pin and password", 15042);
|
||||
client.getPlayerAssistant().sendFrame126("every 1-3 months", 15043);
|
||||
if (!client.hasBankpin) {
|
||||
client.getPlayerAssistant().sendFrame126("Set a Bank Pin", 15078);
|
||||
client.getPlayerAssistant().sendFrame126("No PIN Set", 15105);
|
||||
} else {
|
||||
client.getPlayerAssistant().sendFrame126("Delete your PIN", 15078);
|
||||
if (client.requestPinDelete) {
|
||||
client.getPlayerAssistant().sendFrame126("Pending delete", 15105);
|
||||
} else {
|
||||
client.getPlayerAssistant().sendFrame126("Has Bank PIN", 15105);
|
||||
}
|
||||
}
|
||||
client.getPlayerAssistant().sendFrame126(recovery_Delay + " days", 15107);
|
||||
}
|
||||
|
||||
public void bankPinSettings() {
|
||||
pinSettingFrames();
|
||||
client.getPlayerAssistant().showInterface(14924);
|
||||
}
|
||||
|
||||
private int resetBankNumbers() {
|
||||
return firstPin = secondPin = thirdPin = fourthPin = client.playerBankPin = client.firstPin = client.secondPin = client.thirdPin = client.fourthPin = -1;
|
||||
}
|
||||
|
||||
public boolean resetBankPin() {
|
||||
resetBankNumbers();
|
||||
falseButtons();
|
||||
client.getPlayerAssistant().closeAllWindows();
|
||||
return client.hasBankpin = false;
|
||||
}
|
||||
|
||||
public void bankPinEnter(int button) {
|
||||
if (allowTimer > 0 && allowTimer <= 300000) {
|
||||
int time = allowTimer / 6000;
|
||||
if (time >= 2) {
|
||||
client.getActionSender()
|
||||
.sendMessage(
|
||||
"Please wait "
|
||||
+ time
|
||||
+ " minutes before attempting your bank pin again.");
|
||||
} else if (time == 1) {
|
||||
client.getActionSender()
|
||||
.sendMessage(
|
||||
"Please wait "
|
||||
+ time
|
||||
+ " minute before attempting your bank pin again.");
|
||||
} else if (time <= 0) {
|
||||
client.getActionSender()
|
||||
.sendMessage(
|
||||
"Please wait less "
|
||||
+ "than a minute before attempting your bank pin again.");
|
||||
}
|
||||
return;
|
||||
}
|
||||
sendPins();
|
||||
if (!client.firstPinEnter) {
|
||||
handleButtonOne(button);
|
||||
} else if (!client.secondPinEnter) {
|
||||
handleButtonTwo(button);
|
||||
} else if (!client.thirdPinEnter) {
|
||||
handleButtonThree(button);
|
||||
} else if (!client.fourthPinEnter) {
|
||||
handleButtonFour(button);
|
||||
}
|
||||
}
|
||||
|
||||
public void openPin() {
|
||||
if (client.enterdBankpin) {
|
||||
client.getPlayerAssistant().openUpBank();
|
||||
return;
|
||||
}
|
||||
randomizeNumbers();
|
||||
client.getPlayerAssistant().sendFrame126("First click the FIRST digit",
|
||||
15313);
|
||||
client.getPlayerAssistant().sendFrame126("", 14923);
|
||||
int pinSendFrames[] = { 14913, 14914, 14915, 14916 };
|
||||
for (int j = 0; j < 4; j++) {
|
||||
client.getPlayerAssistant().sendFrame126("?", pinSendFrames[j]);
|
||||
}
|
||||
client.getPlayerAssistant().showInterface(7424);
|
||||
sendPins();
|
||||
}
|
||||
|
||||
private void sendPins() {
|
||||
if (client.enterdBankpin) {
|
||||
client.getPlayerAssistant().openUpBank();
|
||||
return;
|
||||
}
|
||||
for (int i = 0; i < getBankPins().length; i++) {
|
||||
client.getPlayerAssistant().sendFrame126("" + getBankPins()[i],
|
||||
stringIds[i]);
|
||||
}
|
||||
}
|
||||
|
||||
private void handleButtonOne(int button) {
|
||||
client.getPlayerAssistant().sendFrame126("Now click the SECOND digit",
|
||||
15313);
|
||||
client.getPlayerAssistant().sendFrame126("*", 14913);
|
||||
for (int i = 0; i < getActionButtons().length; i++) {
|
||||
if (getActionButtons()[i] == button) {
|
||||
firstPin = getBankPins()[i];
|
||||
}
|
||||
}
|
||||
client.firstPinEnter = true;
|
||||
randomizeNumbers();
|
||||
}
|
||||
|
||||
private void handleButtonTwo(int button) {
|
||||
client.getPlayerAssistant().sendFrame126("Now click the THIRD digit",
|
||||
15313);
|
||||
client.getPlayerAssistant().sendFrame126("*", 14914);
|
||||
for (int i = 0; i < getActionButtons().length; i++) {
|
||||
if (getActionButtons()[i] == button) {
|
||||
secondPin = getBankPins()[i];
|
||||
}
|
||||
}
|
||||
client.secondPinEnter = true;
|
||||
randomizeNumbers();
|
||||
}
|
||||
|
||||
private void handleButtonThree(int button) {
|
||||
client.getPlayerAssistant().sendFrame126("Now click the LAST digit",
|
||||
15313);
|
||||
client.getPlayerAssistant().sendFrame126("*", 14915);
|
||||
for (int i = 0; i < getActionButtons().length; i++) {
|
||||
if (getActionButtons()[i] == button) {
|
||||
thirdPin = getBankPins()[i];
|
||||
}
|
||||
}
|
||||
client.thirdPinEnter = true;
|
||||
randomizeNumbers();
|
||||
}
|
||||
|
||||
private boolean falseButtons() {
|
||||
return client.fourthPinEnter = client.thirdPinEnter = client.secondPinEnter = client.firstPinEnter = false;
|
||||
}
|
||||
|
||||
private void handleButtonFour(int button) {
|
||||
if (client.enterdBankpin) {
|
||||
client.getPlayerAssistant().openUpBank();
|
||||
return;
|
||||
}
|
||||
client.getPlayerAssistant().sendFrame126("*", 14916);
|
||||
for (int i = 0; i < getActionButtons().length; i++) {
|
||||
if (getActionButtons()[i] == button) {
|
||||
fourthPin = getBankPins()[i];
|
||||
}
|
||||
}
|
||||
client.fourthPinEnter = true;
|
||||
if (!client.hasBankpin) {
|
||||
client.firstPin = client.bankPin1 = firstPin;
|
||||
client.secondPin = client.bankPin2 = secondPin;
|
||||
client.thirdPin = client.bankPin3 = thirdPin;
|
||||
client.fourthPin = client.bankPin4 = fourthPin;
|
||||
client.hasBankpin = client.enterdBankpin = true;
|
||||
client.getActionSender().sendMessage(
|
||||
"You have just created a bank pin.");
|
||||
client.getActionSender().sendMessage(
|
||||
"Your new Bank PIN is: " + firstPin + " - " + secondPin
|
||||
+ " - " + thirdPin + " - " + fourthPin);
|
||||
client.saveCharacter = true;
|
||||
}
|
||||
|
||||
int one = firstPin, two = secondPin, three = thirdPin, four = fourthPin;
|
||||
if (client.bankPin1 == one && client.bankPin2 == two
|
||||
&& client.bankPin3 == three && client.bankPin4 == four) {
|
||||
falseButtons();
|
||||
client.getPlayerAssistant().removeAllWindows();
|
||||
client.enterdBankpin = true;
|
||||
client.playerBankPin = 15000;
|
||||
client.getPlayerAssistant().openUpBank();
|
||||
|
||||
} else {
|
||||
client.attemptsRemaining--;
|
||||
if (client.attemptsRemaining <= 0) {
|
||||
allowTimer = 30000;
|
||||
}
|
||||
if (client.attemptsRemaining == -1) {
|
||||
client.attemptsRemaining = 3;
|
||||
allowTimer = 2000000;
|
||||
}
|
||||
if (client.attemptsRemaining > 1) {
|
||||
client.getActionSender().sendMessage(
|
||||
"Invalid pin. You have " + client.attemptsRemaining
|
||||
+ " attempts remaining.");
|
||||
} else if (client.attemptsRemaining == 1) {
|
||||
client.getActionSender().sendMessage(
|
||||
"Invalid pin. You have " + client.attemptsRemaining
|
||||
+ " attempt remaining.");
|
||||
} else if (client.attemptsRemaining <= 0) {
|
||||
client.getActionSender()
|
||||
.sendMessage(
|
||||
"Invalid pin. You must wait 5 minutes before attempting again.");
|
||||
}
|
||||
client.getPlayerAssistant().removeAllWindows();
|
||||
falseButtons();
|
||||
}
|
||||
}
|
||||
|
||||
private void randomizeNumbers() {
|
||||
int i = Misc.random(4);
|
||||
if (i == client.lastPinSettings) {
|
||||
i = client.lastPinSettings == 0 ? client.lastPinSettings
|
||||
: client.lastPinSettings;
|
||||
}
|
||||
switch (i) {
|
||||
case 0:
|
||||
bankPins[0] = 1;
|
||||
bankPins[1] = 7;
|
||||
bankPins[2] = 0;
|
||||
bankPins[3] = 8;
|
||||
bankPins[4] = 4;
|
||||
bankPins[5] = 6;
|
||||
bankPins[6] = 5;
|
||||
bankPins[7] = 9;
|
||||
bankPins[8] = 3;
|
||||
bankPins[9] = 2;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
bankPins[0] = 5;
|
||||
bankPins[1] = 4;
|
||||
bankPins[2] = 3;
|
||||
bankPins[3] = 7;
|
||||
bankPins[4] = 8;
|
||||
bankPins[5] = 6;
|
||||
bankPins[6] = 9;
|
||||
bankPins[7] = 2;
|
||||
bankPins[8] = 1;
|
||||
bankPins[9] = 0;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
bankPins[0] = 4;
|
||||
bankPins[1] = 7;
|
||||
bankPins[2] = 6;
|
||||
bankPins[3] = 5;
|
||||
bankPins[4] = 2;
|
||||
bankPins[5] = 3;
|
||||
bankPins[6] = 1;
|
||||
bankPins[7] = 8;
|
||||
bankPins[8] = 9;
|
||||
bankPins[9] = 0;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
bankPins[0] = 9;
|
||||
bankPins[1] = 4;
|
||||
bankPins[2] = 2;
|
||||
bankPins[3] = 7;
|
||||
bankPins[4] = 8;
|
||||
bankPins[5] = 6;
|
||||
bankPins[6] = 0;
|
||||
bankPins[7] = 3;
|
||||
bankPins[8] = 1;
|
||||
bankPins[9] = 5;
|
||||
break;
|
||||
}
|
||||
client.lastPinSettings = i;
|
||||
sendPins();
|
||||
}
|
||||
|
||||
private final int bankPins[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
|
||||
private final int stringIds[] = { 14883, 14884, 14885, 14886, 14887, 14888,
|
||||
14889, 14890, 14891, 14892 };
|
||||
private final int actionButtons[] = { 58025, 58026, 58027, 58028, 58029,
|
||||
58030, 58031, 58032, 58033, 58034 };
|
||||
|
||||
private int[] getBankPins() {
|
||||
return bankPins;
|
||||
}
|
||||
|
||||
private int[] getActionButtons() {
|
||||
return actionButtons;
|
||||
}
|
||||
|
||||
private int firstPin;
|
||||
private int secondPin;
|
||||
private int thirdPin;
|
||||
private int fourthPin;
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "BankPin{" + "recovery_Delay=" + recovery_Delay + ", client="
|
||||
+ client + ", allowTimer=" + allowTimer + ", bankPins="
|
||||
+ bankPins + ", stringIds=" + stringIds + ", actionButtons="
|
||||
+ actionButtons + ", firstPin=" + firstPin + ", secondPin="
|
||||
+ secondPin + ", thirdPin=" + thirdPin + ", fourthPin="
|
||||
+ fourthPin + '}';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user