As some of you may have noticed, magi combat continues to frustrate me. I know magi isn't impossible. There are a few very good operators out there who make it work in spectacular fashion. However, successful magi combatants are still in a very small club. I'm stubborn, and Ognog hasn't changed race or class in his 400 years of existence.
The first problem I see is that of limb counting. You might think this has been solved with a magi limb counter in svof and others, but I've just learned that the trust I placed in the svof magi limb counter was misplaced. I had assumed it would adjust the ml_break_at as it becomes known for a given target, but it never seems to do this. By default ml_break_at is 5, meaning 5 full hits of staffstrike earth/water/fire to give a level 2 limb break (air counts as only half a full hit). However, the actual ml_break_at depends on the opponent. I've heard that there is a relationship between maximum health of the opponent and ml_break_at, but the exact nature of that relationship is probably only known by those few successful magi combatants. If the relationship could be formulated, then using ASSESS before a fight could set the ml_break_at parameter at the correct number.
Without being able to track when limbs are fully prepped, a magi truly has no hope of success. A big part of the difficulty is that there are no scriptable outward signs that a limb has been given a level 2 break. You'd think we would notice that half your femur is sticking several inches out of your skin and your lower leg is at an awkward angle, but strangely we don't seem to see this. You could look for two salve applications before standing up but that isn't easily scriptable and very easy to miss during combat. I thought the sawbones trait would be useful, but given that it doesn't report anything about limb preparation level and also takes a couple of seconds of balance I think sawbones is fairly useless.
Supposing I can overcome these problems and can then reliably prepare a leg and torso (say), I still have a very narrow window of opportunity with which to stick either hypothermia or dehydration. There's also a good chance my opponent would have succeeded in their kill strategy long before I get to this stage too. Even further complicating matters (and slowing the prep) is dealing with my opponent's parries and rebounding aura.
Any advice?
0
Comments
i'm a rebel
I would suggest you do something similar.
However, the values do get tweaked occasionally, so you really need to be keeping up with your classleads news (the fact it's now on a separate board should help); I suspect that in the past Svo's limb damage values for Magi were reasonably correct, but they haven't been adjusted to account for subsequent changes.
As for things being very easy to miss during combat, there are a few methods of making things stand out:
1. Line formatting. Mudlet supports bold and italics, as well as foreground and background colours. It has a large number of named colours, but also allows specifying RGB values. You can use colour to make lines much easier to pick out when surrounded by regular lines of text. If you use enough distinct colours it should be possible to figure out what's happened just based on the colour of the line. There's no point saying "I'll make everything important yellow", because then you still have to read that text to know which important thing has happened, and sometimes text scrolls too quickly to read in fights.
2. Echoes. Mudlet has an echo function for echoing text. It also has cecho and decho for echoing coloured lines. Svo has the svo.boxDisplay function if you want something a little more fancy (this is what it uses for the big orange warnings when your own limbs are damaged).
3. Substitutions. These are basically echoes, but rather than echoing text in addition to the line from the game, you replace the line from the game with your own text instead.
Results of disembowel testing | Knight limb counter | GMCP AB files
for health below 3500 - 5 earth/fire/waterstrikes to prep | 1 earth/fire/waterstrike OR 2 airstrikes to break
Health above 3500 - 6 earth/fire/waterstrikes to prep | 1 earth/fire/waterstrike OR 1 airstrike to break
Health above 6700 - 6 earth/fire/waterstrikes to prep | 1 earth/fire/waterstrike to break OR 2 airstrikes to break
Hard answer:
Make this trigger...
Pattern:
^You glance over \w+ and see that (?:his|her) health is at (\d+)/(\d+)\.$
Code:
if gmcp.Char.Status.class == "Magi" then
health_points = tonumber(matches[3])
if health_points <= 3500 then
svo.ml_prep_at = 5
svo.ml_break_at = 6
elseif health_points > 3500 and health_points <= 6701 then
svo.ml_prep_at = 6
svo.ml_break_at = 6.5
elseif health_points > 6701 then
svo.ml_prep_at = 6
svo.ml_break_at = 7
end
selectCurrentLine() fg("red")
replace("Max HP: "..matches[3].." -- PREP AT: "..svo.ml_prep_at.. " -- BREAK AT SET TO: "..svo.ml_break_at.." ")
end