Commit Graph

130 Commits

Author SHA1 Message Date
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 29cb4eac37
Make ChoiceQueue use smart pointers.
continuous-integration/drone/push Build is passing Details
2020-05-31 18:00:39 +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 b17c0648ff
Make DataLibrary use unique_ptr.
continuous-integration/drone/push Build is passing Details
2020-05-24 19:01:47 +02:00
Deukhoofd 119e71e86a
Allow AsInt from Float EffectParameter, and AsFloat from Int EffectParameter.
continuous-integration/drone/push Build is passing Details
2020-05-03 21:08:27 +02:00
Deukhoofd ed0171c911
Style fixes
continuous-integration/drone/push Build is passing Details
2020-04-28 16:36:03 +02:00
Deukhoofd 734d056449
Performance improvement for collecting scripts, by reserving size in ScriptSource.
continuous-integration/drone/push Build is passing Details
2020-04-25 11:33:25 +02:00
Deukhoofd 1eb751538d
Updated to latest Arbutils.
continuous-integration/drone/push Build is passing Details
2020-04-25 10:41:15 +02:00
Deukhoofd dd668f2b1c
Cleanup of ScriptAggregator class.
continuous-integration/drone/push Build is passing Details
2020-04-23 23:23:58 +02:00
Deukhoofd 317f616be2
Change EffectParameter string to ConstString, changed to Variant.
continuous-integration/drone/push Build is passing Details
2020-04-15 19:05:24 +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 beb50a60b0
Rework of EffectParameter storage, added float value.
continuous-integration/drone/push Build is passing Details
2020-04-10 21:05:44 +02:00
Deukhoofd d2320fde3c
Unit tests for EffectParameters.
continuous-integration/drone/push Build is failing Details
2020-04-10 20:09:15 +02:00
Deukhoofd 49e0f00237
Initialize CreateCreature with ConstString instead of std::string.
continuous-integration/drone/push Build is passing Details
2020-04-10 16:44:25 +02:00
Deukhoofd 88eda6ef94
Update to new version of Arbutils.
continuous-integration/drone/push Build is failing Details
2020-04-09 18:19:21 +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 b5894ea8f2
Added C Interface for Script.
continuous-integration/drone/push Build is passing Details
2020-03-25 19:47:37 +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 475392f9b6
Fixed issue where base stats of a variant got corrupted.
continuous-integration/drone/push Build is passing Details
2020-03-22 15:25:38 +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 1d18066bcc
Made Battle take battleparties as a pointer instead of value for external use.
continuous-integration/drone/push Build is passing Details
2020-03-07 11:00:48 +01:00
Deukhoofd 81e173ec1a
C Interface for Lookup GrowthRate.
continuous-integration/drone/push Build is passing Details
2020-03-04 09:11:32 +01:00
Deukhoofd 81ae0e8454
Make Attack name a ConstString.
continuous-integration/drone/push Build is passing Details
2020-03-02 15:29:42 +01:00
Deukhoofd 4341efb54c
Support ConstString in TypeLibrary. 2020-02-29 15:42:44 +01:00
Deukhoofd 5a05a2f4d3
Add ConstString to several other places where context isn't changed much during runtime.
continuous-integration/drone/push Build is passing Details
2020-02-28 19:23:24 +01:00
Deukhoofd 412e0a4d63
Implements ConstString in several core places in the library, improving performance.
continuous-integration/drone/push Build is passing Details
2020-02-27 18:23:23 +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 a606fbbc7b
Make basic Script class abstract, require implementation of GetName function.
continuous-integration/drone/push Build is passing Details
2020-02-23 12:58:13 +01:00
Deukhoofd be6b2778a5
Make CreatureException inherit from runtime_error.
continuous-integration/drone/push Build is failing Details
2020-02-22 15:07:16 +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 d6ea16b467
Implement basic library class that other libraries inherit from for performance.
continuous-integration/drone/push Build is passing Details
2020-02-15 18:51:21 +01:00
Deukhoofd 2dcb197191
Fix issue in tests where we compared with equality operator instead of strcmp.
continuous-integration/drone/push Build is passing Details
2020-02-13 13:33:07 +01:00
Deukhoofd 02aa6f252e
Make Enum Helper parse functions constexpr, added Enum Helper Try Parse functions.
continuous-integration/drone/push Build is failing Details
2020-02-13 13:19:59 +01:00
Deukhoofd 2732a904c4
Add easy to use macro to generate enum helper functions for parsing, stringifying and iteration.
continuous-integration/drone/push Build is failing Details
2020-02-12 19:48:56 +01:00
Deukhoofd e45a36d78e
Move Script ownership to script holder, added OnRemove script hook.
continuous-integration/drone/push Build is passing Details
2020-02-05 14:52:50 +01:00
Deukhoofd 07700008f7
Slight tweaks for CreatureException, add tests to see if what() works. 2020-02-03 13:05:46 +01:00
Deukhoofd dba271681d
Change LibrarySettings to be a pointer instead of value, to allow for overriding in implementations.
continuous-integration/drone/push Build is passing Details
2020-02-01 13:30:51 +01:00
Deukhoofd d66bcee979
Change AttackData type to byte instead of string.
continuous-integration/drone/push Build is failing Details
2020-01-18 13:41:01 +01:00
Deukhoofd f9494d4c38
Fix changing stat falling through enum and throwing exception.
continuous-integration/drone/push Build is failing Details
2020-01-05 14:25:48 +01:00
Deukhoofd ae4d8f5e12
Removes some variables that are better handled in implementations.
continuous-integration/drone/push Build is failing Details
2019-12-27 12:19:38 +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 649de39571
Implements experience gain on opponent faint.
continuous-integration/drone/push Build is failing Details
2019-12-14 13:28:23 +01:00
Deukhoofd 3baed93597
Implements marking opponents as seen.
continuous-integration/drone/push Build is passing Details
2019-12-14 12:40:50 +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 dc9296194e
Fixed battle ending after any faint.
continuous-integration/drone/push Build is failing Details
2019-12-07 22:52:43 +01:00
Deukhoofd 7c642f7df5 Fixes for damage calculations always using a base power of 0. 2019-12-07 22:09:06 +01:00
Deukhoofd 262279bd2c Support for ending battles when only one side has creatures that are available for battle. 2019-12-07 21:56:29 +01:00
Deukhoofd 0483e635ea Reworks test suite, tweaks to Cmake config for Windows.
continuous-integration/drone/push Build is failing Details
2019-12-07 13:45:44 +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 5d6ac316eb
Renamed Target class to CreatureIndex 2019-12-05 09:53:48 +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 4d796204f8 Implements functionality for loading scripts. 2019-11-18 08:29:17 +01:00
Deukhoofd 5e71c59f77
Implements tests for randomness distributions.
continuous-integration/drone/push Build is passing Details
2019-11-17 11:05:31 +01:00
Deukhoofd 3e81784f6f
Fix memory leaks in unit tests.
continuous-integration/drone/push Build is passing Details
2019-11-17 10:42:09 +01:00
Deukhoofd 3a2c9f4c61 Adds tests for ScriptSets
continuous-integration/drone/push Build is failing Details
2019-11-17 10:27:18 +01:00
Deukhoofd fd16152121 Make scriptset return scripts in order of insertion, unit tests for ScriptSource 2019-11-12 18:38:09 +01:00
Deukhoofd 859cd02478 Tests for script aggregator.
continuous-integration/drone/push Build is failing Details
2019-11-10 19:55:01 +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 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 db2a577a85 Further implementation of types. 2019-11-05 08:06:12 +01:00
Deukhoofd 168e14d394 Implement basic type library.
continuous-integration/drone/push Build is passing Details
2019-11-04 17:58:26 +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 d7fee13002
Fix memory leak in unit tests
continuous-integration/drone/push Build is passing Details
2019-10-31 13:33:32 +01:00
Deukhoofd 7da87956cf
Priority tests
continuous-integration/drone/push Build is failing Details
2019-10-31 13:03:41 +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
Deukhoofd 99315174a8
Initial support for setting battle choices.
continuous-integration/drone/push Build is failing Details
2019-10-29 11:19:25 +01:00
Deukhoofd 9588236183
Remove creature classes from Library lib, merged with Battling lib.
continuous-integration/drone/push Build is passing Details
2019-10-24 13:37:55 +02:00
Deukhoofd bb8978314f
Support for learnable moves
continuous-integration/drone/push Build is passing Details
2019-10-24 11:04:19 +02:00
Deukhoofd cdaa056810 Initial support for learned moves
continuous-integration/drone/push Build is failing Details
2019-10-23 18:57:50 +02:00
Deukhoofd d580d81163
Initial work on battling
continuous-integration/drone/push Build is failing Details
2019-10-17 14:33:25 +02:00
Deukhoofd 212a7d1ad6
Added functionality to get full stats from creature 2019-10-10 15:08:34 +02:00
Deukhoofd 265923231f
Initial commit 2019-10-06 13:50:52 +02:00