Add a new spell pattern picker.

The picker is used in the special node dialog and also in monster abilities.

Some changes were made to the game as well:
* If the rotatable wall is used for a field missile or touch ability, there's no longer an option for the designer to pick an orientation. Instead, it behaves like the rotatable wall in a radiate field ability, selecting an orientation based on the creature's facing direction.
* The magic values sent to place_spell_pattern for direct damage were rearranged to match the order of the eDamageType enum. This should have no effect, since the core place_spell_pattern function is only called by the various wrapper overloads. It also simplifies the code quite a bit.
* The Protective Circle spell pattern is now exposed to the place patten special nodes. It can be used as just a radius 4 circle, but the effect of different layers of fields can also be obtained by specifying a field type or damage type of -1.

There is also a change to the dialog engine:
* Calling setText() also implicitly calls recalcRect()
This commit is contained in:
2025-03-04 21:46:29 -05:00
committed by Celtic Minstrel
parent 4c4c70648c
commit 628b0ee677
25 changed files with 747 additions and 450 deletions

View File

@@ -397,6 +397,7 @@
<ClCompile Include="..\..\..\src\location.cpp" />
<ClCompile Include="..\..\..\src\mathutil.cpp" />
<ClCompile Include="..\..\..\src\oldstructs.cpp" />
<ClCompile Include="..\..\..\src\pattern.cpp" />
<ClCompile Include="..\..\..\src\porting.cpp" />
<ClCompile Include="..\..\..\src\scenario\item.cpp" />
<ClCompile Include="..\..\..\src\scenario\monster.cpp" />
@@ -490,6 +491,7 @@
<ClInclude Include="..\..\..\src\location.hpp" />
<ClInclude Include="..\..\..\src\mathutil.hpp" />
<ClInclude Include="..\..\..\src\oldstructs.hpp" />
<ClInclude Include="..\..\..\src\pattern.hpp" />
<ClInclude Include="..\..\..\src\porting.hpp" />
<ClInclude Include="..\..\..\src\race.hpp" />
<ClInclude Include="..\..\..\src\scenario\area.hpp" />
@@ -608,4 +610,4 @@
</Copy>
<Message Text="changed:@(ChangedScenarios)" Importance="high" />
</Target>
</Project>
</Project>