Commit Graph
100 Commits
Author SHA1 Message Date
Deukhoofd 5a05a2f4d3 Add ConstString to several other places where context isn't changed much during runtime.
continuous-integration/drone/push Build is passing
2020-02-28 19:23:24 +01:00
Deukhoofd 469fcfe280 Make item name ConstString.
continuous-integration/drone/push Build is passing
2020-02-27 18:30:30 +01:00
Deukhoofd 412e0a4d63 Implements ConstString in several core places in the library, improving performance.
continuous-integration/drone/push Build is passing
2020-02-27 18:23:23 +01:00
Deukhoofd 1d3a8da99e Change Conan url.
continuous-integration/drone/push Build is passing
2020-02-27 12:55:32 +01:00
Deukhoofd 6efb7c55e8 Dont include everything statically for Windows build.
continuous-integration/drone/push Build is failing
2020-02-27 11:44:43 +01:00
Deukhoofd 04009bbb34 Fixes for Windows build.
continuous-integration/drone/push Build is failing
2020-02-27 11:21:23 +01:00
Deukhoofd 894a644f50 Fixes for .drone file.
continuous-integration/drone/push Build is failing
2020-02-26 14:10:02 +01:00
Deukhoofd 8b0486e353 Add conan remote for each build.
continuous-integration/drone/push Build is failing
2020-02-26 13:56:56 +01:00
Deukhoofd 5e6572aca5 Move several classes from Core to Arbutils.
continuous-integration/drone/push Build is failing
2020-02-26 13:51:16 +01:00
Deukhoofd 428b318baf Mark ScriptSet.Has as const.
continuous-integration/drone/push Build is failing
2020-02-23 16:20:11 +01:00
Deukhoofd 3802587313 Added HasVolatileScript function to Creature and Battle.
continuous-integration/drone/push Build is failing
2020-02-23 16:17:57 +01:00
Deukhoofd 4728be18b2 Fixed conan alias.
continuous-integration/drone/push Build is passing
2020-02-23 13:48:14 +01:00
Deukhoofd cf7c6291df Rename conan package.
continuous-integration/drone/push Build is passing
2020-02-23 13:39:35 +01:00
Deukhoofd 56f5bbf174 Rename conan package.
continuous-integration/drone/push Build is passing
2020-02-23 13:30:30 +01:00
Deukhoofd d5eae8580f Add latest alias to conan package.
continuous-integration/drone/push Build is passing
2020-02-23 13:08:50 +01:00
Deukhoofd a606fbbc7b Make basic Script class abstract, require implementation of GetName function.
continuous-integration/drone/push Build is passing
2020-02-23 12:58:13 +01:00
Deukhoofd 5f891cd4ed Added Remove Volatile functions for battle and creatures.
continuous-integration/drone/push Build is passing
2020-02-23 11:11:47 +01:00
Deukhoofd 645ba95bbc Performance improvements for battle and creature AddVolatileScript methods when passing a string as parameter.
continuous-integration/drone/push Build is passing
Instead of loading a script, then passing it to the ScriptSet class and checking if it already exists before invoking stack, we now check whether the ScriptSet has that script. If one already exists we just invoke stack on it, if not we continue to the process of creating a new script instance.
2020-02-22 16:01:01 +01:00
Deukhoofd 142889ad8a Add functions to add volatile scripts to Creature.cpp.
continuous-integration/drone/push Build is passing
2020-02-22 15:53:51 +01:00
Deukhoofd 32584ac406 Fixed Windows build.
continuous-integration/drone/push Build is passing
2020-02-22 15:11:18 +01:00
Deukhoofd be6b2778a5 Make CreatureException inherit from runtime_error.
continuous-integration/drone/push Build is failing
2020-02-22 15:07:16 +01:00
Deukhoofd 442d6cd5b1 Added Helper function to ChoiceQueue to move a specific creature's choice up next. 2020-02-22 14:16:38 +01:00
Deukhoofd d4fd7282f5 Move ScriptCategory enum outside of class scope of ScriptResolver.
continuous-integration/drone/push Build is passing
2020-02-20 13:05:15 +01:00
Deukhoofd f22c23d593 Make ScriptMacro a header instead of source file.
continuous-integration/drone/push Build is passing
2020-02-19 15:32:43 +01:00
Deukhoofd b886f0aebf Add Damage library script hooks.
continuous-integration/drone/push Build is passing
2020-02-19 10:12:36 +01:00
Deukhoofd 5e29f50ea1 Mark SetHeldItem with item object as const ptr.
continuous-integration/drone/push Build is passing
2020-02-17 17:24:55 +01:00
Deukhoofd ce31309b2a Functions to set Creature Held Item, and helper function to check whether Creature is holding a specific held item.
continuous-integration/drone/push Build is passing
2020-02-17 17:16:28 +01:00
Deukhoofd 75bce0e329 Add virtual destructor to CreatureParty.
continuous-integration/drone/push Build is passing
2020-02-17 15:52:59 +01:00
Deukhoofd 445f7eb3d5 Add virtual destructor to Battle. 2020-02-17 15:52:02 +01:00
Deukhoofd da90c3d59e Reset active scripts on Creature when battle is set.
continuous-integration/drone/push Build is passing
2020-02-17 10:05:32 +01:00
Deukhoofd 17552c33ca Only get active scripts from side if side exists.
continuous-integration/drone/push Build is passing
2020-02-17 09:57:15 +01:00
Deukhoofd 65f054bfab Added functions for battle to manipulate volatile scripts.
continuous-integration/drone/push Build is passing
2020-02-16 17:44:41 +01:00
Deukhoofd 428483e73d Make GetRandom in Battle class a pointer.
continuous-integration/drone/push Build is passing
2020-02-16 17:24:33 +01:00
Deukhoofd f3b5f9e8f9 Move reference to cpp file outside of header.
continuous-integration/drone/push Build is passing
2020-02-16 16:31:06 +01:00
Deukhoofd 54e366fc1b Implements BattleRandom class with support for Effect Chance, and script hooks to modify this.
continuous-integration/drone/push Build is passing
2020-02-16 15:08:22 +01:00
Deukhoofd 579ee82f02 Pass ExecutingAttack for target as pointer instead of reference.
continuous-integration/drone/push Build is passing
2020-02-16 12:02:17 +01:00
Deukhoofd 252be18630 Make growth rate library case insensitive, add exception if not found.
continuous-integration/drone/push Build is passing
2020-02-16 10:07:01 +01:00
Deukhoofd f37e27378e Add methods for getting all talents and hidden talents from a species variant.
continuous-integration/drone/push Build is passing
2020-02-16 09:17:09 +01:00
Deukhoofd d609d5ca53 Mark CreatureSpecies GetVariantIterator as const.
continuous-integration/drone/push Build is passing
2020-02-15 19:35:56 +01:00
Deukhoofd 629567a2a5 Fix BaseLibrary GetCount, add functions that use std string.
continuous-integration/drone/push Build is passing
2020-02-15 19:14:10 +01:00
Deukhoofd d6ea16b467 Implement basic library class that other libraries inherit from for performance.
continuous-integration/drone/push Build is passing
2020-02-15 18:51:21 +01:00
Deukhoofd a47f60cdf7 Implements iterator functions for libraries.
continuous-integration/drone/push Build is passing
2020-02-15 18:15:31 +01:00
Deukhoofd 0b50d2bf43 Force newest build in drone to be Conan version
continuous-integration/drone/push Build is passing
2020-02-15 17:34:48 +01:00
Deukhoofd a6f91faba4 Fix variants lowercasing causing stack smashing error.
continuous-integration/drone/push Build is passing
2020-02-13 18:45:41 +01:00
Deukhoofd 667821df28 Mark TryGetVariant as const.
continuous-integration/drone/push Build is passing
2020-02-13 17:37:37 +01:00
Deukhoofd 2ea5f9f9bd Make variant keys case insensitive, added helper functions for variants.
continuous-integration/drone/push Build is passing
2020-02-13 17:16:07 +01:00
Deukhoofd 611198009b Make Attack, Item and Species libraries be case insensitive.
continuous-integration/drone/push Build is passing
2020-02-13 16:05:27 +01:00
Deukhoofd 8d4860f553 Support for Heal function for Creatures.
continuous-integration/drone/push Build is passing
2020-02-13 14:48:09 +01:00
Deukhoofd 2dcb197191 Fix issue in tests where we compared with equality operator instead of strcmp.
continuous-integration/drone/push Build is passing
2020-02-13 13:33:07 +01:00
Deukhoofd 02aa6f252e Make Enum Helper parse functions constexpr, added Enum Helper Try Parse functions.
continuous-integration/drone/push Build is failing
2020-02-13 13:19:59 +01:00
Deukhoofd 0ef909cf55 Use ENUM macro for ScriptCategory enum. 2020-02-13 12:53:48 +01:00
Deukhoofd 42050de18a Use ENUM macro for Item Category enums.
continuous-integration/drone/push Build is passing
2020-02-13 10:49:45 +01:00
Deukhoofd 1969f59a9c Add vector dependency to Enum macro
continuous-integration/drone/push Build is passing
2020-02-12 20:12:17 +01:00
Deukhoofd f4449cc101 Tell Drone to use CLang.
continuous-integration/drone/push Build is failing
2020-02-12 19:57:15 +01:00
Deukhoofd 2dea2e6cd0 Add newlines after MacroUtils to hopefully keep the build happy.
continuous-integration/drone/push Build is failing
2020-02-12 19:53:42 +01:00
Deukhoofd 2732a904c4 Add easy to use macro to generate enum helper functions for parsing, stringifying and iteration.
continuous-integration/drone/push Build is failing
2020-02-12 19:48:56 +01:00
Deukhoofd a8944e2026 Fix AttackData constructor to use signed byte for priority instead of unsigned. 2020-02-12 10:11:25 +01:00
Deukhoofd 80708040a4 When setting variant of species with the same name of already existing variant, delete previous variant.
continuous-integration/drone/push Build is passing
2020-02-09 12:04:59 +01:00
Deukhoofd 3f57051219 Made CreatureSpecies destructor virtual.
continuous-integration/drone/push Build is passing
2020-02-09 10:47:18 +01:00
Deukhoofd f973259bef Force insertion when setting species variant, as to prevent memory leaks.
continuous-integration/drone/push Build is passing
2020-02-08 20:16:47 +01:00
Deukhoofd 3303dfd82d Move header files to CreatureLib subdirectory.
continuous-integration/drone/push Build is passing
2020-02-08 19:04:04 +01:00
Deukhoofd 52d24922ff Make type library work case insensitive.
continuous-integration/drone/push Build is passing
2020-02-08 17:50:27 +01:00
Deukhoofd 925763752f Add function to set variants for a species, and a function to get the count of species in a species library.
continuous-integration/drone/push Build is failing
2020-02-08 14:52:45 +01:00
Deukhoofd e45a36d78e Move Script ownership to script holder, added OnRemove script hook.
continuous-integration/drone/push Build is passing
2020-02-05 14:52:50 +01:00
Deukhoofd cd7ddcf78e Actually implement handling of StopBeforeAttack script hook
continuous-integration/drone/push Build is passing
2020-02-03 19:11:44 +01:00
Deukhoofd c6620021a7 Fix issues.
continuous-integration/drone/push Build is passing
2020-02-03 18:32:03 +01:00
Deukhoofd 59f7d3aa4f Make Script functions pass out parameters by pointer instead of reference.
continuous-integration/drone/push Build is failing
2020-02-03 18:27:39 +01:00
Deukhoofd c4d0a73df6 Remove display script hook functions, replace them with easy to use interface on Creature class.
continuous-integration/drone/push Build is passing
2020-02-03 16:49:28 +01:00
Deukhoofd 07700008f7 Slight tweaks for CreatureException, add tests to see if what() works. 2020-02-03 13:05:46 +01:00
Deukhoofd c3b573c7da Initialize Battle pointers with nullptr in Create class.
continuous-integration/drone/push Build is passing
2020-02-02 14:39:57 +01:00
Deukhoofd fc5826edb1 Check whether a battle has been set when calling Damage function.
continuous-integration/drone/push Build is passing
2020-02-02 12:34:02 +01:00
Deukhoofd bb9b9609a6 Implements TryGet functions on several libraries.
continuous-integration/drone/push Build is passing
2020-02-01 15:33:44 +01:00
Deukhoofd dba271681d Change LibrarySettings to be a pointer instead of value, to allow for overriding in implementations.
continuous-integration/drone/push Build is passing
2020-02-01 13:30:51 +01:00
Deukhoofd 7e0a1ec033 Make SpeciesVariant virtual
continuous-integration/drone/push Build is passing
2020-01-26 13:11:50 +01:00
Deukhoofd 23c4e89c2d Removed unused function from ExecutingAttack 2020-01-26 13:10:45 +01:00
Deukhoofd faaafb5e1d Make AttackData polymorphic
continuous-integration/drone/push Build is passing
2020-01-25 13:09:09 +01:00
Deukhoofd 1256d7d2e3 Add virtual modifiers to LearnedAttack.hpp
continuous-integration/drone/push Build is passing
2020-01-25 12:37:05 +01:00
Deukhoofd 15523a18a5 Return item name by reference instead of value.
continuous-integration/drone/push Build is passing
2020-01-19 13:00:08 +01:00
Deukhoofd cc46cd46a7 Commit TurnHandler from earlier revert.
continuous-integration/drone/push Build is passing
2020-01-18 13:44:02 +01:00
Deukhoofd d66bcee979 Change AttackData type to byte instead of string.
continuous-integration/drone/push Build is failing
2020-01-18 13:41:01 +01:00
Deukhoofd e3bbc369fc Revert "Make Script functions use pointers for out variables, instead of references."
This reverts commit c3877e01
2020-01-18 13:38:47 +01:00
Deukhoofd b02577554f Remove GetProperty macro, as it wasn't that intuitive, and caused issues later.
continuous-integration/drone/push Build is passing
2020-01-12 17:04:42 +01:00
Deukhoofd 779f0b08cf Fixed CreatureException not saving error string.
continuous-integration/drone/push Build is passing
2020-01-11 19:25:16 +01:00
Deukhoofd c3877e0151 Make Script functions use pointers for out variables, instead of references.
continuous-integration/drone/push Build is passing
2020-01-11 16:05:39 +01:00
Deukhoofd 836a201b2d Add initialize function to script resolver, where it can access the battle library.
continuous-integration/drone/push Build is passing
2020-01-11 11:35:59 +01:00
Deukhoofd 144d17d859 Fixed changing stat boost by negative actually increasing it.
continuous-integration/drone/push Build is passing
2020-01-05 14:57:17 +01:00
Deukhoofd fbfcc53a02 Furter fixes for changing stats.
continuous-integration/drone/push Build is passing
2020-01-05 14:39:10 +01:00
Deukhoofd f9494d4c38 Fix changing stat falling through enum and throwing exception.
continuous-integration/drone/push Build is failing
2020-01-05 14:25:48 +01:00
Deukhoofd 568232c7a5 Split off initialization of Creature into new function that's not called in the constructor.
continuous-integration/drone/push Build is passing
This has to do with specific implementations of stat calculator requiring an inherited type of the Creature class, and by calling it in the constructor casting to this inherited type will fail.
2020-01-05 13:43:47 +01:00
Deukhoofd dd8d4d738d Allow getting Static Library from BattleLibrary.
continuous-integration/drone/push Build is passing
2020-01-02 19:33:10 +01:00
Deukhoofd 18236981ed Fixed syntax error.
continuous-integration/drone/push Build is passing
2020-01-02 18:43:16 +01:00
Deukhoofd 1a246f57e8 Make Creature class variables mostly protected instead of private.
continuous-integration/drone/push Build is failing
2020-01-02 18:38:56 +01:00
Deukhoofd b98b470f0d Mark destructors of several libraries as virtual.
continuous-integration/drone/push Build is passing
2020-01-02 17:48:14 +01:00
Deukhoofd f0c3f84a29 Remove use of unused field
continuous-integration/drone/push Build is passing
2020-01-02 16:19:32 +01:00
Deukhoofd b3d07f5a0e Removed unused field from CreateCreature.hpp
continuous-integration/drone/push Build is failing
2020-01-02 16:18:46 +01:00
Deukhoofd 00582174fb Don't actually build in Conan step, just re-use the build-release step.
continuous-integration/drone/push Build is passing
2020-01-01 20:38:29 +01:00
Deukhoofd ef372df117 Actually tell Conan to build.
continuous-integration/drone/push Build is failing
2020-01-01 20:26:01 +01:00
Deukhoofd 6e498429f9 Don't keep path for Conan libraries, as we're now removing old folders in CI.
continuous-integration/drone/push Build is passing
2020-01-01 15:53:27 +01:00
Deukhoofd 79d2f543fb Further tweaks for Conan
continuous-integration/drone/push Build is passing
2020-01-01 15:36:55 +01:00
Deukhoofd 5f336a7211 More changes and fixes for Conan.
continuous-integration/drone/push Build is passing
2020-01-01 15:22:51 +01:00