ModernUO/Scripts
Vorspire 1e5bc72366 Infinite Loop Breakout
There is a very rare potential, mostly in custom situations, for the 'BaseRunicTool' 'ApplySkillBonus' method to cause the server to become unresponsive.
The reason for this is that, if you call the method on a 'Spellbook' which already has all 4 of the skills listed by default in 'm_PossibleSpellbookSkills', then 'found' is always true.

This issue has been reproduced on a shard that calls 'ApplySkillBonus' more than once when crafting 'Spellbooks'; the rarity is that the 'ApplyAttributesTo' method may call the 'ApplySkillBonus' more than once; the off-chance of 5 consecutive calls, where each preceding call applies one unique skill of the 'possibleSkills', would result in the 5th call entering the deadlock state.

The fix is quite simple, evaluate the 'count' in the while statement and decrement it for each skill that is checked; removing each skill from the 'possibleSkills' list as they are checked, to prevent them being checked multiple times due to the random indices selection.
2015-07-21 00:45:43 +01:00
..
Accounting Found issue with XMLserialization using local time to serialize instead of UTC. Changed to be consistent with rest of project. 2014-04-13 22:03:06 -05:00
Commands Fix #4 2015-07-04 18:27:52 -07:00
Context Menus Implement SE lootpacks for SE enabled shards. 2010-12-31 19:20:50 +00:00
Engines Fix compile error CS0165 on Mono 2014-07-06 02:08:02 -04:00
Gumps add comments command and comments gump 2014-03-28 12:21:04 -07:00
Holiday Stuff Implement Core.TickCount 2013-10-06 03:21:18 -07:00
Items Infinite Loop Breakout 2015-07-21 00:45:43 +01:00
Misc changing ip autodetection url, yet again 2014-04-23 00:12:15 -07:00
Mobiles change serverlist public ip address autodetection url 2014-02-15 15:05:54 -07:00
Multis custom house optimizations 2013-11-08 12:29:21 -07:00
Properties add AssemblyInfo.cs to Scripts (primarily to remove ComVisible code analyzer nag) 2014-02-25 13:56:48 -07:00
Regions parallel delta queue processing 2013-10-11 00:01:05 -07:00
Skills remove old hashtables from animal taming, inscription, and invisibility code 2014-02-14 21:19:41 -07:00
SpecialSystems update version display and project urls 2013-11-03 10:11:30 -07:00
Spells Mindblast modifier to /2 (Fix #5) 2015-07-04 18:29:10 -07:00
Targets 2007-12-17 20:41:34 +00:00
Scripts.csproj add bombing run, double domination, king of the hill, and capture the flag events 2014-04-25 16:06:45 -07:00