Skip to content

Graves Rewrite

Ceikry requested to merge grave-rewrite into master

What have you done in this MR?

  • Rewrote graves from scratch using new systems and abundant unit testing
  • Fixed a race condition bug that would prevent classes implementing PersistWorld from properly... persisting
  • Fixed a bug where graves were (still) too generous
  • Fixed a bug where graves would not persist across server reboots
  • Fixed a bug where graves would not recognize a relogged player
  • Fixed numerous other bugs with graves, see the unit tests for complete coverage and what all now works.
  • Grave system now supports quest requirements

Testers:

  • Make sure you can change your grave at Father Aereck
  • Make sure you can't change your grave to one that requires a quest
  • Make sure you can't change your grave while you have a grave active (use ::forcegravedeath to force a death that spawns a grave)
  • Make sure all graves take their allotted amount of time to respawn
  • Make sure blessing graves requires 70 prayer and adds your available prayer points (as minutes) to the timer in an amount that does not exceed 60.
  • Make sure repairing graves requires 2 prayer and adds your available prayer points (as minutes) to the timer in an amount that does not exceed 5.
  • Make sure graves persist and continue to function normally across relogs

Everything else should be covered by the unit tests.

Implementation Source (and additional info for testing, if you wish): https://runescape.wiki/w/Gravestone?oldid=854455

Are there any tricky things testers should keep an eye out for?

  • No

  • Yes, as follows:

  • I have tested these changes thoroughly.

  • This requires extra testing due to changes to architecture or other similarly risky changes.

  • I used the Thanos Tool for any JSON edits, I did not edit any JSON files by hand (MR will be rejected if there are manual JSON edits).

  • I acknowledge that this contribution will be released under the AGPL license.

Edited by Ceikry

Merge request reports