Commit Graph

319 Commits

Author SHA1 Message Date
b97bf3a767 Merged Stat into Entity. 2020-05-01 17:15:44 +02:00
65f0d3e7b3 Removed more things. 2020-04-30 15:32:02 +02:00
a53d7d2eb7 A change got left out. 2020-04-30 14:17:41 +02:00
58b318b9f4 Stat simplification/rework - Part 1. Stats doesn't work yet! Removed StatModifier, and initial Stat api simplification/cleanup. 2020-04-30 14:17:18 +02:00
085890cd15 Clenaups to Stat. 2020-04-30 11:19:45 +02:00
cbac91ae1e Cleaned up StatDataEntry. 2020-04-30 00:17:01 +02:00
94d2ddf73b Moved StatData into EntityData from EntityClassData. 2020-04-29 18:12:09 +02:00
19fd2ea109 Added an _initialize vmethod to entity, this makes the health and speed resources customizable. 2020-04-29 01:25:02 +02:00
38d6181469 Now health and speed are automatically allocated in Entity, the resource management methods have been adjusted to ignore them (they can be removed, and or replaced deliberately though). 2020-04-29 01:05:31 +02:00
bebab39f34 Added a simple Speed and Health resource. 2020-04-28 23:54:23 +02:00
2c47f9f550 Standardized notification methods to have the "notification" prefix, instead of the "on", and changed the naming a bit. This makes them stand out inside the docs, and it's easier to get completions for them while using the api. 2020-04-28 20:47:34 +02:00
0a9d4d3c72 Few more renames. 2020-04-28 19:03:17 +02:00
8864cdee06 Even more renames. 2020-04-28 19:01:46 +02:00
f1e38e5a2a More renames. 2020-04-28 16:50:26 +02:00
37660951ca More renames. 2020-04-28 16:39:42 +02:00
86aaf2eaf5 More renames. 2020-04-28 16:17:54 +02:00
9be4cba706 Same treatment to aura related methods. 2020-04-28 16:07:36 +02:00
68a6256e67 Converted more methods. 2020-04-28 15:58:20 +02:00
a5fb39a002 Same treatment to the crafting related methods. 2020-04-28 15:41:48 +02:00
1afc3511f8 Same to the global cooldown related methods. 2020-04-28 14:24:05 +02:00
c28fbd155b Same treatment to entity_resource related methods. 2020-04-28 13:10:57 +02:00
62d3928ced Equpiment-related methods now start with the equip keyword. 2020-04-28 12:31:03 +02:00
e3eeb581c4 Updated a few more signals. 2020-04-28 11:58:56 +02:00
90ad406d73 A bit of cleanup for the new api. 2020-04-28 11:44:47 +02:00
06283f3768 Same api cleanup to the clientside versions of the methods. 2020-04-28 03:09:26 +02:00
d110b3368f Moved cast, damage, heal and aura related serverside events into combined events to work similarly as notifications in Node. This makes creating events like these possible from scripts. (The rest will be converted aswell.) 2020-04-27 21:30:59 +02:00
8d680240ea Now health and speed are both considered EntityResources. They'll have automatic setup a bit later. If this system works out well Stats will be cleaned up, and simplified. 2020-04-27 18:37:43 +02:00
46950b6378 Removed PlayerResourceType getter from EntityClassData as it is not needed anymore. 2020-04-27 17:16:53 +02:00
9e64163f61 Fix crash by hiding a property that shouldn't have been visible from the editor. 2020-04-26 12:08:16 +02:00
e3f110a962 Fix typo. 2020-04-26 11:53:48 +02:00
5901fc66d0 Handle invalid/old properties better. 2020-04-25 21:27:26 +02:00
366d2336d5 Updated StatData's properties to use human readable names. 2020-04-25 19:58:29 +02:00
04b8772a1d Removed the MainStat enum. 2020-04-25 19:48:25 +02:00
0f49ea2ea6 Complex level stat data is using the new system now aswell. 2020-04-25 19:48:09 +02:00
9ede69c7b4 Add destructor to simple level stat data. 2020-04-25 19:32:50 +02:00
2c99111860 Entity's character level up uses the new system now aswell. 2020-04-25 19:25:00 +02:00
aa5cec5071 SimpleLevelStatData now uses the new flexible stat system. 2020-04-25 19:24:05 +02:00
38de5a7c1a Fix error in binding. 2020-04-25 19:11:45 +02:00
b3442919de Customizable stats - part 2. Removed the StatId enum. (The main stat enum still nees to be removed.) 2020-04-25 16:50:53 +02:00
384c2530d0 Started implementing _get, _set, and _get_property_list for Entity, because the ability to save them into godot scenes would be really useful. 2020-04-24 23:43:37 +02:00
4615300293 Removed the info parameter of _setup. 2020-04-24 14:56:10 +02:00
909f34af03 Renamed skeleton to body in SpeciesModelData. Now Entity can store transforms, also it now has a few more convenience getters/setters. Also it will try to instantiate the body of an entity if it is set into the species data. 2020-04-24 13:35:30 +02:00
677f138a46 Added a c_is_controller property to Entity. the server will set it to true for the owner if this is the entity they are supposed to control. 2020-04-24 00:43:18 +02:00
49db594f4a Stat and StatModifier are back to being References. I found a better way to go about serializing stats. (Most likely they'll be merged into Entity, this should simplify the background logic aswell, and make it less awkward.) 2020-04-23 18:48:49 +02:00
5f97b2d97a AuraData is a Resource now aswell. 2020-04-23 12:17:33 +02:00
9f5248b297 Stat and StatModifier is also a resource now. Stats are not yet exposed as properties, as they need a bit of rework to work properly this way. 2020-04-23 12:13:56 +02:00
a3f5c4ffbe Hide Entity's clientside properties, and Entity based properties from the inspector. Also fix a waring. 2020-04-23 11:50:06 +02:00
da2a116426 Convert saving learned spells and recipes to use paths aswell. 2020-04-19 18:42:11 +02:00
fa8f38fa5d Class profile now also uses resource paths instead of ids. 2020-04-19 17:41:42 +02:00
1893598fc3 Fix typo. 2020-04-19 17:32:51 +02:00
089c854c9e Now resource paths are used instead of ids for save files. (They are converted back on load - ids are better for networking) This makes remapping resource ids possible, which makes creating modules (and later mods into zips or pcks) simple. 2020-04-19 17:15:36 +02:00
0f823f4206 Split ESSResourceDB into 2 classes and a base class. 2020-04-15 00:24:12 +02:00
4935de4c5f Rename the EntityDataManager singleton to just simply ESS. 2020-04-14 16:55:21 +02:00
3cb26816d2 Moved the data out from EntityDataManager into a new ESSResourceDB class (Resource). The DataManager now stores an instance of this new resource instead. 2020-04-14 16:46:24 +02:00
d8ea28e221 Started reworking EntityDataManager's API, to make resource loading easily scriptable. 2020-04-14 14:15:38 +02:00
b2d4be96ea Added is_playable property to EntityData. 2020-04-13 22:04:14 +02:00
f29b01af8b Clang format. 2020-04-10 14:09:21 +02:00
9fa7c23462 Fix build for 4.0. (When 4.0 becomes stable I'll create a branch for it) 2020-04-09 12:32:05 +02:00
33bebb19b9 Added spell_train_data property to EntityData. Also fixed up and improved a few other bindings. 2020-03-20 19:20:56 +01:00
38738dc2f8 Added setting to allow spell and recipe learning into ClassProfiles. Also small fixes. 2020-03-20 03:29:36 +01:00
9493be41fb Added PlayerProfile, and now ProfileManager has clientside, and serverside variables. 2020-03-19 20:29:36 +01:00
affacaea58 Added change notifications to ProfileManager, and it's data classes. Also added option "automatic save" for the ProfileManager (still needs some work). 2020-03-18 03:04:50 +01:00
9cc99bbc27 Added a few setting to EntityDataManager for levelling. 2020-03-17 22:35:29 +01:00
3367f3bc96 Fix missing break. 2020-03-15 19:33:31 +01:00
4dce51d019 Implemented EntityResources. 2020-03-11 16:08:07 +01:00
3686150a44 Rename max property in EntityResource, as it is a gdscript method. Also renamed the current property, for consistency. 2020-03-10 16:03:23 +01:00
3e10779dbc Updated old style getters/setters to use the new style. E.g. sget_ -> gets_. 2020-02-26 21:20:54 +01:00
c5c0f2cddd Added support for item spells. 2020-02-25 14:00:55 +01:00
7666d11b2d Add use spell points setting. 2020-02-21 11:56:57 +01:00
581127cde5 Now entity also stores the class level, and class xp. Added separate class and character xp properties to EntityCreateInfo aswell. Standardized the remaining methods in XPData. 2020-02-20 12:18:55 +01:00
a2d4df0c89 Levels are now (properly) separated into class and character levels. 2020-02-19 12:17:10 +01:00
e16c021ac8 Added bindings for item use support, and marked quite a few methods/arguments as const. 2020-02-19 09:11:36 +01:00
9d3bd194ee Added support for Entity relations. 2020-02-19 08:39:30 +01:00
0bdf71c431 Remove duplicate line. 2020-02-09 21:55:23 +01:00
d33a499847 Bind the ported methods in Entity. 2020-02-03 18:12:59 +01:00
f1490c7543 Organized the data folder's classes into subfolders. 2020-02-03 13:01:17 +01:00
5ea00de13e Ported a few of Entity's virtual methods from BrokenSeals. Started reworking spawning, and Entity initialization. Moved the singletons into a new singletons folder, and renamed the profile_manager folder to profiles. 2020-02-03 11:56:52 +01:00
74eb8bcb2f Updated the license header for 2020, also added the license text to the top of the c++ files. Removed a now unneeded, unused file. 2020-01-31 19:34:47 +01:00
c072f69e2a Added quite a few const, and reference qualifiers. 2020-01-31 18:06:43 +01:00
6f3744e2cb Ran clang format on every file, I got used to it working by default in Visual Studio and I forgot about it. 2020-01-09 04:27:19 +01:00
e03146759c Work on the bindings for pet support. 2020-01-05 02:17:02 +01:00
bf28679b95 Fix performance issue with the AI. 2020-01-04 13:27:45 +01:00
6aa2df4647 Now both Entity, and WorldSpell inherit from Node, this complicates the setup by a tiny bit (Entity's body property needs to be assigned), but now the module will work in both 2D, and 3D. Also removed the compile time option. 2020-01-02 22:56:24 +01:00
47da2d28b1 Added bindings for dispells into Spell, and Aura. Cleaned up Spell's scaling bindings. The AuraTypes enum can now be used as flags aswell. Unified has_global_cooldown like bindings. 2019-12-29 01:58:25 +01:00
bc797e4ffb Added the ability to manually update Entities. This will allow for turn based games. 2019-12-28 00:44:21 +01:00
251f9e6e2a Added a son_physics_process callback to spells, spell scripts can register for it in entities. 2019-12-12 16:44:43 +01:00
e0d733eb54 Fix android compile. 2019-12-02 21:40:53 +01:00
68df038731 Added text strings to EntityResourceData. 2019-12-02 00:42:21 +01:00
905da5161e Moved the EntityDataManager into a new autoloads subfolder. 2019-12-01 22:56:53 +01:00
e57c0ef30e Moved in-world spell related classes into a different folder. 2019-12-01 21:21:51 +01:00
3fe142e704 Removed some deprecated classes. 2019-12-01 20:30:48 +01:00
964110c125 Missing change from previous commit. 2019-12-01 18:46:27 +01:00
e72650419d Networking for EntitySkills. 2019-12-01 18:45:15 +01:00
8c11a22209 Added EntitySkillData. 2019-12-01 18:00:09 +01:00
6a954f3381 Fix typo, and respect the should_process flag. 2019-12-01 01:16:28 +01:00
abb564acdc Resources should work in multiplayer now, also work on bindings. 2019-12-01 00:24:38 +01:00
b3cb5b2def Added EntityResourceDatas to the DataManager, also more refactorings. 2019-11-30 21:46:11 +01:00
ea06b2346b Added EntityResourceCostData, also more refactorings. 2019-11-30 21:04:35 +01:00
fe6b3224c8 Refactored how entity resources are set up. 2019-11-30 19:26:12 +01:00
dc5d1515e2 Moved entity resource to a subfolder. 2019-11-30 18:15:19 +01:00