Commit Graph

467 Commits

Author SHA1 Message Date
152ac7e407 Don't throw an exception when teaching an attack when we don't have the max amount of attacks yet.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-08-29 17:16:36 +02:00
512a39e158 Deal with Creatures being deleted before a battle they're part of.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-08-28 19:05:52 +02:00
d89e0b0d77 Adds function on battleside to get a creature at an index.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-08-23 21:38:47 +02:00
08120d5433 Adds status handling functions
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-07-09 15:33:30 +02:00
4274a44fa5 Fixes for GCC warnings
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-06-26 11:26:20 +02:00
762915b1f7 Add new Creature::IsUsable function, which replaces IsFainted functionality in several places.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-06-19 12:33:31 +02:00
8241a2d7b1 Check if target of attack is a valid target for that attack.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-05-24 10:57:17 +02:00
69dab061da Further cleanup of TargetResolver.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-05-24 10:34:42 +02:00
b036efaf18 Clean up TargetResolver.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-05-24 10:31:15 +02:00
b48353822c Change script when ChangeAttack script hook changes the used attack.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-05-14 10:42:05 +02:00
13153b3119 Support overriding attacks through script hooks.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-05-13 13:16:52 +02:00
188e88ab80 Store CreatureIndex on Creature, includes helper function to get a creatures party from a battle.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-05-08 11:53:32 +02:00
305eb5efb2 Cleanup for Creature class battle data.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-05-08 11:26:35 +02:00
be10b3515c Reworks script aggregator. Cleans up API and code, and now handles scripts being removed from a set while we're iterating.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-04-18 12:50:48 +02:00
13df99a6cc Try and catch more edge cases where setIndex would be invalid.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-04-17 16:31:03 +02:00
8f9f2b2b8d Fixes issue with iterating over two script sets.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-04-17 16:23:29 +02:00
9f091308b0 Reset on initialization in ScriptAggregator, fixes segfault when calling Reset on an empty Aggregator.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-04-17 15:08:26 +02:00
33f796eff8 Minor fixes for ScriptAggregator
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-04-17 14:44:33 +02:00
96cbd594a0 Better handling of clearning scripts.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-04-14 19:29:42 +02:00
b42bf21315 Fixes segfault in ScriptSet::Clear
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-04-14 19:20:43 +02:00
8a9a6af0af Pass battle pointer along with clone for battleside.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-04-13 22:45:48 +02:00
ba5e937dbd Remove copying historyholder for now, as it causes issues.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-04-11 23:29:00 +02:00
e2cc20d1c5 Fixes HistoryHolder CopyOnto not actually copying memory.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-04-11 23:10:36 +02:00
2b1a1792bf Make Clone functions const.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-04-11 16:01:18 +02:00
84a14cff2b Support for cloning battles for AI purposes.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-04-11 15:20:50 +02:00
a3b7002cd4 Adds script hook to modify number of hits
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-28 19:43:26 +02:00
374a4d10a8 Pass creature along with OnEndTurn.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-28 18:37:10 +02:00
21231761ef Adds OnEndTurn script hook.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-28 18:24:49 +02:00
23bd0da646 Adds swap event when two creatures swap positions.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-28 11:58:26 +02:00
acacd02ef9 Adds script hook for preventing the opponent from switching out.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 22:54:51 +01:00
1ddbfd2357 Fixes for ScriptSet throwing when adding a not yet found volatile script.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 20:20:49 +01:00
bfe83ef271 When adding volatile script, return the script object.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 16:36:20 +01:00
d6858c2d44 Adds choice pointer to flee prevention script.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 15:10:56 +01:00
4dd3700352 Adds script hooks for preventing runaway.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 14:49:17 +01:00
46307fe71f Initial work on attack fail handling.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-27 12:30:12 +01:00
9b7c271a20 Support for swapping two creatures on a side.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-26 12:01:18 +01:00
cd3d665687 Adds OnInitialize function on Item Use Script.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 19:49:06 +01:00
14ebf20f23 Adds getter for pointer to script resolver on battle library.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 19:04:15 +01:00
715da74320 Make Effect field in Item OptionalUniquePtr.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 12:39:15 +01:00
26c36f8ece Adds effect field to Items.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 11:56:07 +01:00
3a4171f565 Use Item pointer for Script resolving for item use script.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 11:24:45 +01:00
d908efff9d Adds support for scripts for item use handling.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 10:54:42 +01:00
5178d5dcc0 Renamed Script --> BattleScript, some cleanup on it.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 10:26:41 +01:00
d70c6a224a Fixes for growth rates, forces shared library to be dll on Windows.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-03-07 09:43:52 +01:00
7aa31a838d Several fixes for attack effects not triggering.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-01-22 13:38:05 +01:00
abccc23851 Trigger event when stat boost changes.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-01-16 21:16:47 +01:00
987f60ee85 Clear scripts from creature when a battle is cleared from it.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-01-15 16:31:47 +01:00
66b95a6e4d Reset seen opponents on ClearBattle.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-01-15 15:46:48 +01:00
3742e07b03 Rework clearing battle from creatures.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-28 15:10:49 +01:00
a284641b5a Fixes invalid pointers to a battle dangling when a battle is removed.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-28 13:40:39 +01:00