Commit Graph

56 Commits

Author SHA1 Message Date
98dacbccde Use Arbutils exception Macros, instead of own ones.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-17 12:18:01 +02:00
93a763ab78 Rework exceptions.
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-15 16:34:52 +02:00
64b08d4ff0 Cleaned up Events, added events on species and variant changes.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-14 13:52:22 +02:00
3d21b7c42d Remove event hook threads, as it caused issues when being called from dotnet.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-07 20:11:03 +02:00
208bb097dd Make event listeners threaded.
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-07 12:20:59 +02:00
5aa04a4b15 Add TurnStart, TurnEnd and ExperienceGain event triggers.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-07 11:02:37 +02:00
0eaae43444 Reworked event hook to a system with pre-allocated memory, owned by the battle. This deals with cleaning up event data memory.
All checks were successful
continuous-integration/drone/push Build is passing
2020-07-31 16:19:39 +02:00
13c4609cdd Tweaks for exception handling.
All checks were successful
continuous-integration/drone/push Build is passing
2020-07-28 19:37:03 +02:00
e2e706693b Clearer errors for C Interface.
All checks were successful
continuous-integration/drone/push Build is passing
2020-07-28 17:22:43 +02:00
1d03adf0d1 Implements replacement attack when an attack can't be used anymore, adds clearer exception handling.
All checks were successful
continuous-integration/drone/push Build is passing
2020-07-26 18:00:58 +02:00
36f1e5beeb Further work on better exceptions.
All checks were successful
continuous-integration/drone/push Build is passing
2020-07-26 17:41:11 +02:00
772619db0f Changed LoadScript to StringView.
Some checks failed
continuous-integration/drone/push Build is failing
2020-06-26 18:23:40 +02:00
48639eeee5 Update to new Arbutils
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-26 17:08:23 +02:00
add77325a4 Several additional checks to ensure battle does not finish turn when ended.
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-12 16:48:49 +02:00
fd1c6e9a0a If no side is still alive, mark battle as inconclusive ended.
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-12 16:25:21 +02:00
44de4a0799 Use std::algorithm for Battle::CreatureInField
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-05 14:15:20 +02:00
1ef50fd3a6 Use unique pointers in scriptset.
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-02 15:03:31 +02:00
f898698f49 Use smart pointers for BattleSide.
Some checks failed
continuous-integration/drone/push Build is failing
2020-06-02 13:06:24 +02:00
01f6e59cb6 Make battle class fields all smart pointers.
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-31 19:01:45 +02:00
29cb4eac37 Make ChoiceQueue use smart pointers.
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-31 18:00:39 +02:00
25f65eb47b Update to newer Arbutils version.
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-26 18:31:06 +02:00
734d056449 Performance improvement for collecting scripts, by reserving size in ScriptSource.
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-25 11:33:25 +02:00
dd668f2b1c Cleanup of ScriptAggregator class.
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-23 23:23:58 +02:00
742d0c772c Handling for tie breaking
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-22 23:09:54 +02:00
d2cf26e950 Fixed issue where attack with 1 use remaining couldn't be used.
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-22 15:03:09 +02:00
2e5d463e45 Throw clean exception when no volatile script is found when adding one.
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-11 00:22:08 +02:00
7ce3e6940d Rework for C Interfaces to handle exceptions a bit better.
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-25 19:09:17 +01:00
27288563cd Replace most collections with Arbutils collections for more safety.
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-22 19:21:40 +01:00
475392f9b6 Fixed issue where base stats of a variant got corrupted.
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-22 15:25:38 +01:00
899e432271 Added lots of security using asserts.
Some checks failed
continuous-integration/drone/push Build is failing
2020-03-22 13:42:26 +01:00
a7b87ab4f8 Merge Core library into Library, as with its utility functionality merged into Arbutils, it's becoming less and less useful.
Some checks failed
continuous-integration/drone/push Build is failing
2020-03-22 10:11:53 +01:00
5a976e4031 Added display text event hook. 2020-03-09 17:43:36 +01:00
ce2fc320bd Tweaks for Battle and ScriptSet, added Battle C interface.
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-09 10:16:57 +01:00
1d18066bcc Made Battle take battleparties as a pointer instead of value for external use.
All checks were successful
continuous-integration/drone/push Build is passing
2020-03-07 11:00:48 +01:00
5a05a2f4d3 Add ConstString to several other places where context isn't changed much during runtime.
All checks were successful
continuous-integration/drone/push Build is passing
2020-02-28 19:23:24 +01:00
3802587313 Added HasVolatileScript function to Creature and Battle.
Some checks failed
continuous-integration/drone/push Build is failing
2020-02-23 16:17:57 +01:00
5f891cd4ed Added Remove Volatile functions for battle and creatures.
All checks were successful
continuous-integration/drone/push Build is passing
2020-02-23 11:11:47 +01:00
428483e73d Make GetRandom in Battle class a pointer.
All checks were successful
continuous-integration/drone/push Build is passing
2020-02-16 17:24:33 +01:00
54e366fc1b Implements BattleRandom class with support for Effect Chance, and script hooks to modify this.
All checks were successful
continuous-integration/drone/push Build is passing
2020-02-16 15:08:22 +01:00
6ba708ad12 Implements running from battle.
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-15 11:52:10 +01:00
262279bd2c Support for ending battles when only one side has creatures that are available for battle. 2019-12-07 21:56:29 +01:00
0483e635ea Reworks test suite, tweaks to Cmake config for Windows.
Some checks failed
continuous-integration/drone/push Build is failing
2019-12-07 13:45:44 +01:00
8897f2282f Put the check for slots filled behind the check whether all choices are set.
This because this check can be more expensive, and should run as little times
as possible. In this case it should only run when all choices are set,
which should be in most cases once a turn.
2019-12-07 12:49:18 +01:00
57f16bc420 Better handling of filling empty slots.
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-07 12:13:12 +01:00
6f32d1245b Implemented and fixed all code required to run at least a single turn.
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-05 12:56:41 +01:00
a8730d983f Used ClangFormat style guide I'm happy with.
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-28 12:55:22 +01:00
d8332f9e40 Another rework for scripthooks, for better performance.
All checks were successful
continuous-integration/drone/push Build is passing
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
3488784409 Furter rework on script hooks, simplifying required logic. 2019-11-10 14:32:05 +01:00
beac87f981 Reset choices on side when executing turn. 2019-11-06 18:06:48 +01:00
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