Commit Graph

374 Commits

Author SHA1 Message Date
f92758ce3d Fix potential crash. 2020-05-03 00:10:41 +02:00
c3a1bc4503 Fix initial value of EntityStat's percent. 2020-05-02 23:52:21 +02:00
760254b7b1 Added a new convenience stat setter. 2020-05-02 01:54:12 +02:00
e033d5a988 Clean ups to StatData. 2020-05-02 01:42:44 +02:00
ca07679be1 Implement the new setters in Entity, and also bind the new methods. 2020-05-01 18:06:20 +02:00
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
992d0672f9 Fixed sending item count changes to the client. Also added the stack_size_changed signal to ItemInstance. 2019-11-29 10:16:59 +01:00
6bd6ad4623 Removed the old ai aswell. 2019-11-27 11:14:47 +01:00
675aeaeba2 Reworked the UtilityAI implementation into something that I think will actually be good, and useful. Also intial work on pet support. 2019-11-27 10:54:56 +01:00
7a0e861c7d Fix compile. 2019-11-11 21:41:28 +01:00
79a82810b5 Fixed serializing caster's path as ".". 2019-11-11 00:46:31 +01:00
d89871f1b4 now the text_name properties use resource's resource_name property to store data. 2019-11-09 17:49:05 +01:00
ca498d753c Refactored the way the server can open windows. Also they work with networking now. 2019-11-04 23:05:45 +01:00
6c1c5eca46 Fix small issues, and model re-generation. 2019-11-04 21:43:32 +01:00
e57b8ec27a Implemented Equipping. 2019-11-04 21:00:17 +01:00
d86695c1f2 Typo fix. 2019-11-04 18:31:02 +01:00
9efe65cc39 Small fixes. 2019-11-04 18:07:19 +01:00
267b6c2082 Networking for bags, and target bags. 2019-11-04 16:50:53 +01:00
0d98a36668 Merged Mob and Player into Entity. 2019-11-04 01:38:27 +01:00
bac30cf901 Implement helpers for crafting. 2019-11-04 01:16:50 +01:00
d2c29095bb Added gender enum, and added it to ItemVisualEntry. 2019-11-03 22:39:19 +01:00
91851d4ef9 Implemented spell learn spell requiremets. 2019-11-02 00:01:07 +01:00
81d5e867ab Fix bindings. 2019-11-01 23:40:54 +01:00
0bdf6652a6 Better/Different AuraGroup implementation. 2019-11-01 22:07:56 +01:00
7e8212144c Small aura remove, and add event calls cleanup. 2019-11-01 21:20:22 +01:00
8a19b74449 hass_spell_id, and hasc_spell_id functions. 2019-11-01 20:33:14 +01:00
b9430efb7a renamed the ai property to sai. 2019-10-31 11:52:56 +01:00
90e7e0064d Work on AI. 2019-10-31 01:35:29 +01:00
056791b313 Improved the design a bit, implemented serializing SpellDamageInfo, and SpellHealInfo. Also fixed a crash. 2019-10-29 18:12:15 +01:00
07d81d63a9 Fix warning at start. 2019-10-29 15:18:08 +01:00
d410497b71 More work on networking. 2019-10-29 13:36:33 +01:00
c02fd1e9f3 Better fix for the previos compile error. 2019-10-29 00:33:30 +01:00
2a753972f5 Fix compile for android. 2019-10-29 00:24:37 +01:00
1994e023b2 More work on networking. 2019-10-29 00:15:52 +01:00
2a6b080cf6 More work on multiplayer. 2019-10-28 21:48:50 +01:00
233d934876 Added functions to manipulate what the _s_sees vector. Also added a bind for vrpc. And smaller fixes/improvements. 2019-10-28 16:53:48 +01:00
8512378fd2 Improved the RPC macros. 2019-10-28 14:45:38 +01:00
5ea15ab1c9 Stat will be set dirty after deserialization now. 2019-10-25 21:58:29 +02:00
f07afba4ff Added EntitySpeciesData to EntityData. Also bound equipment_data. 2019-10-25 10:38:32 +02:00
1b8f94b818 Added description to EntityData and ENtityClassData. 2019-10-25 10:28:55 +02:00
30332f7e7d Test implementation for sending objects across the network. 2019-10-23 20:34:08 +02:00
ae55dce96e After thinking it's probably not a good idea to allow player's seed to contain junk from memory. 2019-10-23 15:40:04 +02:00
b0ce9818c1 Renamed DataManager to EntityDataManager. Also moved it to the root of the project. 2019-10-19 13:21:21 +02:00
70cb694a12 Removed the temp properties. 2019-10-19 12:49:01 +02:00
056f9e0358 More bindings cleanup. 2019-10-19 12:47:30 +02:00
f0aca4afa4 Removed the temporary bindings. 2019-10-19 12:20:59 +02:00
48470111f3 Standardized resource name and description properties. I left the original properties for now, so upgrading is possible. 2019-10-19 12:12:09 +02:00
2053b9ee76 Small fixes and cleanup. 2019-10-16 14:55:14 +02:00
34140a6d2e Renamed Luck to Spirit. 2019-10-16 13:35:57 +02:00
53c66c2136 Small logic fixes. 2019-10-16 02:33:26 +02:00
9e976eaebf Small fixes. 2019-10-15 22:21:14 +02:00