This website requires JavaScript.
1d03adf0d1
Implements replacement attack when an attack can't be used anymore, adds clearer exception handling.
Deukhoofd
2020-07-26 18:00:58 +02:00
36f1e5beeb
Further work on better exceptions.
Deukhoofd
2020-07-26 17:41:11 +02:00
29eb7c603a
More reworks of exceptions.
Deukhoofd
2020-07-26 17:29:06 +02:00
9ec41fdd2d
Rework how the C Interface shows exceptions
Deukhoofd
2020-07-26 17:22:36 +02:00
418d811d18
Rework of C Interface exception handler.
Deukhoofd
2020-07-26 16:30:00 +02:00
a4bb8864a0
When creating a CreatureParty with a size, don't just reserve the space, but append nullptr as well.
Deukhoofd
2020-07-26 16:08:41 +02:00
8ba564d4b7
C Interface for getting party from BattleParty.
Deukhoofd
2020-07-26 15:46:11 +02:00
7ed118e5de
Fixed issue in BattleParty C Interface.
Deukhoofd
2020-07-26 15:29:16 +02:00
a6ed6d63cc
Add individual C Interface destructors for turn choices.
Deukhoofd
2020-07-26 11:37:05 +02:00
141f0338bf
Fixed naming in AttackTurnChoice C Interface.
Deukhoofd
2020-07-26 11:24:31 +02:00
436e68293e
Support for passing a random seed.
Deukhoofd
2020-07-26 10:16:25 +02:00
e6f84f182a
Add Creature getter for the library.
Deukhoofd
2020-07-25 15:02:11 +02:00
8f921ce89b
Add support for swapping in and out of a party.
Deukhoofd
2020-07-25 14:35:13 +02:00
3f447a3e16
Add C Interface for Creature::GetActiveTalent.
Deukhoofd
2020-07-24 10:16:57 +02:00
a4faa1351b
Mark exported functions as maybe unused.
Deukhoofd
2020-07-24 10:14:10 +02:00
be82abeece
Change nickname to string from string_view.
Deukhoofd
2020-07-19 12:15:14 +02:00
75810b9d0c
Implements C Interface for SpeciesVariant.GetRandomTalent
Deukhoofd
2020-07-18 12:20:47 +02:00
4fe0c70635
Implements C Interface for Species.GetRandomGender
Deukhoofd
2020-07-17 14:43:04 +02:00
ee9e5cd11b
Further path fixing.
Deukhoofd
2020-07-17 13:30:26 +02:00
869a2ade90
Remove invalid command on build.
Deukhoofd
2020-07-17 13:21:27 +02:00
aa1e60af18
Fix paths
Deukhoofd
2020-07-17 13:15:08 +02:00
f273c9c90f
Make build also use test build.
Deukhoofd
2020-07-17 13:12:58 +02:00
367ed7fcbb
Cleanup CMake file.
Deukhoofd
2020-07-17 13:12:21 +02:00
5032377554
Remove Random passes by pointer.
Deukhoofd
2020-07-12 15:26:00 +02:00
abab1d0f9a
Force colour for style check.
Deukhoofd
2020-07-07 15:44:20 +02:00
2225d32432
Cleanup of C Interface, remove use of operator->, as it will throw when null.
Deukhoofd
2020-07-07 15:33:43 +02:00
c6974b6b5b
Adds getter for Script for ExecutingAttack. Mostly useful for unit tests etc.
Deukhoofd
2020-07-04 18:13:36 +02:00
47515399fe
Supports iterating over BaseLibrary.
Deukhoofd
2020-07-04 17:18:24 +02:00
61bf868583
Update to newer Arbutils.
Deukhoofd
2020-07-04 15:12:12 +02:00
772619db0f
Changed LoadScript to StringView.
Deukhoofd
2020-06-26 18:23:40 +02:00
48639eeee5
Update to new Arbutils
Deukhoofd
2020-06-26 17:08:23 +02:00
f50f76e993
Move priority scripthook to more sensible place in turn flow.
Deukhoofd
2020-06-20 19:51:34 +02:00
b3366f7b58
Script hook for changing priority.
Deukhoofd
2020-06-20 19:44:41 +02:00
f55ae5a809
Syntax fixes.
Deukhoofd
2020-06-20 18:53:10 +02:00
14458ec30c
Bring Library class in line with style lines.
Deukhoofd
2020-06-20 18:50:55 +02:00
add77325a4
Several additional checks to ensure battle does not finish turn when ended.
Deukhoofd
2020-06-12 16:48:49 +02:00
fd1c6e9a0a
If no side is still alive, mark battle as inconclusive ended.
Deukhoofd
2020-06-12 16:25:21 +02:00
32bb641f75
Fixed issue with underflow in ScriptAggregator.
Deukhoofd
2020-06-12 15:49:37 +02:00
3358bf7378
Fixed comparing int32_t with uint32_t.
Deukhoofd
2020-06-10 14:46:45 +02:00
c8314d6018
Support for changing variants.
Deukhoofd
2020-06-10 14:39:20 +02:00
637649c993
Deal with talent indices that are out of bounds.
Deukhoofd
2020-06-10 12:29:38 +02:00
fccf339e76
Implements genderless mons.
Deukhoofd
2020-06-10 12:16:09 +02:00
fc74a7d4bd
Fixed broken test.
Deukhoofd
2020-06-05 18:10:58 +02:00
fddf2cabab
Rework ScriptIterator to jump to first value on reset.
Deukhoofd
2020-06-05 18:06:45 +02:00
9e7607338f
Moved Creature types to creature itself, instead of using the variant types.
Deukhoofd
2020-06-05 16:38:27 +02:00
3c5b3d5c03
Fixed potential reaching end of function.
Deukhoofd
2020-06-05 15:42:28 +02:00
66379bfa65
Initial support for handling multi target attacks.
Deukhoofd
2020-06-05 15:32:05 +02:00
f463ba8496
Simplify check whether mon is on battle field.
Deukhoofd
2020-06-05 14:35:23 +02:00
44de4a0799
Use std::algorithm for Battle::CreatureInField
Deukhoofd
2020-06-05 14:15:20 +02:00
57e8595bdf
Make ExecutingAttack creature list a raw C array, as this is a hot spot and could use some optimization.
Deukhoofd
2020-06-04 21:58:28 +02:00
657d646fda
Make the last couple classes use smart pointers.
Deukhoofd
2020-06-02 18:30:37 +02:00
7262ae9e8b
Make ExecutingAttack use smart pointers.
Deukhoofd
2020-06-02 18:02:37 +02:00
a5a613ba5c
Make CreateCreature use smart pointers.
Deukhoofd
2020-06-02 17:19:23 +02:00
62583ecb17
Make Creature use smart pointers.
Deukhoofd
2020-06-02 16:20:47 +02:00
1ef50fd3a6
Use unique pointers in scriptset.
Deukhoofd
2020-06-02 15:03:31 +02:00
23e2bc73bc
Style fixes.
Deukhoofd
2020-06-02 14:14:24 +02:00
e8650e2a03
Fixed build error.
Deukhoofd
2020-06-02 14:02:32 +02:00
e4b9550efa
Make all individual scripts smart pointers.
Deukhoofd
2020-06-02 13:43:44 +02:00
dba1275813
Move ScriptIterator reset to get call instead of inside Macro.
Deukhoofd
2020-06-02 13:21:23 +02:00
f898698f49
Use smart pointers for BattleSide.
Deukhoofd
2020-06-02 13:06:24 +02:00
49e8ff055d
Use smart pointer for BattleParty.
Deukhoofd
2020-06-02 12:16:26 +02:00
18203138d1
Use algorithm for IsResponsibleForIndex check.
Deukhoofd
2020-06-02 12:14:49 +02:00
69f6a89c0d
Make CreatureParty use smart pointers.
Deukhoofd
2020-05-31 19:04:40 +02:00
01f6e59cb6
Make battle class fields all smart pointers.
Deukhoofd
2020-05-31 19:01:45 +02:00
29cb4eac37
Make ChoiceQueue use smart pointers.
Deukhoofd
2020-05-31 18:00:39 +02:00
ff181204ae
Make LearnedAttack of Creature a smart pointer.
Deukhoofd
2020-05-31 17:26:39 +02:00
a7069a5960
Ensure Attack script is deleted when not taken by ExecutingAttack.
Deukhoofd
2020-05-29 20:05:05 +02:00
20be2815ce
Revert "Clean up choices if they can't be used."
Deukhoofd
2020-05-29 19:29:25 +02:00
04cef8b6e2
Clean up choices if they can't be used.
Deukhoofd
2020-05-29 19:25:46 +02:00
d51919c74f
Make ExecutingAttack a local variable while being used, to ensure it's always cleaned up.
Deukhoofd
2020-05-29 18:49:48 +02:00
a9740cb1eb
Fixed memory leak in ExecutingAttack.
Deukhoofd
2020-05-27 18:29:52 +02:00
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.
Deukhoofd
2020-05-27 18:26:09 +02:00
90e7a699bc
Remove const qualification of ScriptResolver.
Deukhoofd
2020-05-26 20:53:06 +02:00
25f65eb47b
Update to newer Arbutils version.
Deukhoofd
2020-05-26 18:31:06 +02:00
d746b3ecce
Make staticlib in battle library an unique ptr.
Deukhoofd
2020-05-26 16:38:55 +02:00
0125215007
Style fixes
Deukhoofd
2020-05-26 16:35:01 +02:00
16b67b0d54
Make most of the battle library use unique_ptr.
Deukhoofd
2020-05-26 15:11:04 +02:00
e46117ea06
Fixes DataLibrary not having correct const definitions.
Deukhoofd
2020-05-26 15:02:41 +02:00
ecf1c47a53
Make Growth Rate library use unique_ptr
Deukhoofd
2020-05-26 14:58:16 +02:00
aba56d2fdd
Make Attack secondary effect a unique_ptr.
Deukhoofd
2020-05-26 14:41:43 +02:00
8418c814b4
Make SpeciesVariants smart pointers.
Deukhoofd
2020-05-26 14:35:18 +02:00
36208da2fb
Remove shared_ptr, instead use borrowed_ptr to more accurately depict ownership of the objects in the BaseLibraries.
Deukhoofd
2020-05-26 14:13:30 +02:00
d82792e27a
Make BaseLibraries use shared_ptr.
Deukhoofd
2020-05-24 20:57:22 +02:00
b17c0648ff
Make DataLibrary use unique_ptr.
Deukhoofd
2020-05-24 19:01:47 +02:00
c056ddc6b3
Adds getter for parties to battle.
Deukhoofd
2020-05-24 12:57:12 +02:00
2e860192c7
Support for blocking a creature from gaining experience, don't give experience when a creature is fainted.
Deukhoofd
2020-05-20 15:18:27 +02:00
6c40f4291d
Fixed C Interface for DamageLibrary returning floats instead of expected bytes.
Deukhoofd
2020-05-20 15:02:53 +02:00
0c55208209
Revert wineconsole changes.
Deukhoofd
2020-05-06 20:29:03 +02:00
12dda40966
Removed explicit wineconsole backend
Deukhoofd
2020-05-06 20:20:45 +02:00
ab89797dac
Run wineconsole instead of wine for Windows tests.
Deukhoofd
2020-05-06 20:13:07 +02:00
748f68b6d8
Fixes for earlier commit to fix GetEffectiveness in type library.
Deukhoofd
2020-05-06 13:32:11 +02:00
51415895a4
Fixes GetEffectiveness in type library using integer instead of float.
Deukhoofd
2020-05-06 13:27:50 +02:00
5cd5059e42
Adds C Interface for destructor of different growthrates.
Deukhoofd
2020-05-06 11:36:56 +02:00
3a9e55aae5
C interface to add species variant.
Deukhoofd
2020-05-04 20:40:45 +02:00
119e71e86a
Allow AsInt from Float EffectParameter, and AsFloat from Int EffectParameter.
Deukhoofd
2020-05-03 21:08:27 +02:00
f65b2f74bd
Better handling of static c handling.
Deukhoofd
2020-05-03 12:45:12 +02:00
293386ac0d
Implements EffectParameter C Interface
Deukhoofd
2020-05-02 21:46:16 +02:00
40e80d8100
Fixes GetTalent C Interface for SpeciesVariant being broken
Deukhoofd
2020-05-02 21:46:06 +02:00
91ba93462b
Fixed issues with C Interface
Deukhoofd
2020-05-02 20:03:18 +02:00
2821eec263
Fixed SpeciesVariant C Interface requiring byte for base speed instead of short.
Deukhoofd
2020-05-02 17:16:16 +02:00