This removes interpolation of translated strings, which is bad practice
because it simply doesn't work in many languages.
Translation files were updated using the following fish script. Some
resulting translations are truly terrible, but they always have been -
now it's just a lot more obvious.
```
function getbuff --argument langfile buff
grep hud-outcome-$buff $langfile | cut -d= -f2- | string trim
end
set buffs burning bleeding curse crippled frozen mysterious
function replacebuffs --argument langfile entity
set slug 'hud-chat-died_of_'$entity'_buff_msg'
for buff in $buffs[-1..1]
set bstr (getbuff $langfile $buff)
or continue
sed -i -e '/'$slug'/{p; s/[^=]* = \(.*\)/ .'$buff' = \1/; s/{ \$died_of_buff }/'(string replace / '\\/' $bstr)'/}' $langfile
end
sed -i -E 's/('$slug' \=).*/\1/' $langfile
end
function dofile --argument langfile
sed -i -e s/buff_nonexistent/nonexistent_buff/ $langfile
for entity in pvp npc nonexistent
replacebuffs $langfile $entity
end
sed -i -e s/nonexistent_buff/buff_nonexistent/ $langfile
sed -i -e /hud-outcome-/d $langfile
sed -i -e '/#.*outcomes/d' $langfile
end
for langfile in assets/voxygen/i18n/*/hud/chat.ftl
echo doing $langfile
dofile $langfile
end
```
Cow::to_string() goes through &str even for an Owned variant,
Cow::into_owned() passes Owned variants through as-is. As it happens,
the values here are always Owned (see comment in try_msg_ctx()
implementation).
Parries now cause the attacker to effectively have a recover that is either twice as long or 0.5s longer, whichever is more.
Counters now deal twice as much damage to the target if the target is in the buildup portion of an ability.