Skip to content

Rewrite action queues, suspension and delays#980

Merged
GregHib merged 24 commits into
mainfrom
queues
May 15, 2026
Merged

Rewrite action queues, suspension and delays#980
GregHib merged 24 commits into
mainfrom
queues

Conversation

@GregHib
Copy link
Copy Markdown
Owner

@GregHib GregHib commented May 15, 2026

New action queue system which more accurate emulates the original. Closes #976

  • Remove all soft queues (these are only used in osrs)

  • Introduce long queues instead of LogoutBehaviour

  • Remove all types of npc queue except for normal

  • Combine delay, dialogueSuspension and suspension into one

  • Add walk trigger system

  • Add separate weak queue

  • Add engine queue support

  • Add action linked list to replicate drop last queue behaviour (e.g. dds spec kills 1 tick faster than single hits)

  • Fix toolchains for running tools without jdk 21

  • Fix book pages not clearing anim on close

  • Fix modern teleport land animation

  • Fix ape atoll agility course animation not resetting

  • Fix not being able to mine whilst in combat

@github-actions
Copy link
Copy Markdown
Contributor

Qodana for JVM

5 new problems were found

Inspection name Severity Problems
Unused import directive 🔶 Warning 3
Unused symbol 🔶 Warning 1
Duplicated code fragment ◽️ Notice 1

💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report

Contact Qodana team

Contact us at qodana-support@jetbrains.com

@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

❌ Patch coverage is 54.37100% with 214 lines in your changes missing coverage. Please review.
✅ Project coverage is 37.65%. Comparing base (bae5baa) to head (f54975d).

Files with missing lines Patch % Lines
...lin/world/gregs/voidps/engine/queue/ActionQueue.kt 70.76% 11 Missing and 8 partials ⚠️
...alin/lumbridge/swamp/chams_of_tears/WeepingWall.kt 41.66% 6 Missing and 8 partials ⚠️
...ent/area/kandarin/feldip_hills/JungleStrykewyrm.kt 0.00% 11 Missing ⚠️
.../gregs/voidps/engine/entity/character/Character.kt 42.85% 6 Missing and 2 partials ⚠️
...ontent/area/misthalin/barbarian_village/Dororan.kt 0.00% 7 Missing ⚠️
...in/content/entity/player/dialogue/DialogueInput.kt 0.00% 2 Missing and 4 partials ⚠️
...content/skill/magic/book/modern/TelekineticGrab.kt 0.00% 2 Missing and 4 partials ⚠️
...main/kotlin/content/skill/magic/spell/Teleports.kt 68.42% 2 Missing and 4 partials ⚠️
...idps/engine/entity/character/mode/move/Movement.kt 0.00% 2 Missing and 2 partials ⚠️
...ea/kharidian_desert/kalphite_lair/KalphiteQueen.kt 0.00% 4 Missing ⚠️
... and 74 more
Additional details and impacted files
Files with missing lines Coverage Δ
...n/world/gregs/voidps/engine/data/AccountManager.kt 68.57% <100.00%> (ø)
...n/kotlin/world/gregs/voidps/engine/queue/Action.kt 100.00% <100.00%> (+34.37%) ⬆️
.../world/gregs/voidps/engine/queue/ActionPriority.kt 100.00% <100.00%> (ø)
...otlin/world/gregs/voidps/engine/suspend/Suspend.kt 100.00% <100.00%> (+28.57%) ⬆️
...ent/area/kandarin/ardougne/west_ardougne/Bravek.kt 31.76% <100.00%> (ø)
...in/content/area/kandarin/ourania/ZamorakCrafter.kt 95.45% <100.00%> (ø)
...content/area/misthalin/draynor_village/LadyKeli.kt 31.30% <100.00%> (ø)
...ontent/area/misthalin/draynor_village/PrinceAli.kt 61.76% <100.00%> (ø)
...tlin/content/area/misthalin/lumbridge/Ducklings.kt 65.21% <100.00%> (ø)
...n/content/area/misthalin/lumbridge/swamp/Shamus.kt 39.28% <100.00%> (ø)
... and 110 more

... and 21 files with indirect coverage changes

@@             Coverage Diff              @@
##               main     #980      +/-   ##
============================================
+ Coverage     37.60%   37.65%   +0.04%     
- Complexity     8225     8239      +14     
============================================
  Files          1697     1696       -1     
  Lines         68593    68635      +42     
  Branches      17166    17289     +123     
============================================
+ Hits          25797    25845      +48     
+ Misses        36992    36962      -30     
- Partials       5804     5828      +24     
Components Coverage Δ
Content 35.61% <40.98%> (-0.04%) ⬇️
Engine 45.73% <74.73%> (+0.40%) ⬆️
Network 60.12% <ø> (+0.03%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@GregHib GregHib merged commit 7cedb78 into main May 15, 2026
5 checks passed
@GregHib GregHib deleted the queues branch May 15, 2026 20:14
HarleyGilpin added a commit to HarleyGilpin/void that referenced this pull request May 17, 2026
PR GregHib#980 deleted softQueue; replace the three pet/kitten call sites
with weakQueue (closest semantic match: easily-preempted fire-and-
forget) and drop the leftover `player.` prefixes inside the lambdas
since Player is now the lambda receiver.

While in KittenInteract, fix two bugs in chaseVermin:

- The cat used to chase pirates because "pirate" contains the
  substring "rat". Predicate now matches the npc string id with a
  `_` word boundary (rat / *_rat / rat_* / *_rat_*).
- The cat never caught anything because the 5-tick callback always
  fired the failure message. Roll a 33% catch chance up front; on
  success despawn the rat and message the win. Adjacency guard
  covers the case where the rat wanders before the kitten arrives.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Quest Broken: Gunnars Ground

1 participant