Commit Graph

96 Commits

Author SHA1 Message Date
Deukhoofd 4274a44fa5
Fixes for GCC warnings
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-06-26 11:26:20 +02:00
Deukhoofd 762915b1f7
Add new Creature::IsUsable function, which replaces IsFainted functionality in several places.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-06-19 12:33:31 +02:00
Deukhoofd b48353822c
Change script when ChangeAttack script hook changes the used attack.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-05-14 10:42:05 +02:00
Deukhoofd 13153b3119
Support overriding attacks through script hooks.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-05-13 13:16:52 +02:00
Deukhoofd a3b7002cd4
Adds script hook to modify number of hits
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-28 19:43:26 +02:00
Deukhoofd 374a4d10a8
Pass creature along with OnEndTurn.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-28 18:37:10 +02:00
Deukhoofd 21231761ef
Adds OnEndTurn script hook.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-28 18:24:49 +02:00
Deukhoofd acacd02ef9
Adds script hook for preventing the opponent from switching out.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 22:54:51 +01:00
Deukhoofd d6858c2d44
Adds choice pointer to flee prevention script.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 15:10:56 +01:00
Deukhoofd 4dd3700352
Adds script hooks for preventing runaway.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 14:49:17 +01:00
Deukhoofd 46307fe71f
Initial work on attack fail handling.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 12:30:12 +01:00
Deukhoofd 7aa31a838d
Several fixes for attack effects not triggering.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-01-22 13:38:05 +01:00
Deukhoofd a284641b5a
Fixes invalid pointers to a battle dangling when a battle is removed.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-28 13:40:39 +01:00
Deukhoofd e642f374b9
Update to latest Arbutils.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-13 12:15:40 +01:00
Deukhoofd 5c39694f19
Overhaul memory model to new Arbutils memory.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 12:22:48 +01:00
Deukhoofd 53bfbd36c2
Use a precompiled header.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-25 13:05:15 +02:00
Deukhoofd 98dacbccde
Use Arbutils exception Macros, instead of own ones.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-17 12:18:01 +02:00
Deukhoofd 93a763ab78
Rework exceptions.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-15 16:34:52 +02:00
Deukhoofd c921d3127b
Update to latest Arbutils, include stacktrace.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-15 15:10:48 +02:00
Deukhoofd cb4765e0cc
Adds support for History data, allowing us to store specific interesting occurrences in the data flow, and recall them later.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-14 15:18:00 +02:00
Deukhoofd 5536a6b83d
Implements Attack Use event.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-14 14:00:41 +02:00
Deukhoofd 64b08d4ff0
Cleaned up Events, added events on species and variant changes.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-14 13:52:22 +02:00
Deukhoofd 50236f4ece
Adds Miss event.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-13 11:17:04 +02:00
Deukhoofd 08ef84f6d6
Defensive programming.
continuous-integration/drone/push Build is passing Details
2020-08-03 17:44:29 +02:00
Deukhoofd bd7ecb6b33
More work on exceptions.
continuous-integration/drone/push Build is passing Details
2020-07-31 14:17:38 +02:00
Deukhoofd 9c93ca6995
Fixed exception messages being wrong.
continuous-integration/drone/push Build is passing Details
2020-07-31 11:23:23 +02:00
Deukhoofd 5a41208fdb
Further clearer error handling.
continuous-integration/drone/push Build is passing Details
2020-07-31 10:45:20 +02:00
Deukhoofd b56226076e
Fixed issue where multiple targets would cause the same target to be hit over and over again.
continuous-integration/drone/push Build is passing Details
2020-07-30 20:15:58 +02:00
Deukhoofd b3b9698831
More clearer exception messages. 2020-07-30 20:15:27 +02:00
Deukhoofd e2e706693b
Clearer errors for C Interface.
continuous-integration/drone/push Build is passing Details
2020-07-28 17:22:43 +02:00
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 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 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