Commit Graph

550 Commits

Author SHA1 Message Date
Deukhoofd e14f747d48
Documents LearnableAttacks
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-27 11:17:13 +02:00
Deukhoofd 4006d63872
Make LearnableAttacks follow PIMPL idiom.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-27 10:49:26 +02:00
Deukhoofd 15deae1504
Adds some documentation, add .clang-tidy file.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-26 12:46:48 +02:00
Deukhoofd 94d1d68832
Fully document SpeciesVariant.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-25 19:27:27 +02:00
Deukhoofd fbdeaf9e9c
Made SpeciesVariant follow PIMPL idiom.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-25 19:11:56 +02:00
Deukhoofd 6189919496
Fully documents CreatureSpecies.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-25 18:52:47 +02:00
Deukhoofd 4bf591c649
Start working on documentation.
continuous-integration/drone/push Build encountered an error Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-25 18:24:28 +02:00
Deukhoofd d4505f4293
Make CreatureSpecies follow PIMPL idiom.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-25 13:33:57 +02:00
Deukhoofd 3a4eb9264e
Actually include the Precompiled header file.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-25 13:06:32 +02:00
Deukhoofd 53bfbd36c2
Use a precompiled header.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-25 13:05:15 +02:00
Deukhoofd 0cdb5604e5
Always use same level_int_t
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-18 20:13:35 +02:00
Deukhoofd def38e98c6
Support for getting a creatures actual talent.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-05 14:51:06 +02:00
Deukhoofd 3233daf9ab
More defensive programming.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-30 13:14:33 +02:00
Deukhoofd 32f75f4a47
Store time in turn execution on battle class.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-28 12:24:10 +02:00
Deukhoofd b096fb9533
Dont set nickname to species internal name.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-25 19:12:35 +02:00
Deukhoofd 86ed173d30
Defensive programming for Party
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-24 20:37:22 +02:00
Deukhoofd fcdc58176f
Support for getting Creature by ID.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-22 13:24:08 +02:00
Deukhoofd a5d5257420
Tweaks and fixes for Windows
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-20 15:12:19 +02:00
Deukhoofd 6d6e6ab026
Log warning and fall back to uint8_t if level size wasn't specified.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-20 13:48:00 +02:00
Deukhoofd 6ba0bb7298
Raise error if level size wasn't specified.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-20 13:45:27 +02:00
Deukhoofd 39e1295013
Compile time option to change bit size of level.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-19 20:11:00 +02:00
Deukhoofd 98dacbccde
Use Arbutils exception Macros, instead of own ones.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-17 12:18:01 +02:00
Deukhoofd 93a763ab78
Rework exceptions.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-15 16:34:52 +02:00
Deukhoofd c921d3127b
Update to latest Arbutils, include stacktrace.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-15 15:10:48 +02:00
Deukhoofd 46ab060b99
C Interface to get targets array from ExecutingAttack.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-14 17:59:56 +02:00
Deukhoofd 73f48eab7a
C Interface for History.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-14 17:24:12 +02:00
Deukhoofd cb4765e0cc
Adds support for History data, allowing us to store specific interesting occurrences in the data flow, and recall them later.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-14 15:18:00 +02:00
Deukhoofd 103c703208
Add cool new c++ 20 constraint to EventHook.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-14 14:10:13 +02:00
Deukhoofd 5536a6b83d
Implements Attack Use event.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-14 14:00:41 +02:00
Deukhoofd 64b08d4ff0
Cleaned up Events, added events on species and variant changes.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-14 13:52:22 +02:00
Deukhoofd c484c376c3
When changing species, account for gender changes.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-13 12:23:49 +02:00
Deukhoofd 50236f4ece
Adds Miss event.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-13 11:17:04 +02:00
Deukhoofd bb35248174
Support changing species for a creature.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-13 10:38:56 +02:00
Deukhoofd 51325943ab
Support swapping attacks.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-12 18:54:01 +02:00
Deukhoofd 9c6d149ad9
Support for adding and replacing attacks.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-12 17:51:06 +02:00
Deukhoofd e39b352934
Make BaseLibrary members protected instead of private.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-11 19:54:10 +02:00
Deukhoofd 2c4c0f2277
Rework LearnableAttacks to use ArbUt::BorrowedPtr
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-11 19:09:58 +02:00
Deukhoofd 7ac63839b8
Fixes and improvements for LearnableAttacks,
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-11 18:53:01 +02:00
Deukhoofd f3d22f7ba9
Support getting distinct level attacks from LearnableAttacks.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-11 17:25:04 +02:00
Deukhoofd 2ca4f53b0c
Support for adding flags to CreatureSpecies and CreatureVariant.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-10 17:46:09 +02:00
Deukhoofd 1807e720dd
Support for packing party.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-10 17:37:30 +02:00
Deukhoofd 3a75a40671
Support getting an item from BaseLibrary by index, for iterating purposes.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-10 17:01:21 +02:00
Deukhoofd 48660f3a4c
Adds getter for UniqueIdentifier
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-09 11:48:40 +02:00
Deukhoofd 15100f3cd5
Add functionality to retrieve a variants list.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-08 18:56:00 +02:00
Deukhoofd 4ffc8ba01f
Support for getting type names from TypeLibrary.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-08 12:54:28 +02:00
Deukhoofd 9cab330dbd
Update Arbutils.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-08 12:28:20 +02:00
Deukhoofd d6335359eb
Style fix.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-08 11:38:11 +02:00
Deukhoofd 4ef24dd122
Helper method to restore all attack uses on a Creature.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-08 11:32:25 +02:00
Deukhoofd 3d21b7c42d
Remove event hook threads, as it caused issues when being called from dotnet.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-07 20:11:03 +02:00
Deukhoofd 5b1c73a2af
Fixed valgrind issues.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-07 12:27:46 +02:00
Deukhoofd 208bb097dd
Make event listeners threaded.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-07 12:20:59 +02:00
Deukhoofd 5aa04a4b15 Add TurnStart, TurnEnd and ExperienceGain event triggers.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-07 11:02:37 +02:00
Deukhoofd 3a170d8924 Adds creature Switch event.
continuous-integration/drone/push Build is passing Details
2020-08-07 10:38:35 +02:00
Deukhoofd 9b9b644143
Tweak EventHook data allocation based on testing.
continuous-integration/drone/push Build is passing Details
2020-08-04 13:43:51 +02:00
Deukhoofd 5cd5a634e2
Further memory fixes for getting HitData in ExecutingAttack.
continuous-integration/drone/push Build is passing Details
2020-08-04 12:45:11 +02:00
Deukhoofd f38161f573
Fixed issue where hitdata read wrong memory.
continuous-integration/drone/push Build is passing Details
2020-08-04 12:22:05 +02:00
Deukhoofd 08ef84f6d6
Defensive programming.
continuous-integration/drone/push Build is passing Details
2020-08-03 17:44:29 +02:00
Deukhoofd 93b3847b31
Revert "Disable EventHook system for now for testing."
continuous-integration/drone/push Build is passing Details
This reverts commit 84e03021
2020-08-03 17:28:43 +02:00
Deukhoofd 84e030213d
Disable EventHook system for now for testing.
continuous-integration/drone/push Build is passing Details
2020-08-02 10:14:56 +02:00
Deukhoofd d55a9e8494
Add more assertions to prevent segfaults.
continuous-integration/drone/push Build is passing Details
2020-08-02 09:52:11 +02:00
Deukhoofd 1b9da9a721
Added more security to EventHook.
continuous-integration/drone/push Build is passing Details
2020-08-01 11:34:25 +02:00
Deukhoofd 301f9b9656
Removed StringView initialization, and use the default uninitialized pointer for it.
continuous-integration/drone/push Build is passing Details
2020-08-01 10:34:40 +02:00
Deukhoofd 670abd7229
Fixed Segfault when overriding talent.
continuous-integration/drone/push Build is passing Details
2020-08-01 10:27:46 +02:00
Deukhoofd fa5184ad77
Tweaks for EventHook.
continuous-integration/drone/push Build is passing Details
2020-07-31 19:52:12 +02:00
Deukhoofd c3de280ebb
Fixes for EventHook corruptions, unit tests for EventHooks.
continuous-integration/drone/push Build is passing Details
2020-07-31 18:39:47 +02:00
Deukhoofd 0eaae43444
Reworked event hook to a system with pre-allocated memory, owned by the battle. This deals with cleaning up event data memory.
continuous-integration/drone/push Build is passing Details
2020-07-31 16:19:39 +02:00
Deukhoofd 3e8f9340f3
Dont delete events after triggering the event listener. Once they're in the event listeners hands, it's their responsibility to properly clean up the memory. 2020-07-31 15:47:18 +02:00
Deukhoofd bd7ecb6b33
More work on exceptions.
continuous-integration/drone/push Build is passing Details
2020-07-31 14:17:38 +02:00
Deukhoofd 9c93ca6995
Fixed exception messages being wrong.
continuous-integration/drone/push Build is passing Details
2020-07-31 11:23:23 +02:00
Deukhoofd 5a41208fdb
Further clearer error handling.
continuous-integration/drone/push Build is passing Details
2020-07-31 10:45:20 +02:00
Deukhoofd b56226076e
Fixed issue where multiple targets would cause the same target to be hit over and over again.
continuous-integration/drone/push Build is passing Details
2020-07-30 20:15:58 +02:00
Deukhoofd b3b9698831
More clearer exception messages. 2020-07-30 20:15:27 +02:00
Deukhoofd 13c4609cdd
Tweaks for exception handling.
continuous-integration/drone/push Build is passing Details
2020-07-28 19:37:03 +02:00
Deukhoofd e2e706693b
Clearer errors for C Interface.
continuous-integration/drone/push Build is passing Details
2020-07-28 17:22:43 +02:00
Deukhoofd 1d03adf0d1
Implements replacement attack when an attack can't be used anymore, adds clearer exception handling.
continuous-integration/drone/push Build is passing Details
2020-07-26 18:00:58 +02:00
Deukhoofd 36f1e5beeb
Further work on better exceptions.
continuous-integration/drone/push Build is passing Details
2020-07-26 17:41:11 +02:00
Deukhoofd 29eb7c603a
More reworks of exceptions. 2020-07-26 17:29:06 +02:00
Deukhoofd a4bb8864a0
When creating a CreatureParty with a size, don't just reserve the space, but append nullptr as well.
continuous-integration/drone/push Build is passing Details
2020-07-26 16:08:41 +02:00
Deukhoofd 436e68293e
Support for passing a random seed.
continuous-integration/drone/push Build is passing Details
2020-07-26 10:16:25 +02:00
Deukhoofd e6f84f182a
Add Creature getter for the library.
continuous-integration/drone/push Build is passing Details
2020-07-25 15:02:11 +02:00
Deukhoofd 8f921ce89b
Add support for swapping in and out of a party.
continuous-integration/drone/push Build is passing Details
2020-07-25 14:35:13 +02:00
Deukhoofd be82abeece
Change nickname to string from string_view.
continuous-integration/drone/push Build is passing Details
2020-07-19 12:15:14 +02:00
Deukhoofd 367ed7fcbb
Cleanup CMake file. 2020-07-17 13:12:21 +02:00
Deukhoofd 5032377554
Remove Random passes by pointer.
continuous-integration/drone/push Build is passing Details
2020-07-12 15:26:00 +02:00
Deukhoofd c6974b6b5b
Adds getter for Script for ExecutingAttack. Mostly useful for unit tests etc.
continuous-integration/drone/push Build is passing Details
2020-07-04 18:13:36 +02:00
Deukhoofd 47515399fe
Supports iterating over BaseLibrary.
continuous-integration/drone/push Build is passing Details
2020-07-04 17:18:24 +02:00
Deukhoofd 772619db0f
Changed LoadScript to StringView.
continuous-integration/drone/push Build is failing Details
2020-06-26 18:23:40 +02:00
Deukhoofd 48639eeee5
Update to new Arbutils
continuous-integration/drone/push Build is passing Details
2020-06-26 17:08:23 +02:00
Deukhoofd f50f76e993
Move priority scripthook to more sensible place in turn flow.
continuous-integration/drone/push Build is passing Details
2020-06-20 19:51:34 +02:00
Deukhoofd b3366f7b58
Script hook for changing priority.
continuous-integration/drone/push Build is passing Details
2020-06-20 19:44:41 +02:00
Deukhoofd f55ae5a809
Syntax fixes.
continuous-integration/drone/push Build is passing Details
2020-06-20 18:53:10 +02:00
Deukhoofd 14458ec30c
Bring Library class in line with style lines.
continuous-integration/drone/push Build is failing Details
2020-06-20 18:50:55 +02:00
Deukhoofd add77325a4
Several additional checks to ensure battle does not finish turn when ended.
continuous-integration/drone/push Build is passing Details
2020-06-12 16:48:49 +02:00
Deukhoofd fd1c6e9a0a
If no side is still alive, mark battle as inconclusive ended.
continuous-integration/drone/push Build is passing Details
2020-06-12 16:25:21 +02:00
Deukhoofd 32bb641f75
Fixed issue with underflow in ScriptAggregator.
continuous-integration/drone/push Build is passing Details
2020-06-12 15:49:37 +02:00
Deukhoofd 3358bf7378
Fixed comparing int32_t with uint32_t.
continuous-integration/drone/push Build is passing Details
2020-06-10 14:46:45 +02:00
Deukhoofd c8314d6018
Support for changing variants.
continuous-integration/drone/push Build is failing Details
2020-06-10 14:39:20 +02:00
Deukhoofd 637649c993
Deal with talent indices that are out of bounds.
continuous-integration/drone/push Build is passing Details
2020-06-10 12:29:38 +02:00
Deukhoofd fccf339e76
Implements genderless mons.
continuous-integration/drone/push Build is passing Details
2020-06-10 12:16:09 +02:00
Deukhoofd fddf2cabab
Rework ScriptIterator to jump to first value on reset.
continuous-integration/drone/push Build is failing Details
2020-06-05 18:06:45 +02:00
Deukhoofd 9e7607338f
Moved Creature types to creature itself, instead of using the variant types.
continuous-integration/drone/push Build is passing Details
2020-06-05 16:38:27 +02:00
Deukhoofd 3c5b3d5c03
Fixed potential reaching end of function.
continuous-integration/drone/push Build is passing Details
2020-06-05 15:42:28 +02:00
Deukhoofd 66379bfa65
Initial support for handling multi target attacks.
continuous-integration/drone/push Build is failing Details
2020-06-05 15:32:05 +02:00
Deukhoofd f463ba8496
Simplify check whether mon is on battle field.
continuous-integration/drone/push Build is passing Details
2020-06-05 14:35:23 +02:00
Deukhoofd 44de4a0799
Use std::algorithm for Battle::CreatureInField
continuous-integration/drone/push Build is passing Details
2020-06-05 14:15:20 +02:00
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