Commit Graph
100 Commits
Author SHA1 Message Date
Deukhoofd 66379bfa65 Initial support for handling multi target attacks.
continuous-integration/drone/push Build is failing
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
2020-06-05 14:35:23 +02:00
Deukhoofd 44de4a0799 Use std::algorithm for Battle::CreatureInField
continuous-integration/drone/push Build is passing
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
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
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
2020-06-02 16:20:47 +02:00
Deukhoofd 1ef50fd3a6 Use unique pointers in scriptset.
continuous-integration/drone/push Build is passing
2020-06-02 15:03:31 +02:00
Deukhoofd 23e2bc73bc Style fixes.
continuous-integration/drone/push Build is passing
2020-06-02 14:14:24 +02:00
Deukhoofd e8650e2a03 Fixed build error.
continuous-integration/drone/push Build is passing
2020-06-02 14:02:32 +02:00
Deukhoofd e4b9550efa Make all individual scripts smart pointers.
continuous-integration/drone/push Build is failing
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
2020-06-02 13:21:23 +02:00
Deukhoofd f898698f49 Use smart pointers for BattleSide.
continuous-integration/drone/push Build is failing
2020-06-02 13:06:24 +02:00
Deukhoofd 49e8ff055d Use smart pointer for BattleParty.
continuous-integration/drone/push Build is failing
2020-06-02 12:16:26 +02:00
Deukhoofd 18203138d1 Use algorithm for IsResponsibleForIndex check.
continuous-integration/drone/push Build is failing
2020-06-02 12:14:49 +02:00
Deukhoofd 69f6a89c0d Make CreatureParty use smart pointers.
continuous-integration/drone/push Build is passing
2020-05-31 19:04:40 +02:00
Deukhoofd 01f6e59cb6 Make battle class fields all smart pointers.
continuous-integration/drone/push Build is passing
2020-05-31 19:01:45 +02:00
Deukhoofd 29cb4eac37 Make ChoiceQueue use smart pointers.
continuous-integration/drone/push Build is passing
2020-05-31 18:00:39 +02:00
Deukhoofd ff181204ae Make LearnedAttack of Creature a smart pointer.
continuous-integration/drone/push Build is passing
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
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
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
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
2020-05-29 18:49:48 +02:00
Deukhoofd a9740cb1eb Fixed memory leak in ExecutingAttack.
continuous-integration/drone/push Build is passing
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
2020-05-27 18:26:09 +02:00
Deukhoofd 90e7a699bc Remove const qualification of ScriptResolver.
continuous-integration/drone/push Build is passing
2020-05-26 20:53:06 +02:00
Deukhoofd 25f65eb47b Update to newer Arbutils version.
continuous-integration/drone/push Build is passing
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
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
2020-05-26 15:11:04 +02:00
Deukhoofd e46117ea06 Fixes DataLibrary not having correct const definitions.
continuous-integration/drone/push Build is passing
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
2020-05-26 14:41:43 +02:00
Deukhoofd 8418c814b4 Make SpeciesVariants smart pointers.
continuous-integration/drone/push Build was killed
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
2020-05-26 14:13:30 +02:00
Deukhoofd d82792e27a Make BaseLibraries use shared_ptr.
continuous-integration/drone/push Build is passing
2020-05-24 20:57:22 +02:00
Deukhoofd b17c0648ff Make DataLibrary use unique_ptr.
continuous-integration/drone/push Build is passing
2020-05-24 19:01:47 +02:00
Deukhoofd c056ddc6b3 Adds getter for parties to battle.
continuous-integration/drone/push Build is passing
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
2020-05-20 15:18:27 +02:00
Deukhoofd 6c40f4291d Fixed C Interface for DamageLibrary returning floats instead of expected bytes.
continuous-integration/drone/push Build is passing
2020-05-20 15:02:53 +02:00
Deukhoofd 0c55208209 Revert wineconsole changes.
continuous-integration/drone/push Build is passing
2020-05-06 20:29:03 +02:00
Deukhoofd 12dda40966 Removed explicit wineconsole backend
continuous-integration/drone/push Build is failing
2020-05-06 20:20:45 +02:00
Deukhoofd ab89797dac Run wineconsole instead of wine for Windows tests.
continuous-integration/drone/push Build is failing
2020-05-06 20:13:07 +02:00
Deukhoofd 748f68b6d8 Fixes for earlier commit to fix GetEffectiveness in type library.
continuous-integration/drone/push Build is passing
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
2020-05-06 13:27:50 +02:00
Deukhoofd 5cd5059e42 Adds C Interface for destructor of different growthrates.
continuous-integration/drone/push Build is passing
2020-05-06 11:36:56 +02:00
Deukhoofd 3a9e55aae5 C interface to add species variant.
continuous-integration/drone/push Build is passing
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
2020-05-03 21:08:27 +02:00
Deukhoofd f65b2f74bd Better handling of static c handling.
continuous-integration/drone/push Build is passing
2020-05-03 12:45:12 +02:00
Deukhoofd 293386ac0d Implements EffectParameter C Interface
continuous-integration/drone/push Build is passing
2020-05-02 21:46:16 +02:00
Deukhoofd 40e80d8100 Fixes GetTalent C Interface for SpeciesVariant being broken 2020-05-02 21:46:06 +02:00
Deukhoofd 91ba93462b Fixed issues with C Interface
continuous-integration/drone/push Build is passing
2020-05-02 20:03:18 +02:00
Deukhoofd 2821eec263 Fixed SpeciesVariant C Interface requiring byte for base speed instead of short.
continuous-integration/drone/push Build is passing
2020-05-02 17:16:16 +02:00
Deukhoofd 4e79571e49 Fixed StaticC flag not statically linking to the correct libraries.
continuous-integration/drone/push Build is passing
2020-05-02 16:11:41 +02:00
Deukhoofd 8e5dd2fca5 Rework of cmake file.
continuous-integration/drone/push Build is failing
2020-05-02 15:55:31 +02:00
Deukhoofd 27fb623a43 Try linking everything statically in Windows build
continuous-integration/drone/push Build is failing
2020-05-02 14:29:49 +02:00
Deukhoofd 8b30078411 Remove explicit option of shared or static in Windows build.
continuous-integration/drone/push Build is failing
2020-05-02 14:24:39 +02:00
Deukhoofd 0eaf8852a1 Attempt to use static Arbutils for Windows build.
continuous-integration/drone/push Build is failing
2020-05-02 14:20:20 +02:00
Deukhoofd 09ec643cf9 Fixes for Creature C Interface construct method having C++ classes.
continuous-integration/drone/push Build is failing
2020-05-02 14:14:29 +02:00
Deukhoofd ed0171c911 Style fixes
continuous-integration/drone/push Build is passing
2020-04-28 16:36:03 +02:00
Deukhoofd afe8472065 Add style check build step.
continuous-integration/drone/push Build is passing
2020-04-28 16:29:57 +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
2020-04-25 20:20:30 +02:00
Deukhoofd f602ea9358 Fixed Windows build issue.
continuous-integration/drone/push Build is passing
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
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
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
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
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
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
2020-04-25 11:08:04 +02:00
Deukhoofd 1eb751538d Updated to latest Arbutils.
continuous-integration/drone/push Build is passing
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
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
2020-04-24 18:24:51 +02:00
Deukhoofd dd668f2b1c Cleanup of ScriptAggregator class.
continuous-integration/drone/push Build is passing
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
2020-04-23 19:57:45 +02:00
Deukhoofd 742d0c772c Handling for tie breaking
continuous-integration/drone/push Build is passing
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
2020-04-22 23:03:16 +02:00
Deukhoofd 97fa37ea7d Implements clamped statistics for stat boost.
continuous-integration/drone/push Build is passing
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
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
2020-04-22 12:54:11 +02:00
Deukhoofd 331767789c Tweaks and fixes for AttackData name.
continuous-integration/drone/push Build is passing
2020-04-21 15:48:21 +02:00
Deukhoofd 83f427368e Pass LearnedAttack list to creature by reference.
continuous-integration/drone/push Build is passing
2020-04-21 14:44:57 +02:00
Deukhoofd bf6f77d904 Pass Random of GetRandomAttack by reference.
continuous-integration/drone/push Build is passing
2020-04-21 12:43:08 +02:00
Deukhoofd eff755a901 Rework of GetRandomAttack
continuous-integration/drone/push Build is passing
2020-04-21 12:41:26 +02:00
Deukhoofd a54459cc57 Fixes for effect. 2020-04-21 12:31:53 +02:00
Deukhoofd 0260f3688e Revert "Don't link C libraries statically by default for Windows, as this isn't needed if another library has their own C libraries already has them statically linked."
continuous-integration/drone/push Build is passing
This reverts commit e35f860b
2020-04-21 10:22:17 +02:00
Deukhoofd 78a42deb90 Use nullptr as non existing effect.
continuous-integration/drone/push Build is failing
2020-04-19 19:49:04 +02:00
Deukhoofd 5146a70d8b Fixed naming error.
continuous-integration/drone/push Build is passing
2020-04-19 19:15:50 +02:00
Deukhoofd a580649224 Ensure AddLevelAttack adds to distinctMoves
continuous-integration/drone/push Build is failing
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
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
2020-04-19 18:22:27 +02:00
Deukhoofd aeac49d892 Made GetRandomAttack const.
continuous-integration/drone/push Build is passing
2020-04-19 17:51:36 +02:00
Deukhoofd ad9cbf0670 Implements GetRandomAttack method on LearnableAttacks.
continuous-integration/drone/push Build is passing
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
2020-04-19 17:01:33 +02:00
Deukhoofd 3dcefebee7 Add ChangeEffectiveness script hook.
continuous-integration/drone/push Build is passing
2020-04-19 13:07:28 +02:00
Deukhoofd 88d55998d0 Change DamageSource enum to Arbutils Enum.
continuous-integration/drone/push Build is passing
2020-04-19 12:59:25 +02:00
Deukhoofd a200c7cde8 Make Battle fields protected instead of private.
continuous-integration/drone/push Build is passing
2020-04-18 15:22:38 +02:00
Deukhoofd 88a8a28cc6 Pass item constructor flags by reference.
continuous-integration/drone/push Build is passing
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
2020-04-15 19:05:24 +02:00