Commit Graph

126 Commits

Author SHA1 Message Date
Deukhoofd 1d03adf0d1
Implements replacement attack when an attack can't be used anymore, adds clearer exception handling.
continuous-integration/drone/push Build is passing Details
2020-07-26 18:00:58 +02:00
Deukhoofd 367ed7fcbb
Cleanup CMake file. 2020-07-17 13:12:21 +02:00
Deukhoofd f50f76e993
Move priority scripthook to more sensible place in turn flow.
continuous-integration/drone/push Build is passing Details
2020-06-20 19:51:34 +02:00
Deukhoofd add77325a4
Several additional checks to ensure battle does not finish turn when ended.
continuous-integration/drone/push Build is passing Details
2020-06-12 16:48:49 +02:00
Deukhoofd 9e7607338f
Moved Creature types to creature itself, instead of using the variant types.
continuous-integration/drone/push Build is passing Details
2020-06-05 16:38:27 +02:00
Deukhoofd 3c5b3d5c03
Fixed potential reaching end of function.
continuous-integration/drone/push Build is passing Details
2020-06-05 15:42:28 +02:00
Deukhoofd 66379bfa65
Initial support for handling multi target attacks.
continuous-integration/drone/push Build is failing Details
2020-06-05 15:32:05 +02:00
Deukhoofd f463ba8496
Simplify check whether mon is on battle field.
continuous-integration/drone/push Build is passing Details
2020-06-05 14:35:23 +02:00
Deukhoofd 57e8595bdf
Make ExecutingAttack creature list a raw C array, as this is a hot spot and could use some optimization.
continuous-integration/drone/push Build is passing Details
2020-06-04 21:58:28 +02:00
Deukhoofd e4b9550efa
Make all individual scripts smart pointers.
continuous-integration/drone/push Build is failing Details
2020-06-02 13:43:44 +02:00
Deukhoofd f898698f49
Use smart pointers for BattleSide.
continuous-integration/drone/push Build is failing Details
2020-06-02 13:06:24 +02:00
Deukhoofd 01f6e59cb6
Make battle class fields all smart pointers.
continuous-integration/drone/push Build is passing Details
2020-05-31 19:01:45 +02:00
Deukhoofd 29cb4eac37
Make ChoiceQueue use smart pointers.
continuous-integration/drone/push Build is passing Details
2020-05-31 18:00:39 +02:00
Deukhoofd a7069a5960
Ensure Attack script is deleted when not taken by ExecutingAttack.
continuous-integration/drone/push Build is passing Details
2020-05-29 20:05:05 +02:00
Deukhoofd 20be2815ce
Revert "Clean up choices if they can't be used."
continuous-integration/drone/push Build is passing Details
This reverts commit 04cef8b6
2020-05-29 19:29:25 +02:00
Deukhoofd 04cef8b6e2
Clean up choices if they can't be used.
continuous-integration/drone/push Build is failing Details
2020-05-29 19:25:46 +02:00
Deukhoofd d51919c74f
Make ExecutingAttack a local variable while being used, to ensure it's always cleaned up.
continuous-integration/drone/push Build is passing Details
2020-05-29 18:49:48 +02:00
Deukhoofd fcc6f2214e
Make ExecutingAttack have raw pointer array HitData, instead of a List. This is a very hot segment of code, and removing surrounding abstractions can give us a decent amount of performance.
continuous-integration/drone/push Build is failing Details
2020-05-27 18:26:09 +02:00
Deukhoofd 25f65eb47b
Update to newer Arbutils version.
continuous-integration/drone/push Build is passing Details
2020-05-26 18:31:06 +02:00
Deukhoofd 16b67b0d54
Make most of the battle library use unique_ptr.
continuous-integration/drone/push Build is passing Details
2020-05-26 15:11:04 +02:00
Deukhoofd aba56d2fdd
Make Attack secondary effect a unique_ptr.
continuous-integration/drone/push Build is passing Details
2020-05-26 14:41:43 +02:00
Deukhoofd 94d9d4f3d2
Performance improvement for running turns by reducing the number of lookups for the hitdata.
continuous-integration/drone/push Build is passing Details
2020-04-25 20:20:30 +02:00
Deukhoofd 7fd3687564
Cleanup of ExecutingAttack, removing TargetData, and reducing the number of allocations needed.
continuous-integration/drone/push Build is failing Details
2020-04-25 20:09:20 +02:00
Deukhoofd 8eb22ad68d
Pass HitData as reference to damage calculation library, to prevent multiple lookup.
continuous-integration/drone/push Build is passing Details
2020-04-25 16:51:10 +02:00
Deukhoofd 0e874346bb
Pass ExecutingAttack values by reference instead of pointer.
continuous-integration/drone/push Build is passing Details
2020-04-25 16:04:17 +02:00
Deukhoofd 742d0c772c
Handling for tie breaking
continuous-integration/drone/push Build is passing Details
2020-04-22 23:09:54 +02:00
Deukhoofd 1709617e10
Remove tie breaking by randomness. This caused issues with sorting.
continuous-integration/drone/push Build is passing Details
2020-04-22 23:03:16 +02:00
Deukhoofd 75baf19ebd
Cleanup 2020-04-22 21:20:07 +02:00
Deukhoofd 3dcefebee7
Add ChangeEffectiveness script hook.
continuous-integration/drone/push Build is passing Details
2020-04-19 13:07:28 +02:00
Deukhoofd 04bf061115
Removed OnStatusMove hook, now just uses OnSecondaryEffect hook.
continuous-integration/drone/push Build is passing Details
2020-04-10 23:06:19 +02:00
Deukhoofd 5ac2b7b3c9
Turn SecondaryEffect class into pointer type, owned by AttackData.
continuous-integration/drone/push Build is passing Details
2020-04-10 22:17:48 +02:00
Deukhoofd 340520e0e3
Reworks attack scripts to handle effect chance and effect name through data files.
continuous-integration/drone/push Build is passing Details
2020-04-06 12:02:29 +02:00
Deukhoofd 1e0d00d3b7
Revert "Use smart pointers for basic libraries."
continuous-integration/drone/push Build is passing Details
This reverts commit 214ff819
2020-04-04 13:37:06 +02:00
Deukhoofd 214ff81992
Use smart pointers for basic libraries.
continuous-integration/drone/push Build is passing Details
2020-03-26 22:46:14 +01:00
Deukhoofd 27288563cd
Replace most collections with Arbutils collections for more safety.
continuous-integration/drone/push Build is passing Details
2020-03-22 19:21:40 +01:00
Deukhoofd f190121e74
More Assertions to validate state correctness.
continuous-integration/drone/push Build is passing Details
2020-03-22 15:35:58 +01:00
Deukhoofd 899e432271
Added lots of security using asserts.
continuous-integration/drone/push Build is failing Details
2020-03-22 13:42:26 +01:00
Deukhoofd a7b87ab4f8
Merge Core library into Library, as with its utility functionality merged into Arbutils, it's becoming less and less useful.
continuous-integration/drone/push Build is failing Details
2020-03-22 10:11:53 +01:00
Deukhoofd ce2fc320bd
Tweaks for Battle and ScriptSet, added Battle C interface.
continuous-integration/drone/push Build is passing Details
2020-03-09 10:16:57 +01:00
Deukhoofd 5e6572aca5
Move several classes from Core to Arbutils.
continuous-integration/drone/push Build is failing Details
2020-02-26 13:51:16 +01:00
Deukhoofd 32584ac406
Fixed Windows build.
continuous-integration/drone/push Build is passing Details
2020-02-22 15:11:18 +01:00
Deukhoofd 442d6cd5b1
Added Helper function to ChoiceQueue to move a specific creature's choice up next. 2020-02-22 14:16:38 +01:00
Deukhoofd f22c23d593
Make ScriptMacro a header instead of source file.
continuous-integration/drone/push Build is passing Details
2020-02-19 15:32:43 +01:00
Deukhoofd cd7ddcf78e
Actually implement handling of StopBeforeAttack script hook
continuous-integration/drone/push Build is passing Details
2020-02-03 19:11:44 +01:00
Deukhoofd c6620021a7
Fix issues.
continuous-integration/drone/push Build is passing Details
2020-02-03 18:32:03 +01:00
Deukhoofd cc46cd46a7
Commit TurnHandler from earlier revert.
continuous-integration/drone/push Build is passing Details
2020-01-18 13:44:02 +01:00
Deukhoofd c3877e0151
Make Script functions use pointers for out variables, instead of references.
continuous-integration/drone/push Build is passing Details
2020-01-11 16:05:39 +01:00
Deukhoofd 6ba708ad12
Implements running from battle.
continuous-integration/drone/push Build is passing Details
2019-12-15 11:52:10 +01:00
Deukhoofd c25d7b865e
Implements creature switching as turn choice.
continuous-integration/drone/push Build is passing Details
2019-12-14 12:15:30 +01:00
Deukhoofd 7c642f7df5 Fixes for damage calculations always using a base power of 0. 2019-12-07 22:09:06 +01:00
Deukhoofd 57f16bc420
Better handling of filling empty slots.
continuous-integration/drone/push Build is passing Details
2019-12-07 12:13:12 +01:00
Deukhoofd 6f32d1245b
Implemented and fixed all code required to run at least a single turn.
continuous-integration/drone/push Build is passing Details
2019-12-05 12:56:41 +01:00
Deukhoofd a8730d983f
Used ClangFormat style guide I'm happy with.
continuous-integration/drone/push Build is passing Details
2019-11-28 12:55:22 +01:00
Deukhoofd 3b685ae782
Added layout for CreatureParty 2019-11-28 12:16:03 +01:00
Deukhoofd aa356d74d7
Set data for executing attacks.
continuous-integration/drone/push Build is passing Details
2019-11-24 11:06:51 +01:00
Deukhoofd 583bde3768
Adds more script hooks 2019-11-24 10:34:42 +01:00
Deukhoofd f6415fba27
Added more script hooks
continuous-integration/drone/push Build is passing Details
2019-11-23 11:53:00 +01:00
Deukhoofd d8332f9e40 Another rework for scripthooks, for better performance.
continuous-integration/drone/push Build is passing Details
This new version caches pointers to the pointers to scripts, so that we can build the data once and then simply iterate over it whenever we want to run a hook.
2019-11-10 17:08:42 +01:00
Deukhoofd 3488784409 Furter rework on script hooks, simplifying required logic. 2019-11-10 14:32:05 +01:00
Deukhoofd f72fd5f905 Make ExecutingAttack be a pointer, as we probably want to keep it around after it has finished executing.
continuous-integration/drone/push Build is failing Details
2019-11-09 13:18:45 +01:00
Deukhoofd 96d1b6251f Implements OnSecondaryEffect script hook 2019-11-09 13:09:39 +01:00
Deukhoofd aca3359c98 Fixed compile error in OnAfterHits script hook. 2019-11-09 12:57:12 +01:00
Deukhoofd 658672a246 More handling of script hooks. 2019-11-09 12:55:48 +01:00
Deukhoofd ee14efe22e Implemented better script handling. 2019-11-09 12:15:45 +01:00
Deukhoofd c3bfbb569e Initial setup for script hooks (likely to be revamped)
continuous-integration/drone/push Build is passing Details
2019-11-08 18:45:43 +01:00
Deukhoofd beac87f981 Reset choices on side when executing turn. 2019-11-06 18:06:48 +01:00
Deukhoofd 5fc2bf564a Support turn queue return prematurely when a creature is recalled, and the ability to resume it later. 2019-11-06 18:04:00 +01:00
Deukhoofd 2ecc5cfccd Implements critical calculation, fixes some library pointers being unset, causing segfaults.
continuous-integration/drone/push Build is failing Details
2019-11-05 17:42:45 +01:00
Deukhoofd 1848d7b617 Implementation of damage calculation.
continuous-integration/drone/push Build was killed Details
2019-11-05 14:31:54 +01:00
Deukhoofd db2a577a85 Further implementation of types. 2019-11-05 08:06:12 +01:00
Deukhoofd b4e08049ce
Handle executing moves.
continuous-integration/drone/push Build is passing Details
2019-11-03 13:47:50 +01:00
Deukhoofd fc675efdf5
More work on basic turn layout.
continuous-integration/drone/push Build is passing Details
2019-11-02 13:57:43 +01:00
Deukhoofd 65f814b006
Implemented better exceptions
continuous-integration/drone/push Build is failing Details
2019-10-31 13:26:56 +01:00
Deukhoofd ffba5fb24c
Basic layout for turn execution 2019-10-31 13:13:36 +01:00
Deukhoofd 42c1623985
Fully handle turn ordering
continuous-integration/drone/push Build is passing Details
2019-10-31 12:31:31 +01:00
Deukhoofd 972af35ecf
Initial support for ordering choices and getting them ready for execution.
continuous-integration/drone/push Build is passing Details
2019-10-31 12:02:23 +01:00