Telekinetic grab and stuff (#508)

* tidy up

* Tidy up check for space

* Telekinetic base

* Don't allow player to pickup statue

* Tidy up item pickup

* fixup, statue spawn

* Update telekinetic grab

* 2nd option for guardian statue

* handle telegrab on statue

* Allow picking up global drops with telekinetic grab

* Check if player can see/reach item

* Update PickupItem.java

* Allow pasting into chatbox

* camera stuff

* fixup clipboard stuff

* Update PlayerAssistant.java

* Update Commands.java

* Add mazes initial

* Tidy up the clipboard pasting

* Update mazes

* Calculate new position of statue

* fixup telegrab

* More tidy up, remove constant running of container

* more tidy up..

* Handle moving statues

* remove the statue from global drops

* Update MagicOnFloorItems.java

* Show telekinetic interface

* Make public accessable

* Only show items to player that are on the same height level

* Moving statues around, Spawning

* Reward exp, points, law runes

* Show points, mazes completed

* Add comment

* Add observable statue (still needs work)

* Fixup where camera focuses

* Load items when player changes level

* Graveyard base

* Add a couple more checks

* Update Player.java

* Update Commands.java

* Make sure statue is visible when player appears at maze

* [Mage training arena] Graveyard

* Update MageTrainingArena.java

* Update MageTrainingArena.java

* Update ItemHandler.java
This commit is contained in:
Danial
2021-10-05 16:01:16 +13:00
committed by GitHub
parent c526aa5f4d
commit 2d8ae82086
22 changed files with 719 additions and 193 deletions
+40 -6
View File
@@ -6,6 +6,7 @@
import javax.swing.*;
import java.applet.AppletContext;
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.KeyEvent;
import java.awt.event.MouseWheelEvent;
import java.io.ByteArrayInputStream;
@@ -9177,12 +9178,14 @@ public class Game extends RSApplet {
}
public int method121() {
int j = method42(plane, yCameraPos, xCameraPos);
if (j - zCameraPos < 800 && (byteGroundArray[plane][xCameraPos >> 7][yCameraPos >> 7] & 4) != 0) {
return plane;
} else {
return 3;
}
// Hide other planes when using fixed camera
return plane;
// int j = method42(plane, yCameraPos, xCameraPos);
// if (j - zCameraPos < 800 && (byteGroundArray[plane][xCameraPos >> 7][yCameraPos >> 7] & 4) != 0) {
// return plane;
// } else {
// return 3;
// }
}
public void delIgnore(long l) {
@@ -12599,6 +12602,14 @@ public class Game extends RSApplet {
if (zoom < (WorldController.drawDistance / 3))
zoom++;
break;
case KeyEvent.VK_V:
if (keyevent.isControlDown()) {
inputString += getClipBoard();
if (inputString.length() > 80) {
inputString = inputString.substring(0, 80);
}
inputTaken = true;
}
}
}
@@ -12782,4 +12793,27 @@ public class Game extends RSApplet {
}
}
}
public String getClipBoard(){
String myString = "";
try {
myString = (String)Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor);
} catch (HeadlessException e) {
e.printStackTrace();
} catch (UnsupportedFlavorException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
String output = "";
for(int i = 0; i < myString.length(); i++) {
int j = (int) myString.charAt(i);
if (j >= 32 && j <= 122) {
output += (char) j;
}
}
return output;
}
}