Deukhoofd
f37e27378e
Add methods for getting all talents and hidden talents from a species variant.
continuous-integration/drone/push Build is passing
Details
2020-02-16 09:17:09 +01:00
Deukhoofd
d609d5ca53
Mark CreatureSpecies GetVariantIterator as const.
continuous-integration/drone/push Build is passing
Details
2020-02-15 19:35:56 +01:00
Deukhoofd
629567a2a5
Fix BaseLibrary GetCount, add functions that use std string.
continuous-integration/drone/push Build is passing
Details
2020-02-15 19:14:10 +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
a47f60cdf7
Implements iterator functions for libraries.
continuous-integration/drone/push Build is passing
Details
2020-02-15 18:15:31 +01:00
Deukhoofd
a6f91faba4
Fix variants lowercasing causing stack smashing error.
continuous-integration/drone/push Build is passing
Details
2020-02-13 18:45:41 +01:00
Deukhoofd
667821df28
Mark TryGetVariant as const.
continuous-integration/drone/push Build is passing
Details
2020-02-13 17:37:37 +01:00
Deukhoofd
2ea5f9f9bd
Make variant keys case insensitive, added helper functions for variants.
continuous-integration/drone/push Build is passing
Details
2020-02-13 17:16:07 +01:00
Deukhoofd
611198009b
Make Attack, Item and Species libraries be case insensitive.
continuous-integration/drone/push Build is passing
Details
2020-02-13 16:05:27 +01:00
Deukhoofd
8d4860f553
Support for Heal function for Creatures.
continuous-integration/drone/push Build is passing
Details
2020-02-13 14:48:09 +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
0ef909cf55
Use ENUM macro for ScriptCategory enum.
2020-02-13 12:53:48 +01:00
Deukhoofd
42050de18a
Use ENUM macro for Item Category enums.
continuous-integration/drone/push Build is passing
Details
2020-02-13 10:49:45 +01:00
Deukhoofd
1969f59a9c
Add vector dependency to Enum macro
continuous-integration/drone/push Build is passing
Details
2020-02-12 20:12:17 +01:00
Deukhoofd
2dea2e6cd0
Add newlines after MacroUtils to hopefully keep the build happy.
continuous-integration/drone/push Build is failing
Details
2020-02-12 19:53:42 +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
a8944e2026
Fix AttackData constructor to use signed byte for priority instead of unsigned.
2020-02-12 10:11:25 +01:00
Deukhoofd
80708040a4
When setting variant of species with the same name of already existing variant, delete previous variant.
continuous-integration/drone/push Build is passing
Details
2020-02-09 12:04:59 +01:00
Deukhoofd
3f57051219
Made CreatureSpecies destructor virtual.
continuous-integration/drone/push Build is passing
Details
2020-02-09 10:47:18 +01:00
Deukhoofd
f973259bef
Force insertion when setting species variant, as to prevent memory leaks.
continuous-integration/drone/push Build is passing
Details
2020-02-08 20:16:47 +01:00
Deukhoofd
52d24922ff
Make type library work case insensitive.
continuous-integration/drone/push Build is passing
Details
2020-02-08 17:50:27 +01:00
Deukhoofd
925763752f
Add function to set variants for a species, and a function to get the count of species in a species library.
continuous-integration/drone/push Build is failing
Details
2020-02-08 14:52:45 +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
cd7ddcf78e
Actually implement handling of StopBeforeAttack script hook
continuous-integration/drone/push Build is passing
Details
2020-02-03 19:11:44 +01:00
Deukhoofd
c6620021a7
Fix issues.
continuous-integration/drone/push Build is passing
Details
2020-02-03 18:32:03 +01:00
Deukhoofd
59f7d3aa4f
Make Script functions pass out parameters by pointer instead of reference.
continuous-integration/drone/push Build is failing
Details
2020-02-03 18:27:39 +01:00
Deukhoofd
c4d0a73df6
Remove display script hook functions, replace them with easy to use interface on Creature class.
continuous-integration/drone/push Build is passing
Details
2020-02-03 16:49:28 +01:00
Deukhoofd
07700008f7
Slight tweaks for CreatureException, add tests to see if what() works.
2020-02-03 13:05:46 +01:00
Deukhoofd
c3b573c7da
Initialize Battle pointers with nullptr in Create class.
continuous-integration/drone/push Build is passing
Details
2020-02-02 14:39:57 +01:00
Deukhoofd
fc5826edb1
Check whether a battle has been set when calling Damage function.
continuous-integration/drone/push Build is passing
Details
2020-02-02 12:34:02 +01:00
Deukhoofd
bb9b9609a6
Implements TryGet functions on several libraries.
continuous-integration/drone/push Build is passing
Details
2020-02-01 15:33:44 +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
7e0a1ec033
Make SpeciesVariant virtual
continuous-integration/drone/push Build is passing
Details
2020-01-26 13:11:50 +01:00
Deukhoofd
23c4e89c2d
Removed unused function from ExecutingAttack
2020-01-26 13:10:45 +01:00
Deukhoofd
faaafb5e1d
Make AttackData polymorphic
continuous-integration/drone/push Build is passing
Details
2020-01-25 13:09:09 +01:00
Deukhoofd
1256d7d2e3
Add virtual modifiers to LearnedAttack.hpp
continuous-integration/drone/push Build is passing
Details
2020-01-25 12:37:05 +01:00
Deukhoofd
15523a18a5
Return item name by reference instead of value.
continuous-integration/drone/push Build is passing
Details
2020-01-19 13:00:08 +01:00
Deukhoofd
cc46cd46a7
Commit TurnHandler from earlier revert.
continuous-integration/drone/push Build is passing
Details
2020-01-18 13:44:02 +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
e3bbc369fc
Revert "Make Script functions use pointers for out variables, instead of references."
...
This reverts commit c3877e01
2020-01-18 13:38:47 +01:00
Deukhoofd
b02577554f
Remove GetProperty macro, as it wasn't that intuitive, and caused issues later.
continuous-integration/drone/push Build is passing
Details
2020-01-12 17:04:42 +01:00
Deukhoofd
779f0b08cf
Fixed CreatureException not saving error string.
continuous-integration/drone/push Build is passing
Details
2020-01-11 19:25:16 +01:00
Deukhoofd
c3877e0151
Make Script functions use pointers for out variables, instead of references.
continuous-integration/drone/push Build is passing
Details
2020-01-11 16:05:39 +01:00
Deukhoofd
836a201b2d
Add initialize function to script resolver, where it can access the battle library.
continuous-integration/drone/push Build is passing
Details
2020-01-11 11:35:59 +01:00
Deukhoofd
144d17d859
Fixed changing stat boost by negative actually increasing it.
continuous-integration/drone/push Build is passing
Details
2020-01-05 14:57:17 +01:00
Deukhoofd
fbfcc53a02
Furter fixes for changing stats.
continuous-integration/drone/push Build is passing
Details
2020-01-05 14:39:10 +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
568232c7a5
Split off initialization of Creature into new function that's not called in the constructor.
...
continuous-integration/drone/push Build is passing
Details
This has to do with specific implementations of stat calculator requiring an inherited type of the Creature class, and by calling it in the constructor casting to this inherited type will fail.
2020-01-05 13:43:47 +01:00
Deukhoofd
dd8d4d738d
Allow getting Static Library from BattleLibrary.
continuous-integration/drone/push Build is passing
Details
2020-01-02 19:33:10 +01:00
Deukhoofd
18236981ed
Fixed syntax error.
continuous-integration/drone/push Build is passing
Details
2020-01-02 18:43:16 +01:00
Deukhoofd
1a246f57e8
Make Creature class variables mostly protected instead of private.
continuous-integration/drone/push Build is failing
Details
2020-01-02 18:38:56 +01:00
Deukhoofd
b98b470f0d
Mark destructors of several libraries as virtual.
continuous-integration/drone/push Build is passing
Details
2020-01-02 17:48:14 +01:00
Deukhoofd
f0c3f84a29
Remove use of unused field
continuous-integration/drone/push Build is passing
Details
2020-01-02 16:19:32 +01:00
Deukhoofd
b3d07f5a0e
Removed unused field from CreateCreature.hpp
continuous-integration/drone/push Build is failing
Details
2020-01-02 16:18:46 +01:00
Deukhoofd
4d3dc28606
Allow most libraries to reserve capacity for their database.
continuous-integration/drone/push Build is passing
Details
2019-12-31 10:48:52 +01:00
Deukhoofd
db2eb0c3fa
Make DataLibrary destructor virtual.
continuous-integration/drone/push Build is passing
Details
2019-12-30 16:03:46 +01:00
Deukhoofd
243b3a768c
Remove unused fields in CreateCreature class
continuous-integration/drone/push Build is passing
Details
2019-12-27 12:36:32 +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
9e0d8d76fb
Change GenericTemplates.cpp to GenericTemplates.hpp, as to include it in header files.
continuous-integration/drone/push Build is passing
Details
2019-12-26 12:27:54 +01:00
Deukhoofd
8e53ffb53d
Implements functions for getting display species and variant.
continuous-integration/drone/push Build is passing
Details
2019-12-21 14:32:45 +01:00
Deukhoofd
db002c784f
Resolve memory issue with Event Hooks.
continuous-integration/drone/push Build is passing
Details
2019-12-15 12:27:56 +01:00
Deukhoofd
410487c86b
Initial support for Event Hooks.
continuous-integration/drone/push Build is failing
Details
2019-12-15 12:24:08 +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
0fad615050
Make LookupGrowthRate use unsigned integers instead of signed ones, to resolve Windows error.
continuous-integration/drone/push Build is passing
Details
2019-12-14 14:09:07 +01:00
Deukhoofd
f5a71ca807
Fixed memory leak in growth rate library.
continuous-integration/drone/push Build is failing
Details
2019-12-14 13:42:34 +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
2ee181bca7
Fixed _onBattleField field of Creature leading to cascading errors on release configuration.
continuous-integration/drone/push Build is passing
Details
2019-12-12 11:14:50 +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
f5aa168f1b
Also set warnings to errors for Windows build, fix one of those warnings.
continuous-integration/drone/push Build is passing
Details
2019-12-07 22:15:50 +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
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
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
3b685ae782
Added layout for CreatureParty
2019-11-28 12:16:03 +01:00
Deukhoofd
aa356d74d7
Set data for executing attacks.
continuous-integration/drone/push Build is passing
Details
2019-11-24 11:06:51 +01:00
Deukhoofd
583bde3768
Adds more script hooks
2019-11-24 10:34:42 +01:00
Deukhoofd
f6415fba27
Added more script hooks
continuous-integration/drone/push Build is passing
Details
2019-11-23 11:53:00 +01:00
Deukhoofd
49bd4813f6
Initialize Creature talent script when battle library is set, allow talent overriding
continuous-integration/drone/push Build is passing
Details
2019-11-18 18:41:55 +01:00
Deukhoofd
4d796204f8
Implements functionality for loading scripts.
2019-11-18 08:29:17 +01:00
Deukhoofd
86f8a1e37b
Adds talent script to Creature class
continuous-integration/drone/push Build is passing
Details
2019-11-17 11:25:52 +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
cdd1ac992f
Fix build on Linux.
continuous-integration/drone/push Build is passing
Details
2019-11-11 20:04:59 +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
e1a8d80863
Add default implementation for OnBeforeTurn script hook.
continuous-integration/drone/push Build is passing
Details
2019-11-10 14:45:07 +01:00
Deukhoofd
df3905fa49
Give Creature a virtual destructor.
continuous-integration/drone/push Build is failing
Details
2019-11-10 14:37:06 +01:00
Deukhoofd
2a98f051c9
Give ExecutingAttack a virtual destructor.
continuous-integration/drone/push Build is failing
Details
2019-11-10 14:33:26 +01:00
Deukhoofd
3488784409
Furter rework on script hooks, simplifying required logic.
2019-11-10 14:32:05 +01:00
Deukhoofd
f72fd5f905
Make ExecutingAttack be a pointer, as we probably want to keep it around after it has finished executing.
continuous-integration/drone/push Build is failing
Details
2019-11-09 13:18:45 +01:00
Deukhoofd
96d1b6251f
Implements OnSecondaryEffect script hook
2019-11-09 13:09:39 +01:00
Deukhoofd
aca3359c98
Fixed compile error in OnAfterHits script hook.
2019-11-09 12:57:12 +01:00
Deukhoofd
658672a246
More handling of script hooks.
2019-11-09 12:55:48 +01:00
Deukhoofd
ee14efe22e
Implemented better script handling.
2019-11-09 12:15:45 +01:00
Deukhoofd
c3bfbb569e
Initial setup for script hooks (likely to be revamped)
continuous-integration/drone/push Build is passing
Details
2019-11-08 18:45:43 +01:00
Deukhoofd
19e1308f93
Improve performance for setting choices.
2019-11-06 18:08:21 +01:00
Deukhoofd
beac87f981
Reset choices on side when executing turn.
2019-11-06 18:06:48 +01:00
Deukhoofd
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
Deukhoofd
f184572837
Add virtual destructor to the CriticalLibrary
continuous-integration/drone/push Build is passing
Details
2019-11-05 18:26:27 +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
b290f16a15
Give DamageLibrary an implementation for its destructor.
continuous-integration/drone/push Build is failing
Details
2019-11-05 17:27:54 +01:00
Deukhoofd
efa994c88d
Fixes dependency issue, lack of virtual destructor for DamageLibrary
continuous-integration/drone/push Build is failing
Details
2019-11-05 16:20:47 +01:00
Deukhoofd
549ba4c1c2
Fixed memory leak when deleting library.
continuous-integration/drone/push Build is failing
Details
2019-11-05 14:32:30 +01:00
Deukhoofd
1848d7b617
Implementation of damage calculation.
continuous-integration/drone/push Build was killed
Details
2019-11-05 14:31:54 +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
b4e08049ce
Handle executing moves.
continuous-integration/drone/push Build is passing
Details
2019-11-03 13:47:50 +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
163752a8ea
Fix memory leak in attack library
2019-10-31 13:30:22 +01:00
Deukhoofd
65f814b006
Implemented better exceptions
continuous-integration/drone/push Build is failing
Details
2019-10-31 13:26:56 +01:00
Deukhoofd
ffba5fb24c
Basic layout for turn execution
2019-10-31 13:13:36 +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
af611070c5
Fixed syntax error
continuous-integration/drone/push Build is passing
Details
2019-10-29 11:30:52 +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
3938500595
Pass settings by reference instead of value.
continuous-integration/drone/push Build is passing
Details
2019-10-25 20:14:24 +02:00
Deukhoofd
7d6de3557c
Support learning moves with CreateCreature class
continuous-integration/drone/push Build is passing
Details
2019-10-25 20:08:25 +02: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
cfb7663d78
Fix build by adding get functions for otherwise inaccessible fields.
continuous-integration/drone/push Build is passing
Details
2019-10-23 19:21:21 +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
1e4f422117
Add changing level API to BattleCreature
2019-10-23 18:51:36 +02:00
Deukhoofd
cd21e6c685
Implement stat boosting
2019-10-23 18:41:45 +02:00
Deukhoofd
3e9d030dc4
Automatically recalculate boosted stat after recalculating flat stat
2019-10-23 18:28:58 +02:00
Deukhoofd
65cf190367
Split off battle creature stats into boosted and non-boosted
2019-10-23 18:27:31 +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
aaa4209cfc
Fixed trailing backslash-newline in generic templates
continuous-integration/drone/push Build is failing
Details
2019-10-06 14:21:34 +02:00
Deukhoofd
2966ba268f
Fix creature memory leaks
continuous-integration/drone/push Build is failing
Details
2019-10-06 14:06:17 +02:00
Deukhoofd
265923231f
Initial commit
2019-10-06 13:50:52 +02:00