Commit Graph

285 Commits

Author SHA1 Message Date
Deukhoofd ddbf4c23b8
Fix for compilation issue when using NO_ASSERT.
continuous-integration/drone/push Build is passing Details
2020-04-22 12:54:11 +02:00
Deukhoofd 331767789c
Tweaks and fixes for AttackData name.
continuous-integration/drone/push Build is passing Details
2020-04-21 15:48:21 +02:00
Deukhoofd 83f427368e
Pass LearnedAttack list to creature by reference.
continuous-integration/drone/push Build is passing Details
2020-04-21 14:44:57 +02:00
Deukhoofd bf6f77d904
Pass Random of GetRandomAttack by reference.
continuous-integration/drone/push Build is passing Details
2020-04-21 12:43:08 +02:00
Deukhoofd eff755a901
Rework of GetRandomAttack
continuous-integration/drone/push Build is passing Details
2020-04-21 12:41:26 +02:00
Deukhoofd a54459cc57
Fixes for effect. 2020-04-21 12:31:53 +02:00
Deukhoofd 78a42deb90
Use nullptr as non existing effect.
continuous-integration/drone/push Build is failing Details
2020-04-19 19:49:04 +02:00
Deukhoofd a580649224
Ensure AddLevelAttack adds to distinctMoves
continuous-integration/drone/push Build is failing Details
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 Details
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 Details
2020-04-19 18:22:27 +02:00
Deukhoofd aeac49d892
Made GetRandomAttack const.
continuous-integration/drone/push Build is passing Details
2020-04-19 17:51:36 +02:00
Deukhoofd ad9cbf0670
Implements GetRandomAttack method on LearnableAttacks.
continuous-integration/drone/push Build is passing Details
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 Details
2020-04-19 17:01:33 +02:00
Deukhoofd 3dcefebee7
Add ChangeEffectiveness script hook.
continuous-integration/drone/push Build is passing Details
2020-04-19 13:07:28 +02:00
Deukhoofd 88d55998d0
Change DamageSource enum to Arbutils Enum.
continuous-integration/drone/push Build is passing Details
2020-04-19 12:59:25 +02:00
Deukhoofd a200c7cde8
Make Battle fields protected instead of private.
continuous-integration/drone/push Build is passing Details
2020-04-18 15:22:38 +02:00
Deukhoofd 88a8a28cc6
Pass item constructor flags by reference.
continuous-integration/drone/push Build is passing Details
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 Details
2020-04-15 19:05:24 +02:00
Deukhoofd 2e5d463e45
Throw clean exception when no volatile script is found when adding one.
continuous-integration/drone/push Build is passing Details
2020-04-11 00:22:08 +02:00
Deukhoofd 04bf061115
Removed OnStatusMove hook, now just uses OnSecondaryEffect hook.
continuous-integration/drone/push Build is passing Details
2020-04-10 23:06:19 +02:00
Deukhoofd 5ac2b7b3c9
Turn SecondaryEffect class into pointer type, owned by AttackData.
continuous-integration/drone/push Build is passing Details
2020-04-10 22:17:48 +02:00
Deukhoofd beb50a60b0
Rework of EffectParameter storage, added float value.
continuous-integration/drone/push Build is passing Details
2020-04-10 21:05:44 +02:00
Deukhoofd a6ab69e043
Fixed EffectParameter memory leak.
continuous-integration/drone/push Build is passing Details
2020-04-10 20:15:05 +02:00
Deukhoofd d2320fde3c
Unit tests for EffectParameters.
continuous-integration/drone/push Build is failing Details
2020-04-10 20:09:15 +02:00
Deukhoofd e934e13950
Replace void* for script parameter with EffectParameter class.
continuous-integration/drone/push Build is passing Details
2020-04-10 17:54:45 +02:00
Deukhoofd 1537a5f316
Initialize script with move effect parameters.
continuous-integration/drone/push Build is passing Details
2020-04-10 17:18:19 +02:00
Deukhoofd 49e0f00237
Initialize CreateCreature with ConstString instead of std::string.
continuous-integration/drone/push Build is passing Details
2020-04-10 16:44:25 +02:00
Deukhoofd e89d2a9e0c
Adds secondary effect parameter system.
continuous-integration/drone/push Build is failing Details
2020-04-10 16:35:24 +02:00
Deukhoofd 7194d3f4f8
Remove issue for Windows build.
continuous-integration/drone/push Build is passing Details
2020-04-09 18:38:00 +02:00
Deukhoofd 88eda6ef94
Update to new version of Arbutils.
continuous-integration/drone/push Build is failing Details
2020-04-09 18:19:21 +02:00
Deukhoofd 70fc8d2d5f
Add C interface for ExecutingAttack.
continuous-integration/drone/push Build is passing Details
2020-04-06 17:05:32 +02:00
Deukhoofd 340520e0e3
Reworks attack scripts to handle effect chance and effect name through data files.
continuous-integration/drone/push Build is passing Details
2020-04-06 12:02:29 +02:00
Deukhoofd e2675d06fb
C interface for Battle Random.
continuous-integration/drone/push Build is passing Details
2020-04-04 18:24:59 +02:00
Deukhoofd 3dd5aeffd8
C interface for Battle Side.
continuous-integration/drone/push Build is passing Details
2020-04-04 17:03:06 +02:00
Deukhoofd 3429f1647c
Made C Interface for BattleLibrary constructor try.
continuous-integration/drone/push Build is passing Details
2020-04-04 13:42:06 +02:00
Deukhoofd 1e0d00d3b7
Revert "Use smart pointers for basic libraries."
continuous-integration/drone/push Build is passing Details
This reverts commit 214ff819
2020-04-04 13:37:06 +02:00
Deukhoofd 91bea44113
Added LearnedAttack C Interface.
continuous-integration/drone/push Build is passing Details
2020-04-04 13:36:13 +02:00
Deukhoofd aee5bcb088
Mark LearnableAttacks on SpeciesVariant as unique.
continuous-integration/drone/push Build is passing Details
2020-03-27 20:46:44 +01:00
Deukhoofd 214ff81992
Use smart pointers for basic libraries.
continuous-integration/drone/push Build is passing Details
2020-03-26 22:46:14 +01:00
Deukhoofd b5894ea8f2
Added C Interface for Script.
continuous-integration/drone/push Build is passing Details
2020-03-25 19:47:37 +01:00
Deukhoofd 7ce3e6940d
Rework for C Interfaces to handle exceptions a bit better.
continuous-integration/drone/push Build is passing Details
2020-03-25 19:09:17 +01:00
Deukhoofd 27288563cd
Replace most collections with Arbutils collections for more safety.
continuous-integration/drone/push Build is passing Details
2020-03-22 19:21:40 +01:00
Deukhoofd f190121e74
More Assertions to validate state correctness.
continuous-integration/drone/push Build is passing Details
2020-03-22 15:35:58 +01:00
Deukhoofd 475392f9b6
Fixed issue where base stats of a variant got corrupted.
continuous-integration/drone/push Build is passing Details
2020-03-22 15:25:38 +01:00
Deukhoofd 899e432271
Added lots of security using asserts.
continuous-integration/drone/push Build is failing Details
2020-03-22 13:42:26 +01:00
Deukhoofd 970ca8ddd5
Fixed replacementattack not being complete.
continuous-integration/drone/push Build is passing Details
2020-03-22 10:30:45 +01:00
Deukhoofd a7b87ab4f8
Merge Core library into Library, as with its utility functionality merged into Arbutils, it's becoming less and less useful.
continuous-integration/drone/push Build is failing Details
2020-03-22 10:11:53 +01:00
Deukhoofd 5672f2d2a7
Support for attack when other attacks can't be used in MiscLibrary.
continuous-integration/drone/push Build is failing Details
2020-03-12 11:15:00 +01:00
Deukhoofd 7435a2a678
Turnchoices C Interface.
continuous-integration/drone/push Build is passing Details
2020-03-11 12:22:13 +01:00
Deukhoofd 5a976e4031
Added display text event hook. 2020-03-09 17:43:36 +01:00
Deukhoofd 06336c64cd
Added canRevive parameter to Heal function, added Faint event. 2020-03-09 16:29:41 +01:00
Deukhoofd 3efd7a6974
Added C interface for EventData.
continuous-integration/drone/push Build is passing Details
2020-03-09 11:12:24 +01:00
Deukhoofd ce2fc320bd
Tweaks for Battle and ScriptSet, added Battle C interface.
continuous-integration/drone/push Build is passing Details
2020-03-09 10:16:57 +01:00
Deukhoofd 1afb13cfd1
Added C Interface for BattleParty.
continuous-integration/drone/push Build is passing Details
2020-03-08 15:19:19 +01:00
Deukhoofd bbe99da0f0
Fixes and tweaks for CreatureParty, added C Interface.
continuous-integration/drone/push Build is passing Details
2020-03-08 13:53:58 +01:00
Deukhoofd 1d18066bcc
Made Battle take battleparties as a pointer instead of value for external use.
continuous-integration/drone/push Build is passing Details
2020-03-07 11:00:48 +01:00
Deukhoofd e990c13109
Added Creature C Interface, misc fixes and changes for Creature.
continuous-integration/drone/push Build is passing Details
2020-03-05 11:25:41 +01:00
Deukhoofd e7d3c6afd4
Changed DamageLibrary to use appropriate integer types, instead of 'int'.
continuous-integration/drone/push Build is passing Details
2020-03-04 18:28:14 +01:00
Deukhoofd ea8afcd0b3
C interface for BattleLibrary.
continuous-integration/drone/push Build is passing Details
2020-03-04 17:04:44 +01:00
Deukhoofd 6bffea953d
Implements extern growthrate that uses function pointers. 2020-03-04 15:00:57 +01:00
Deukhoofd 81e173ec1a
C Interface for Lookup GrowthRate.
continuous-integration/drone/push Build is passing Details
2020-03-04 09:11:32 +01:00
Deukhoofd 33de8424be
Tweaks and fixes for Item, added C interface.
continuous-integration/drone/push Build is passing Details
2020-03-03 19:37:21 +01:00
Deukhoofd 461da76f59
Tweaks and fixes for AttackData, added C interface.
continuous-integration/drone/push Build is passing Details
2020-03-02 15:38:18 +01:00
Deukhoofd 81ae0e8454
Make Attack name a ConstString.
continuous-integration/drone/push Build is passing Details
2020-03-02 15:29:42 +01:00
Deukhoofd 3bca3c0673
Reworked LearnedAttacks class, added C interface.
continuous-integration/drone/push Build is passing Details
2020-03-02 15:23:08 +01:00
Deukhoofd 0c1580ade6
Reworked retrieving talent, new method is cleaner and harder to misunderstand.
continuous-integration/drone/push Build was killed Details
2020-03-02 13:59:49 +01:00
Deukhoofd 5f341ffbb7
Use hash as key for Species variants, added C interface for Species.
continuous-integration/drone/push Build is passing Details
2020-02-29 17:00:29 +01:00
Deukhoofd 70ad3eb838
Tweaks and fixes for TypeLibrary 2020-02-29 16:06:36 +01:00
Deukhoofd 671077259e
Make typelibrary be based around the hash value instead of conststring value. 2020-02-29 15:54:02 +01:00
Deukhoofd 4341efb54c
Support ConstString in TypeLibrary. 2020-02-29 15:42:44 +01:00
Deukhoofd 4866edebab
Make GrowthRate library be key based on uint32, instead of on the ConstString, to save memory.
continuous-integration/drone/push Build is passing Details
2020-02-29 15:07:05 +01:00
Deukhoofd b7b54c04e8
Add the baselibrary classes to the C Interface.
continuous-integration/drone/push Build is passing Details
2020-02-29 14:52:15 +01:00
Deukhoofd 5a05a2f4d3
Add ConstString to several other places where context isn't changed much during runtime.
continuous-integration/drone/push Build is passing Details
2020-02-28 19:23:24 +01:00
Deukhoofd 469fcfe280
Make item name ConstString.
continuous-integration/drone/push Build is passing Details
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 Details
2020-02-27 18:23:23 +01:00
Deukhoofd 5e6572aca5
Move several classes from Core to Arbutils.
continuous-integration/drone/push Build is failing Details
2020-02-26 13:51:16 +01:00
Deukhoofd 428b318baf
Mark ScriptSet.Has as const.
continuous-integration/drone/push Build is failing Details
2020-02-23 16:20:11 +01:00
Deukhoofd 3802587313
Added HasVolatileScript function to Creature and Battle.
continuous-integration/drone/push Build is failing Details
2020-02-23 16:17:57 +01:00
Deukhoofd a606fbbc7b
Make basic Script class abstract, require implementation of GetName function.
continuous-integration/drone/push Build is passing Details
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 Details
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 Details
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 Details
2020-02-22 15:53:51 +01:00
Deukhoofd 32584ac406
Fixed Windows build.
continuous-integration/drone/push Build is passing Details
2020-02-22 15:11:18 +01:00
Deukhoofd be6b2778a5
Make CreatureException inherit from runtime_error.
continuous-integration/drone/push Build is failing Details
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 Details
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 Details
2020-02-19 15:32:43 +01:00
Deukhoofd b886f0aebf
Add Damage library script hooks.
continuous-integration/drone/push Build is passing Details
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 Details
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 Details
2020-02-17 17:16:28 +01:00
Deukhoofd 75bce0e329
Add virtual destructor to CreatureParty.
continuous-integration/drone/push Build is passing Details
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 Details
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 Details
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 Details
2020-02-16 17:44:41 +01:00
Deukhoofd 428483e73d
Make GetRandom in Battle class a pointer.
continuous-integration/drone/push Build is passing Details
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 Details
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 Details
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 Details
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 Details
2020-02-16 10:07:01 +01:00