Theraze
Active member
I'm actually looking into trying to do some of the Monster Level tracking. The problem is that most of the items delevel for a range...
According to the Drowsy Sword wiki page, Jick confirmed that delevel on hit weapons reduce ML by 10-20 percent of weapon power per hit. So we can know what the ranges are, but not the specifics...
Here's the question... mid-point or bottom of the range for when it's not clear? There's no way to know exactly what it's doing, unless they actually make it display the ML on the page. It's somewhat important for things like the NS, where it'll wipe delevel if you go down too far. Then again, most people won't try to do delevel on those guys...
Edit: The 20101109 patch should now properly track the new modifiers. It should do the following:
Tracks monster attack and defence in processNode using image matching.
Tracks monster healing for the NS, +125 per healing, no cap. Also added a pattern for the NS2 to match properly.
Tracks monster healing for the ghuols, +10 per healing, no cap.
Tracks monster healing for the NSN, +90 per healing, caps at HP max.
Tracks monster healing through mana drain for NS and Lord Spookyraven, same amount healed as drained.
Tracks monster healing for Dr. Awkward, +50 per healing, no cap.
Tracks monster healing using the healing bang potion, +16 per healing, no cap.
Removes the old delevelling hacks.
Tracks expected_damage using the new attack modifier. Made a public function for both attack and defence modifiers.
Edit: The legacy version of the patch is here for if the listed information is removed. The 20101029 legacy patch does the following:
Overloaded the function named KoLCharacter.getMonsterLevelAdjustment, to request fight-data be included instead of static information if you give it a positive boolean. Non-overloaded, it still defaults to not include fight data, to not break any functions that call it.
The function is currently called with monster_level_adjustment. The static information can be given if you give either 0 or false to monster_level_adjustment.
Tracks delevelling for weapons with the WEAKENS mod by using weapon power / 8 in a new function called processMonsterLevel that executes during the round update, just after monster special effects happen. This is now done using regex so we only need to do a single check instead of the two it was doing before.
As well, this function now should have the NS weakening reset properly detected. NS2 does not have a listed message on its page, but if it's the same as the NS1, it should work for both. If not, then the Wiki needs to have that updated and we can put it into the system.
Tracks monster healing for the NS, +125 per healing, no cap. Also added a pattern for the NS2 to match properly.
Tracks monster healing for the ghuols, +10 per healing, no cap.
Tracks monster healing for the NSN, +90 per healing, caps at HP max.
Tracks monster healing through mana drain for NS and Lord Spookyraven, same amount healed as drained.
Tracks monster healing for Dr. Awkward, +50 per healing, no cap.
Tracks successfully insulting pirates for a delevel.
Tracks combat item usage in various ways using an existing function, payItemCost. This allows both checking the specific item and verifying that the message needed exists, in the cases of items like the Spectre Sceptre with multiple possible effects.
Added delevelling tracking for the 2 bird delevels, the haiku delevel, and spray sap.
Added psalm of pointiness monster-hit delevelling tracking.
Converted delevelling items to use modifiers.txt as its data location, using 3 new modifiers - COMBAT_DELEVEL_MIN, COMBAT_DELEVEL_MAX, and COMBAT_DELEVEL_TYPE. This makes payItemCost much less complicated.
Added develling familiars using modifiers.txt as its data location, using the modifiers as above. This should work properly as well.
Tracks familiar action delevelling in the existing function payActionCost. This seemed to be the proper place for familiar actions to be checked, as I was told that payItemCost was the place for items, and 3 familiar actions were already noted in here.
Moved the actual delevel handling into a new function, processCombatDelevel(final Modifiers mods, int min, int max, int type). This allows me to just hand the function the series of Modifiers and lets it process them, whether by int or Modifiers.
Bang potions give their override information to processCombatDelevel properly, including on initial identification.
Pasta Guardians are now tracked for delevelling as well, in payActionCost, similar to familiars.
Fixed a (new) bug with Cunctatitis stopping familiar delevelling from being tracked.
Added unspaded items with minimal (1) delevelling.
Added limitations to delevelling for attack and defense; now they can't go below zero.
Added a new global preference named mlDangerPercent that defaults to 25. This allows people to set how dangerous they want it to be.
Tracks Crown of Throne familiars for delevelling using payActionCost, like Familiars and Pasta Guardians.
According to the Drowsy Sword wiki page, Jick confirmed that delevel on hit weapons reduce ML by 10-20 percent of weapon power per hit. So we can know what the ranges are, but not the specifics...
Here's the question... mid-point or bottom of the range for when it's not clear? There's no way to know exactly what it's doing, unless they actually make it display the ML on the page. It's somewhat important for things like the NS, where it'll wipe delevel if you go down too far. Then again, most people won't try to do delevel on those guys...
Edit: The 20101109 patch should now properly track the new modifiers. It should do the following:
Tracks monster attack and defence in processNode using image matching.
Tracks monster healing for the NS, +125 per healing, no cap. Also added a pattern for the NS2 to match properly.
Tracks monster healing for the ghuols, +10 per healing, no cap.
Tracks monster healing for the NSN, +90 per healing, caps at HP max.
Tracks monster healing through mana drain for NS and Lord Spookyraven, same amount healed as drained.
Tracks monster healing for Dr. Awkward, +50 per healing, no cap.
Tracks monster healing using the healing bang potion, +16 per healing, no cap.
Removes the old delevelling hacks.
Tracks expected_damage using the new attack modifier. Made a public function for both attack and defence modifiers.
Edit: The legacy version of the patch is here for if the listed information is removed. The 20101029 legacy patch does the following:
Overloaded the function named KoLCharacter.getMonsterLevelAdjustment, to request fight-data be included instead of static information if you give it a positive boolean. Non-overloaded, it still defaults to not include fight data, to not break any functions that call it.
The function is currently called with monster_level_adjustment. The static information can be given if you give either 0 or false to monster_level_adjustment.
Tracks delevelling for weapons with the WEAKENS mod by using weapon power / 8 in a new function called processMonsterLevel that executes during the round update, just after monster special effects happen. This is now done using regex so we only need to do a single check instead of the two it was doing before.
As well, this function now should have the NS weakening reset properly detected. NS2 does not have a listed message on its page, but if it's the same as the NS1, it should work for both. If not, then the Wiki needs to have that updated and we can put it into the system.
Tracks monster healing for the NS, +125 per healing, no cap. Also added a pattern for the NS2 to match properly.
Tracks monster healing for the ghuols, +10 per healing, no cap.
Tracks monster healing for the NSN, +90 per healing, caps at HP max.
Tracks monster healing through mana drain for NS and Lord Spookyraven, same amount healed as drained.
Tracks monster healing for Dr. Awkward, +50 per healing, no cap.
Tracks successfully insulting pirates for a delevel.
Tracks combat item usage in various ways using an existing function, payItemCost. This allows both checking the specific item and verifying that the message needed exists, in the cases of items like the Spectre Sceptre with multiple possible effects.
Added delevelling tracking for the 2 bird delevels, the haiku delevel, and spray sap.
Added psalm of pointiness monster-hit delevelling tracking.
Converted delevelling items to use modifiers.txt as its data location, using 3 new modifiers - COMBAT_DELEVEL_MIN, COMBAT_DELEVEL_MAX, and COMBAT_DELEVEL_TYPE. This makes payItemCost much less complicated.
Added develling familiars using modifiers.txt as its data location, using the modifiers as above. This should work properly as well.
Tracks familiar action delevelling in the existing function payActionCost. This seemed to be the proper place for familiar actions to be checked, as I was told that payItemCost was the place for items, and 3 familiar actions were already noted in here.
Moved the actual delevel handling into a new function, processCombatDelevel(final Modifiers mods, int min, int max, int type). This allows me to just hand the function the series of Modifiers and lets it process them, whether by int or Modifiers.
Bang potions give their override information to processCombatDelevel properly, including on initial identification.
Pasta Guardians are now tracked for delevelling as well, in payActionCost, similar to familiars.
Fixed a (new) bug with Cunctatitis stopping familiar delevelling from being tracked.
Added unspaded items with minimal (1) delevelling.
Added limitations to delevelling for attack and defense; now they can't go below zero.
Added a new global preference named mlDangerPercent that defaults to 25. This allows people to set how dangerous they want it to be.
Tracks Crown of Throne familiars for delevelling using payActionCost, like Familiars and Pasta Guardians.
Attachments
Last edited: