mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-21 09:02:07 -07:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
3e811d9ca3
9 changed files with 357 additions and 213 deletions
|
|
@ -948,18 +948,6 @@
|
|||
"weight": "5.0",
|
||||
"id": "2353",
|
||||
"maxAmount": "1"
|
||||
},
|
||||
{
|
||||
"minAmount": "1",
|
||||
"weight": "5.0",
|
||||
"id": "2434",
|
||||
"maxAmount": "1"
|
||||
},
|
||||
{
|
||||
"minAmount": "1",
|
||||
"weight": "5.0",
|
||||
"id": "173",
|
||||
"maxAmount": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -9972,7 +9960,7 @@
|
|||
},
|
||||
{
|
||||
"minAmount": "1",
|
||||
"weight": "5.0",
|
||||
"weight": "3.0",
|
||||
"id": "143",
|
||||
"maxAmount": "1"
|
||||
},
|
||||
|
|
@ -36947,7 +36935,7 @@
|
|||
},
|
||||
{
|
||||
"minAmount": "1",
|
||||
"weight": "25.0",
|
||||
"weight": "20.0",
|
||||
"id": "141",
|
||||
"maxAmount": "1"
|
||||
},
|
||||
|
|
@ -51807,10 +51795,10 @@
|
|||
"maxAmount": "2"
|
||||
},
|
||||
{
|
||||
"minAmount": "3",
|
||||
"weight": "250.0",
|
||||
"minAmount": "1",
|
||||
"weight": "200.0",
|
||||
"id": "2434",
|
||||
"maxAmount": "3"
|
||||
"maxAmount": "2"
|
||||
},
|
||||
{
|
||||
"minAmount": "3",
|
||||
|
|
|
|||
|
|
@ -15,6 +15,10 @@
|
|||
"item_id": "88",
|
||||
"loc_data": "{1,2654,9767,0,4587583}"
|
||||
},
|
||||
{
|
||||
"item_id": "185",
|
||||
"loc_data": "{1,2467,3176,0,7209050}"
|
||||
},
|
||||
{
|
||||
"item_id": "223",
|
||||
"loc_data": "{1,3128,9956,0,7864410}-{1,3129,9954,0,7864410}-{1,3126,9958,0,7864410}-{1,3117,9951,0,7864410}-{1,3118,9948,0,7864410}-{1,3119,9949,0,7864410}-{1,3179,9881,0,7864410}-{1,3177,9880,0,7864410}"
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -16033,6 +16033,7 @@
|
|||
"examine": "A spiky crawling critter. ",
|
||||
"melee_animation": "266",
|
||||
"range_animation": "266",
|
||||
"poisonous": "true",
|
||||
"attack_speed": "4",
|
||||
"respawn_delay": "25",
|
||||
"defence_animation": "267",
|
||||
|
|
@ -16053,6 +16054,7 @@
|
|||
"examine": "A spiky crawling critter. ",
|
||||
"melee_animation": "266",
|
||||
"range_animation": "266",
|
||||
"poisonous": "true",
|
||||
"attack_speed": "4",
|
||||
"respawn_delay": "25",
|
||||
"defence_animation": "267",
|
||||
|
|
@ -16073,6 +16075,7 @@
|
|||
"examine": "A spiky crawling critter. ",
|
||||
"melee_animation": "266",
|
||||
"range_animation": "266",
|
||||
"poisonous": "true",
|
||||
"attack_speed": "4",
|
||||
"respawn_delay": "25",
|
||||
"defence_animation": "267",
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import core.game.node.entity.player.link.audio.Audio;
|
|||
import core.game.node.item.GroundItemManager;
|
||||
import core.game.node.item.Item;
|
||||
import rs09.game.system.SystemLogger;
|
||||
import rs09.game.system.config.ItemConfigParser;
|
||||
import rs09.game.world.GameWorld;
|
||||
|
||||
/**
|
||||
|
|
@ -37,7 +38,7 @@ public final class DropItemHandler {
|
|||
}
|
||||
player.getDialogueInterpreter().close();
|
||||
player.getPulseManager().clear();
|
||||
if (option.equalsIgnoreCase("destroy") || option.equalsIgnoreCase("dissolve")) {
|
||||
if (option.equalsIgnoreCase("destroy") || option.equalsIgnoreCase("dissolve") || (boolean) item.getDefinition().getHandlers().getOrDefault(ItemConfigParser.DESTROY,false)) {
|
||||
player.getDialogueInterpreter().open(9878, item);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,92 @@
|
|||
package rs09.game.content.activity.communityevents
|
||||
|
||||
import core.cache.def.impl.ItemDefinition
|
||||
import core.game.node.entity.Entity
|
||||
import core.game.node.entity.player.Player
|
||||
import core.game.system.task.Pulse
|
||||
import core.game.world.map.zone.ZoneBorders
|
||||
import core.game.world.map.*
|
||||
import core.game.world.map.zone.ZoneBuilder
|
||||
import core.game.world.map.zone.MapZone
|
||||
import core.plugin.Initializable
|
||||
import core.plugin.Plugin
|
||||
import rs09.game.world.GameWorld.Pulser
|
||||
import java.util.ArrayList
|
||||
import core.game.content.global.action.DigAction
|
||||
import core.game.content.global.action.DigSpadeHandler
|
||||
import core.game.content.global.action.DigSpadeHandler.dig
|
||||
import core.game.content.global.action.DigSpadeHandler.register
|
||||
import core.game.node.item.Item
|
||||
import org.rs09.consts.Items
|
||||
import rs09.game.ai.general.scriptrepository.PlayerScripts
|
||||
import java.util.HashMap
|
||||
|
||||
|
||||
@Initializable
|
||||
class SuperEggEaster2020
|
||||
|
||||
: MapZone("Clue Zone", true), Plugin<Any?> {
|
||||
@Throws(Throwable::class)
|
||||
|
||||
override fun newInstance(arg: Any?): Plugin<Any?>? {
|
||||
ZoneBuilder.configure(this)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun fireEvent(identifier: String?, vararg args: Any?): Any? {
|
||||
return null
|
||||
}
|
||||
|
||||
override fun configure() {
|
||||
val borders = ZoneBorders(2188, 3281, 2188, 3281)
|
||||
//borders.addException(ZoneBorders(2328, 3496, 2328, 3496))
|
||||
register(borders)
|
||||
//pulse.stop()
|
||||
}
|
||||
|
||||
override fun enter(e: Entity?): Boolean {
|
||||
val clue_loc = Location.create(2188, 3281, 0)
|
||||
val key = Item(Items.KEY_11039)
|
||||
|
||||
if (e is Player) {
|
||||
val p = e
|
||||
PLAYERS.add(p)
|
||||
//if (p.getAttribute("step_1",true)){
|
||||
//register(clue_loc) { p.inventory.add(key) }
|
||||
//p.setAttribute("step_1",false)
|
||||
//}
|
||||
clues()
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
override fun leave(e: Entity, logout: Boolean): Boolean {
|
||||
if (e is Player) {
|
||||
PLAYERS.remove(e)
|
||||
}
|
||||
return super.leave(e, logout)
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
private val PLAYERS: MutableList<Player> = ArrayList(10)
|
||||
|
||||
fun clues(){
|
||||
|
||||
for (player in PLAYERS) {
|
||||
val clue_loc = Location.create(2188, 3281, 0)
|
||||
val gear_check: Boolean = player.equipment.containsAll(1355)
|
||||
val stat_check: Boolean = player.skills.totalLevel >= 720
|
||||
|
||||
//Super Egg!!!
|
||||
if (player.location.equals(clue_loc) && player.getAttribute("string_1",true)) {
|
||||
//player.setAttribute("step_1",true)
|
||||
//player.dialogueInterpreter.sendDialogue("Your spade hits metal, you reach into the hole and find a strange key.")
|
||||
} else player.dialogueInterpreter.sendDialogue("A magical force prevents you from digging.")
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ class EasterEvent : WorldEvent("easter") {
|
|||
override fun checkActive(): Boolean {
|
||||
val isApril = Calendar.getInstance().get(Calendar.MONTH) == Calendar.APRIL
|
||||
val isBefore9th = Calendar.getInstance().get(Calendar.DAY_OF_MONTH) < 9
|
||||
return (isApril && isBefore9th)
|
||||
return false
|
||||
}
|
||||
|
||||
override fun initialize() {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,56 @@
|
|||
package rs09.game.interaction.item
|
||||
|
||||
import core.game.node.Node
|
||||
import core.game.node.entity.player.Player
|
||||
import core.game.node.item.GroundItemManager
|
||||
import core.game.node.item.Item
|
||||
import org.rs09.consts.Items
|
||||
import rs09.game.interaction.InteractionListener
|
||||
|
||||
class CulChestItems: InteractionListener() {
|
||||
|
||||
override fun defineListeners() {
|
||||
|
||||
onEquip(Items.CLEAVER_7451){player, node ->
|
||||
alchemize(player,node)
|
||||
}
|
||||
|
||||
onEquip(Items.MEAT_TENDERISER_7449){player, node ->
|
||||
alchemize(player,node)
|
||||
}
|
||||
|
||||
onEquip(Items.GLOVES_7458){player, node ->
|
||||
alchemize(player,node)
|
||||
}
|
||||
|
||||
onEquip(Items.GLOVES_7459){player, node ->
|
||||
alchemize(player,node)
|
||||
}
|
||||
|
||||
onEquip(Items.GLOVES_7460){player, node ->
|
||||
alchemize(player,node)
|
||||
}
|
||||
|
||||
onEquip(Items.GLOVES_7461){player,node ->
|
||||
alchemize(player,node)
|
||||
}
|
||||
|
||||
onEquip(Items.GLOVES_7462){player, node ->
|
||||
alchemize(player,node)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun alchemize(player: Player, node: Node){
|
||||
val amount = player.inventory.getAmount(node.id) + player.equipment.getAmount(node.id)
|
||||
val coins = amount * node.asItem().definition.value
|
||||
|
||||
player.inventory.remove(Item(node.id,player.inventory.getAmount(node.id)))
|
||||
player.equipment.remove(Item(node.id))
|
||||
if(!player.inventory.add(Item(995,coins))){
|
||||
GroundItemManager.create(Item(995,coins),player)
|
||||
}
|
||||
|
||||
player.dialogueInterpreter.sendDialogue("The item instantly alchemized itself!")
|
||||
}
|
||||
}
|
||||
|
|
@ -98,7 +98,7 @@ class MiscCommandSet : CommandSet(Command.Privilege.ADMIN){
|
|||
/**
|
||||
* Lists the players currently online
|
||||
*/
|
||||
define("players", Command.Privilege.STANDARD){ player, _ ->
|
||||
define("players", Command.Privilege.MODERATOR){ player, _ ->
|
||||
val rights = player.rights.ordinal
|
||||
if (player!!.interfaceManager.isOpened && player.interfaceManager.opened.id != Components.QUESTJOURNAL_SCROLL_275 || player.locks.isMovementLocked || player.locks.isTeleportLocked) {
|
||||
reject(player, "Please finish what you're doing first.")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue