Added missing sounds

Added equipping sounds to all Kitesheilds & sq shields that are currently available 
Added equipping sounds to combat Melee Boots that are currently available 
Added equipping sounds to combat Melee Gloves that are currently available 
Added equipping sounds to all Coifs that are currently available 
Added equipping sounds to all D'hide bodies that are currently available 
Added equipping sounds to all D'hide chaps that are currently available 
Added equipping sounds to all D'hide vambracers that are currently available 
Added equipping sounds to all Bows that are currently available 
Added equipping sounds to all Cross bows that are currently available 
Added equipping sounds to all Javelins that are currently available 
Added equipping sounds to all Knifes that are currently available 
Added equipping sounds to all Darts that are currently available 
Added equipping sounds to all Throwing axes that are currently available 
Added equipping sounds to all Arrows that are currently available 
Added equipping sounds to all Claws that are currently available 
Added equipping sounds to all Halbergs that are currently available 
Added equipping sounds to all Hastae that are currently available 
Added equiping sounds to all Daggers that are currently available 
Added equipping sounds to all Swords that are currently available 
Added equipping sounds to all Longswords that are currently available 
Added equipping sounds to all Scimitars that are currently available 
Added equipping sounds to all 2H swords that are currently available 
Added equipping sounds to all War-hammers that are currently available 
Corrected the incorrect equipping sounds to all staves to the correct sound
Added equipping sound to the Easter ring
Added equipping sound to the Jack lantern mask
Added the correct red nose light animation to the Reindeer hat
Corrected the Chocatrice cape to be the real one in game with the logo in the back and also added the emote to it
Added sounds to the Scythe and corrected its combat animations
Added the Rubber chicken emote "dance" with its music jingle and the chicken "bawk" sound
Added the Ice amulet and the Wintumber tree to Diangos item return since they were missing
Added the correct jingle to the Air guitar emote
This commit is contained in:
Dark Sage
2024-07-13 05:46:28 +00:00
committed by Ryan
parent 6b152bcc8c
commit a44472e559
7 changed files with 2120 additions and 923 deletions
@@ -12,6 +12,9 @@ import core.plugin.Initializable;
import core.plugin.Plugin;
import core.plugin.ClassScanner;
import core.tools.RandomFunction;
import org.rs09.consts.Sounds;
import static core.api.ContentAPIKt.playAudio;
/**
* Handles a morph item.
@@ -65,6 +68,7 @@ public class MorphItemPlugin implements Plugin<Object> {
*/
private void morph(Player player, Item item) {
int morphId = item.getId() == 6583 ? 2626 : EASTER_EGG_IDS[RandomFunction.random(EASTER_EGG_IDS.length)];
playAudio(player, 1520);
player.getInterfaceManager().close();
player.getAppearance().transformNPC(morphId);
player.getInterfaceManager().removeTabs(0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14);
@@ -6,6 +6,13 @@ import core.game.world.update.flag.context.Graphics
import org.rs09.consts.Items
import core.game.interaction.InteractionListener
import core.game.interaction.IntType
import kotlinx.coroutines.delay
import org.rs09.consts.Sounds
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
class ToyListeners : InteractionListener {
companion object {
@@ -14,10 +21,12 @@ class ToyListeners : InteractionListener {
private val MARIONETTE_WALK = Animation(3004)
private val MARIONETTE_BOW = Animation(3005)
private val MARIONETTE_DANCE = Animation(3006)
private val MARIONETTE_GFX = arrayOf(intArrayOf(507, 508, 509, 510), intArrayOf(511, 512, 513, 514), intArrayOf(515, 516, 517, 518))
private val MARIONETTE_GFX =
arrayOf(intArrayOf(507, 508, 509, 510), intArrayOf(511, 512, 513, 514), intArrayOf(515, 516, 517, 518))
private val SNOWGLOBE_SHAKE = Animation(7535) //Initial Shake
private val SNOWGLOBE_HOLDFACE = Animation(7536) //Immediately after shake, player holds the snow globe to face
private val SNOWGLOBE_INTERFACE = 659 //After HOLDFACE this interface is displayed, player either clicks 'continue' for inv of snowballs, or 'close' for no snowballs
private val SNOWGLOBE_INTERFACE =
659 //After HOLDFACE this interface is displayed, player either clicks 'continue' for inv of snowballs, or 'close' for no snowballs
private val SNOWGLOBE_DOWNFAST = Animation(7537) //Used when player hit 'close' on the interface
private val SNOWGLOBE_DOWNSLOW = Animation(7538) //Used when the player hit 'continue' on the interface
private val SNOWGLOBE_STOMP = Animation(7528) //When player hits continue this animation plays
@@ -34,7 +43,7 @@ class ToyListeners : InteractionListener {
}
override fun defineListeners() {
on(Items.CHOCATRICE_CAPE_12634, IntType.ITEM, "operate"){ player, _ ->
on(Items.CHOCATRICE_CAPE_12645, IntType.ITEM, "operate") { player, _ ->
lockInteractions(player, 2)
visualize(player, 8903, 1566)
return@on true
@@ -44,18 +53,18 @@ class ToyListeners : InteractionListener {
val index = MARIONETTES.indexOf(marionette.id)
lockInteractions(player, 2)
when(getUsedOption(player)) {
when (getUsedOption(player)) {
"jump" -> visualize(player, MARIONETTE_JUMP, MARIONETTE_GFX[index][0])
"walk" -> visualize(player, MARIONETTE_WALK, MARIONETTE_GFX[index][1])
"bow" -> visualize(player, MARIONETTE_BOW, MARIONETTE_GFX[index][2])
"bow" -> visualize(player, MARIONETTE_BOW, MARIONETTE_GFX[index][2])
"dance" -> visualize(player, MARIONETTE_DANCE, MARIONETTE_GFX[index][3])
}
return@on true
}
on(Items.REINDEER_HAT_10507, IntType.ITEM, "operate"){ player, _ ->
on(Items.REINDEER_HAT_10507, IntType.ITEM, "operate") { player, _ ->
lockInteractions(player, 2)
animate(player, 5059)
visualize(player, 5059, 859)
return@on true
}
@@ -64,7 +73,7 @@ class ToyListeners : InteractionListener {
animate(player, SNOWGLOBE_SHAKE)
runTask(player, 3) {
animate(player, SNOWGLOBE_HOLDFACE)
runTask(player){
runTask(player) {
openInterface(player, SNOWGLOBE_INTERFACE)
}
}
@@ -80,17 +89,17 @@ class ToyListeners : InteractionListener {
return@on true
}
on(Items.TOY_KITE_12844, IntType.ITEM, "fly"){ player, _ ->
on(Items.TOY_KITE_12844, IntType.ITEM, "fly","operate") { player, _ ->
lockInteractions(player, 2)
animate(player, TOY_KITE_FLY)
return@on true
}
on(Items.YO_YO_4079, IntType.ITEM, "play", "loop", "walk", "crazy"){ player, _ ->
on(Items.YO_YO_4079, IntType.ITEM, "play", "loop", "walk", "crazy") { player, _ ->
val option = getUsedOption(player)
lockInteractions(player, 2)
when(option) {
when (option) {
"play" -> animate(player, YOYO_PLAY)
"loop" -> animate(player, YOYO_LOOP)
"walk" -> animate(player, YOYO_WALK)
@@ -99,11 +108,11 @@ class ToyListeners : InteractionListener {
return@on true
}
on(Items.ZOMBIE_HEAD_6722, IntType.ITEM, "talk-at", "display", "question"){ player, _ ->
on(Items.ZOMBIE_HEAD_6722, IntType.ITEM, "talk-at", "display", "question") { player, _ ->
val option = getUsedOption(player)
lockInteractions(player, 2)
when(option) {
when (option) {
"talk-at" -> {
animate(player, ZOMBIE_HEAD_TALK_AT)
sendChat(player, "Alas!")
@@ -116,5 +125,12 @@ class ToyListeners : InteractionListener {
}
return@on true
}
on(Items.RUBBER_CHICKEN_4566, IntType.ITEM, "operate", "Dance") { player, _ ->
lockInteractions(player, 2)
visualize(player, 1835, -1)
playJingle(player, 99);
playAudio(player, 355, 100);
return@on true
}
}
}
@@ -27,7 +27,7 @@ import static core.api.ContentAPIKt.inInventory;
public class DiangoReclaimInterface extends ComponentPlugin {
private static final int COMPONENT_ID = 468;
public static final List<Item> ITEMS = new ArrayList<>(20);
public static final Item[] HOLIDAY_ITEMS = {new Item(Items.YO_YO_4079), new Item(Items.REINDEER_HAT_10507), new Item(Items.RUBBER_CHICKEN_4566),new Item(Items.ZOMBIE_HEAD_6722), new Item(6857), new Item(6856), new Item(6858), new Item(6859), new Item(6860), new Item(6861), new Item(6862), new Item(6863), new Item(9920), new Item(9921),new Item(9922), new Item(9923), new Item(9924), new Item(9925), new Item(11019), new Item(11020), new Item(11021), new Item(11022), new Item(11789), new Item(11949), new Item(12634), new Item(14076), new Item(14077), new Item(14081),new Item(14595), new Item(14602), new Item(14603), new Item(14605), new Item(14654), new Item(Items.RED_MARIONETTE_6867), new Item(Items.GREEN_MARIONETTE_6866), new Item(Items.BLUE_MARIONETTE_6865)};
public static final Item[] HOLIDAY_ITEMS = {new Item(Items.YO_YO_4079), new Item(Items.REINDEER_HAT_10507), new Item(Items.WINTUMBER_TREE_10508), new Item(Items.RUBBER_CHICKEN_4566),new Item(Items.ZOMBIE_HEAD_6722), new Item(6857), new Item(6856), new Item(6858), new Item(6859), new Item(6860), new Item(6861), new Item(6862), new Item(6863), new Item(9920), new Item(9921),new Item(9922), new Item(9923), new Item(9924), new Item(9925), new Item(11019), new Item(11020), new Item(11021), new Item(11022), new Item(11789), new Item(11949), new Item(12645), new Item(14076), new Item(14077), new Item(14081),new Item(14595), new Item(14602), new Item(14603), new Item(14605), new Item(14654), new Item(Items.ICE_AMULET_14596), new Item(Items.RED_MARIONETTE_6867), new Item(Items.GREEN_MARIONETTE_6866), new Item(Items.BLUE_MARIONETTE_6865)};
//initialize the plugin, add lists of items to the ITEMS list...
@Override
@@ -14,6 +14,7 @@ import core.game.world.GameWorld;
import core.game.world.update.flag.context.Animation;
import core.game.world.update.flag.context.Graphics;
import static core.api.ContentAPIKt.playJingle;
/**
* Represents an emote.
*
@@ -50,10 +51,10 @@ public enum Emotes {
SHRUG(8, Animation.create(2113)),
CHEER(9, Animation.create(862)),
BECKON(10, Animation.create(864)),
//Switch laugh id 11, to 12, and switch Jump id 12 to 11. Id's were mismatched.
//This caused the LAUGH to proc JUMP_FOR_JOY and JUMP_FOR_JOY to proc LAUGH! :)
JUMP_FOR_JOY(11, Animation.create(2109)),
LAUGH(12, Animation.create(861)),
//Switch laugh id 11, to 12, and switch Jump id 12 to 11. Id's were mismatched.
//This caused the LAUGH to proc JUMP_FOR_JOY and JUMP_FOR_JOY to proc LAUGH! :)
JUMP_FOR_JOY(11, Animation.create(2109)),
LAUGH(12, Animation.create(861)),
YAWN(13, Animation.create(2111)) {
@Override
public void play(Player player) {
@@ -166,7 +167,12 @@ public enum Emotes {
}
},
SNOWMAN_DANCE(40, Animation.create(7531), "This emote can be unlocked by playing a Christmas holiday event."),
AIR_GUITAR(41, Animation.create(2414), Graphics.create(1537), "This emote can be accessed by unlocking 200 pieces of music."),
AIR_GUITAR(41, Animation.create(2414), Graphics.create(1537), "This emote can be accessed by unlocking 200 pieces of music.") {
public void play(Player player) {
playJingle(player, 302);
super.play(player);
}
},
SAFETY_FIRST(42, Animation.create(8770), Graphics.create(1553), "You can't use this emote yet. Visit the Stronghold of Player safety to<br>unlock it."),
EXPLORE(43, Animation.create(9990), Graphics.create(1734), "You can't use this emote yet. You must complete all the Lumbridge <br>and Draynor beginner tasks to unlock it."),
TRICK(44, Animation.create(10530), Graphics.create(1863), "This emote can be unlocked by playing a Halloween holiday event."),
@@ -174,7 +180,7 @@ public enum Emotes {
GIVE_THANKS(46, "This emote can be unlocked by playing a Thanksgiving holiday event.") {
@Override
public void play(final Player player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
GameWorld.getPulser().submit(new Pulse(1, player) {
int counter;
@Override
@@ -415,4 +421,4 @@ public enum Emotes {
return lockedMessage;
}
}
}