It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Gentlemen, is there a less cumbersome way to download it?

Nexus requires registration to download, I do have it but my account have been deactivated 'for inactivity', to reactivate I must enter the code they sent to my long-dead mailbox... WTF? And the download speed shown for free accounts is awful anyway.
avatar
Zrevnur: Tested somewhat and found a .xml code combination which apparently works except for one major problem:

modification to <SpellDef InternalName="SummonPlaguestalker_Ability"> which I use for testing:

<SpellTargetTileOccupied>Empty</SpellTargetTileOccupied>
<IgnoreInvalidTargetsInRadius>1</IgnoreInvalidTargetsInRadius>
<Radius>1</Radius>
avatar
Zrevnur: The major problem is that it summons one per empty tile surrounding the target. Now if I can somehow prevent that too it would probably be functional.
I assume it has been a long time, and you have identified everything yourself, but for the sake of clarity - the limitation is set by "ApplyToSpellRadiusCenterOnly" tag.

So you enable radius for some extra effect, which is applied to all units in the radius, but the summon is supposed to be created strictly in the center (e.g. Grave Elemental).

Yet, this will not solve the infamous summon bug :)
avatar
Zrevnur: Tested somewhat and found a .xml code combination which apparently works except for one major problem:

modification to <SpellDef InternalName="SummonPlaguestalker_Ability"> which I use for testing:

The major problem is that it summons one per empty tile surrounding the target. Now if I can somehow prevent that too it would probably be functional.
avatar
AlexStukof: I assume it has been a long time, and you have identified everything yourself, but for the sake of clarity - the limitation is set by "ApplyToSpellRadiusCenterOnly" tag.

So you enable radius for some extra effect, which is applied to all units in the radius, but the summon is supposed to be created strictly in the center (e.g. Grave Elemental).

Yet, this will not solve the infamous summon bug :)
Not sure I correctly understand you but my intent was to fix the summoning bug. So limiting the summons to the central tile wouldnt have been compatible with that goal as there typically already is a (hostile to the caster) unit on the targeted central tile. The whole point of extending the radius was to put the summon not onto the central tile but somewhere else.
avatar
AlexStukof: I assume it has been a long time, and you have identified everything yourself, but for the sake of clarity - the limitation is set by "ApplyToSpellRadiusCenterOnly" tag.

So you enable radius for some extra effect, which is applied to all units in the radius, but the summon is supposed to be created strictly in the center (e.g. Grave Elemental).

Yet, this will not solve the infamous summon bug :)
avatar
Zrevnur: Not sure I correctly understand you but my intent was to fix the summoning bug. So limiting the summons to the central tile wouldnt have been compatible with that goal as there typically already is a (hostile to the caster) unit on the targeted central tile. The whole point of extending the radius was to put the summon not onto the central tile but somewhere else.
My bad. I will explain.

So first part is clear - if you set Radius then spell effect will be applied to all tiles in the radius.

Second, there's a tag called "ApplyToSpellRadiusCenterOnly", which allows you to combine area and non-area effect in one spell. This tag is applied for summoning as well, and if you check the code for "SummonGraveElemental_Tactical" or "SummonSentinel", or basically any spell of that kind you will find out that this tag is intended to limit summon to one tile, while providing AOE buff to all friendly units in radius. And you're right, the center tile should not be direct location of an enemy unit.

BTW, in the code you may also find out that "Empty Tile" is not the only valid target, e.g. both "Summon Sentinel" and "SummonGraveElemental_Tactical" targets "FriendlyUnit". No matter (for summon), because effectively you will target center of the radius.

However while the player can not target occupied tile - AI can, and that is the problem. So unless you will allow to make summon directly on the occupied tile (which is possible by using kinda ugly hack) there's no way to fix the problem. As far as I can tell, extending the radius will not affect the targeting, at all.

My point was that "ApplyToSpellRadiusCenterOnly" tag is likely the only correct way to limit area of effect to just one tile.

P.S. I read your post and assumed that you performed the same tests as I did, but probably missed the specified tag.
Post edited December 27, 2021 by AlexStukof
avatar
Zrevnur: There is a nasty bug in this: <SpellDef InternalName="SummonEarthElemental_Tactical">
It uses 'Calc2' which is uninitialized. (It probably was supposed to multiply by 2.)
Effect is that it can do very high amount of damage - have seen >50 damage.

<GameModifier>
<ModType>Unit</ModType>
<Attribute>DefendableDamage</Attribute>
<AttackStat>UnitStat_Attack_Pierce</AttackStat>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_SpellDamage_Earth] * 6]]></Expression>
</Calculate>
<Calculate InternalName="Calc_X_Clock1" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_X_IsCultLeader] * [UnitStat_X_Clock]]]></Expression>
</Calculate>
<Calculate InternalName="Calc_X_Clock2" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc_X_Clock1] * 0.01]]></Expression>
</Calculate>
<Calculate InternalName="Calc_X_Clock3" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc_X_Clock2] + 1]]></Expression>
</Calculate>
<Calculate InternalName="Calc_X_Clock4">
<Expression><![CDATA[[Calc_X_Clock3] * [Calc2]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc_X_Clock4]]]></Expression>
</Calculate>
</GameModifier>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>DefendableDamage</Attribute>
<AttackStat>UnitStat_Attack_Earth</AttackStat>
<Calculate InternalName="Calc" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_SpellDamage_Earth] * 6]]></Expression>
</Calculate>
<Calculate InternalName="Calc_X_Clock1" ValueOwner="CastingUnit">
<Expression><![CDATA[[UnitStat_X_IsCultLeader] * [UnitStat_X_Clock]]]></Expression>
</Calculate>
<Calculate InternalName="Calc_X_Clock2" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc_X_Clock1] * 0.01]]></Expression>
</Calculate>
<Calculate InternalName="Calc_X_Clock3" ValueOwner="CastingUnit">
<Expression><![CDATA[[Calc_X_Clock2] + 1]]></Expression>
</Calculate>
<Calculate InternalName="Calc_X_Clock4">
<Expression><![CDATA[[Calc_X_Clock3] * [Calc2]]]></Expression>
</Calculate>
<Calculate InternalName="Value">
<Expression><![CDATA[[Calc_X_Clock4]]]></Expression>
</Calculate>
</GameModifier>

Edit: It was probably not supposed to multiply with 2 as the 12 damage (description) is the sum of the two damage components.
Edit: The bug is in both components - see above.
I would say 'Calc2' is obviously supposed to be just 'Calc' and it seems to be a copy-paste error. In the summoning part Calc_X_Clock3 is multiplied by variable Calc2 while variable Calc is used earlier. In the damage part there is only Calc and currently it is not used anywhere while Calc_X_Clock3 is erroneously multiplied by Calc2, just like in the summoning part. I don't know if you realized this already yourself but I wrote it here in case there are others who want to fix these bugs on their game.

Thanks for finding all these bugs. If you have found anything else, please feel to share.

EDIT: I also tested the hackish fix to the summon bug and I think it is the best way to fix it currently.
Post edited January 07, 2022 by F-man
avatar
AlexStukof: <snip>
P.S. I read your post and assumed that you performed the same tests as I did, but probably missed the specified tag.
Thanks for answer. I dont remember in detail what I tested or didnt test. But I probably wasnt interested in that tag because the targeted tile is the one I didnt want the summon to (try to) appear.

avatar
F-man: I would say 'Calc2' is obviously supposed to be just 'Calc' and it seems to be a copy-paste error.
I checked my code and this is also how I fixed it. I dont remember why I wrote "It probably was supposed to multiply by 2.".
In case if someone missed the thing (like I did) - there was an update for the mod, dated Jan 18.
It's on the Nexus.