Commit Graph

250 Commits

Author SHA1 Message Date
0b9028ea97 Fixes BattleSide AddVolatile using the wrong script category.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-29 18:12:35 +02:00
b4ef1ea98e Adds getter for Battle on BattleSide.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-28 15:01:31 +02:00
19375c2f87 Adds functions to add, remove, and get volatile scripts from a BattleSide.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-28 14:49:24 +02:00
47c3429295 Adds optional optimization to history helper functions to limit the max amount of turns searched through.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-24 11:10:30 +02:00
7354c835e6 Fixes memory leak.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-23 18:38:12 +02:00
51897e42da Make HistoryHolder a pointer instead of value.
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-23 17:17:34 +02:00
20b53833c4 Cleans up HistoryHolder to be a lot less complicated (although possibly a bit slower), adds DamageHistory.
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-10-23 16:57:58 +02:00
a361716233 Made Creature::GetStatusName const.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-09-21 22:19:26 +02:00
ce30077a5d Change Creature::Nickname to be an optional.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2021-09-19 11:40:18 +02:00
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
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
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
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
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
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
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
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
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
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
69476b6f9d Adds setter for nickname.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-22 16:11:23 +01:00
87bbae678a Style Fixes
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-13 12:26:54 +01:00
e642f374b9 Update to latest Arbutils.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-13 12:15:40 +01:00
2055837980 Make learned attacks on Creature be optional.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 15:10:18 +01:00
4367d1f5cf Make HeldItem OptionalBorrowedPtr.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 13:40:30 +01:00
185ec40ba5 Use std::optional for BaseLibrary TryGet.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 12:42:28 +01:00
5c39694f19 Overhaul memory model to new Arbutils memory.
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-12-12 12:22:48 +01:00
1dc3aafd33 Use vector instead of set for types.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-10-23 16:51:15 +02:00
53bfbd36c2 Use a precompiled header.
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-25 13:05:15 +02:00
def38e98c6 Support for getting a creatures actual talent.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-09-05 14:51:06 +02:00
3233daf9ab More defensive programming.
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-30 13:14:33 +02:00
32f75f4a47 Store time in turn execution on battle class.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-28 12:24:10 +02:00
b096fb9533 Dont set nickname to species internal name.
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-25 19:12:35 +02:00
86ed173d30 Defensive programming for Party
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-24 20:37:22 +02:00
39e1295013 Compile time option to change bit size of level.
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-19 20:11:00 +02:00
98dacbccde Use Arbutils exception Macros, instead of own ones.
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-17 12:18:01 +02:00
93a763ab78 Rework exceptions.
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
2020-08-15 16:34:52 +02:00