Deukhoofd
7ce3e6940d
Rework for C Interfaces to handle exceptions a bit better.
continuous-integration/drone/push Build is passing
Details
2020-03-25 19:09:17 +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
f190121e74
More Assertions to validate state correctness.
continuous-integration/drone/push Build is passing
Details
2020-03-22 15:35:58 +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
970ca8ddd5
Fixed replacementattack not being complete.
continuous-integration/drone/push Build is passing
Details
2020-03-22 10:30:45 +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
5672f2d2a7
Support for attack when other attacks can't be used in MiscLibrary.
continuous-integration/drone/push Build is failing
Details
2020-03-12 11:15:00 +01:00
Deukhoofd
7435a2a678
Turnchoices C Interface.
continuous-integration/drone/push Build is passing
Details
2020-03-11 12:22:13 +01:00
Deukhoofd
5a976e4031
Added display text event hook.
2020-03-09 17:43:36 +01:00
Deukhoofd
06336c64cd
Added canRevive parameter to Heal function, added Faint event.
2020-03-09 16:29:41 +01:00
Deukhoofd
3efd7a6974
Added C interface for EventData.
continuous-integration/drone/push Build is passing
Details
2020-03-09 11:12:24 +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
1afb13cfd1
Added C Interface for BattleParty.
continuous-integration/drone/push Build is passing
Details
2020-03-08 15:19:19 +01:00
Deukhoofd
bbe99da0f0
Fixes and tweaks for CreatureParty, added C Interface.
continuous-integration/drone/push Build is passing
Details
2020-03-08 13:53:58 +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
e990c13109
Added Creature C Interface, misc fixes and changes for Creature.
continuous-integration/drone/push Build is passing
Details
2020-03-05 11:25:41 +01:00
Deukhoofd
e7d3c6afd4
Changed DamageLibrary to use appropriate integer types, instead of 'int'.
continuous-integration/drone/push Build is passing
Details
2020-03-04 18:28:14 +01:00
Deukhoofd
ea8afcd0b3
C interface for BattleLibrary.
continuous-integration/drone/push Build is passing
Details
2020-03-04 17:04:44 +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
0c1580ade6
Reworked retrieving talent, new method is cleaner and harder to misunderstand.
continuous-integration/drone/push Build was killed
Details
2020-03-02 13:59:49 +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
428b318baf
Mark ScriptSet.Has as const.
continuous-integration/drone/push Build is failing
Details
2020-02-23 16:20:11 +01:00
Deukhoofd
3802587313
Added HasVolatileScript function to Creature and Battle.
continuous-integration/drone/push Build is failing
Details
2020-02-23 16:17:57 +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
5f891cd4ed
Added Remove Volatile functions for battle and creatures.
continuous-integration/drone/push Build is passing
Details
2020-02-23 11:11:47 +01:00
Deukhoofd
645ba95bbc
Performance improvements for battle and creature AddVolatileScript methods when passing a string as parameter.
...
continuous-integration/drone/push Build is passing
Details
Instead of loading a script, then passing it to the ScriptSet class and checking if it already exists before invoking stack, we now check whether the ScriptSet has that script. If one already exists we just invoke stack on it, if not we continue to the process of creating a new script instance.
2020-02-22 16:01:01 +01:00
Deukhoofd
142889ad8a
Add functions to add volatile scripts to Creature.cpp.
continuous-integration/drone/push Build is passing
Details
2020-02-22 15:53:51 +01:00
Deukhoofd
32584ac406
Fixed Windows build.
continuous-integration/drone/push Build is passing
Details
2020-02-22 15:11:18 +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
d4fd7282f5
Move ScriptCategory enum outside of class scope of ScriptResolver.
continuous-integration/drone/push Build is passing
Details
2020-02-20 13:05:15 +01:00
Deukhoofd
f22c23d593
Make ScriptMacro a header instead of source file.
continuous-integration/drone/push Build is passing
Details
2020-02-19 15:32:43 +01:00
Deukhoofd
b886f0aebf
Add Damage library script hooks.
continuous-integration/drone/push Build is passing
Details
2020-02-19 10:12:36 +01:00
Deukhoofd
5e29f50ea1
Mark SetHeldItem with item object as const ptr.
continuous-integration/drone/push Build is passing
Details
2020-02-17 17:24:55 +01:00
Deukhoofd
ce31309b2a
Functions to set Creature Held Item, and helper function to check whether Creature is holding a specific held item.
continuous-integration/drone/push Build is passing
Details
2020-02-17 17:16:28 +01:00
Deukhoofd
75bce0e329
Add virtual destructor to CreatureParty.
continuous-integration/drone/push Build is passing
Details
2020-02-17 15:52:59 +01:00
Deukhoofd
445f7eb3d5
Add virtual destructor to Battle.
2020-02-17 15:52:02 +01:00
Deukhoofd
da90c3d59e
Reset active scripts on Creature when battle is set.
continuous-integration/drone/push Build is passing
Details
2020-02-17 10:05:32 +01:00
Deukhoofd
17552c33ca
Only get active scripts from side if side exists.
continuous-integration/drone/push Build is passing
Details
2020-02-17 09:57:15 +01:00
Deukhoofd
65f054bfab
Added functions for battle to manipulate volatile scripts.
continuous-integration/drone/push Build is passing
Details
2020-02-16 17:44:41 +01:00
Deukhoofd
428483e73d
Make GetRandom in Battle class a pointer.
continuous-integration/drone/push Build is passing
Details
2020-02-16 17:24:33 +01:00
Deukhoofd
f3b5f9e8f9
Move reference to cpp file outside of header.
continuous-integration/drone/push Build is passing
Details
2020-02-16 16:31:06 +01:00
Deukhoofd
54e366fc1b
Implements BattleRandom class with support for Effect Chance, and script hooks to modify this.
continuous-integration/drone/push Build is passing
Details
2020-02-16 15:08:22 +01:00
Deukhoofd
579ee82f02
Pass ExecutingAttack for target as pointer instead of reference.
continuous-integration/drone/push Build is passing
Details
2020-02-16 12:02:17 +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
8d4860f553
Support for Heal function for Creatures.
continuous-integration/drone/push Build is passing
Details
2020-02-13 14:48:09 +01:00
Deukhoofd
0ef909cf55
Use ENUM macro for ScriptCategory enum.
2020-02-13 12:53:48 +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
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
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
23c4e89c2d
Removed unused function from ExecutingAttack
2020-01-26 13:10:45 +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
cc46cd46a7
Commit TurnHandler from earlier revert.
continuous-integration/drone/push Build is passing
Details
2020-01-18 13:44:02 +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
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
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
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
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
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
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
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
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