Commit Graph

486 Commits

Author SHA1 Message Date
Deukhoofd bfe83ef271
When adding volatile script, return the script object.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 16:36:20 +01:00
Deukhoofd d6858c2d44
Adds choice pointer to flee prevention script.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 15:10:56 +01:00
Deukhoofd 4dd3700352
Adds script hooks for preventing runaway.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 14:49:17 +01:00
Deukhoofd 46307fe71f
Initial work on attack fail handling.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 12:30:12 +01:00
Deukhoofd 9b7c271a20
Support for swapping two creatures on a side.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-26 12:01:18 +01:00
Deukhoofd cd3d665687
Adds OnInitialize function on Item Use Script.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 19:49:06 +01:00
Deukhoofd 14ebf20f23
Adds getter for pointer to script resolver on battle library.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 19:04:15 +01:00
Deukhoofd 715da74320
Make Effect field in Item OptionalUniquePtr.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 12:39:15 +01:00
Deukhoofd 26c36f8ece
Adds effect field to Items.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 11:56:07 +01:00
Deukhoofd 3a4171f565
Use Item pointer for Script resolving for item use script.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 11:24:45 +01:00
Deukhoofd d908efff9d
Adds support for scripts for item use handling.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 10:54:42 +01:00
Deukhoofd 5178d5dcc0
Renamed Script --> BattleScript, some cleanup on it.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 10:26:41 +01:00
Deukhoofd d70c6a224a
Fixes for growth rates, forces shared library to be dll on Windows.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 09:43:52 +01:00
Deukhoofd 7aa31a838d
Several fixes for attack effects not triggering.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-01-22 13:38:05 +01:00
Deukhoofd abccc23851
Trigger event when stat boost changes.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-01-16 21:16:47 +01:00
Deukhoofd 987f60ee85
Clear scripts from creature when a battle is cleared from it.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-01-15 16:31:47 +01:00
Deukhoofd 66b95a6e4d
Reset seen opponents on ClearBattle.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-01-15 15:46:48 +01:00
Deukhoofd 3742e07b03
Rework clearing battle from creatures.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-28 15:10:49 +01:00
Deukhoofd a284641b5a
Fixes invalid pointers to a battle dangling when a battle is removed.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-28 13:40:39 +01:00
Deukhoofd 69476b6f9d
Adds setter for nickname.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-22 16:11:23 +01:00
Deukhoofd 87bbae678a
Style Fixes
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-13 12:26:54 +01:00
Deukhoofd e642f374b9
Update to latest Arbutils.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-13 12:15:40 +01:00
Deukhoofd 2055837980
Make learned attacks on Creature be optional.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 15:10:18 +01:00
Deukhoofd 29d6632472
Makes TryGetVariant use an std::optional
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 14:12:50 +01:00
Deukhoofd 4367d1f5cf
Make HeldItem OptionalBorrowedPtr.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 13:40:30 +01:00
Deukhoofd a01e22ad89
Fixes BaseLibrary function calling itself.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 13:20:21 +01:00
Deukhoofd 3bd39cc035
Update to latest Arbutils.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 12:59:56 +01:00
Deukhoofd 185ec40ba5
Use std::optional for BaseLibrary TryGet.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 12:42:28 +01:00
Deukhoofd 5c39694f19
Overhaul memory model to new Arbutils memory.
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 12:22:48 +01:00
Deukhoofd 1dc3aafd33
Use vector instead of set for types.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-10-23 16:51:15 +02:00
Deukhoofd de8b5de7b4
Mark several classes as final for devirtualization performance benefits.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-10-15 18:21:50 +02:00
Deukhoofd b006344d83
Make Item follow PIMPL idiom.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-30 20:32:41 +02:00
Deukhoofd 926a3c5dd8
Document StatisticSet, add constraint that its generic type must be an integer type.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-30 18:53:18 +02:00
Deukhoofd 539a278114
Make LibrarySettings follow PIMPL, adds documentation.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-30 18:49:39 +02:00
Deukhoofd dd8847a441
Re-add different level sizes in Defines.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-27 11:25:32 +02:00
Deukhoofd 4f972bcb28
Include precompiled header in conan.
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-27 11:19:10 +02:00
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