Merge remote-tracking branch 'upstream/master'

This commit is contained in:
skelsoft
2021-06-27 07:40:04 +10:00
5 changed files with 157 additions and 119 deletions
+122 -98
View File
@@ -15934,25 +15934,13 @@
{
"minAmount": "1",
"weight": "50.0",
"id": "1069",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "1197",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "5.0",
"id": "1161",
"id": "1365",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "50.0",
"id": "1365",
"id": "1069",
"maxAmount": "1"
},
{
@@ -15967,6 +15955,24 @@
"id": "1243",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "1197",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "5.0",
"id": "1145",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "1161",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
@@ -15977,7 +15983,7 @@
"minAmount": "75",
"weight": "50.0",
"id": "555",
"maxAmount": "150"
"maxAmount": "75"
},
{
"minAmount": "37",
@@ -15987,52 +15993,34 @@
},
{
"minAmount": "15",
"weight": "50.0",
"weight": "25.0",
"id": "561",
"maxAmount": "15"
},
{
"minAmount": "30",
"weight": "50.0",
"weight": "25.0",
"id": "561",
"maxAmount": "30"
},
{
"minAmount": "75",
"weight": "5.0",
"id": "561",
"maxAmount": "75"
},
{
"minAmount": "3",
"weight": "50.0",
"id": "563",
"maxAmount": "3"
},
{
"minAmount": "1",
"weight": "50.0",
"id": "209",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "50.0",
"id": "205",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "199",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "211",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "215",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
@@ -16045,18 +16033,42 @@
"id": "203",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "205",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "207",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "209",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "211",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "213",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "215",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
@@ -16095,13 +16107,13 @@
},
{
"minAmount": "1",
"weight": "5.0",
"weight": "15.5",
"id": "31",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "100.0",
"weight": "150.0",
"id": "0",
"maxAmount": "1"
}
@@ -33764,50 +33776,38 @@
"main": [
{
"minAmount": "9",
"weight": "1.0",
"weight": "0.665",
"id": "6522",
"maxAmount": "9"
},
{
"minAmount": "11",
"weight": "1.0",
"id": "6522",
"maxAmount": "11"
"maxAmount": "19"
},
{
"minAmount": "1",
"weight": "1.0",
"weight": "0.665",
"id": "6523",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "1.0",
"weight": "0.665",
"id": "6525",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "1.0",
"id": "6524",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "1.0",
"weight": "0.665",
"id": "6568",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "161",
"id": "149",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "149",
"id": "161",
"maxAmount": "1"
},
{
@@ -33820,13 +33820,25 @@
"minAmount": "100",
"weight": "50.0",
"id": "6529",
"maxAmount": "1500"
"maxAmount": "2000"
},
{
"minAmount": "2",
"minAmount": "15000",
"weight": "0.665",
"id": "6529",
"maxAmount": "15000"
},
{
"minAmount": "1",
"weight": "50.0",
"id": "12168",
"maxAmount": "2"
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "50.0",
"id": "7054",
"maxAmount": "1"
},
{
"minAmount": "1",
@@ -33845,6 +33857,12 @@
"weight": "5.0",
"id": "31",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "50.0",
"id": "0",
"maxAmount": "1"
}
]
},
@@ -33856,10 +33874,22 @@
"main": [
{
"minAmount": "1",
"weight": "5.0",
"weight": "0.685",
"id": "6528",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "0.685",
"id": "6524",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "0.685",
"id": "6568",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "5.0",
@@ -33867,21 +33897,15 @@
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "1.0",
"id": "6524",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "1.0",
"id": "6568",
"maxAmount": "1"
"minAmount": "12",
"weight": "5.0",
"id": "562",
"maxAmount": "12"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "167",
"id": "149",
"maxAmount": "1"
},
{
@@ -33890,17 +33914,29 @@
"id": "161",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "167",
"maxAmount": "1"
},
{
"minAmount": "100",
"weight": "50.0",
"id": "6529",
"maxAmount": "1900"
"maxAmount": "2000"
},
{
"minAmount": "1",
"weight": "50.0",
"id": "12168",
"maxAmount": "2"
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "50.0",
"id": "7054",
"maxAmount": "1"
},
{
"minAmount": "1",
@@ -33908,35 +33944,23 @@
"id": "379",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "7054",
"maxAmount": "1"
},
{
"minAmount": "2",
"weight": "25.0",
"id": "7054",
"maxAmount": "2"
},
{
"minAmount": "1",
"weight": "25.0",
"id": "9194",
"maxAmount": "4"
},
{
"minAmount": "5",
"weight": "5.0",
"id": "7936",
"maxAmount": "5"
"maxAmount": "3"
},
{
"minAmount": "1",
"weight": "5.0",
"id": "31",
"maxAmount": "1"
},
{
"minAmount": "1",
"weight": "50.0",
"id": "0",
"maxAmount": "1"
}
]
},
@@ -1,5 +1,7 @@
package core.game.node.entity.skill.agility;
import api.ContentAPI;
import core.game.node.entity.player.link.TeleportManager;
import core.game.node.entity.skill.Skills;
import core.game.interaction.MovementPulse;
import core.game.node.entity.combat.ImpactHandler.HitsplatType;
@@ -100,21 +102,26 @@ public final class AgilityHandler {
*/
public static void fail(final Player player, int delay, final Location dest, Animation anim, final int hit, final String message) {
if (anim != null) {
player.animate(anim);
ContentAPI.animate(player, anim, true);
}
GameWorld.getPulser().submit(new Pulse(anim.getDefinition().getDurationTicks(), player) {
ContentAPI.submitWorldPulse(new Pulse(ContentAPI.animationDuration(anim), player) {
boolean dmg = false;
@Override
public boolean pulse() {
player.getProperties().setTeleportLocation(dest);
player.animate(Animation.RESET);
ContentAPI.teleport(player, dest, TeleportManager.TeleportType.INSTANT);
ContentAPI.animate(player, Animation.RESET, true);
if(!dmg) {
if (hit > 0) {
player.getImpactHandler().setDisabledTicks(0);
player.getImpactHandler().manualHit(player, hit, HitsplatType.NORMAL);
ContentAPI.impact(player, hit, HitsplatType.NORMAL);
}
if (message != null) {
player.getPacketDispatch().sendMessage(message);
ContentAPI.sendMessage(player, message);
}
return true;
dmg = true;
}
setDelay(0);
return player.getLocation().equals(dest);
}
});
}
@@ -1,5 +1,6 @@
package core.game.node.entity.skill.slayer.dungeon;
import api.ContentAPI;
import core.cache.def.impl.ObjectDefinition;
import core.game.component.CloseEvent;
import core.game.component.Component;
@@ -67,6 +68,7 @@ public final class AncientCavern extends MapZone implements Plugin<Object> {
@Override
public boolean handle(final Player player, Node node, String option) {
ContentAPI.lock(player, 30);
AgilityHandler.forceWalk(player, -1, player.getLocation(), player.getLocation().transform(0, -6, 0), Animation.create(6723), 10, 0.0, null);
GameWorld.getPulser().submit(new Pulse(1, player) {
int count;
@@ -83,6 +85,9 @@ public final class AncientCavern extends MapZone implements Plugin<Object> {
player.getInterfaceManager().closeOverlay();
player.getProperties().setTeleportLocation(Location.create(1763, 5365, 1));
player.getPacketDispatch().sendMessages("You dive into the swirling maelstorm of the whirlpool.", "You are swirled beneath the water, the darkness and pressure are overwhelming.", "Mystical forces guide you into a cavern below the whirlpool.");
break;
case 8:
ContentAPI.unlock(player);
return true;
}
return false;
+2 -1
View File
@@ -767,7 +767,8 @@ object ContentAPI {
*/
@JvmStatic
fun teleport(entity: Entity, loc: Location, type: TeleportManager.TeleportType = TeleportManager.TeleportType.INSTANT){
entity.teleporter.send(loc,type)
if(type == TeleportManager.TeleportType.INSTANT) entity.properties.teleportLocation = loc
else entity.teleporter.send(loc,type)
}
/**
@@ -1,5 +1,6 @@
package rs09.game.node.entity.skill.agility
import api.ContentAPI
import core.cache.def.impl.ObjectDefinition
import core.game.content.global.action.DoorActionHandler
import core.game.node.Node
@@ -176,26 +177,26 @@ class WildernessCourse
* @param object the object.
*/
private fun handleSteppingStones(player: Player, `object`: Scenery) {
player.locks.lock()
ContentAPI.lock(player, 50)
val fail = AgilityHandler.hasFailed(player, 1, 0.3)
player.addExtension(LogoutTask::class.java, LocationLogoutTask(12, player.location))
GameWorld.Pulser.submit(object : Pulse(2, player) {
val origLoc = player.location
ContentAPI.registerLogoutListener(player, "steppingstone"){p ->
ContentAPI.teleport(p, origLoc)
}
ContentAPI.submitWorldPulse(object : Pulse(2, player){
var counter = 0
override fun pulse(): Boolean {
if (counter == 3 && fail) {
AgilityHandler.fail(player, -1, Location.create(3001, 3963, 0), Animation.create(771), (player.skills.lifepoints * 0.26).toInt(), "...You lose your footing and fall into the lava.")
return true
}
AgilityHandler.forceWalk(player, if (counter == 5) 2 else -1, player.location, player.location.transform(-1, 0, 0), Animation.create(741), 10, if (counter == 5) 20.0 else 0.toDouble(), if (counter != 0) null else "You carefully start crossing the stepping stones...")
AgilityHandler.forceWalk(player, if (counter == 5) 2 else -1, player.location, player.location.transform(-1, 0, 0), Animation.create(741), 10, if (counter == 5) 20.0 else 0.0, if (counter != 0) null else "You carefully start crossing the stepping stones...")
if(++counter == 6){
player.unlock()
ContentAPI.unlock(player)
ContentAPI.clearLogoutListener(player, "steppingstone")
}
return counter == 6
}
override fun stop() {
super.stop()
}
})
}