100 Commits
Author SHA1 Message Date
Deukhoofd 23efc9b6ed Fixes bug in scriptset where lookup would no longer point to valid script after removing one preceding it.
continuous-integration/drone/push Build is passing
2022-06-05 12:39:29 +02:00
Deukhoofd b0e2e9935a Adds more templated functions for getting stats
continuous-integration/drone/push Build is passing
2022-05-28 12:31:29 +02:00
Deukhoofd df1fd007f1 Adds templated functions for getting stats
continuous-integration/drone/push Build is passing
2022-05-28 12:09:11 +02:00
Deukhoofd 24871b6b65 Make Creature::GetAttacks const
continuous-integration/drone/push Build is passing
2022-05-28 11:59:18 +02:00
Deukhoofd 5c005f31fe Fixes build
continuous-integration/drone/push Build is passing
2022-05-28 11:29:33 +02:00
Deukhoofd 6f0e664e74 Adds support for removing volatile script by its hash, checking if Creature has attack by hash.
continuous-integration/drone/push Build is failing
2022-05-28 11:24:16 +02:00
Deukhoofd c208394d18 Revert "Adds support for changing talent by its hash, adds support for loading scripts by their name hash."
continuous-integration/drone/push Build is passing
This reverts commit e3c997af31.
2022-05-28 11:07:19 +02:00
Deukhoofd e3c997af31 Adds support for changing talent by its hash, adds support for loading scripts by their name hash.
continuous-integration/drone/push Build is passing
2022-05-28 11:00:31 +02:00
Deukhoofd 782e9b90a8 Change types on Creature to List instead of vector
continuous-integration/drone/push Build is passing
2022-05-26 12:49:47 +02:00
Deukhoofd e1c5460db4 Fix missing header after stdlib update
continuous-integration/drone/push Build is passing
2022-05-26 10:07:18 +02:00
Deukhoofd c559e60104 Adds lto as link flag to mold
continuous-integration/drone/push Build is passing
2022-05-18 18:18:55 +02:00
Deukhoofd e355b45fa5 Sign build
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is failing
2022-05-18 17:41:33 +02:00
Deukhoofd 129a448267 Use mold as linker for clang, if available
continuous-integration/drone/push Build is passing
2022-05-18 17:22:57 +02:00
Deukhoofd efb3bf19ec Removes Valgrind step for now, as it does not support clang 14
continuous-integration/drone/push Build is passing
2022-05-16 19:10:04 +02:00
Deukhoofd e6f38cfb26 Rework several libraries to use new StringViewDictionary
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is failing
2022-05-16 17:21:39 +02:00
Deukhoofd dcf6b20e65 Check if the user is usable when we set the choice
continuous-integration/drone/push Build is passing
2022-05-15 11:24:21 +02:00
Deukhoofd f13b78e297 LoadItemScript should return a borrowed ptr
continuous-integration/drone/push Build is passing
2022-05-15 10:00:25 +02:00
Deukhoofd 727aab37d7 Fixes several potential leaks
continuous-integration/drone/push Build is passing
2022-05-14 17:36:38 +02:00
Deukhoofd a4471ec5b1 Fixes for Arbutils changes
continuous-integration/drone/push Build is passing
2022-05-14 16:26:30 +02:00
Deukhoofd de6d39376f Rework script handling to use smart pointers properly
continuous-integration/drone/push Build is failing
2022-05-14 16:07:32 +02:00
Deukhoofd 0117cb9d64 Use smart ArbUt pointers for returning scripts.
continuous-integration/drone/push Build is passing
2022-05-14 15:09:58 +02:00
Deukhoofd cd50b2c2e8 Fixed nullptr dereference in ItemUse 2022-05-14 14:56:00 +02:00
Deukhoofd a8c80a3c66 Adds C Interface for Item choice
continuous-integration/drone/push Build is passing
2022-04-23 18:26:46 +02:00
Deukhoofd 0e7b9ae1fd Set up parallelism for drone build
continuous-integration/drone/push Build is passing
2022-04-10 13:02:15 +02:00
Deukhoofd 88dd285642 Fixes pedantic problem
continuous-integration/drone/push Build is passing
2022-04-02 13:04:08 +02:00
Deukhoofd 842d708996 Enable pedantic errors
continuous-integration/drone/push Build is failing
2022-04-02 12:33:26 +02:00
Deukhoofd 4bb353e75b Make ClearBattleData virtual
continuous-integration/drone/push Build is passing
2022-03-26 12:12:10 +01:00
Deukhoofd 24f18c775d Rework for BattleSide to use std::vector<bool> to deal with some edge cases
continuous-integration/drone/push Build is passing
2022-03-26 11:44:40 +01:00
Deukhoofd acf6612eba Being a bit too careless today, fixes dumb oversight
continuous-integration/drone/push Build is failing
2022-03-26 11:38:40 +01:00
Deukhoofd aa48557416 Fixes syntax error
continuous-integration/drone/push Build is failing
2022-03-26 11:37:39 +01:00
Deukhoofd 5dff6d735f Adds BattleRandom methods for unsigned 32 bit numbers
continuous-integration/drone/push Build is failing
2022-03-26 11:36:13 +01:00
Deukhoofd 4f77d30a7d Adds getter for checking if a slot is unfillable
continuous-integration/drone/push Build is failing
2022-03-26 11:32:55 +01:00
Deukhoofd bc1f78c8bd More sanitizer fixes
continuous-integration/drone/push Build is passing
2022-03-25 19:21:02 +01:00
Deukhoofd 38a26888be Fixes declaration of Battle::GetHistory
continuous-integration/drone/push Build is passing
2022-03-23 18:48:39 +01:00
Deukhoofd de818c9fd6 Improve readability of BattleScript.hpp
continuous-integration/drone/push Build is passing
2022-03-23 18:38:43 +01:00
Deukhoofd eccf2c9121 Add nullability to large parts of the codebase
continuous-integration/drone/push Build is passing
2022-03-23 18:30:35 +01:00
Deukhoofd beb2e44a0b Further work on replacing integer definitions, make missing sanitizer only a warning instead of an error
continuous-integration/drone/push Build is passing
2022-03-23 14:19:07 +01:00
Deukhoofd 46bf10c719 Remove debug thing to deprecate old integer format, it was just there for rewriting purposes
continuous-integration/drone/push Build is failing
2022-03-23 13:59:29 +01:00
Deukhoofd 3cc19de61f Update to latest Arbutils, use new integer defines 2022-03-23 13:56:45 +01:00
Deukhoofd 52127f6555 Further fixes for CI
continuous-integration/drone/push Build is passing
2022-03-22 18:23:12 +01:00
Deukhoofd ffda0d0abe Fixes CI
continuous-integration/drone/push Build is failing
2022-03-22 18:16:42 +01:00
Deukhoofd 0acc1a2c8e Add option for address sanitizer in tests, fixes valgrind in drone
continuous-integration/drone/push Build encountered an error
2022-03-22 18:16:00 +01:00
Deukhoofd 47cc77f0e5 Add support for AddressSanitizer to unit tests
continuous-integration/drone/push Build is failing
2022-03-22 12:30:10 +01:00
Deukhoofd 6e9844b343 Allow changing creature types
continuous-integration/drone/push Build is passing
2022-03-12 12:37:26 +01:00
Deukhoofd a015a3fc62 Adds parameter to change stat boost to determine whether its selfinflicted
continuous-integration/drone/push Build is passing
2022-03-12 11:34:00 +01:00
Deukhoofd a99e3e2d6c Fixes GCC build
continuous-integration/drone/push Build is passing
2022-03-12 10:33:16 +01:00
Deukhoofd d9dda8433e Update doctest
continuous-integration/drone/push Build is failing
2022-03-11 11:07:25 +01:00
Deukhoofd 8f45ea905a Fixes memory leak
continuous-integration/drone/push Build is failing
2022-02-26 17:33:53 +01:00
Deukhoofd b003e13f2c Fixes talent exception when changing to a variant with fewer talents
continuous-integration/drone/push Build is failing
2022-02-26 16:59:04 +01:00
Deukhoofd 851cb11f11 Usde libdw instead of bfd
continuous-integration/drone/push Build is failing
2022-02-26 15:22:11 +01:00
Deukhoofd 5fce541ffb Adds script hook to change choice speed when determining turn order
continuous-integration/drone/push Build is passing
2022-02-19 16:11:25 +01:00
Deukhoofd c078d91b0d Adds functionality for held items
continuous-integration/drone/push Build is passing
2022-02-19 12:19:03 +01:00
Deukhoofd c40f063683 Initial work on item use handling
continuous-integration/drone/push Build is passing
2022-02-13 13:40:33 +01:00
Deukhoofd 173c6c9926 Adds pointer to battle library in on initialize function
continuous-integration/drone/push Build is passing
2022-02-12 17:19:07 +01:00
Deukhoofd 179b94a677 Adds hook to completely prevent stat boost change
continuous-integration/drone/push Build is passing
2022-02-12 15:43:15 +01:00
Deukhoofd 34f1e43269 Adds Script Hook to change stat boost changes
continuous-integration/drone/push Build is passing
2022-02-12 15:05:42 +01:00
Deukhoofd 6da591dd92 linker fixes
continuous-integration/drone/push Build is passing
2022-02-12 14:00:50 +01:00
Deukhoofd 2a8126e151 Change cmake option TESTS --> CREATURELIB_TESTS
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2022-02-05 15:52:03 +01:00
Deukhoofd 712be48e06 Always create include link for Arbutils
continuous-integration/drone/push Build is passing
2022-02-05 14:45:10 +01:00
Deukhoofd 48b11f8179 Handle dependencies through CPM
continuous-integration/drone/push Build is passing
2022-02-05 13:59:15 +01:00
Deukhoofd 1c51edb2b9 Adds C Interface for Talent + TalentLibrary
continuous-integration/drone/push Build is passing
2021-11-27 10:37:12 +01:00
Deukhoofd 9cb2a27007 Adds parameters to OnDamage to show the health change.
continuous-integration/drone/push Build is passing
2021-11-21 14:13:31 +01:00
Deukhoofd 0912483ba8 Adds OnDamage script hook.
continuous-integration/drone/push Build is passing
2021-11-21 14:02:00 +01:00
Deukhoofd 40d6e8a389 Adds support for changing variant by variant name.
continuous-integration/drone/push Build is passing
2021-11-21 13:44:48 +01:00
Deukhoofd 9270dcca8c Adds OnFaintingOpponent script hook.
continuous-integration/drone/push Build is passing
2021-11-21 13:29:41 +01:00
Deukhoofd 70ac3813cf Cleanup of script hooks to reduce clang warnings. 2021-11-21 13:29:29 +01:00
Deukhoofd f1d706b356 Update to new THROW macro.
continuous-integration/drone/push Build is passing
2021-11-21 12:39:07 +01:00
Deukhoofd 54eddba913 Changed my mind about some parameter naming to be clearer.
continuous-integration/drone/push Build is passing
2021-11-21 10:47:16 +01:00
Deukhoofd 44dbb5601f Adds hook to prevent critical hits.
continuous-integration/drone/push Build is passing
2021-11-21 10:46:02 +01:00
Deukhoofd f811fc0654 Adds OnIncomingHit script hook.
continuous-integration/drone/push Build is passing
2021-11-19 18:01:58 +01:00
Deukhoofd aaadbfb4f2 Adds OnSwitchIn hook.
continuous-integration/drone/push Build is passing
2021-11-19 15:36:48 +01:00
Deukhoofd a78b2e54a4 Fixes potential overflow in script suppression.
continuous-integration/drone/push Build is passing
2021-11-19 14:09:16 +01:00
Deukhoofd 9ede453587 Support for suppressing a script, so that it temporarily does not function.
continuous-integration/drone/push Build is passing
2021-11-19 14:07:27 +01:00
Deukhoofd 53c27d35b6 Trigger OnRemove on Creature when it faints. 2021-11-19 13:52:18 +01:00
Deukhoofd 364bac7de7 Trigger OnRemove on a Creatures scripts when it gets switched out. 2021-11-19 13:49:19 +01:00
Deukhoofd a570e90f67 Adds GetLastUsedAttackOnTarget helper to BattleHistory
continuous-integration/drone/push Build is passing
2021-11-19 13:08:34 +01:00
Deukhoofd a89d79f8bc Adds DamageSource::Misc.
continuous-integration/drone/push Build is passing
2021-11-19 12:51:51 +01:00
Deukhoofd c27b87b01a Fixes build.
continuous-integration/drone/push Build is passing
2021-11-19 12:21:46 +01:00
Deukhoofd c6d814e886 Adds DamageSource to OnFaint script hook.
continuous-integration/drone/push Build is failing
2021-11-19 12:15:38 +01:00
Deukhoofd 2ea928e67b Adds OnFaint script hook.
continuous-integration/drone/push Build is passing
2021-11-19 12:12:46 +01:00
Deukhoofd 59313e6da8 Breaking change: rework of talents.
continuous-integration/drone/push Build is passing
2021-11-15 12:04:58 +01:00
Deukhoofd 33d384c464 Support for failing an AttackTurnChoice.
continuous-integration/drone/push Build is passing
This is handled before the actual ExecutingAttack is created, so allows for failing a move a lot earlier than before.
2021-11-12 12:54:34 +01:00
Deukhoofd 1a3b7fe50a Fixes build.
continuous-integration/drone/push Build is passing
2021-10-30 17:54:37 +02:00
Deukhoofd 2bd73bd4ef Reset weight/height when variant changes, when a creature is moved out of the battle.
continuous-integration/drone/push Build is failing
2021-10-30 17:50:26 +02:00
Deukhoofd a12972472b Adds Creature specific weight and height, which can be modified dynamically during battles.
continuous-integration/drone/push Build is passing
2021-10-30 17:07:13 +02:00
Deukhoofd 2e2abfe122 Reference Arbutils/Enum in ScriptCategory.hpp
continuous-integration/drone/push Build is passing
2021-10-30 14:31:43 +02:00
Deukhoofd e1d8348b2f Fixes project being completely dirty every build requiring constant full rebuilds and slowing down tooling.
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-30 14:24:38 +02:00
Deukhoofd d55b40f3d0 Adds newline for GCC.
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-29 23:55:41 +02:00
Deukhoofd cb6725ab5e Adds support for script owner to clone command.
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-29 21:55:49 +02:00
Deukhoofd be7a5fe6bd More work on setting owner of a script.
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-29 21:40:10 +02:00
Deukhoofd 949fc67831 Add support for saving and getting the owner of a script in script.
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-29 21:31:01 +02:00
Deukhoofd 5fd8abb3a8 Reworks ScriptSources so we can get individual scripts on a source. Fixed OnEndTurn making no sense.
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-29 19:31:08 +02:00
Deukhoofd 316ac12a01 Adds script hook for overriding incoming damage.
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-29 18:24:46 +02:00
Deukhoofd 0b9028ea97 Fixes BattleSide AddVolatile using the wrong script category.
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-29 18:12:35 +02:00
Deukhoofd b4ef1ea98e Adds getter for Battle on BattleSide.
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-28 15:01:31 +02:00
Deukhoofd 19375c2f87 Adds functions to add, remove, and get volatile scripts from a BattleSide.
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-28 14:49:24 +02:00
Deukhoofd 47c3429295 Adds optional optimization to history helper functions to limit the max amount of turns searched through.
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-24 11:10:30 +02:00
Deukhoofd 7354c835e6 Fixes memory leak.
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-23 18:38:12 +02:00
Deukhoofd 51897e42da Make HistoryHolder a pointer instead of value.
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-23 17:17:34 +02:00
Deukhoofd ff67ab9e00 Adds helper function to get last damage event on a creature.
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-23 17:08:54 +02:00