Land of the Rair Dev Blog #37 - Guilds! And More!

Oct 10, 2024 • Seiyria

Greetings Rairians! This is a pretty hefty patch in terms of functionality, and I’m excited to get it out. As well, I’ll detail the followups that are coming!

Guilds

If you’ve been around, you know I’ve wanted to make guilds for years. I’ve finally broken it down and started doing it. As of today, you can make a guild, invite players, and … that’s about it. You can also store coins in your guild treasury, I suppose? But, enough about that…

Guilds! You have a somewhat-modern interface to your guild. There are 3 tiers of membership - owner, admin, member - and there’s also invitees. A person can only be a part of one guild, including invitees. However, a guild can only have 20 players in it. Guilds are per character not per account, so you can be in as many guilds as you have characters on an account.

Owners can do anything, as you might expect. Administrators can kick people, change the MOTD, manage the treasury, and also see the audit log. Members are along for the ride and have no special permissions. Invitees have nothing to speak of in terms of permisison until they accept a guild invite.

You can find the guild window in the newly-sorted windows menu, in game.

Want your own guild? Go find the Guildmaster in Frosthold (he’s in a new building on the east side). He’ll charge you 10 million gold to make a guild, but if you can pay him, you’re good to go! You’ll need to come up with a tag and a guild name, so when he asks, you can make a guild like so: [MYTAG] My Cool Guild Name - you must unfortunately be specific when doing this. Due to an internal limitation, this was the easiest way to get guild creation going without too many popups.

Coming up soon will be a fully customizable guild hall! More details to be mentioned when that’s closer to being done.

Want 100 silver? Here you go: B894D-9A8A3-904EF-8EB4D

Achievements

There are, as of writing, 176 achievements for you to go forth and find! Most of them are not hidden, but some of them are. Eventually, these will be redeemable for points that give you cool rewards. But for now, enjoy the hunt!

Map-wide Event Tracking

It’s now possible to start new events based on old events succeeding or failing. “Success” is a bit of a nebulous metric, so I’ll detail a bit about this feature and then talk more about that.

In Guild Wars 2, FFXIV, and probably other MMOs, there’s a lot of open world events that can lead to other events depending on if they succeed or fail. These are things like item turn ins, kill quests, escort quests, whatever. I like the vibrance they add to a world, so I wanted to replicate that on a smaller scale.

In the Tower of Selen, there was previously a single event where guards would push against the goblins. Now, if the guards are successful, they will push deeper in and fight the warlords with their elite members. However, if they’re unsuccessful, goblins will overtake the town and lower tower temporarily.

“Success” is determined by how many goblins are killed in the first event chain. Eventually I would like to add other event types, but I wanted to start with a small proof of concept first.

Window Drag Improvements

For those of you who like pixel-perfect window placements, I have good news! If you hold a window (left click) and use arrow keys, you can now move the window one pixel at a time in any direction. You can now also export window positions, if you would like, so you can import them on another client!

New Desktop Client

This thing somehow always goes out of date and stops working right. I have rewritten it for a third time, and added auto update to it now, so at least going forward it should be easier to push updates!

Pet Improvements

  • $pet targetting macro now supported for folks who want to support their pets more
  • $npc command replacements no longer target your pet (or any friendly NPCs)
  • pets will no longer assault other players by default
  • pets will now support their allies by default, whether in party or not
  • pet stat, hp, and everything scaling was fixed
  • pet spellcasting was fixed
  • pet summon message now looks nicer
  • pet, resettarget will now reset your pets agro
  • pet, target <creature> will now force your pet to try to target creature (pet agro is still finnicky, so this will help, but may not work entirely as expected by players)
  • shadow clones are no longer super jank compared to other pets

ModKit Improvements

  • web modkit can now share specific table items by id
  • CR data is now more robust, supporting class, monster type, and allowing for global improvement of stats by level
  • modkit should now let you actually test mods, instead of not letting you
  • upgrade items are now listed in pinpoint
  • web modkit now shows last save date, indicating you should update to see the latest, sometimes
  • modkit now supports dependencies, making it easier to develop a standalone mod
  • modkit now searches for NPCs in spell->summonedNPCs
  • modkit is now always in dark mode
  • support events better by adding an event editor

Balance Changes

  • ragerang is no longer absolutely busted
  • water breathing spell added to mages
  • barwater scaled down as a result of the above
  • DoTs give skill on kill now
  • frost dragon now will charge at you to attack
  • higher level NPCs now punish you by having a higher damage output and to-hit bonus
  • hopefully archlich will no longer permanently plague players
  • arcanists now get magical focus, rather than energy focus, due to a class mechanic changing damage types for them
  • songs now limit targets like aoe spells do
  • thief songs now last 10 seconds rather than exactly 5 (which is their reapply period), granting a little grace to song falloff
  • enemies will no longer snare you for hundreds of ticks
  • more potions are sold in frostlands for use with tradeskills
  • added two new hidden bosses
  • antanian sash (required by many recipes) is now actually obtainable
  • bar* spells now boost potency whether you cast on yourself or another person (previously, thermal barrier et al would only apply if you cast on yourself. thanks, brigands!)

Other Fixes & Features

  • targetting code completely reworked to be easier to modify in the future
  • there is now a gray background on all effect icons, making it look much more consistent and readable
  • a deep, internal issue caused certain database fields to never work. they only matter for the purposes of tracking when something was made. this means that players, if I ever implement birthday gifts, will have their createdAt date set much later than when their character was actually made
  • performance improvements in game loading: spawners do not spawn their zoo when the game loads. now, instead, it’s batched (starting with friendly npcs) and will slowly fill in the world. this only matters for the first 30-60 seconds of the server being up, but it makes tremendous improvements to local development
  • general init improvements for the game
  • teleport no longer costs MP to bring up the menu
  • GMs now have a @gearup command that lets them maximize a potential stat for a certain level, for easier testing
  • reviving a player corpse with a healer NPC no longer duplicates the corpse
  • Orikurnis/Solokar will now drop rune scrolls of the correct level
  • when logging in, players should now update data every time, rather than the initial time, making it easier to see new items without refreshing the game
  • discord now supports slash commands
  • caster weapon skills now flag correctly
  • fix a visual error with Ori/Solo
  • added much more validation to the modkit to make sure things that get pushed are less likely to be broken
  • GMs now have a command to list all online players (we only want to spy on you sometimes!)
  • the macro documentation has been updated to list all container types for UI interaction macros
  • message list scroll jank has been improved
  • effect names have been massively improved across the board, making them all more readable
  • npcs will no longer talk with invisible players
  • halloween event now has a costumist
  • you can no longer forget a password to an account that never existed
  • new players will now get XP from the moment their account is made! this is a longstanding bug that took a lot of time to figure out the specifics of. thanks all!
  • various crash fixes

As always you can find the full changelog here.

What’s Coming Up?

I want to add guild halls! This will be a customizable place that players can go as part of their guilds, and customize in interesting ways. I’m excited!

As always you can find the full roadmap here.

Until next time,

  • Seiyria