[1.08][B, hotfix] Bows 100% miss rate

I might be missing something, but since the 1.08 hotfix, all my heroes keep getting a "miss" with a long bow during a battle. Haven't tested it with short bows, but given Attack rating higher than a melee hero I'd expect them to hit something at least once in a while.

16,434 views 40 replies
Reply #1 Top

Yup I can atest to this problem existing - I lost two games in a row, wondering why I couldn't do any damage to health. So I played through a third game (also lost) where I fought every battle in-game. Not a single attack from any archer unit or bow-equipped hero does any damage at all - all attacks results in a miss.

In these combats, melee combat appears to work as per normal.

Reply #2 Top


Thirded. Sov bought longbow, giving her an attack of 12.8. Opposing soldier had a defense of 1. Got off 10 or so shots in first battle, died, reloaded and got off another ten shots or so the next game. Both times, Janusk was able to widdle away a few HP with his dagger and an attack of 3.2.

Reply #3 Top

Sov and archers always miss with the shortbow. I also noticed that my earth elemental stone rain ability is missing all targets however I've only tried to use it about 6 or 7 times so far.

Reply #4 Top

I am experiencing this problem intermittently as well. But it's anybody with a bow, or a monster with a magic attack. Sometimes it's monsters (summoned), sometimes it's my archers. No Rhyme or Reason. Clearly some sort of bug.

Reply #5 Top

I'm having the same issues.  Bows are definitely broken.  Tried with several unit types and enemies.  Same result every time "MISS"...

Reply #6 Top

Same with Cedar Longbows, either in trained units, or in "bandit archer" random unit.

Reply #8 Top

...Elemental 1.08B: the Melee Only Update!

Reply #9 Top

Just verifying that bows no longer do damage in my new game either.  Ran into a bandit party.  Bandit's bow did not cause any damage to my party.  I later equipped my Sovereign and 7 NPC's with cedar longbows.  Despite 16+ attacks per round, no damage.  Defenders had 0, 1 or 2 defense (i.e. minimal).

 

This is with the patch that was uploaded tonight (Friday).  With 1.08xx (the previous one), bows were causing huge amounts of damage.  One extreme to the other.  I miss the 1.07 bows...

 

I am liking the speedier combat though.

Reply #10 Top

Same problem with spells.

Reply #11 Top

I'm starting to wonder if there is any serious testing at all :-(. I still have high hopes from the game, as i have since beta but really... they're still missing this sort of thing completely?? Maybe we should have a patch once a fortnight or so, get some actual testing done. I imagine this so-called 'hot-fix' didn't go through QA. That's really, really not a good idea...

Reply #12 Top

As mentioned in another thread this must be the problem (from RangedAttackSpells.xml):

BasicBowAttack and BasicCatapultAttack has this:

<Calculate InternalName="MineValue" ValueOwner="CastingUnit">

 

While DragonFireAttack01 has this:

 <Calculate InternalName="MinValue" ValueOwner="CastingUnit">

 

Note the misspelled MineValue, should be MinValue.

Reply #13 Top

Same here. Just tried to start a new game and ran into this.

 

This and the vanishing mana seem to be the most serious issues introduced with the latest patch. Hopefully we can get a hotfix for the hotfix!

Reply #14 Top

and there is a MATH error in the next line down from BOTH of theMineValue lines


        <Expression><![CDATA[[UnitStat_Attack]*0]]></Expression>


NOTE a MULTIPLY by ZERO ie always zero result therefor a  MISS.

I tried a few values in place of the ZERO and found that -0.1 give a small change of a miss and  moderate chance of a suboptimal hit, and even GOOD hits

 I have pmed this info to kyro so we might see a fix soonish??????, but it does get the bows and catapults hitting again.

harpo

 

Reply #15 Top

Good work on finding a root cause.  I haven't done any modding before, but this seems like a good time to learn enough to fix this small bug.

Thanks for the info!

Reply #16 Top

(facepalm)

I've sent a note to the particular developers and QA. I'm going to have to put a hold on any further data-based tweaking until v1.1 since obviously we're not doing a very competent job of testing our data tweaks. :(

Reply #17 Top

I'm not so sure that is a math error. The two lines of code are attempting to mimic the min/max effects placed on spells and in the case of the bow that is 0 to AttackValue.  My guess would be the change in "combat" code is testing for a zero value and going auto miss but is not set up to understand min/max. I would be interested to see if the code works if the MIN (note MINE) value was first to be calculated therefore passing the maxvalue as the old "value" parameter.

Either way SD will be on top of it. Now if we could just get the worldnames and unitmnames files capable of mod override I"ll be a happy camper. B)

Reply #18 Top

I've tested the fix they proposed above with a mod file and found that if you leave the 0 in for the MinValue it will auto miss.  So the -0.1 is necessary.  At least its a very simple fix that turns them on again.

Reply #19 Top

This thread should read, 1.08b blows 100%!:annoyed:

 

Who's doing the QA for this project, JoWoo productions?

 

I'm still waiting for Elemental Version 2.0, because the way things are going, I don't think version 1.1 will do it! :'(

 

 

Reply #20 Top

I've attached the small amount of xml you need to get the bows working again.  Just make an xml file in the "c:\Documents and Settings\<accountname>\My Documents\My Games\Elemental\Items" directory with the following contents and the bows 'should' work again for you on your next new game.

Code: xml
  1. &lt;?xml version="1.0" encoding="iso-8859-1"?&gt;
  2. &lt;Spells&gt;
  3.  &lt;DataChecksum NoParse="1"&gt;
  4.   &lt;Ignore&gt;DisplayName,Description,IconFG,IconBG,IconColor,SoundFX,ParticleEffect,EffectScale&lt;/Ignore&gt;
  5.   &lt;Translate&gt;DisplayName,Description&lt;/Translate&gt;
  6.  &lt;/DataChecksum&gt;
  7.   
  8.   &lt;SpellDef InternalName="BasicBowAttack"&gt;
  9.     &lt;GameModifier InternalName="ArrowDamage"&gt;
  10.       &lt;ModType&gt;Unit&lt;/ModType&gt;
  11.       &lt;Attribute&gt;DefendableDamage&lt;/Attribute&gt;
  12.       &lt;!-- Use the unit's attack stat to determine damage done by the arrow --&gt;
  13.       &lt;Calculate InternalName = "MaxValue" ValueOwner="CastingUnit"&gt;
  14.         &lt;Expression&gt;&lt;![CDATA[[UnitStat_Attack]*-1]]&gt;&lt;/Expression&gt;
  15.       &lt;/Calculate&gt;
  16.       &lt;Calculate InternalName = "MinValue" ValueOwner="CastingUnit"&gt;
  17.         &lt;Expression&gt;&lt;![CDATA[[UnitStat_Attack]*-0.1]]&gt;&lt;/Expression&gt;
  18.       &lt;/Calculate&gt;
  19.     &lt;/GameModifier&gt;
  20.   &lt;/SpellDef&gt;
  21.   &lt;SpellDef InternalName="BasicCatapultAttack"&gt;
  22.     &lt;GameModifier InternalName="ProjectileDamage"&gt;
  23.       &lt;ModType&gt;Unit&lt;/ModType&gt;
  24.       &lt;Attribute&gt;DefendableDamage&lt;/Attribute&gt;
  25.       &lt;!-- Use the unit's attack stat to determine damage done by the arrow --&gt;
  26.       &lt;Calculate InternalName = "MaxValue" ValueOwner="CastingUnit"&gt;
  27.         &lt;Expression&gt;&lt;![CDATA[[UnitStat_Attack]*-1]]&gt;&lt;/Expression&gt;
  28.       &lt;/Calculate&gt;
  29.       &lt;Calculate InternalName = "MinValue" ValueOwner="CastingUnit"&gt;
  30.         &lt;Expression&gt;&lt;![CDATA[[UnitStat_Attack]*-0.1]]&gt;&lt;/Expression&gt;
  31.       &lt;/Calculate&gt;
  32.     &lt;/GameModifier&gt;
  33.   &lt;/SpellDef&gt;
  34. &lt;/Spells&gt;

Reply #21 Top

Quoting Frogboy, reply 16
(facepalm)

I've sent a note to the particular developers and QA. I'm going to have to put a hold on any further data-based tweaking until v1.1 since obviously we're not doing a very competent job of testing our data tweaks.
End of Frogboy's quote

Data tweaks alone are mostly harmless, IMO.

It's code changes that don't maintain compatibility with old data that are problem. Like for example when num_shards field out of blue became real number of shards instead of shards+1. Sure you can change damage formula in XML files to match it, but it breaks old saves (since they rely on old XML data).

Also, I really don't see a reason why creature abilities or things like ranged bow attacks needed new min/max value tags. They should have kept old ones, with old code in place to properly interpret them just as in 1.07 or earlier. And only spells should have been tweaked with new values. That way, changing spells wouldn't make it possible to break something else.

Reply #22 Top

The new Min/MaxValue format is more powerful so no real reason to stay backwards compatible to the old one.

Obviously, that implies that all spells are rewritten to use the new format. =)

Reply #23 Top

hunh?!?!!

 

so max value is multiplied by "-1" and the min by "-0.1". that's kind of screwy as it seems like the only way you could get a the thing to do damage is if your attack was actually supposed to not do damage.

 

(negative times a negative equals a positive and all that)

 

so how i'm reading it is taht any time the units base attack value is positive, that calculation would invert the value into a miss.

shouldn't it be max =1 and min =0.1?

Reply #24 Top

Quoting Robert, reply 22
The new Min/MaxValue format is more powerful so no real reason to stay backwards compatible to the old one.
End of Robert's quote

There is one reason: bug resistance. If something works, and doesn't need to be changed (things like creature abilities or bow mechanic) then don't change it, or otherwise there is risk of bugs creeping in.

Reply #25 Top

The new min/max thing lets you mimic multi die roles, which is essentially what people have been asking for. Instead of just implementing it for spells only, extending it to weapons is a great boon in my view. If they didn't, you'd get people asking why they can't just use the same system for weapons. Of course doing it without testing the results and end up breaking stuff doesn't look so good, but that's what happens when you are trying to rush out a fix for something else...