Commit Graph

121 Commits

Author SHA1 Message Date
Deukhoofd dd668f2b1c
Cleanup of ScriptAggregator class. 2020-04-23 23:23:58 +02:00
Deukhoofd 317f616be2
Change EffectParameter string to ConstString, changed to Variant. 2020-04-15 19:05:24 +02:00
Deukhoofd 5ac2b7b3c9
Turn SecondaryEffect class into pointer type, owned by AttackData. 2020-04-10 22:17:48 +02:00
Deukhoofd beb50a60b0
Rework of EffectParameter storage, added float value. 2020-04-10 21:05:44 +02:00
Deukhoofd d2320fde3c
Unit tests for EffectParameters. 2020-04-10 20:09:15 +02:00
Deukhoofd 49e0f00237
Initialize CreateCreature with ConstString instead of std::string. 2020-04-10 16:44:25 +02:00
Deukhoofd 88eda6ef94
Update to new version of Arbutils. 2020-04-09 18:19:21 +02:00
Deukhoofd 340520e0e3
Reworks attack scripts to handle effect chance and effect name through data files. 2020-04-06 12:02:29 +02:00
Deukhoofd 1e0d00d3b7
Revert "Use smart pointers for basic libraries."
This reverts commit 214ff819
2020-04-04 13:37:06 +02:00
Deukhoofd 214ff81992
Use smart pointers for basic libraries. 2020-03-26 22:46:14 +01:00
Deukhoofd b5894ea8f2
Added C Interface for Script. 2020-03-25 19:47:37 +01:00
Deukhoofd 27288563cd
Replace most collections with Arbutils collections for more safety. 2020-03-22 19:21:40 +01:00
Deukhoofd 475392f9b6
Fixed issue where base stats of a variant got corrupted. 2020-03-22 15:25:38 +01:00
Deukhoofd 899e432271
Added lots of security using asserts. 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. 2020-03-22 10:11:53 +01:00
Deukhoofd ce2fc320bd
Tweaks for Battle and ScriptSet, added Battle C interface. 2020-03-09 10:16:57 +01:00
Deukhoofd 1d18066bcc
Made Battle take battleparties as a pointer instead of value for external use. 2020-03-07 11:00:48 +01:00
Deukhoofd 81e173ec1a
C Interface for Lookup GrowthRate. 2020-03-04 09:11:32 +01:00
Deukhoofd 81ae0e8454
Make Attack name a ConstString. 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. 2020-02-28 19:23:24 +01:00
Deukhoofd 412e0a4d63
Implements ConstString in several core places in the library, improving performance. 2020-02-27 18:23:23 +01:00
Deukhoofd 5e6572aca5
Move several classes from Core to Arbutils. 2020-02-26 13:51:16 +01:00
Deukhoofd a606fbbc7b
Make basic Script class abstract, require implementation of GetName function. 2020-02-23 12:58:13 +01:00
Deukhoofd be6b2778a5
Make CreatureException inherit from runtime_error. 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. 2020-02-15 18:51:21 +01:00
Deukhoofd 2dcb197191
Fix issue in tests where we compared with equality operator instead of strcmp. 2020-02-13 13:33:07 +01:00
Deukhoofd 02aa6f252e
Make Enum Helper parse functions constexpr, added Enum Helper Try Parse functions. 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. 2020-02-12 19:48:56 +01:00
Deukhoofd e45a36d78e
Move Script ownership to script holder, added OnRemove script hook. 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. 2020-02-01 13:30:51 +01:00
Deukhoofd d66bcee979
Change AttackData type to byte instead of string. 2020-01-18 13:41:01 +01:00
Deukhoofd f9494d4c38
Fix changing stat falling through enum and throwing exception. 2020-01-05 14:25:48 +01:00
Deukhoofd ae4d8f5e12
Removes some variables that are better handled in implementations. 2019-12-27 12:19:38 +01:00
Deukhoofd 6ba708ad12
Implements running from battle. 2019-12-15 11:52:10 +01:00
Deukhoofd 649de39571
Implements experience gain on opponent faint. 2019-12-14 13:28:23 +01:00
Deukhoofd 3baed93597
Implements marking opponents as seen. 2019-12-14 12:40:50 +01:00
Deukhoofd c25d7b865e
Implements creature switching as turn choice. 2019-12-14 12:15:30 +01:00
Deukhoofd dc9296194e
Fixed battle ending after any faint. 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. 2019-12-07 13:45:44 +01:00
Deukhoofd 57f16bc420
Better handling of filling empty slots. 2019-12-07 12:13:12 +01:00
Deukhoofd 6f32d1245b
Implemented and fixed all code required to run at least a single turn. 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. 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. 2019-11-17 11:05:31 +01:00
Deukhoofd 3e81784f6f
Fix memory leaks in unit tests. 2019-11-17 10:42:09 +01:00
Deukhoofd 3a2c9f4c61 Adds tests for ScriptSets 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. 2019-11-10 19:55:01 +01:00
Deukhoofd d8332f9e40 Another rework for scripthooks, for better performance.
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. 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. 2019-11-04 17:58:26 +01:00
Deukhoofd fc675efdf5
More work on basic turn layout. 2019-11-02 13:57:43 +01:00
Deukhoofd d7fee13002
Fix memory leak in unit tests 2019-10-31 13:33:32 +01:00
Deukhoofd 7da87956cf
Priority tests 2019-10-31 13:03:41 +01:00
Deukhoofd 42c1623985
Fully handle turn ordering 2019-10-31 12:31:31 +01:00
Deukhoofd 972af35ecf
Initial support for ordering choices and getting them ready for execution. 2019-10-31 12:02:23 +01:00
Deukhoofd 99315174a8
Initial support for setting battle choices. 2019-10-29 11:19:25 +01:00
Deukhoofd 9588236183
Remove creature classes from Library lib, merged with Battling lib. 2019-10-24 13:37:55 +02:00
Deukhoofd bb8978314f
Support for learnable moves 2019-10-24 11:04:19 +02:00
Deukhoofd cdaa056810 Initial support for learned moves 2019-10-23 18:57:50 +02:00
Deukhoofd d580d81163
Initial work on battling 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