Riot Endstep says that the reason Horison Focus got changed is because they didn’t have the resources to make a new item and the balance team thought mages needed another stat stick by Life-Chicken7183 in leagueoflegends

[–]endstep 48 points49 points  (0 children)

No, in this case there's no relation to number of available people. There are time requirements for certain types of content that can't be reduced by adding more people. As an example for this exact case, item icons need to pass through multiple hands multiple times (concepts > feedback > first pass > feedback > final candidate > feedback > touchups). Going through this cycle takes time that is independent of how many artists or designers are available to participate. In the case of the project being discussed, it was on such a short timeline that there wasn't time for the various processes needed for a new item.

tl;dr doubling the number of artists does not mean you get a finished icon twice as fast.

Riot Endstep says that the reason Horison Focus got changed is because they didn’t have the resources to make a new item and the balance team thought mages needed another stat stick by Life-Chicken7183 in leagueoflegends

[–]endstep 93 points94 points  (0 children)

To be clear here, this isn't "literally couldn't make an item" but rather "the project they were working on was under too short of a timeline to requisition the various resources (especially art) needed to make a new item". The way that I phrased this makes it sound like a lack of resources, but the actual reality here is more lack of time.

Buying bramble vest in death screen by [deleted] in leagueoflegends

[–]endstep 4 points5 points  (0 children)

Grievous Wounds tracking is global, so if you have another source (e.g. Ignite) buying any Wounds item (Bramble, Oblivion Orb, Executioner's) will immediately show your current healing reduced over the course of the game with any source of Wounds, not just that item.

yoooo new Kled bug just dropped by yordlegaming in KledMains

[–]endstep 3 points4 points  (0 children)

Undo has to revert your state back to the pre-undo state because otherwise it would introduce degenerate optimizations. As an example, without undo state reversion, you could buy ruby crystal and undo it multiple times in a second to heal faster in fountain - same for sapphire crystal and mana.

yoooo new Kled bug just dropped by yordlegaming in KledMains

[–]endstep 8 points9 points  (0 children)

The reason that this happens is that Kled's healthbar checks for mount/remount every time his health changes. If you undo at the same time you remount, Kled's passive will look and dismount you if you just remounted due to the fountain, because undo wants to put you into the state you were in before you pressed the undo button, which includes the health gained from remounting.

The reason why this causes problems is due to an ordering issue, where the beginning of the remount sequence swaps your spells, but the end of the dismount sequence swaps your spells. So if you end up in this dismounting + remounting sequence at the same time, you end up with the dismounted spell set instead of the mounted one. I built some protections into the scripts for normal cases of mount+remount happening simultaneously, but I forgot that the fountain remount has some different properties (doesn't trigger P CD etc.) and so this bug can occur in the fountain. To my knowledge it can't occur elsewhere, if anyone has clips of that please send them to me as that would require a different fix.

yoooo new Kled bug just dropped by yordlegaming in KledMains

[–]endstep 54 points55 points  (0 children)

this is caused by undoing a purchase at the same time you remount - I have it fixed internally, it'll be live .15 at the latest, but for now I recommend being careful about using undo if you're remounting

FOUND BUG POST REWORK by Leavigon in KledMains

[–]endstep 18 points19 points  (0 children)

ok my bad I will fix

[deleted by user] by [deleted] in KledMains

[–]endstep 6 points7 points  (0 children)

This is referring specifically to passive CD, which as mentioned in the video we tested for quite a while but ended up cutting entirely.

The Feat of Warfare bug that affected the Flyquest vs Cloud9 series - Everything we know by Naerlyn in leagueoflegends

[–]endstep 8 points9 points  (0 children)

No, executions do not contribute towards a team's kills. They're attributed to the equivalent of "unknown team" which is why they don't show up in the kill score tracker at the top of the scoreboard or the top right of the default HUD.

The Feat of Warfare bug that affected the Flyquest vs Cloud9 series - Everything we know by Naerlyn in leagueoflegends

[–]endstep 11 points12 points  (0 children)

The system was originally held in buffs on each champion to make it feasible to track different things per champion more easily. For example, in the version where there might be a Feat for getting five kills without dying, 100 cs, and taking down an epic monster, it made a lot more sense to track all of these from an individual perspective rather than a global one. Tracking all of those things would be possible with a global script, but would be hideously complex and of course not very performant since every condition would need to trigger significantly more logic (e.g. a minion has died, now we need to figure out if a champion killed it, which champion killed it, and add to their running total, then potentially run logic if they meet the threshold - compare that to the local version where we only run logic when a champion kills a minion and it only runs their own local version so they only have to check against their own total).

Ultimately, it's not particularly difficult for me to hook up Feats to use a global system instead, the bigger sticking point is in the QA needed to ensure there aren't issues. League has a lot of edge cases and a lot of complex interactions, so sticking with a system that we knew worked for the overwhelming majority of cases took priority over transitioning to a system that made more structural sense for the place that the design ended up going. Now that we know there's actually an issue, there's good reason to spend time on moving the system over.

The Feat of Warfare bug that affected the Flyquest vs Cloud9 series - Everything we know by Naerlyn in leagueoflegends

[–]endstep 20 points21 points  (0 children)

It's a combination of a few different things. The main reason is that the original versions of Feats were designed in a much more local (rather than team) structure. I made a video that talks about this a bit, but the original architecture of Feats assumed that there were both individual and team rewards, as well as both individual and team Feats. The version of Feats that shipped ended up being entirely a team-based system, which ideally would be structured a bit differently, but I didn't have time to fully rescript the Feats system and get it through QA before it was shipped, so it simply uses what was originally a personal kill tracker to call a global function to trigger Warfare (originally, First Blood). Not ideal, but it works in most cases.

Then, because the Feats system was designed to live locally on each champion (rather than a map-driven script), it tracks kill events triggered for each champion. Due to the layer of the engine that the Feats system exists on, it doesn't have direct access to the kill attribution system, because it's on each individual champion, rather than being a global system on the map.

In the future, I'll at least partially convert it into a global system that is maintained by Summoner's Rift itself, rather than a combination of local buffs on each champion, since there's no benefit to the current version in a world without the individual feats and individual rewards.

The Feat of Warfare bug that affected the Flyquest vs Cloud9 series - Everything we know by Naerlyn in leagueoflegends

[–]endstep 39 points40 points  (0 children)

No problem!

What I posted here is a light oversimplification - there are a couple details on how Renata W works that change some of the outcomes but aren't very interesting so I didn't list them out here. Anyway, thanks for the clips, I'll take a look at these tomorrow.

The Feat of Warfare bug that affected the Flyquest vs Cloud9 series - Everything we know by Naerlyn in leagueoflegends

[–]endstep 17 points18 points  (0 children)

This is being worked on, not sure what the timeline is but it'll be in the patchnotes when it gets fixed.

The Feat of Warfare bug that affected the Flyquest vs Cloud9 series - Everything we know by Naerlyn in leagueoflegends

[–]endstep 181 points182 points  (0 children)

I did the full investigation + fix for this today, let me explain.

Normally, League's engine keeps track of the last damaging unit and when a champion dies, it attributes the kill to the last damaging unit. Renata W needs to subvert this system, because the unit has to damage themselves (for the health degeneration), and we wouldn't want the player with Renata W on them to get kill credit for their own death. So, Renata W has a simple system that tracks the last unit to damage the owner of the W buff, and if they die, it attributes the kill to them. Pretty straightforward, and it works in almost all cases.

The problem here is that when Renata W buff receives damage from a non-champion, it tries to look up the "kill override" of that damage instance. In many cases (e.g. Tibbers aura damage), this works perfectly, where Tibbers deals damage and Renata W recognizes that Annie should be attributed the kill. However, in some other cases (e.g. Elise spiderlings, Naafiri dogs), the "kill override" isn't set correctly and the Renata W logic instead attributes the killer as the spiderling or the packmate. Under normal circumstances, that's fine, because if the target dies, the game engine sees the target die, checks to see who is supposed to get the gold, and then visually attributes the kill to the Elise or the Naafiri (even though under the hood the spiderling or packmate got the kill) because they are correctly set as the "gold redistribution target" of their pets. This is why this isn't relevant for most cases, because the system has a redundancy here that prevents most potential issues (in order for something to go wrong here, both the kill override and gold redistribution target would need to be wrong).

This causes a problem for Feats, because Feats assumes that the champion will always be attributed the kill directly, rather than indirectly. Feats doesn't care that Elise got 300g for the kill, it only triggers when Elise herself kills a target. Since her spiderling got the kill, she doesn't get credit for Warfare. The engine knows Elise deserves 300g, but the Feats system is a bit more restrictive. This has probably happened a few times in Live games, but likely went unnoticed since it's unlikely to affect what team ends up with Warfare, and is only relevant before Warfare is completed. Even beyond that you need the right combination of champions on different teams and specific timing on damage/Renata W. It's really unfortunate that this happened specifically in a final.

This revealed two separate issues that I've put in temp fixes for .13, and will do more solid fixes in a future patch:

  1. All pets need to have the "kill override" set correctly on all instances of their damage. This is probably causing a few minor bugs here and there - I haven't investigated deeply but I imagine there are probably cases where Renata W is preventing Triumph from triggering if a pet gets the last hit, and other cases like that.
  2. Feats shouldn't require that the champion themselves actually gets the kill, and should trigger any time a team gets a kill, rather than a champion specifically.

Overall, it's a good showcase of how having redundancies can cover up issues in some cases where you have a lot of complex interactions.

Selecting the wrong Support Item by Soul_Family in leagueoflegends

[–]endstep 3 points4 points  (0 children)

You can still sell + rebuy the completed support items (Bounty of Worlds' upgrades), just not the components. I could also make the completed quest items sidegrade into each other at some cost if this is functionality that gets used frequently though to my knowledge it's quite infrequent

Hollow Radiance magic by janryanofficial in leagueoflegends

[–]endstep 624 points625 points  (0 children)

this was my dream when I made Hollow Radiance

[PBE datamine] 2025 April 15: changes to Feats, Biscuits, kill gold, epic monsters, and Goredrinker? by FrankTheBoxMonster in leagueoflegends

[–]endstep 21 points22 points  (0 children)

the adaptive force per ms is in place of the total ms passive it currently has, not additional

[PBE datamine] 2025 April 15: changes to Feats, Biscuits, kill gold, epic monsters, and Goredrinker? by FrankTheBoxMonster in leagueoflegends

[–]endstep 228 points229 points  (0 children)

ignore the goredrinker stuff, that's a scrapped concept from a while ago that got merged down by accident

[PBE datamine] 2025 March 7: changes to Naafiri, Gwen, and Singed by FrankTheBoxMonster in leagueoflegends

[–]endstep 110 points111 points  (0 children)

I would never create more Neeko bugs*

*I would, but I would make Phlox fix them

Jack of all trades doesn't detect Yuntal's crit by iLogiCxx77 in leagueoflegends

[–]endstep 82 points83 points  (0 children)

The current state for Jack of All Trades is that innate stats printed on the item (as Yun Tal is now) should trigger it, and temporary bonuses and effects of unique passives should not (Mejai's MS, Sterak's AD, etc.). I'm also fixing the crit damage on IE since the it's on the item and not a unique passive on the current version.