IceBlinkEngine/IceBlinkEngine — pull request #8 by JamesManhattan (2014-09-30 15:19:15+00:00)
Title: Expanded functionality

I added a lot to the Combat.cs file. The ability to keep track of whether a player used their Action, separate from whether they used all the Movement. This then allows a designer to set a GlobalInt in the module to allow three different types of functionality. By setting in the module the GlobalInt rsMoveAttackMove=1 then players can Move-Attack-and then continue Moving. This is the style of game that 5th edition D&D uses. It is the same as if a Pathfinder player had the Spring Attack Feat. If this GlobalInt is not set, the default is 0 and then it uses the 3.5Pathfinder style of game where players get an action and a move, and can use them in either order. If they attack before moving, then they can still move later. If they move and then attack, their turn ends. I am going to add in a GlobalInt that specifies the original mechanic that requires Move first, then Attack. This file requires the updated TraitSelect.cs and SpellSelect.cs because those updated files allow the player to keep using more actions, and keep track of Actions used.

Another change I made was the ability to use Offhand Weapons. Right now there is not a field on weapons to denote Two-Handed or Light or Finesse etc. so I used the ArmorWeightType field, even though it refers to Armor, it does contain the words, Light, Medium, Heavy. The default is Light. This file requires an updated dsAttackPC and also an updated PartyInventory.cs which allow Light Weapons in the offhand. Note: currently a player can equip a Longbow in main hand and a Shield in Off-hand, this needs to be fixed. In 5th edition D&D offhand attacks are handled with a Bonus Action. Programatically they could be easily handled that way for 3.5 or Pathfinder.

I added the ability for a player to cast magic missile and be prompted to target each missile individually. Right now it looks at the Tag of the spell. If the tag ends in _X3 or any other number, it will literally keep casting the spell 3 times, allowing each magic missile to be handled individually. It would be nice to not have to put that in the Tag but have it specified another way.

I added simple function to check if a player has a Trait.

I wrote a caster AI for DamageCasters that will cycle through all available spots for a burst spell and choose the best one. it is file: crtOnStartCombatTurn.cs