Commit Graph
100 Commits
Author SHA1 Message Date
Deukhoofd c6974b6b5b Adds getter for Script for ExecutingAttack. Mostly useful for unit tests etc.
continuous-integration/drone/push Build is passing
2020-07-04 18:13:36 +02:00
Deukhoofd 47515399fe Supports iterating over BaseLibrary.
continuous-integration/drone/push Build is passing
2020-07-04 17:18:24 +02:00
Deukhoofd 61bf868583 Update to newer Arbutils.
continuous-integration/drone/push Build is passing
2020-07-04 15:12:12 +02:00
Deukhoofd 772619db0f Changed LoadScript to StringView.
continuous-integration/drone/push Build is failing
2020-06-26 18:23:40 +02:00
Deukhoofd 48639eeee5 Update to new Arbutils
continuous-integration/drone/push Build is passing
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
2020-06-20 19:51:34 +02:00
Deukhoofd b3366f7b58 Script hook for changing priority.
continuous-integration/drone/push Build is passing
2020-06-20 19:44:41 +02:00
Deukhoofd f55ae5a809 Syntax fixes.
continuous-integration/drone/push Build is passing
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
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
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
2020-06-12 16:25:21 +02:00
Deukhoofd 32bb641f75 Fixed issue with underflow in ScriptAggregator.
continuous-integration/drone/push Build is passing
2020-06-12 15:49:37 +02:00
Deukhoofd 3358bf7378 Fixed comparing int32_t with uint32_t.
continuous-integration/drone/push Build is passing
2020-06-10 14:46:45 +02:00
Deukhoofd c8314d6018 Support for changing variants.
continuous-integration/drone/push Build is failing
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
2020-06-10 12:29:38 +02:00
Deukhoofd fccf339e76 Implements genderless mons.
continuous-integration/drone/push Build is passing
2020-06-10 12:16:09 +02:00
Deukhoofd fc74a7d4bd Fixed broken test.
continuous-integration/drone/push Build is passing
2020-06-05 18:10:58 +02:00
Deukhoofd fddf2cabab Rework ScriptIterator to jump to first value on reset.
continuous-integration/drone/push Build is failing
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
2020-06-05 16:38:27 +02:00
Deukhoofd 3c5b3d5c03 Fixed potential reaching end of function.
continuous-integration/drone/push Build is passing
2020-06-05 15:42:28 +02:00
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