Original Post — Direct link

If you've not seen we made some fixes to the game on Monday with the Solak fight and PLENTY of premium combat fixes game wide thanks to Mod Pi and a fair few others!

 

Whilst fixing a bug I managed to create another issue that seemingly slowed down ranged projectiles at Solak so I figured whilst investigating it this afternoon with Mod Iago that'd I'd record all debug and break it down for you all.

Hope you like the breakdown, will be interested on what you think of them and if you'd like to see similar stuff in the future.

 

It's worth saying this needs to be run through thorough QA tomorrow and if we're happy we'll hotfix.

 

What is the issue?

We received a tweet and reddit post suggesting that Solak's ranged attacks were slower than before. The amount of time between ranged damage being dealt was faster/slower dependent on distance.

 

What was changed?

The original change was to fix some NPC focus issues within the fight.

 

What is NPC focus?

An NPC can have two players in focus at once:

Player 1 = MAIN FOCUS

Player 2 = DOT FOCUS

It's crucial we keep the main tank in focus at all times as losing them will cause Solak to reaggro to his new found main focus.

During the attack code, we're splintering damage from the main targets coordinate (map tile), this involves hunting from their square and finding all players that fall into that range and running the splinter code on them. Splinter code includes; Checking the player can take damage, checking they're in the area for safety reasons, sending a projectile to them, calculating a delay for the projectile and damage and finally actually running the damage on them.

So we've hunted everyone and now Solak has a list of everyone found and will loop through them one by one to perform said tasks on them. Originally this used the main focus pointer and for safety reasons I made a change for Solak to build this list of players into a DOT list, so a second list focused that player from a DOT FOCUS point of view meaning there wasn't a chance of Solak somehow getting a player from the list as his main target/focus.

 

What went wrong?

I mentioned above that we calculated a $delay integer to correctly line the projectile travel time and damage happening to the player up based on their distance from the boss. Originally this was done by taking the amount of tiles from the NPC's coordinate from the target player's coordinate and then doing some math which sounds nonsense but is as follows: (distance of player from coord in tiles)*10+46 = Distance delay

In script this reads as: $delay=npc_range(coord)*10+46;

What the broken version looks like: $delay=range(.coord)*10+46;

What the fixed version looks like: $delay=npc_range(.coord)*10+46;

 

Why did it break then?

The reason it made the ranged attacks feel slower is because I was now calculating the $delay value from the coordinate of the tank instead of Solak's coordinate (The tank in all cases), which was slightly moving the coordinate by a few tiles meaning the math came out different which in turns changes the value of the $delay integer.

Below are the GIFS from running debug on the original code, the broken code and also showing the fixed code.

I've made two sets, one from far away and one closer to the player.

 

Distance - Far

ORIGINAL BEFORE MONDAYS UPDATE

CURRENTLY LIVE (BROKEN)

FIXED (HOTFIXING 23/01/2019)

 

Distance - Close

ORIGINAL BEFORE MONDAYS UPDATE

CURRENTLY LIVE (BROKEN)

FIXED (HOTFIXING 23/01/2019)

 

As you can see by the above gifs, we've restored it to what it was originally.

 

There was also mention of miss hitmarks not being shown anymore. In script when the check is done to see if the boss actually hits the player with their attack or not is of course before the actually damage is dealt, this check does not take in the $delay command so a miss hitmark is shown instantly on the player if it does miss.

Hope you enjoyed this little breakdown and any questions myself or Mod Iago will try and answer for you!

Cheers, Mods Iago and Ramen

External link →
over 5 years ago - /u/JagexRamen - Direct link

Originally posted by ghfhfhhhfg9

It's time based. The guy who said it's based off HP done to Solak is wrong. I don't think that guy knows the boss in and out like you claim he does. Saying "oh look at his hp bar and see how many clones spawn. There are actually 2 or 3 (forgot how many due not doing the boss that much lately, pretty sure 2) rotations that the manifestations spawn in. The rate is/about the same the only difference is that sometimes 2 spawn at once others 1 spawns then 1 then another 1 spawns within game ticks of each other.

Also, Duo no realms are not that risky if you have mahjarrat. Too bad I don't have that, can't compete.

You're wrong.

There is a passive spawning timer that will spawn them in and then any damage done to Solak will also count towards a certain amount, once that certain amount has been reached it will spawn a manifest in the mind realm.

The number adapts to players in the fight.

over 5 years ago - /u/JagexRamen - Direct link

Originally posted by xBHx

P2 random aggro fix? He sometimes just smacks you out of the blue.

The change I made was to make steps towards working out a way to fix that.

over 5 years ago - /u/JagexRamen - Direct link

Originally posted by 5-x

Why does the damage have to splinter from the base tank in the first place? Is there a technical reason for this or is it just the design/lore decision?

It was originally Solak's hand splintering from the force of it hitting the ground and being wood ect but the projectiles were hard to see in the thick of the fight so we made it the blue magic it is today.

So originally it was design/narrative

over 5 years ago - /u/JagexRamen - Direct link

Originally posted by Hirykell

When are we getting miss hitmarks back though. It's making Solak a lot more annoying.

Will investigate.

over 5 years ago - /u/JagexRamen - Direct link

Originally posted by TheHotstreak

Can you check P4 manifestation spawn rates, I legit cannot be the only one experiencing them spawning faster.

Edit: After some fair discussion someone mentioned the aura/scrim change possibly altered the 15k damage per spawn to slightly deviate, causing them to appear faster.

Gave it a look and I can confidently say nothing I changed on Solak will have effected the speed at which the manifestions spawn.

There could be a knock on effect from another change that counts towards the second 'Manifestation spawner'.

over 5 years ago - /u/JagexRamen - Direct link

Originally posted by Hirykell

Thanks!

Can you definitely confirm it was a thing before please?

I may be being dumb here, but I've looked at plenty of older videos of Solak kills and the miss mark had never been there when a ranged attack missed.

I'm unsure if missmarks are only visible to the player that actually took the miss.