I'm aware I haven't posted a single update log in almost a year now, which is why I am here right now too. For every week until the release, I will be posting update logs from the past year that I did not post previously.
Note: The update log is rather unspecific - I will not be putting enormous detail into these update logs from forever ago, as I'd then be writing massive walls of text every week. Instead, I will only write down updates that are worth mentioning.
This update log covers my updates between 06.06.2018-21.09.2018
Item wield requirements implemented, all items have been manually given requirements, to ensure nothing is missed.
Grand exchange offer processing implemented.
Plugins are now loaded up using the ClassGraph library, helps contain code.
Dynamic area system implemented - an addition to the existing area system. Allows us to manage areas safely and without the chance of someone smuggling something in or out of the areas.
Pest Control minigame:
All three landers
All NPCs implemented with their respective abilities - brawlers block players and npcs, nothing can pass them, not even projectiles; splatters hop around and occasionally explode near destroyable objects, ravagers seek to destroy the gates and barricades etc..
Shooting from the watchtowers increases your shooting range
All rewards implemented
Improved the spells system to properly check for the user for runes, meaning you can now use combination runes, a combination of runes from multiple resources(inventory, rune pouch, held staff) if you're short of them. In addition to this, all staves have been properly defined as seen in the CS2 of the spellbook interface - so all the staves that light up the runes on the interface now do the same behind-the-scenes
Teleportation system rewritten: The new system requires for teleports to override a specific interface, making teleportation safe. Previously you could create new teleportations without relying on old code which meant there could've been accidental missing checks to teleport to or from certain limited locations
All missing spells were implementing, most of which were the reanimation spells in the Arceuus spellbook, but also tele-other spells, lunar teleports incl. group teleports and many others.
Method-based plugins w/ the support of custom compile-time(and shown by the IDE) errors to ensure we don't mess up the parameters.
NPC spawns dumped from OSRS. We've accumulated a total of 15,000 legitimate NPC spawns to populate Zenyte, a massive increase from the previous ~6,000. Special thanks to @Mtarik for helping me dump these and &Substance for allowing me to use his account to access some high-requirement areas.
In addition to dumping NPC spawns, we also dumped music simultaneously in the background. With that being said, a whopping total of 359 music tracks(out of 581) can now be unlocked by entering a certain area. A lot of the remaining music tracks are unlocked by completing or during quests, and a load are unlocked by default. We will be implementing ways to unlock the remaining music tracks eventually down the road, special thanks to @Mtarik for helping me obtain the tracks, and for mapping down the ways to unlock the unmapped music tracks. The music tracks that are currently impossible to unlock will be unlocked for all players by default, as we implement methods to unlock them, they will be locked for players automatically.
All slayer masters
All slayer tasks, including boss tasks, the ability to switch your TzHaar assignment out for a TzTok-Jad or even a TzKal-Zuk task.
Every slayer reward implemented exactly as they should be. Can spend your points on one of the many (40+, if not more - haven't counted) rewards, or even items such as herb sack, or even the newly added rune pouch.
Slayer monsters have their respective requirements to be slain(for example a rock hammer is needed to finish off a gargoyle; the unlock from the shop will also work!)
The ability to make the slayer tasks scale according to your current combat level option; players can disable this at their own will - however it means they can be assigned any task from the master's task table at any level.
Players can reset their tasks exactly as on OSRS - either by spending points to preserve their streaks, or by talking to turael to get an easier task if applicable.
Slayer partner system; You can have a partner to make slayer more fun overall.
Each assignment has its own weight, minimum and maximum assignable amounts, meaning you will receive some tasks more frequently than others, and that you will receive more of lower level monsters, and only a few of very high level ones - such as rune dragons, which always come in quantities of less than 10.
All of the monsters are also available in the game, so you will not be facing issues of being unable to complete your task or anything of sorts. We've also ensured that you can reach all of them.
Dynamic areas altered furthermore; it is now impossible for two dynamic areas to collide or even be closer than 16 tiles distance from eachother, meaning you will not be seeing issues with someone elses instanced area colliding with yours, e.g. a random toktz-jad appearing in your instance. Additionally, dynamic regions in general now have much higher requirements and verifications to be used - they're also far more efficient now in terms of seeking the next available empty mapspace.
Login system reworked to a more stable version. Logins are now executed on a separate threadpool, meaning none of the I/O tasks will be ran on the main game thread. I've also implemented many different login messages on an unsuccessful login attempt, so the player will get a clearer picture of what exactly went wrong. If the game fails to load a character file(corrupt perhaps?), they will be notified to contact customer support.
Dwarf multicannon secured up; if you lose your cannon, you can now retrieve it from Nulodion. In addition to this, I've implemented a proper hit pattern for the cannon to mimic RS. The cannon has also had its target checking updated to ensure nothing invalid is being attacked. The only thing not included in the cannon as of right now is area checks - right now, you are able to plant the cannon anywhere in the game you want, granted there's enough room to do so. The area checks will be implemented before the launch of course. Planting cannon is also much easier now than it used to be - the action will function similarly to osrs, where if you try to run away, it will walk you back as soon as you stop - granted you're within a specific proximity of it - and continue setting the cannon up. It also means that the setting up process is not interrupted by combat or anything of sorts. It will also locate a valid position for the cannon in close proximity when you attempt to plant it, as long as the original position - underneath you - cannot be planted at. The cannon's hit palette can be seen here.
The carpets system in the desert has been started on. As of right now, you can only carpet between the Shantay pass & Bedabin camp.
All of the item plugins have been reworked to a far more reliable system, which will also automatically inform us when the plugins stop functioning(e.g. OSRS changes the right-click options on an item), keeping the game more in-tact in general.
Dark areas implemented - any area in RS that would generally require a light source will actually now hold the effect. In addition to this, the gas bubbles and wind in the Lumbridge swamp caves will occasionally put out your open-flame light sources. Light sources also stack up in brightness.
Ape Atoll implemented. Players can now transform themselves into various monkeys through the use of Monkey GreeGrees. These actions are perfectly secure, if the player leaves the island as a monkey, they will be transformed back into the human form. Players cannot use the GreeGrees outside of the island. Being transformed into a monkey has its own benefits - the nearby monsters will not become aggressive towards you for starters. Additionally, I've secured the actions you can perform while in the monkey form. Any animation that doesn't fit your current form will be skipped, thus avoiding the possibility of character playing an odd glitched out animation.
You can now recolour and clean your abyssal whips and dark bows.
You can now mix barbarian potions through the Herblore skill.
Chaptered books implemented - a better form of cooks as it allows you to skip to the chapter you wish to read.
Stronghold of Security in all of its glory. Contains all of the monsters you'd normally find in it. To pass through the doors, you must answer the security questions proposed, or have set up the two-factor authenticator. Players can loot the rewards from each floor, giving them small loot & unlocking emotes. Players can also create the skull sceptre, used to teleport quickly to barbarian village.
Implemented a neat and efficient method of finding nearby entities in a specified radius. This is now used all across the game, and will ensure that anything relying upon it will function. Prior to this, we had duplicate code written everywhere that needed to collect a list of entities; this obviously lead to issues as each piece of code could be different from one another, or contain blatantly obvious bugs.
Implemented the means to acquire all valid animations per character type. This feature ensures that we do not allow playing incorrect animations on players or monsters - or players transformed into monsters. This has also been implemented for administrators, so they cannot play invalid animations to glitch their character to look odd or anything like that. It also allows us to automatically - and efficiently acquire typos and other issues in code, as exceptions are thrown when incorrect animations are attempted to be played, allowing us to patch up the issues seamlessly. It also allows us to write combat scripts more efficiently, as finding animations is really not an issue anymore - this also extends graphics, objects etc. All-in-all, it helps us write code more efficiently.
You can no longer attack other players' animated armours.
Logs are replaced with ashes once again after a fire goes out.
Graphics added when getting hit by a snake in the creature keeper room, in the Chambers of Xeric.
Melee combat is no longer permitted diagonally.
You can now use the Fairy Ring between the Lumbridge shed & Zanaris.
Fountain of Rune effect implemented - players will not require runes in the presence of the fountain, nor will they receive experience for casting spells there. In addition to this, the fountain showers the players around it with runes.
You can now use the gate between Lumbridge and Al-Kharid, requiring 10 gold pieces to pass through.
You can now enter the Mining guild with a Mining level of at least 60.
Automatic NPC spawning of the implemented type - it ensures we don't make mistakes which break the NPC.
Cleaned up projectile code by manually fixing every single projectile object created across the server. The duration variable was off on all of the projectiles making it difficult and confusing to create projectiles of very slow speeds.
Wilderness resource area can now be accessed by paying Mandrith 7,500 gold pieces.
Players will no longer lose ammunition whilst in duel arena.
Tutorial island no longer crashes players when entering.
Route event(finding path to an entity - a player, npc, object, tile) rewritten to a more efficient and less glitchy version.
Autocast interface properly secured. We've implemented all measured to prevent spoofing this otherwise potentially very vulnerable feature; You can only autocast the spells visible to you on the autocast interface.
A lot of bosses have had the tolerance feature disabled to prevent making them go unaggressive after certain amount of time.
Bosses also no longer get "stuck" behind other monsters; they will no longer check for entity collisions, and thus will walk straight through anything in-front of them.
Granite maul will now resume combat when you use the special attack as long as the requirements for it are met - this must be done quickly after ending combat. The main idea is that you switch from a weapon to granite maul - which cancels out combat, and then only need to click the special attack bar - which however needs to be done fairly quickly - which will resume combat and unload your special attack(s) on your target, as it is on OSRS.
Clan chat secured furthermore; it is no longer possible for the same user to appear twice in the clan channel under any circumstances - an odd issue many servers, including ours(somehow..) had. Never found out what exactly caused it, but after reworking some parts it has disappeared fully.
You can now redeem the code 'osrsrf2014' at Diango to unlock the cow teleport animation.
A lot of ladders implemented in the lunar isle.
You can now release many types of animals, such as chinchompas - it is the equivalent of dropping them, except they will vanish on release.
You can now create a scarecrow.
Many of the characters were previously rendered incorrectly in chat; this is no longer the case and you can now use the same special characters as in OSRS.
Rune pouch will no longer function when not within your inventory.
Players can now create nature amulets as well as sinew.
Patched up item switching in containers. My attempts at writing an automated system to update the item in the container whenever its attributes changed hasn't succeeded all so well, as it created rare opportunities for items to completely mess up. I couldn't find out the reasoning behind it, so therefore I had to revert the system and stick to a manual-type refreshing. It's not as neat but at least it is secure.
Fishing has received a proper delay system in-between the catches.
Actions will now be interrupted by level up popup messages - upon closing, the action will continue as normal.