diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 9dd4f61e44..05c6d1ca37 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -25,9 +25,9 @@ object ProjectVersions { const val launcherVersion = "2.2.0" - const val rlVersion = "1.6.28" + const val rlVersion = "1.6.30" - const val openosrsVersion = "3.5.1" + const val openosrsVersion = "3.5.2" const val rsversion = 192 const val cacheversion = 165 diff --git a/runelite-api/src/main/java/net/runelite/api/Actor.java b/runelite-api/src/main/java/net/runelite/api/Actor.java index cab3a13803..6567bdf9fc 100644 --- a/runelite-api/src/main/java/net/runelite/api/Actor.java +++ b/runelite-api/src/main/java/net/runelite/api/Actor.java @@ -283,4 +283,11 @@ public interface Actor extends Entity, Locatable int getWalkRightAnimation(); int getRunAnimation(); + + /** + * Returns true if this NPC has died + * + * @return + */ + boolean isDead(); } diff --git a/runelite-api/src/main/java/net/runelite/api/ItemID.java b/runelite-api/src/main/java/net/runelite/api/ItemID.java index 6a6000e11b..aeb575f0c1 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemID.java @@ -5769,7 +5769,7 @@ public final class ItemID public static final int BLURITE_CROSSBOW = 9176; public static final int IRON_CROSSBOW = 9177; public static final int STEEL_CROSSBOW = 9179; - public static final int MITH_CROSSBOW = 9181; + public static final int MITHRIL_CROSSBOW = 9181; public static final int ADAMANT_CROSSBOW = 9183; public static final int RUNE_CROSSBOW = 9185; public static final int JADE_BOLT_TIPS = 9187; @@ -10768,7 +10768,7 @@ public final class ItemID public static final int FLIER_23670 = 23670; public static final int CRYSTAL_AXE = 23673; public static final int CRYSTAL_AXE_INACTIVE = 23675; - public static final int DRAGON_PICKAXEOR = 23677; + public static final int DRAGON_PICKAXE_OR = 23677; public static final int CRYSTAL_PICKAXE = 23680; public static final int CRYSTAL_PICKAXE_INACTIVE = 23682; public static final int DIVINE_SUPER_COMBAT_POTION4 = 23685; @@ -11202,9 +11202,9 @@ public final class ItemID public static final int TWISTED_TELEPORT_SCROLL = 24460; public static final int TWISTED_BLUEPRINTS = 24463; public static final int TWISTED_HORNS = 24466; - public static final int TWISTED_RELICHUNTER_T1_ARMOUR_SET = 24469; - public static final int TWISTED_RELICHUNTER_T2_ARMOUR_SET = 24472; - public static final int TWISTED_RELICHUNTER_T3_ARMOUR_SET = 24475; + public static final int TWISTED_RELIC_HUNTER_T1_ARMOUR_SET = 24469; + public static final int TWISTED_RELIC_HUNTER_T2_ARMOUR_SET = 24472; + public static final int TWISTED_RELIC_HUNTER_T3_ARMOUR_SET = 24475; public static final int OPEN_HERB_SACK = 24478; public static final int SPICE_RACK = 24479; public static final int OPEN_COAL_BAG = 24480; @@ -11474,5 +11474,85 @@ public final class ItemID public static final int BP_OBJ = 24941; public static final int REINFORCED_GOGGLES = 24942; public static final int SOURHOG_FOOT = 24944; + public static final int HALLOWED_SACK = 24946; + public static final int MOONCLAN_TELEPORT = 24949; + public static final int OURANIA_TELEPORT = 24951; + public static final int WATERBIRTH_TELEPORT = 24953; + public static final int BARBARIAN_TELEPORT = 24955; + public static final int KHAZARD_TELEPORT = 24957; + public static final int FISHING_GUILD_TELEPORT = 24959; + public static final int CATHERBY_TELEPORT = 24961; + public static final int ICE_PLATEAU_TELEPORT = 24963; + public static final int CABBAGE_24971 = 24971; + public static final int CABBAGE_24973 = 24973; + public static final int HEADLESS_HEAD = 24975; + public static final int MAGICAL_PUMPKIN = 24977; + public static final int PUMPKIN_24979 = 24979; + public static final int BROWN_CANDY = 24980; + public static final int BLUE_CANDY = 24981; + public static final int WHITE_CANDY = 24982; + public static final int PURPLE_CANDY = 24983; + public static final int RED_CANDY = 24984; + public static final int GREEN_CANDY = 24985; + public static final int BLACK_CANDY = 24986; + public static final int ORANGE_CANDY = 24987; + public static final int PINK_CANDY = 24988; + public static final int RICKS_BOX = 24989; + public static final int RICKS_HEAD = 24990; + public static final int WITCHS_BREW = 24991; + public static final int SPIDER_SNACK = 24992; + public static final int INCANTATION = 24993; + public static final int CABBAGE_24994 = 24994; + public static final int CABBAGE_24996 = 24996; + public static final int TRAILBLAZER_HOOD_T3 = 25001; + public static final int TRAILBLAZER_COAT_T3 = 25004; + public static final int TRAILBLAZER_TROUSERS_T3 = 25007; + public static final int TRAILBLAZER_BOOTS_T3 = 25010; + public static final int TRAILBLAZER_CANE = 25013; + public static final int TRAILBLAZER_HOOD_T2 = 25016; + public static final int TRAILBLAZER_COAT_T2 = 25019; + public static final int TRAILBLAZER_TROUSERS_T2 = 25022; + public static final int TRAILBLAZER_BOOTS_T2 = 25025; + public static final int TRAILBLAZER_HOOD_T1 = 25028; + public static final int TRAILBLAZER_COAT_T1 = 25031; + public static final int TRAILBLAZER_TROUSERS_T1 = 25034; + public static final int TRAILBLAZER_BOOTS_T1 = 25037; + public static final int TRAILBLAZER_TROPHY = 25040; + public static final int TRAILBLAZER_DRAGON_TROPHY = 25042; + public static final int TRAILBLAZER_RUNE_TROPHY = 25044; + public static final int TWISTED_ADAMANT_TROPHY_25046 = 25046; + public static final int TRAILBLAZER_MITHRIL_TROPHY = 25048; + public static final int TRAILBLAZER_STEEL_TROPHY = 25050; + public static final int TRAILBLAZER_IRON_TROPHY = 25052; + public static final int TRAILBLAZER_BRONZE_TROPHY = 25054; + public static final int TRAILBLAZER_BANNER = 25056; + public static final int TRAILBLAZER_HARPOON = 25059; + public static final int TRAILBLAZER_PICKAXE = 25063; + public static final int TRAILBLAZER_AXE = 25066; + public static final int GRACEFUL_HOOD_25069 = 25069; + public static final int GRACEFUL_HOOD_25071 = 25071; + public static final int GRACEFUL_CAPE_25072 = 25072; + public static final int GRACEFUL_CAPE_25074 = 25074; + public static final int GRACEFUL_TOP_25075 = 25075; + public static final int GRACEFUL_TOP_25077 = 25077; + public static final int GRACEFUL_LEGS_25078 = 25078; + public static final int GRACEFUL_LEGS_25080 = 25080; + public static final int GRACEFUL_GLOVES_25081 = 25081; + public static final int GRACEFUL_GLOVES_25083 = 25083; + public static final int GRACEFUL_BOOTS_25084 = 25084; + public static final int GRACEFUL_BOOTS_25086 = 25086; + public static final int TRAILBLAZER_TELEPORT_SCROLL = 25087; + public static final int TRAILBLAZER_TOOL_ORNAMENT_KIT = 25090; + public static final int TRAILBLAZER_GLOBE = 25093; + public static final int TRAILBLAZER_RUG = 25096; + public static final int TRAILBLAZER_GRACEFUL_ORNAMENT_KIT = 25099; + public static final int FAIRY_MUSHROOM = 25102; + public static final int CRYSTAL_OF_MEMORIES = 25104; + public static final int EXTRADIMENSIONAL_BAG = 25106; + public static final int EXTRADIMENSIONAL_BAG_25108 = 25108; + public static final int TRAILBLAZER_AXE_25110 = 25110; + public static final int TRAILBLAZER_PICKAXE_25112 = 25112; + public static final int TRAILBLAZER_HARPOON_25114 = 25114; + public static final int LEAGUE_TOMATO = 25117; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NPC.java b/runelite-api/src/main/java/net/runelite/api/NPC.java index ff36c47214..a0cf84c28b 100644 --- a/runelite-api/src/main/java/net/runelite/api/NPC.java +++ b/runelite-api/src/main/java/net/runelite/api/NPC.java @@ -69,12 +69,5 @@ public interface NPC extends Actor @Nullable NPCDefinition getTransformedDefinition(); - /** - * Returns true if this NPC has died - * - * @return - */ - boolean isDead(); - void onDefinitionChanged(NPCDefinition composition); } diff --git a/runelite-api/src/main/java/net/runelite/api/NpcID.java b/runelite-api/src/main/java/net/runelite/api/NpcID.java index c873061a0a..962a248a1f 100644 --- a/runelite-api/src/main/java/net/runelite/api/NpcID.java +++ b/runelite-api/src/main/java/net/runelite/api/NpcID.java @@ -368,8 +368,8 @@ public final class NpcID public static final int PHEASANT_374 = 374; public static final int RICK_TURPENTINE = 375; public static final int RICK_TURPENTINE_376 = 376; - public static final int BEE_KEEPER = 377; - public static final int BEES = 378; + public static final int RICK_377 = 377; + public static final int RICK_378 = 378; public static final int QUIZ_MASTER = 379; public static final int PILLORY_GUARD = 380; public static final int TRAMP = 381; @@ -521,7 +521,6 @@ public final class NpcID public static final int DARK_WARRIOR = 531; public static final int CHAOS_DRUID_WARRIOR = 532; public static final int FUNGI = 533; - public static final int THESSALIA = 534; public static final int FUNGI_535 = 535; public static final int ZYGOMITE = 537; public static final int FUNGI_538 = 538; @@ -3026,6 +3025,7 @@ public final class NpcID public static final int WIZARD_3232 = 3232; public static final int LEECH = 3233; public static final int FERAL_VAMPYRE_3234 = 3234; + public static final int BEE_KEEPER = 3235; public static final int MIST = 3236; public static final int FERAL_VAMPYRE_3237 = 3237; public static final int VAMPYRIC_HOUND = 3238; @@ -8826,5 +8826,28 @@ public final class NpcID public static final int SHEEPDOG_10439 = 10439; public static final int SPIDER_10442 = 10442; public static final int SPIDER_10443 = 10443; + public static final int BEES = 10444; + public static final int RICK_10445 = 10445; + public static final int RICK_10446 = 10446; + public static final int RICK_10447 = 10447; + public static final int EVE_10448 = 10448; + public static final int EVE_10449 = 10449; + public static final int YELDIVE = 10450; + public static final int YELDIVE_10451 = 10451; + public static final int YANES = 10452; + public static final int YANES_10453 = 10453; + public static final int HOGST = 10454; + public static final int HOGST_10455 = 10455; + public static final int POUNCER = 10456; + public static final int POUNCER_10457 = 10457; + public static final int GHOSTLY_FIGURE = 10458; + public static final int GHOSTLY_FIGURE_10459 = 10459; + public static final int JACKOLANTERN = 10460; + public static final int RICK_10461 = 10461; + public static final int RICK_10462 = 10462; + public static final int RICK_10463 = 10463; + public static final int LEAGUES_ASSISTANT = 10476; + public static final int THESSALIA = 10477; + public static final int THESSALIA_10478 = 10478; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NullItemID.java b/runelite-api/src/main/java/net/runelite/api/NullItemID.java index aba4e37dc2..fb20591bfa 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullItemID.java @@ -13263,5 +13263,97 @@ public final class NullItemID public static final int NULL_24883 = 24883; public static final int NULL_24943 = 24943; public static final int NULL_24945 = 24945; + public static final int NULL_24947 = 24947; + public static final int NULL_24948 = 24948; + public static final int NULL_24950 = 24950; + public static final int NULL_24952 = 24952; + public static final int NULL_24954 = 24954; + public static final int NULL_24956 = 24956; + public static final int NULL_24958 = 24958; + public static final int NULL_24960 = 24960; + public static final int NULL_24962 = 24962; + public static final int NULL_24964 = 24964; + public static final int NULL_24965 = 24965; + public static final int NULL_24966 = 24966; + public static final int NULL_24967 = 24967; + public static final int NULL_24968 = 24968; + public static final int NULL_24969 = 24969; + public static final int NULL_24970 = 24970; + public static final int NULL_24972 = 24972; + public static final int NULL_24974 = 24974; + public static final int NULL_24976 = 24976; + public static final int NULL_24978 = 24978; + public static final int NULL_24995 = 24995; + public static final int NULL_24997 = 24997; + public static final int NULL_24998 = 24998; + public static final int NULL_24999 = 24999; + public static final int NULL_25000 = 25000; + public static final int NULL_25002 = 25002; + public static final int NULL_25003 = 25003; + public static final int NULL_25005 = 25005; + public static final int NULL_25006 = 25006; + public static final int NULL_25008 = 25008; + public static final int NULL_25009 = 25009; + public static final int NULL_25011 = 25011; + public static final int NULL_25012 = 25012; + public static final int NULL_25014 = 25014; + public static final int NULL_25015 = 25015; + public static final int NULL_25017 = 25017; + public static final int NULL_25018 = 25018; + public static final int NULL_25020 = 25020; + public static final int NULL_25021 = 25021; + public static final int NULL_25023 = 25023; + public static final int NULL_25024 = 25024; + public static final int NULL_25026 = 25026; + public static final int NULL_25027 = 25027; + public static final int NULL_25029 = 25029; + public static final int NULL_25030 = 25030; + public static final int NULL_25032 = 25032; + public static final int NULL_25033 = 25033; + public static final int NULL_25035 = 25035; + public static final int NULL_25036 = 25036; + public static final int NULL_25038 = 25038; + public static final int NULL_25039 = 25039; + public static final int NULL_25041 = 25041; + public static final int NULL_25043 = 25043; + public static final int NULL_25045 = 25045; + public static final int NULL_25047 = 25047; + public static final int NULL_25049 = 25049; + public static final int NULL_25051 = 25051; + public static final int NULL_25053 = 25053; + public static final int NULL_25055 = 25055; + public static final int NULL_25057 = 25057; + public static final int NULL_25058 = 25058; + public static final int NULL_25060 = 25060; + public static final int NULL_25061 = 25061; + public static final int NULL_25062 = 25062; + public static final int NULL_25064 = 25064; + public static final int NULL_25065 = 25065; + public static final int NULL_25067 = 25067; + public static final int NULL_25068 = 25068; + public static final int NULL_25070 = 25070; + public static final int NULL_25073 = 25073; + public static final int NULL_25076 = 25076; + public static final int NULL_25079 = 25079; + public static final int NULL_25082 = 25082; + public static final int NULL_25085 = 25085; + public static final int NULL_25088 = 25088; + public static final int NULL_25089 = 25089; + public static final int NULL_25091 = 25091; + public static final int NULL_25092 = 25092; + public static final int NULL_25094 = 25094; + public static final int NULL_25095 = 25095; + public static final int NULL_25097 = 25097; + public static final int NULL_25098 = 25098; + public static final int NULL_25100 = 25100; + public static final int NULL_25101 = 25101; + public static final int NULL_25103 = 25103; + public static final int NULL_25105 = 25105; + public static final int NULL_25107 = 25107; + public static final int NULL_25109 = 25109; + public static final int NULL_25111 = 25111; + public static final int NULL_25113 = 25113; + public static final int NULL_25115 = 25115; + public static final int NULL_25116 = 25116; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NullNpcID.java b/runelite-api/src/main/java/net/runelite/api/NullNpcID.java index 5773e6680e..bfb27b5a2c 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullNpcID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullNpcID.java @@ -18,6 +18,7 @@ public final class NullNpcID public static final int NULL_424 = 424; public static final int NULL_471 = 471; public static final int NULL_490 = 490; + public static final int NULL_534 = 534; public static final int NULL_536 = 536; public static final int NULL_638 = 638; public static final int NULL_716 = 716; @@ -1599,5 +1600,17 @@ public final class NullNpcID public static final int NULL_10431 = 10431; public static final int NULL_10440 = 10440; public static final int NULL_10441 = 10441; + public static final int NULL_10464 = 10464; + public static final int NULL_10465 = 10465; + public static final int NULL_10466 = 10466; + public static final int NULL_10467 = 10467; + public static final int NULL_10468 = 10468; + public static final int NULL_10469 = 10469; + public static final int NULL_10470 = 10470; + public static final int NULL_10471 = 10471; + public static final int NULL_10472 = 10472; + public static final int NULL_10473 = 10473; + public static final int NULL_10474 = 10474; + public static final int NULL_10475 = 10475; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java index 5416c14951..47bae609ef 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java @@ -1750,6 +1750,7 @@ public final class NullObjectID public static final int NULL_3818 = 3818; public static final int NULL_3819 = 3819; public static final int NULL_3827 = 3827; + public static final int NULL_3831 = 3831; public static final int NULL_3834 = 3834; public static final int NULL_3855 = 3855; public static final int NULL_3864 = 3864; @@ -4308,6 +4309,7 @@ public final class NullObjectID public static final int NULL_10190 = 10190; public static final int NULL_10191 = 10191; public static final int NULL_10192 = 10192; + public static final int NULL_10230 = 10230; public static final int NULL_10231 = 10231; public static final int NULL_10232 = 10232; public static final int NULL_10233 = 10233; @@ -9382,8 +9384,9 @@ public final class NullObjectID public static final int NULL_20840 = 20840; public static final int NULL_20841 = 20841; public static final int NULL_20842 = 20842; + public static final int NULL_20846 = 20846; + public static final int NULL_20853 = 20853; public static final int NULL_20857 = 20857; - public static final int NULL_20858 = 20858; public static final int NULL_20859 = 20859; public static final int NULL_20860 = 20860; public static final int NULL_20861 = 20861; @@ -12500,6 +12503,10 @@ public final class NullObjectID public static final int NULL_26493 = 26493; public static final int NULL_26500 = 26500; public static final int NULL_26501 = 26501; + public static final int NULL_26502 = 26502; + public static final int NULL_26503 = 26503; + public static final int NULL_26504 = 26504; + public static final int NULL_26505 = 26505; public static final int NULL_26506 = 26506; public static final int NULL_26507 = 26507; public static final int NULL_26508 = 26508; @@ -19719,5 +19726,17 @@ public final class NullObjectID public static final int NULL_40352 = 40352; public static final int NULL_40353 = 40353; public static final int NULL_40354 = 40354; + public static final int NULL_40360 = 40360; + public static final int NULL_40364 = 40364; + public static final int NULL_40368 = 40368; + public static final int NULL_40378 = 40378; + public static final int NULL_40379 = 40379; + public static final int NULL_40380 = 40380; + public static final int NULL_40381 = 40381; + public static final int NULL_40382 = 40382; + public static final int NULL_40392 = 40392; + public static final int NULL_40393 = 40393; + public static final int NULL_40394 = 40394; + public static final int NULL_40395 = 40395; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/ObjectID.java b/runelite-api/src/main/java/net/runelite/api/ObjectID.java index 7073e724e2..b43d877ab4 100644 --- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java @@ -2087,7 +2087,6 @@ public final class ObjectID public static final int TUNNEL_ENTRANCE = 3828; public static final int ROPE_3829 = 3829; public static final int COMPOST_BIN = 3830; - public static final int TUNNEL_ENTRANCE_3831 = 3831; public static final int ROPE_3832 = 3832; public static final int COCOON = 3833; public static final int COMPOST_BIN_3835 = 3835; @@ -5927,7 +5926,6 @@ public final class ObjectID public static final int LADDER_10227 = 10227; public static final int LADDER_10228 = 10228; public static final int KINGS_LADDER = 10229; - public static final int KINGS_LADDER_10230 = 10230; public static final int BROKEN_KILN_10246 = 10246; public static final int BROKEN_KILN_10247 = 10247; public static final int BROKEN_KILN_10248 = 10248; @@ -11467,17 +11465,16 @@ public final class ObjectID public static final int EXIT_PORTAL_20843 = 20843; public static final int TREE_20844 = 20844; public static final int TREE_20845 = 20845; - public static final int BEEHIVE_PART = 20846; - public static final int BEEHIVE_PART_20847 = 20847; - public static final int BEEHIVE_PART_20848 = 20848; - public static final int BEEHIVE_PART_20849 = 20849; - public static final int INTERFACE_SURROUND = 20850; - public static final int BUTTON_UP = 20851; - public static final int BUTTON_DOWN = 20852; - public static final int BUTTON_LEFT = 20853; - public static final int BUTTON_RIGHT = 20854; - public static final int BUTTON_BUILD = 20855; - public static final int BEEHIVE_20856 = 20856; + public static final int WARDROBE_20847 = 20847; + public static final int WEB_20848 = 20848; + public static final int JACKOLANTERN = 20849; + public static final int JACKOLANTERN_20850 = 20850; + public static final int PORTAL_TO_RICKS_ROOM = 20851; + public static final int PORTAL_TO_WIZARDS_TOWER = 20852; + public static final int BONFIRE = 20854; + public static final int BONFIRE_20855 = 20855; + public static final int BONFIRE_20856 = 20856; + public static final int BED_20858 = 20858; public static final int COMPOST_BIN_20870 = 20870; public static final int COMPOST_BIN_20871 = 20871; public static final int COMPOST_BIN_20872 = 20872; @@ -13991,10 +13988,6 @@ public final class ObjectID public static final int WATERFALL_26497 = 26497; public static final int WATERFALL_26498 = 26498; public static final int WATERFALL_26499 = 26499; - public static final int BIG_DOOR_26502 = 26502; - public static final int BIG_DOOR_26503 = 26503; - public static final int BIG_DOOR_26504 = 26504; - public static final int BIG_DOOR_26505 = 26505; public static final int ICE_BRIDGE = 26518; public static final int CRATE_26519 = 26519; public static final int CAVE_26564 = 26564; @@ -15467,7 +15460,7 @@ public final class ObjectID public static final int MARBLE_BENCH_29275 = 29275; public static final int OBSIDIAN_BENCH_29276 = 29276; public static final int OBSIDIAN_BENCH_29277 = 29277; - public static final int BONFIRE = 29300; + public static final int BONFIRE_29300 = 29300; public static final int CRATE_29301 = 29301; public static final int CRATE_29302 = 29302; public static final int CRATE_29303 = 29303; @@ -20624,5 +20617,59 @@ public final class ObjectID public static final int BLOCKAGE_40331 = 40331; public static final int CRUMBLING_WALL_40355 = 40355; public static final int ROCKS_40356 = 40356; + public static final int LECTERN_40357 = 40357; + public static final int LECTERN_40358 = 40358; + public static final int PICTURE_40359 = 40359; + public static final int MUSHROOM_40361 = 40361; + public static final int BARREL_OF_SPIDERS = 40362; + public static final int BARREL_OF_SPIDERS_40363 = 40363; + public static final int TREE_STUMP_40365 = 40365; + public static final int CAULDRON_OF_BREW = 40366; + public static final int CAULDRON_OF_BREW_40367 = 40367; + public static final int PLANT_40369 = 40369; + public static final int GRAMOPHONE_40370 = 40370; + public static final int WARDROBE_40371 = 40371; + public static final int WARDROBE_40372 = 40372; + public static final int BOOKSHELF_40373 = 40373; + public static final int CRATE_40374 = 40374; + public static final int HAT_STAND_40375 = 40375; + public static final int PORTRAIT_40376 = 40376; + public static final int KWUARM_AND_PEAS = 40377; + public static final int MAGICAL_PUMPKIN = 40383; + public static final int MAGICAL_PUMPKIN_40384 = 40384; + public static final int MAGICAL_PUMPKIN_40385 = 40385; + public static final int CAVERN_40386 = 40386; + public static final int OPENING_40387 = 40387; + public static final int STAIRS_40388 = 40388; + public static final int OPENING_40389 = 40389; + public static final int STAIRS_40390 = 40390; + public static final int OPENING_40391 = 40391; + public static final int ROCK_40396 = 40396; + public static final int ROCK_40397 = 40397; + public static final int ROCK_40398 = 40398; + public static final int ROCK_40399 = 40399; + public static final int ARCHWAY_40400 = 40400; + public static final int ARCHWAY_40401 = 40401; + public static final int ARCHWAY_40402 = 40402; + public static final int ARCHWAY_40403 = 40403; + public static final int ARCHWAY_40404 = 40404; + public static final int ARCHWAY_40405 = 40405; + public static final int ARCHWAY_40406 = 40406; + public static final int ARCHWAY_40407 = 40407; + public static final int WAYSTONE = 40408; + public static final int WAYSTONE_40409 = 40409; + public static final int WAYSTONE_40410 = 40410; + public static final int WAYSTONE_40411 = 40411; + public static final int WAYSTONE_40412 = 40412; + public static final int WAYSTONE_40413 = 40413; + public static final int WAYSTONE_40414 = 40414; + public static final int WAYSTONE_40415 = 40415; + public static final int WAYSTONE_40416 = 40416; + public static final int KINGS_LADDER_40417 = 40417; + public static final int KINGS_LADDER_40418 = 40418; + public static final int BIG_DOOR_40419 = 40419; + public static final int BIG_DOOR_40420 = 40420; + public static final int TUNNEL_ENTRANCE_40421 = 40421; + public static final int TUNNEL_ENTRANCE_40422 = 40422; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/Perspective.java b/runelite-api/src/main/java/net/runelite/api/Perspective.java index 49c8690021..091b82087d 100644 --- a/runelite-api/src/main/java/net/runelite/api/Perspective.java +++ b/runelite-api/src/main/java/net/runelite/api/Perspective.java @@ -365,6 +365,20 @@ public class Perspective return getCanvasTileAreaPoly(client, localLocation, 1); } + /** + * Calculates a tile polygon from offset worldToScreen() points. + * + * @param client the game client + * @param localLocation local location of the tile + * @param zOffset offset from ground plane + * @return a {@link Polygon} on screen corresponding to the given + * localLocation. + */ + public static Polygon getCanvasTilePoly(@Nonnull Client client, @Nonnull LocalPoint localLocation, int zOffset) + { + return getCanvasTileAreaPoly(client, localLocation, 1, zOffset); + } + /** * Returns a polygon representing an area. * @@ -374,6 +388,24 @@ public class Perspective * @return a polygon representing the tiles in the area */ public static Polygon getCanvasTileAreaPoly(@Nonnull Client client, @Nonnull LocalPoint localLocation, int size) + { + return getCanvasTileAreaPoly(client, localLocation, size, 0); + } + + /** + * Returns a polygon representing an area. + * + * @param client the game client + * @param localLocation the center location of the AoE + * @param size the size of the area (ie. 3x3 AoE evaluates to size 3) + * @param zOffset offset from ground plane + * @return a polygon representing the tiles in the area + */ + public static Polygon getCanvasTileAreaPoly( + @Nonnull Client client, + @Nonnull LocalPoint localLocation, + int size, + int zOffset) { final int plane = client.getPlane(); @@ -399,10 +431,10 @@ public class Perspective tilePlane = plane + 1; } - final int swHeight = getHeight(client, swX, swY, tilePlane); - final int nwHeight = getHeight(client, neX, swY, tilePlane); - final int neHeight = getHeight(client, neX, neY, tilePlane); - final int seHeight = getHeight(client, swX, neY, tilePlane); + final int swHeight = getHeight(client, swX, swY, tilePlane) - zOffset; + final int nwHeight = getHeight(client, neX, swY, tilePlane) - zOffset; + final int neHeight = getHeight(client, neX, neY, tilePlane) - zOffset; + final int seHeight = getHeight(client, swX, neY, tilePlane) - zOffset; Point p1 = localToCanvas(client, swX, swY, swHeight); Point p2 = localToCanvas(client, neX, swY, nwHeight); diff --git a/runelite-api/src/main/java/net/runelite/api/SpriteID.java b/runelite-api/src/main/java/net/runelite/api/SpriteID.java index 1acb382894..a3f6138f68 100644 --- a/runelite-api/src/main/java/net/runelite/api/SpriteID.java +++ b/runelite-api/src/main/java/net/runelite/api/SpriteID.java @@ -1042,6 +1042,7 @@ public final class SpriteID public static final int MINIMAP_ORB_PRAYER_ACTIVATED = 1066; public static final int MINIMAP_ORB_HITPOINTS_ICON = 1067; public static final int MINIMAP_ORB_PRAYER_ICON = 1068; + public static final int MINIMAP_ORB_WALK_ICON = 1069; public static final int MINIMAP_ORB_RUN_ICON = 1070; public static final int MINIMAP_ORB_RUN_ICON_ACTIVATED = 1070; public static final int MINIMAP_ORB_FRAME = 1071; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index dd3eb57f5f..dcfd444425 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -101,6 +101,7 @@ public class WidgetID public static final int PUZZLE_BOX_GROUP_ID = 306; public static final int LIGHT_BOX_GROUP_ID = 322; public static final int NIGHTMARE_ZONE_GROUP_ID = 202; + public static final int NIGHTMARE_PILLAR_HEALTH_GROUP_ID = 413; public static final int BLAST_FURNACE_GROUP_ID = 474; public static final int WORLD_MAP_GROUP_ID = 595; public static final int PYRAMID_PLUNDER_GROUP_ID = 428; @@ -708,7 +709,8 @@ public class WidgetID static final int POINTS = 10; static final int STABILITY = 12; static final int PLAYER_COUNT = 14; - static final int VENTS_INFOBOX_GROUP_ID = 15; + static final int STABILITY_INFOBOX_GROUP_ID = 5; + static final int VENTS_INFOBOX_GROUP_ID = 16; static final int VENT_A_PERCENTAGE = 19; static final int VENT_B_PERCENTAGE = 20; static final int VENT_C_PERCENTAGE = 21; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index 03e0e9567a..18f591b29d 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -115,6 +115,7 @@ public enum WidgetInfo VOLCANIC_MINE_STABILITY(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.STABILITY), VOLCANIC_MINE_PLAYER_COUNT(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.PLAYER_COUNT), VOLCANIC_MINE_VENTS_INFOBOX_GROUP(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.VENTS_INFOBOX_GROUP_ID), + VOLCANIC_MINE_STABILITY_INFOBOX_GROUP(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.STABILITY_INFOBOX_GROUP_ID), VOLCANIC_MINE_VENT_A_PERCENTAGE(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.VENT_A_PERCENTAGE), VOLCANIC_MINE_VENT_B_PERCENTAGE(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.VENT_B_PERCENTAGE), VOLCANIC_MINE_VENT_C_PERCENTAGE(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.VENT_C_PERCENTAGE), @@ -542,6 +543,8 @@ public enum WidgetInfo NIGHTMARE_ZONE(WidgetID.NIGHTMARE_ZONE_GROUP_ID, 0), + NIGHTMARE_PILLAR_HEALTH(WidgetID.NIGHTMARE_PILLAR_HEALTH_GROUP_ID, 1), + RAIDS_POINTS_INFOBOX(WidgetID.RAIDS_GROUP_ID, WidgetID.Raids.POINTS_INFOBOX), THEATRE_OF_BLOOD_HEALTH_ORBS(WidgetID.THEATRE_OF_BLOOD_GROUP_ID, WidgetID.TheatreOfBlood.ORB_BOX), diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java index 3643bb392a..142f38d034 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java @@ -61,6 +61,7 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; import java.util.stream.Collectors; +import javax.annotation.Nullable; import javax.inject.Inject; import javax.inject.Named; import javax.inject.Singleton; @@ -246,6 +247,7 @@ public class ConfigManager return str; } + @Nullable static String objectToString(Object object) { if (object instanceof Color) @@ -310,7 +312,8 @@ public class ConfigManager { return String.valueOf(object); } - return object.toString(); + + return object == null ? null : object.toString(); } public static > Class getElementType(EnumSet enumSet) diff --git a/runelite-client/src/main/java/net/runelite/client/game/AlternateSprites.java b/runelite-client/src/main/java/net/runelite/client/game/AlternateSprites.java new file mode 100644 index 0000000000..7455deed41 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/game/AlternateSprites.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2020 Jordan + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.client.game; + +public class AlternateSprites +{ + public static final String DISEASE_HEART = "1067-DISEASE.png"; + public static final String POISON_HEART = "1067-POISON.png"; + public static final String VENOM_HEART = "1067-VENOM.png"; +} diff --git a/runelite-client/src/main/java/net/runelite/client/game/ItemMapping.java b/runelite-client/src/main/java/net/runelite/client/game/ItemMapping.java index b5f0db7595..24155b355f 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ItemMapping.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemMapping.java @@ -68,8 +68,8 @@ public enum ItemMapping ITEM_DRAGON_SCIMITAR(DRAGON_SCIMITAR, DRAGON_SCIMITAR_OR), ITEM_DRAGON_SCIMITAR_ORNAMENT_KIT(DRAGON_SCIMITAR_ORNAMENT_KIT, DRAGON_SCIMITAR_OR), ITEM_DRAGON_DEFENDER(DRAGON_DEFENDER_ORNAMENT_KIT, DRAGON_DEFENDER_T), - ITEM_DRAGON_PICKAXE(DRAGON_PICKAXE, DRAGON_PICKAXE_12797, DRAGON_PICKAXEOR), - ITEM_DRAGON_PICKAXE_OR(ZALCANO_SHARD, DRAGON_PICKAXEOR), + ITEM_DRAGON_PICKAXE(DRAGON_PICKAXE, DRAGON_PICKAXE_12797, DRAGON_PICKAXE_OR), + ITEM_DRAGON_PICKAXE_OR(ZALCANO_SHARD, DRAGON_PICKAXE_OR), ITEM_DRAGON_KITESHIELD(DRAGON_KITESHIELD, DRAGON_KITESHIELD_G), ITEM_DRAGON_KITESHIELD_ORNAMENT_KIT(DRAGON_KITESHIELD_ORNAMENT_KIT, DRAGON_KITESHIELD_G), ITEM_DRAGON_FULL_HELM(DRAGON_FULL_HELM, DRAGON_FULL_HELM_G), diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/Overlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/Overlay.java index f74a4366a6..60ed8d84a7 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/Overlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/Overlay.java @@ -51,6 +51,7 @@ public abstract class Overlay implements LayoutableRenderableEntity private OverlayLayer layer = OverlayLayer.UNDER_WIDGETS; private final List menuEntries = new ArrayList<>(); private boolean resizable; + private int minimumSize = 32; private boolean resettable = true; /** diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java index 0d392bea04..4f9c9f3738 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java @@ -74,7 +74,6 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener private static final int BORDER = 5; private static final int BORDER_TOP = BORDER + 15; private static final int PADDING = 2; - private static final int MIN_OVERLAY_SIZE = 32; private static final int OVERLAY_RESIZE_TOLERANCE = 5; private static final Dimension SNAP_CORNER_SIZE = new Dimension(80, 80); private static final Color SNAP_CORNER_COLOR = new Color(0, 255, 255, 50); @@ -557,8 +556,9 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener // center } - final int widthOverflow = Math.max(0, MIN_OVERLAY_SIZE - width); - final int heightOverflow = Math.max(0, MIN_OVERLAY_SIZE - height); + final int minOverlaySize = currentManagedOverlay.getMinimumSize(); + final int widthOverflow = Math.max(0, minOverlaySize - width); + final int heightOverflow = Math.max(0, minOverlaySize - height); final int dx = x - originalX; final int dy = y - originalY; @@ -566,7 +566,7 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener // dimensions and adjust the x/y position accordingly as needed if (widthOverflow > 0) { - width = MIN_OVERLAY_SIZE; + width = minOverlaySize; if (dx > 0) { @@ -575,7 +575,7 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener } if (heightOverflow > 0) { - height = MIN_OVERLAY_SIZE; + height = minOverlaySize; if (dy > 0) { diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java index d85e675808..aa995eafff 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/WidgetOverlay.java @@ -65,6 +65,9 @@ public class WidgetOverlay extends Overlay .put(WidgetInfo.GAUNTLET_TIMER_CONTAINER, OverlayPosition.TOP_LEFT) .put(WidgetInfo.HALLOWED_SEPULCHRE_TIMER_CONTAINER, OverlayPosition.TOP_LEFT) .put(WidgetInfo.HEALTH_OVERLAY_BAR, OverlayPosition.TOP_CENTER) + .put(WidgetInfo.NIGHTMARE_PILLAR_HEALTH, OverlayPosition.TOP_LEFT) + .put(WidgetInfo.VOLCANIC_MINE_VENTS_INFOBOX_GROUP, OverlayPosition.BOTTOM_RIGHT) + .put(WidgetInfo.VOLCANIC_MINE_STABILITY_INFOBOX_GROUP, OverlayPosition.BOTTOM_LEFT) .build(); public static Collection createOverlays(final Client client) diff --git a/runelite-client/src/main/java/net/runelite/client/util/WeaponMap.java b/runelite-client/src/main/java/net/runelite/client/util/WeaponMap.java index c809e5112d..08aa0ac124 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/WeaponMap.java +++ b/runelite-client/src/main/java/net/runelite/client/util/WeaponMap.java @@ -594,7 +594,7 @@ public class WeaponMap StyleMap.put(ItemID.MITHRIL_KNIFEP_5657, WeaponStyle.RANGE); StyleMap.put(ItemID.MITHRIL_KNIFEP_5664, WeaponStyle.RANGE); StyleMap.put(ItemID.MITHRIL_THROWNAXE, WeaponStyle.RANGE); - StyleMap.put(ItemID.MITH_CROSSBOW, WeaponStyle.RANGE); + StyleMap.put(ItemID.MITHRIL_CROSSBOW, WeaponStyle.RANGE); StyleMap.put(ItemID.MONKEY_TALISMAN, WeaponStyle.RANGE); StyleMap.put(ItemID.MORRIGANS_JAVELIN, WeaponStyle.RANGE); StyleMap.put(ItemID.MORRIGANS_JAVELIN_23619, WeaponStyle.RANGE); diff --git a/runelite-client/src/main/resources/item_variations.json b/runelite-client/src/main/resources/item_variations.json index b32b6cee07..0868cc90ba 100644 --- a/runelite-client/src/main/resources/item_variations.json +++ b/runelite-client/src/main/resources/item_variations.json @@ -2413,6 +2413,10 @@ 1947, 5607 ], + "pumpkin": [ + 1959, + 24979 + ], "easter egg": [ 1961, 7928, @@ -2432,7 +2436,11 @@ 22519, 22520, 24367, - 24426 + 24426, + 24971, + 24973, + 24994, + 24996 ], "empty cup": [ 1980, @@ -6238,6 +6246,10 @@ 9179, 9459 ], + "mithril crossbow": [ + 9181, + 9461 + ], "adamant crossbow": [ 9183, 9463 @@ -7251,7 +7263,9 @@ 21061, 21063, 24743, - 24745 + 24745, + 25069, + 25071 ], "graceful cape": [ 11852, @@ -7271,7 +7285,9 @@ 21064, 21066, 24746, - 24748 + 24748, + 25072, + 25074 ], "graceful top": [ 11854, @@ -7291,7 +7307,9 @@ 21067, 21069, 24749, - 24751 + 24751, + 25075, + 25077 ], "graceful legs": [ 11856, @@ -7311,7 +7329,9 @@ 21070, 21072, 24752, - 24754 + 24754, + 25078, + 25080 ], "graceful gloves": [ 11858, @@ -7331,7 +7351,9 @@ 21073, 21075, 24755, - 24757 + 24757, + 25081, + 25083 ], "graceful boots": [ 11860, @@ -7351,7 +7373,9 @@ 21076, 21078, 24758, - 24760 + 24760, + 25084, + 25086 ], "slayer helmet": [ 11864, @@ -9282,6 +9306,10 @@ 24365, 24366 ], + "twisted adamant trophy": [ + 24376, + 25046 + ], "twisted hat": [ 24387, 24397, @@ -9311,7 +9339,7 @@ 24439, 24440 ], - "twisted relichunter armour set": [ + "twisted relic hunter armour set": [ 24469, 24472, 24475 @@ -9428,5 +9456,41 @@ "mahogany bed": [ 24921, 24925 + ], + "trailblazer hood": [ + 25001, + 25016, + 25028 + ], + "trailblazer coat": [ + 25004, + 25019, + 25031 + ], + "trailblazer trousers": [ + 25007, + 25022, + 25034 + ], + "trailblazer boots": [ + 25010, + 25025, + 25037 + ], + "trailblazer harpoon": [ + 25059, + 25114 + ], + "trailblazer pickaxe": [ + 25063, + 25112 + ], + "trailblazer axe": [ + 25066, + 25110 + ], + "extradimensional bag": [ + 25106, + 25108 ] } diff --git a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash b/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash index 9bc0c02495..a030722f69 100644 --- a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash +++ b/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash @@ -1 +1 @@ -B840A83E8560C8EB17205E2B98F1D9CD25FBC390562E8A5A437B692EEA6D8F15 \ No newline at end of file +7AA081A68C6157F9B74DDB6B04F00B1691113941EED8996A4DEABF643F45EA25 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.rs2asm b/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.rs2asm index e1ab66d206..c523d51759 100644 --- a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.rs2asm +++ b/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.rs2asm @@ -47,8 +47,19 @@ LABEL23: get_varbit 8119 iconst 1 if_icmpeq LABEL42 - jump LABEL146 + jump LABEL155 LABEL42: + invoke 3160 + iconst 1 + if_icmpeq LABEL46 + jump LABEL51 +LABEL46: + sconst "" + chat_playername + join_string 2 + sstore 2 + jump LABEL59 +LABEL51: iconst 105 iconst 115 iconst 1894 @@ -57,16 +68,17 @@ LABEL42: chat_playername join_string 2 sstore 2 +LABEL59: iload 4 iconst 1 - if_icmpeq LABEL54 - jump LABEL58 -LABEL54: + if_icmpeq LABEL63 + jump LABEL67 +LABEL63: sload 2 sconst "" append sstore 2 -LABEL58: +LABEL67: sload 2 sconst ": " sload 0 @@ -77,9 +89,9 @@ LABEL58: sstore 2 iload 2 iconst 80 - if_icmplt LABEL70 - jump LABEL77 -LABEL70: + if_icmplt LABEL79 + jump LABEL86 +LABEL79: sload 2 sload 0 sconst "*" @@ -87,7 +99,7 @@ LABEL70: join_string 3 append sstore 2 -LABEL77: +LABEL86: sload 2 iconst 2147483647 iconst 495 @@ -95,9 +107,9 @@ LABEL77: istore 3 iload 4 iconst 1 - if_icmpeq LABEL86 - jump LABEL103 -LABEL86: + if_icmpeq LABEL95 + jump LABEL112 +LABEL95: iconst 60 iconst 5 iload 3 @@ -114,8 +126,8 @@ LABEL86: iconst 2 iconst 10616871 if_setposition - jump LABEL115 -LABEL103: + jump LABEL124 +LABEL112: iconst 0 iconst 30 iconst 0 @@ -128,26 +140,26 @@ LABEL103: iconst 2 iconst 10616871 if_setposition -LABEL115: +LABEL124: iload 3 iconst 10616890 if_getwidth - if_icmpgt LABEL120 - jump LABEL126 -LABEL120: + if_icmpgt LABEL129 + jump LABEL135 +LABEL129: iconst 2 iconst 2 iconst 0 iconst 10616890 if_settextalign - jump LABEL131 -LABEL126: + jump LABEL140 +LABEL135: iconst 0 iconst 2 iconst 0 iconst 10616890 if_settextalign -LABEL131: +LABEL140: iconst 10616890 if_clearops iconst -1 @@ -162,8 +174,19 @@ LABEL131: sconst "" iconst 10616890 if_setonop - jump LABEL187 -LABEL146: + jump LABEL205 +LABEL155: + invoke 3160 + iconst 1 + if_icmpeq LABEL159 + jump LABEL164 +LABEL159: + sconst "" + sconst " You must set a name before you can chat." + join_string 2 + sstore 2 + jump LABEL172 +LABEL164: iconst 105 iconst 115 iconst 1894 @@ -172,6 +195,7 @@ LABEL146: sconst " You must set a name before you can chat." join_string 2 sstore 2 +LABEL172: iconst 1 iconst 2 iconst 0 @@ -205,7 +229,7 @@ LABEL146: sconst "ii" iconst 10616890 if_setonop -LABEL187: +LABEL205: sload 2 iconst 10616890 if_settext diff --git a/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash b/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash index 325891a913..381dd10c4f 100644 --- a/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash +++ b/runelite-client/src/main/scripts/OptionsPanelRebuilder.hash @@ -1 +1 @@ -70481539CCDB751DD4627EE8F4765D6D5BFD331E32E51B73946913C3CE17D942 \ No newline at end of file +1CCC672616971AEB7A1E4C00885367CEFC75A873DD22A37BE99652F2DA107653 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/OptionsPanelRebuilder.rs2asm b/runelite-client/src/main/scripts/OptionsPanelRebuilder.rs2asm index 70847540be..c713cbc000 100644 --- a/runelite-client/src/main/scripts/OptionsPanelRebuilder.rs2asm +++ b/runelite-client/src/main/scripts/OptionsPanelRebuilder.rs2asm @@ -487,7 +487,7 @@ LABEL437: iconst 73 iconst 73 iload 1 - iconst 10551305 + iconst 10551304 enum if_hassub iconst 1 @@ -542,7 +542,7 @@ LABEL481: iconst 73 iconst 73 iload 1 - iconst 10551305 + iconst 10551304 enum istore 18 iconst 0 diff --git a/runelite-client/src/main/scripts/SpecbarRedraw.hash b/runelite-client/src/main/scripts/SpecbarRedraw.hash index 7157165228..9715ca5575 100644 --- a/runelite-client/src/main/scripts/SpecbarRedraw.hash +++ b/runelite-client/src/main/scripts/SpecbarRedraw.hash @@ -1 +1 @@ -3444503072AEE70EEB53938C1FDC826A7530B62BB5FAB65402A22BAB08D7B76D \ No newline at end of file +1EDA8CA79506CC62A192A844B88AC924BAD3060D9E32150C43458E135908329B \ No newline at end of file diff --git a/runelite-client/src/main/scripts/SpecbarRedraw.rs2asm b/runelite-client/src/main/scripts/SpecbarRedraw.rs2asm index cea353401a..b71ba6aae4 100644 --- a/runelite-client/src/main/scripts/SpecbarRedraw.rs2asm +++ b/runelite-client/src/main/scripts/SpecbarRedraw.rs2asm @@ -11,27 +11,24 @@ get_varbit 5314 iconst 1 if_icmpeq LABEL9 - jump LABEL17 + jump LABEL14 LABEL9: - iconst 111 - iconst 105 - iconst 906 iconst 94 iconst 3 - inv_getobj - enum + inv_getobj + invoke 3648 istore 1 -LABEL17: +LABEL14: iload 1 iconst 0 - if_icmple LABEL21 - jump LABEL31 -LABEL21: + if_icmple LABEL18 + jump LABEL28 +LABEL18: iconst 1 ; What we compare the boolean with iconst 0 ; Boolean sconst "drawSpecbarAnyway" runelite_callback - if_icmpeq LABEL41 + if_icmpeq LABEL38 iconst 1 iconst 38862883 if_sethide @@ -42,57 +39,57 @@ LABEL21: iconst 38862850 if_setsize return -LABEL31: +LABEL28: invoke 1972 iconst 1 - if_icmpeq LABEL35 - jump LABEL41 -LABEL35: + if_icmpeq LABEL32 + jump LABEL38 +LABEL32: iconst 190 iconst 16 iconst 0 iconst 0 iconst 38862850 if_setsize -LABEL41: +LABEL38: iconst 0 istore 2 iconst 38862883 if_gethide iconst 1 - if_icmpeq LABEL48 - jump LABEL50 -LABEL48: + if_icmpeq LABEL45 + jump LABEL47 +LABEL45: iconst 1 istore 2 -LABEL50: +LABEL47: iconst 0 iconst 38862883 if_sethide get_varp 301 iconst 0 - if_icmpgt LABEL57 - jump LABEL61 -LABEL57: + if_icmpgt LABEL54 + jump LABEL58 +LABEL54: iconst 16776960 iconst 38862888 if_setcolour - jump LABEL64 -LABEL61: + jump LABEL61 +LABEL58: iconst 16 iconst 38862888 if_setcolour -LABEL64: +LABEL61: get_varp 300 istore 3 iload 3 iconst 0 - if_icmplt LABEL70 - jump LABEL72 -LABEL70: + if_icmplt LABEL67 + jump LABEL69 +LABEL67: iconst 0 istore 3 -LABEL72: +LABEL69: sconst "Special Attack: " iload 3 iconst 10 @@ -119,18 +116,22 @@ LABEL72: CONTINUE: iload 3 iload 1 - if_icmpge LABEL89 - jump LABEL93 -LABEL89: + if_icmpge LABEL86 + jump LABEL90 +LABEL86: iconst 3767611 iconst 38862887 if_setcolour - jump LABEL96 -LABEL93: + jump LABEL93 +LABEL90: iconst 12907 iconst 38862887 if_setcolour -LABEL96: +LABEL93: + iconst 38862884 + iconst 0 + invoke 835 + pop_int iconst 94 iconst 3 inv_getobj @@ -141,11 +142,8 @@ LABEL96: iload 4 enum sconst " (" - iconst 111 - iconst 105 - iconst 906 iload 4 - enum + invoke 3648 iconst 10 div tostring @@ -154,13 +152,13 @@ LABEL96: sstore 0 iload 4 switch - 22737: LABEL124 - 22740: LABEL124 - 22743: LABEL124 - 22731: LABEL124 - 22734: LABEL124 - jump LABEL132 -LABEL124: + 22737: LABEL118 + 22740: LABEL118 + 22743: LABEL118 + 22731: LABEL118 + 22734: LABEL118 + jump LABEL126 +LABEL118: iconst 111 iconst 115 iconst 1739 @@ -169,64 +167,61 @@ LABEL124: sconst " 5-100% " join_string 2 sstore 0 -LABEL132: +LABEL126: get_varbit 5712 iconst 0 - if_icmpeq LABEL136 - jump LABEL201 -LABEL136: + if_icmpeq LABEL130 + jump LABEL192 +LABEL130: iload 4 iconst 11235 - if_icmpeq LABEL152 + if_icmpeq LABEL146 iload 4 iconst 20408 - if_icmpeq LABEL152 + if_icmpeq LABEL146 iload 4 iconst 12765 - if_icmpeq LABEL152 + if_icmpeq LABEL146 iload 4 iconst 12768 - if_icmpeq LABEL152 + if_icmpeq LABEL146 iload 4 iconst 12767 - if_icmpeq LABEL152 - jump LABEL185 -LABEL152: + if_icmpeq LABEL146 + jump LABEL176 +LABEL146: iconst 94 iconst 13 inv_getobj iconst 11212 - if_icmpeq LABEL173 + if_icmpeq LABEL167 iconst 94 iconst 13 inv_getobj iconst 11227 - if_icmpeq LABEL173 + if_icmpeq LABEL167 iconst 94 iconst 13 inv_getobj iconst 11228 - if_icmpeq LABEL173 + if_icmpeq LABEL167 iconst 94 iconst 13 inv_getobj iconst 11229 - if_icmpeq LABEL173 - jump LABEL185 -LABEL173: + if_icmpeq LABEL167 + jump LABEL176 +LABEL167: sconst "Descent of Dragons: Deal a double attack with dragon arrows that inflicts up to 50% more damage (minimum damage of 8 per hit). (" - iconst 111 - iconst 105 - iconst 906 iload 4 - enum + invoke 3648 iconst 10 div tostring sconst "%)" join_string 3 sstore 0 -LABEL185: +LABEL176: iconst 526 iconst -2147483645 iconst -1 @@ -242,11 +237,11 @@ LABEL185: sconst "I" iconst 38862883 if_setonmouseleave - jump LABEL205 -LABEL201: + jump LABEL196 +LABEL192: iconst -1 sconst "" iconst 38862883 if_setonmouserepeat -LABEL205: +LABEL196: return diff --git a/runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java b/runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java index bc4015dca8..792ff3bb25 100644 --- a/runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java +++ b/runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java @@ -122,6 +122,18 @@ public class ConfigManagerTest TestConfig conf = manager.getConfig(TestConfig.class); ConfigDescriptor descriptor = manager.getConfigDescriptor(conf); - Assert.assertEquals(1, descriptor.getItems().size()); + Assert.assertEquals(2, descriptor.getItems().size()); + } + + @Test + public void testResetNullDefaultConfig() + { + TestConfig conf = manager.getConfig(TestConfig.class); + ConfigDescriptor descriptor = manager.getConfigDescriptor(conf); + conf.nullDefaultKey("new value"); + + manager.unsetConfiguration(descriptor.getGroup().value(), "nullDefaultKey"); + manager.setDefaultConfiguration(conf, false); + Assert.assertNull(conf.nullDefaultKey()); } } diff --git a/runelite-client/src/test/java/net/runelite/client/config/TestConfig.java b/runelite-client/src/test/java/net/runelite/client/config/TestConfig.java index 66e659d98a..78cf0edb36 100644 --- a/runelite-client/src/test/java/net/runelite/client/config/TestConfig.java +++ b/runelite-client/src/test/java/net/runelite/client/config/TestConfig.java @@ -43,4 +43,21 @@ public interface TestConfig extends Config description = "value" ) void key(String key); + + @ConfigItem( + keyName = "nullDefaultKey", + name = "Key Name", + description = "value" + ) + void nullDefaultKey(String key); + + @ConfigItem( + keyName = "nullDefaultKey", + name = "Key Name", + description = "value" + ) + default String nullDefaultKey() + { + return null; + } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSActorMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSActorMixin.java index 8303b8f218..5e3a32cad7 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSActorMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSActorMixin.java @@ -55,7 +55,6 @@ import net.runelite.rs.api.RSHealthBar; import net.runelite.rs.api.RSHealthBarDefinition; import net.runelite.rs.api.RSHealthBarUpdate; import net.runelite.rs.api.RSIterableNodeDeque; -import net.runelite.rs.api.RSNPC; import net.runelite.rs.api.RSNode; @Mixin(RSActor.class) @@ -64,6 +63,9 @@ public abstract class RSActorMixin implements RSActor @Shadow("client") private static RSClient client; + @Inject + private boolean dead; + @Inject @Override public Actor getInteracting() @@ -241,6 +243,20 @@ public abstract class RSActorMixin implements RSActor return new WorldArea(this.getWorldLocation(), size, size); } + @Inject + @Override + public boolean isDead() + { + return dead; + } + + @Inject + @Override + public void setDead(boolean dead) + { + this.dead = dead; + } + @Inject @MethodHook("addHealthBar") public void setCombatInfo(int combatInfoId, int gameCycle, int var3, int var4, int healthRatio, int health) @@ -250,10 +266,7 @@ public abstract class RSActorMixin implements RSActor final ActorDeath event = new ActorDeath(this); client.getCallbacks().post(ActorDeath.class, event); - if (this instanceof RSNPC) - { - ((RSNPC) this).setDead(true); - } + this.setDead(true); } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java index c3675f45a5..1e054a3102 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java @@ -51,9 +51,6 @@ public abstract class RSNPCMixin implements RSNPC @Inject private int npcIndex; - @Inject - private boolean dead; - @Inject @Override public int getId() @@ -161,20 +158,6 @@ public abstract class RSNPCMixin implements RSNPC return composition; } - @Inject - @Override - public boolean isDead() - { - return dead; - } - - @Inject - @Override - public void setDead(boolean dead) - { - this.dead = dead; - } - @Inject @Override public Shape getConvexHull() diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSActor.java b/runescape-api/src/main/java/net/runelite/rs/api/RSActor.java index 07655967ca..46d9b32f3e 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSActor.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSActor.java @@ -182,4 +182,6 @@ public interface RSActor extends RSEntity, Actor @Import("runSequence") @Override int getRunAnimation(); + + void setDead(boolean dead); } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSNPC.java b/runescape-api/src/main/java/net/runelite/rs/api/RSNPC.java index c34ce43381..dbc957b794 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSNPC.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSNPC.java @@ -13,6 +13,4 @@ public interface RSNPC extends RSActor, NPC int getIndex(); void setIndex(int id); - - void setDead(boolean dead); }