Combat system rewrite

Hi everyone!

Something that has been a major problem in a number of different ways over time has been the combat system. There are a few key things that have been on my mind for a long time here:

  • Players being able to block areas by targeting a monster that they can’t hit, flagging them for combat so they can’t be pushed
  • The skull system not working correctly with yellow skulls, it was possible to hit someone and un target them quickly, then when they hit you back they would get yellow skulled
The changes are already live!

Now, in order to address this I had to completely rip out and rewrite how the server handles flagging people for combat and tracking who hit who. Today I have gone in with a sledge hammer and I think I have managed to rewrite this entire system and get everything we want. Previously combat status was intrinsically linked to the target system, and pve / pvp combat flags were all managed by the same cooldown.

Now combat status is triggered by actually hitting something, and pve / pvp cooldowns are handled completely separately. The one exception to this is monsters, if they are chasing you they will continuously flag you as in combat – this just felt right. With these changes the PVP skull system now also just… actually works, or at least I have been unable to find any case where it doesn’t work testing it with some volunteers ingame. So, here is how combat now works:

  • Hitting, or being hit by anything will flag you as in-combat
  • Monsters chasing you will flag you as in-combat

Nice and simple. This fixes the issue with being unable to push players and is nice and easy to understand. Also, as far as PVP goes:

  • If a player hits someone unprovoked, they receive a white skull. White skulled players cannot enter a safe zone.
  • If a player has no PVP status and is hit by a white skull player, they can fight back and will receive no skull. As they have no skull, they can still enter safe zones, even if they have defended themselves.
  • If a player hits a white skulled player who has not hit them first, they will receive a yellow skull that can only be seen by themselves and the player they have hit. Yellow skulled players cannot enter a safe zone.

Simple. The cooldown for pve and pvp combat timers are managed separately, so you can stop fighting players and continue to fight monsters and you will lose your skull even though you are still in combat. The pvp combat timer is reset every time you attack a player, or are attacked by another player. Killing another player gives you a 2 and a half minute pvp combat cooldown, hitting another player just gives you the standard 30 seconds, the same as hitting monsters.

These changes are now live, please report any and all bugs on the discord!
Liam