Deukhoofd
57e8595bdf
Make ExecutingAttack creature list a raw C array, as this is a hot spot and could use some optimization.
continuous-integration/drone/push Build is passing
Details
2020-06-04 21:58:28 +02:00
Deukhoofd
657d646fda
Make the last couple classes use smart pointers.
continuous-integration/drone/push Build is passing
Details
2020-06-02 18:30:37 +02:00
Deukhoofd
7262ae9e8b
Make ExecutingAttack use smart pointers.
2020-06-02 18:02:37 +02:00
Deukhoofd
a5a613ba5c
Make CreateCreature use smart pointers.
2020-06-02 17:19:23 +02:00
Deukhoofd
62583ecb17
Make Creature use smart pointers.
continuous-integration/drone/push Build is passing
Details
2020-06-02 16:20:47 +02:00
Deukhoofd
1ef50fd3a6
Use unique pointers in scriptset.
continuous-integration/drone/push Build is passing
Details
2020-06-02 15:03:31 +02:00
Deukhoofd
23e2bc73bc
Style fixes.
continuous-integration/drone/push Build is passing
Details
2020-06-02 14:14:24 +02:00
Deukhoofd
e8650e2a03
Fixed build error.
continuous-integration/drone/push Build is passing
Details
2020-06-02 14:02:32 +02:00
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
dba1275813
Move ScriptIterator reset to get call instead of inside Macro.
continuous-integration/drone/push Build is failing
Details
2020-06-02 13:21:23 +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
49e8ff055d
Use smart pointer for BattleParty.
continuous-integration/drone/push Build is failing
Details
2020-06-02 12:16:26 +02:00
Deukhoofd
18203138d1
Use algorithm for IsResponsibleForIndex check.
continuous-integration/drone/push Build is failing
Details
2020-06-02 12:14:49 +02:00
Deukhoofd
69f6a89c0d
Make CreatureParty use smart pointers.
continuous-integration/drone/push Build is passing
Details
2020-05-31 19:04:40 +02:00
Deukhoofd
01f6e59cb6
Make battle class fields all smart pointers.
continuous-integration/drone/push Build is passing
Details
2020-05-31 19:01:45 +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
ff181204ae
Make LearnedAttack of Creature a smart pointer.
continuous-integration/drone/push Build is passing
Details
2020-05-31 17:26:39 +02:00
Deukhoofd
a7069a5960
Ensure Attack script is deleted when not taken by ExecutingAttack.
continuous-integration/drone/push Build is passing
Details
2020-05-29 20:05:05 +02:00
Deukhoofd
20be2815ce
Revert "Clean up choices if they can't be used."
...
continuous-integration/drone/push Build is passing
Details
This reverts commit 04cef8b6
2020-05-29 19:29:25 +02:00
Deukhoofd
04cef8b6e2
Clean up choices if they can't be used.
continuous-integration/drone/push Build is failing
Details
2020-05-29 19:25:46 +02:00
Deukhoofd
d51919c74f
Make ExecutingAttack a local variable while being used, to ensure it's always cleaned up.
continuous-integration/drone/push Build is passing
Details
2020-05-29 18:49:48 +02:00
Deukhoofd
a9740cb1eb
Fixed memory leak in ExecutingAttack.
continuous-integration/drone/push Build is passing
Details
2020-05-27 18:29:52 +02:00
Deukhoofd
fcc6f2214e
Make ExecutingAttack have raw pointer array HitData, instead of a List. This is a very hot segment of code, and removing surrounding abstractions can give us a decent amount of performance.
continuous-integration/drone/push Build is failing
Details
2020-05-27 18:26:09 +02:00
Deukhoofd
90e7a699bc
Remove const qualification of ScriptResolver.
continuous-integration/drone/push Build is passing
Details
2020-05-26 20:53:06 +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
d746b3ecce
Make staticlib in battle library an unique ptr.
continuous-integration/drone/push Build is passing
Details
2020-05-26 16:38:55 +02:00
Deukhoofd
0125215007
Style fixes
2020-05-26 16:35:01 +02:00
Deukhoofd
16b67b0d54
Make most of the battle library use unique_ptr.
continuous-integration/drone/push Build is passing
Details
2020-05-26 15:11:04 +02:00
Deukhoofd
e46117ea06
Fixes DataLibrary not having correct const definitions.
continuous-integration/drone/push Build is passing
Details
2020-05-26 15:02:41 +02:00
Deukhoofd
ecf1c47a53
Make Growth Rate library use unique_ptr
2020-05-26 14:58:16 +02:00
Deukhoofd
aba56d2fdd
Make Attack secondary effect a unique_ptr.
continuous-integration/drone/push Build is passing
Details
2020-05-26 14:41:43 +02:00
Deukhoofd
8418c814b4
Make SpeciesVariants smart pointers.
continuous-integration/drone/push Build was killed
Details
2020-05-26 14:35:18 +02:00
Deukhoofd
36208da2fb
Remove shared_ptr, instead use borrowed_ptr to more accurately depict ownership of the objects in the BaseLibraries.
continuous-integration/drone/push Build is passing
Details
2020-05-26 14:13:30 +02:00
Deukhoofd
d82792e27a
Make BaseLibraries use shared_ptr.
continuous-integration/drone/push Build is passing
Details
2020-05-24 20:57:22 +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
c056ddc6b3
Adds getter for parties to battle.
continuous-integration/drone/push Build is passing
Details
2020-05-24 12:57:12 +02:00
Deukhoofd
2e860192c7
Support for blocking a creature from gaining experience, don't give experience when a creature is fainted.
continuous-integration/drone/push Build is passing
Details
2020-05-20 15:18:27 +02:00
Deukhoofd
748f68b6d8
Fixes for earlier commit to fix GetEffectiveness in type library.
continuous-integration/drone/push Build is passing
Details
2020-05-06 13:32:11 +02:00
Deukhoofd
51415895a4
Fixes GetEffectiveness in type library using integer instead of float.
continuous-integration/drone/push Build is failing
Details
2020-05-06 13:27:50 +02:00
Deukhoofd
3a9e55aae5
C interface to add species variant.
continuous-integration/drone/push Build is passing
Details
2020-05-04 20:40:45 +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
91ba93462b
Fixed issues with C Interface
continuous-integration/drone/push Build is passing
Details
2020-05-02 20:03:18 +02:00
Deukhoofd
94d9d4f3d2
Performance improvement for running turns by reducing the number of lookups for the hitdata.
continuous-integration/drone/push Build is passing
Details
2020-04-25 20:20:30 +02:00
Deukhoofd
f602ea9358
Fixed Windows build issue.
continuous-integration/drone/push Build is passing
Details
2020-04-25 20:13:46 +02:00
Deukhoofd
7fd3687564
Cleanup of ExecutingAttack, removing TargetData, and reducing the number of allocations needed.
continuous-integration/drone/push Build is failing
Details
2020-04-25 20:09:20 +02:00
Deukhoofd
8eb22ad68d
Pass HitData as reference to damage calculation library, to prevent multiple lookup.
continuous-integration/drone/push Build is passing
Details
2020-04-25 16:51:10 +02:00
Deukhoofd
864a9d933d
Inlined get stats from Creature. These are frequently called one line methods.
continuous-integration/drone/push Build is passing
Details
2020-04-25 16:15:27 +02:00
Deukhoofd
0e874346bb
Pass ExecutingAttack values by reference instead of pointer.
continuous-integration/drone/push Build is passing
Details
2020-04-25 16:04:17 +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
3b1c0e84e1
Fixed random value getter from BaseLibrary being broken.
continuous-integration/drone/push Build is passing
Details
2020-04-25 11:08:04 +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
df37558ec0
Fix for random value from library not working.
continuous-integration/drone/push Build is failing
Details
2020-04-24 18:43:18 +02:00
Deukhoofd
3ad21fecc2
Performance improvements for getting random value from libraries.
continuous-integration/drone/push Build is passing
Details
2020-04-24 18:24:51 +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
3a11bba913
Rework ScriptAggregator so it only needs to be created once, and can then be reset.
continuous-integration/drone/push Build is passing
Details
2020-04-23 19:57:45 +02:00
Deukhoofd
742d0c772c
Handling for tie breaking
continuous-integration/drone/push Build is passing
Details
2020-04-22 23:09:54 +02:00
Deukhoofd
1709617e10
Remove tie breaking by randomness. This caused issues with sorting.
continuous-integration/drone/push Build is passing
Details
2020-04-22 23:03:16 +02:00
Deukhoofd
97fa37ea7d
Implements clamped statistics for stat boost.
continuous-integration/drone/push Build is passing
Details
2020-04-22 21:48:00 +02:00
Deukhoofd
75baf19ebd
Cleanup
2020-04-22 21:20:07 +02:00
Deukhoofd
d2cf26e950
Fixed issue where attack with 1 use remaining couldn't be used.
continuous-integration/drone/push Build is passing
Details
2020-04-22 15:03:09 +02:00
Deukhoofd
ddbf4c23b8
Fix for compilation issue when using NO_ASSERT.
continuous-integration/drone/push Build is passing
Details
2020-04-22 12:54:11 +02:00
Deukhoofd
331767789c
Tweaks and fixes for AttackData name.
continuous-integration/drone/push Build is passing
Details
2020-04-21 15:48:21 +02:00
Deukhoofd
83f427368e
Pass LearnedAttack list to creature by reference.
continuous-integration/drone/push Build is passing
Details
2020-04-21 14:44:57 +02:00
Deukhoofd
bf6f77d904
Pass Random of GetRandomAttack by reference.
continuous-integration/drone/push Build is passing
Details
2020-04-21 12:43:08 +02:00
Deukhoofd
eff755a901
Rework of GetRandomAttack
continuous-integration/drone/push Build is passing
Details
2020-04-21 12:41:26 +02:00
Deukhoofd
a54459cc57
Fixes for effect.
2020-04-21 12:31:53 +02:00
Deukhoofd
78a42deb90
Use nullptr as non existing effect.
continuous-integration/drone/push Build is failing
Details
2020-04-19 19:49:04 +02:00
Deukhoofd
a580649224
Ensure AddLevelAttack adds to distinctMoves
continuous-integration/drone/push Build is failing
Details
2020-04-19 19:11:48 +02:00
Deukhoofd
680f949df8
Return nullptr from LearnableAttacks when trying to retrieve from empty.
continuous-integration/drone/push Build is passing
Details
2020-04-19 18:50:32 +02:00
Deukhoofd
b286d1726d
Fix get random value from baselibrary returning key instead of value.
continuous-integration/drone/push Build is passing
Details
2020-04-19 18:22:27 +02:00
Deukhoofd
aeac49d892
Made GetRandomAttack const.
continuous-integration/drone/push Build is passing
Details
2020-04-19 17:51:36 +02:00
Deukhoofd
ad9cbf0670
Implements GetRandomAttack method on LearnableAttacks.
continuous-integration/drone/push Build is passing
Details
2020-04-19 17:42:32 +02:00
Deukhoofd
c6ce5fe8a7
Add function to BaseLibrary class to retrieve random value.
continuous-integration/drone/push Build is passing
Details
2020-04-19 17:01:33 +02:00
Deukhoofd
3dcefebee7
Add ChangeEffectiveness script hook.
continuous-integration/drone/push Build is passing
Details
2020-04-19 13:07:28 +02:00
Deukhoofd
88d55998d0
Change DamageSource enum to Arbutils Enum.
continuous-integration/drone/push Build is passing
Details
2020-04-19 12:59:25 +02:00
Deukhoofd
a200c7cde8
Make Battle fields protected instead of private.
continuous-integration/drone/push Build is passing
Details
2020-04-18 15:22:38 +02:00
Deukhoofd
88a8a28cc6
Pass item constructor flags by reference.
continuous-integration/drone/push Build is passing
Details
2020-04-17 20:53:33 +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
2e5d463e45
Throw clean exception when no volatile script is found when adding one.
continuous-integration/drone/push Build is passing
Details
2020-04-11 00:22:08 +02:00
Deukhoofd
04bf061115
Removed OnStatusMove hook, now just uses OnSecondaryEffect hook.
continuous-integration/drone/push Build is passing
Details
2020-04-10 23:06:19 +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
a6ab69e043
Fixed EffectParameter memory leak.
continuous-integration/drone/push Build is passing
Details
2020-04-10 20:15:05 +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
e934e13950
Replace void* for script parameter with EffectParameter class.
continuous-integration/drone/push Build is passing
Details
2020-04-10 17:54:45 +02:00
Deukhoofd
1537a5f316
Initialize script with move effect parameters.
continuous-integration/drone/push Build is passing
Details
2020-04-10 17:18:19 +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
e89d2a9e0c
Adds secondary effect parameter system.
continuous-integration/drone/push Build is failing
Details
2020-04-10 16:35:24 +02:00
Deukhoofd
7194d3f4f8
Remove issue for Windows build.
continuous-integration/drone/push Build is passing
Details
2020-04-09 18:38:00 +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
70fc8d2d5f
Add C interface for ExecutingAttack.
continuous-integration/drone/push Build is passing
Details
2020-04-06 17:05:32 +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
e2675d06fb
C interface for Battle Random.
continuous-integration/drone/push Build is passing
Details
2020-04-04 18:24:59 +02:00
Deukhoofd
3dd5aeffd8
C interface for Battle Side.
continuous-integration/drone/push Build is passing
Details
2020-04-04 17:03:06 +02:00
Deukhoofd
3429f1647c
Made C Interface for BattleLibrary constructor try.
continuous-integration/drone/push Build is passing
Details
2020-04-04 13:42:06 +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
91bea44113
Added LearnedAttack C Interface.
continuous-integration/drone/push Build is passing
Details
2020-04-04 13:36:13 +02:00
Deukhoofd
aee5bcb088
Mark LearnableAttacks on SpeciesVariant as unique.
continuous-integration/drone/push Build is passing
Details
2020-03-27 20:46:44 +01: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
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
6bffea953d
Implements extern growthrate that uses function pointers.
2020-03-04 15:00:57 +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
33de8424be
Tweaks and fixes for Item, added C interface.
continuous-integration/drone/push Build is passing
Details
2020-03-03 19:37:21 +01:00
Deukhoofd
461da76f59
Tweaks and fixes for AttackData, added C interface.
continuous-integration/drone/push Build is passing
Details
2020-03-02 15:38:18 +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
3bca3c0673
Reworked LearnedAttacks class, added C interface.
continuous-integration/drone/push Build is passing
Details
2020-03-02 15:23:08 +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
5f341ffbb7
Use hash as key for Species variants, added C interface for Species.
continuous-integration/drone/push Build is passing
Details
2020-02-29 17:00:29 +01:00
Deukhoofd
70ad3eb838
Tweaks and fixes for TypeLibrary
2020-02-29 16:06:36 +01:00
Deukhoofd
671077259e
Make typelibrary be based around the hash value instead of conststring value.
2020-02-29 15:54:02 +01:00
Deukhoofd
4341efb54c
Support ConstString in TypeLibrary.
2020-02-29 15:42:44 +01:00
Deukhoofd
4866edebab
Make GrowthRate library be key based on uint32, instead of on the ConstString, to save memory.
continuous-integration/drone/push Build is passing
Details
2020-02-29 15:07:05 +01:00
Deukhoofd
b7b54c04e8
Add the baselibrary classes to the C Interface.
continuous-integration/drone/push Build is passing
Details
2020-02-29 14:52:15 +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
469fcfe280
Make item name ConstString.
continuous-integration/drone/push Build is passing
Details
2020-02-27 18:30:30 +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
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
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
252be18630
Make growth rate library case insensitive, add exception if not found.
continuous-integration/drone/push Build is passing
Details
2020-02-16 10:07:01 +01:00
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