Commit Graph

65 Commits

Author SHA1 Message Date
bfe83ef271 When adding volatile script, return the script object.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 16:36:20 +01:00
5178d5dcc0 Renamed Script --> BattleScript, some cleanup on it.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 10:26:41 +01:00
66b95a6e4d Reset seen opponents on ClearBattle.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-01-15 15:46:48 +01:00
a284641b5a Fixes invalid pointers to a battle dangling when a battle is removed.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-28 13:40:39 +01:00
e642f374b9 Update to latest Arbutils.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-13 12:15:40 +01:00
5c39694f19 Overhaul memory model to new Arbutils memory.
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 12:22:48 +01:00
53bfbd36c2 Use a precompiled header.
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-25 13:05:15 +02:00
3233daf9ab More defensive programming.
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-30 13:14:33 +02:00
32f75f4a47 Store time in turn execution on battle class.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-28 12:24:10 +02:00
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