Commit Graph

273 Commits

Author SHA1 Message Date
503481924f Added sgcd, and cgcd properties. 2020-06-15 11:48:22 +02:00
e94aa02506 Removed the notifications from EntityData. And made Entity call into the AI's notifications instead. 2020-06-14 16:23:37 +02:00
dc452d3937 A few more notifications in Entity are also macro based now. 2020-06-14 10:42:58 +02:00
316d75d344 Started replacing notification logic in Entity with macros. 2020-06-13 23:13:05 +02:00
548a1155ad Moved a few emit signals into the notification methods. 2020-06-13 22:26:19 +02:00
b4a6153d13 Updated the remaining vmethod signatures. 2020-06-13 22:21:23 +02:00
fb3a5cde04 Removed the Cooldown and the CategoryCooldown classes. Entity now stores these with a small internal struct. The notifications are not all perfect, but I'm going to rework them a bit in the next few commits, and they will be fixed then. 2020-06-13 21:51:28 +02:00
6a27714c5c Implemented _get, _set for equipment. 2020-06-13 19:49:00 +02:00
cb0b8271e1 ItemInstance now also stores stat modifier data like ItemTemplate. 2020-06-07 14:55:39 +02:00
2d2629ba09 Converted the stat modifier related functions in ItemTemplate, and ItemInstance to the new style. Also ItemTemplateStatModifier is now a struct in ItemTemplate. 2020-06-07 00:50:24 +02:00
6a3716bc42 comvert quite a few more getters/setters to the newer style. 2020-06-05 19:40:53 +02:00
fdf0163f47 Removed TalentRowData, and reworked CharacterSpec so it's not needed. 2020-06-05 14:03:11 +02:00
55fafecc9d Now Entity has class and character talents. 2020-06-04 12:46:38 +02:00
d063f8da28 Rename both ESS::get_instance, and ProfileManager::get_instance to <class>::get_singleton, to match Godot's standard. 2020-05-23 16:29:47 +02:00
7bbca9ae89 Centralized most of the 4.0 port code into a new header. 2020-05-22 20:48:08 +02:00
18f3095832 Removed the EntityGender enum. Now everything uses plain int model indexes. 2020-05-20 20:38:10 +02:00
577a3b108b EntitySpeciesData now contains an array of SpeciesModelDatas. 2020-05-20 20:20:26 +02:00
69c6af4882 Removed the EntityTypes enum. 2020-05-20 11:51:05 +02:00
fa33d5d57e Renamed ItemVisual to ModelVisual. 2020-05-19 21:09:00 +02:00
b1efeb662a EquipSlots are now customizable from the ProjectSettings. 2020-05-19 18:58:01 +02:00
d20419621d Character, and Class levels are now customizable through ProjectSettings. 2020-05-19 02:19:23 +02:00
9fd0c23f5b Fix compile for 4.0. 2020-05-16 21:32:33 +02:00
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
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
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
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
2c99111860 Entity's character level up uses the new system now aswell. 2020-04-25 19:25:00 +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
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
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
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
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
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
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
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
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
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
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
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
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
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