Commit Graph

285 Commits

Author SHA1 Message Date
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
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
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
30332f7e7d Test implementation for sending objects across the network. 2019-10-23 20:34:08 +02:00
b0ce9818c1 Renamed DataManager to EntityDataManager. Also moved it to the root of the project. 2019-10-19 13:21:21 +02:00
056f9e0358 More bindings cleanup. 2019-10-19 12:47:30 +02:00
2053b9ee76 Small fixes and cleanup. 2019-10-16 14:55:14 +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
fdecd5b733 Removed some unneeded commented out code. 2019-10-15 20:23:51 +02:00
dcd8c65782 More work on stats. 2019-10-15 20:23:13 +02:00
5c4f0a1fe3 Stat refactor part2. 2019-10-15 18:34:19 +02:00
7224490a99 Stat refactoring part 1. 2019-10-15 14:57:59 +02:00
df8331e07f Now entities have an action bar profile aswell. Also fixed small deserialization issues. 2019-10-14 19:49:40 +02:00
84728ccf5c Typo. 2019-10-13 23:06:34 +02:00
91f61d5c38 A little work on _sequip. 2019-10-13 23:05:52 +02:00
d490fa6b61 Added should_deny_equip. 2019-10-13 22:48:25 +02:00
3f586d46d2 Fixed some deserialization <-> setup related issues. 2019-10-13 20:05:03 +02:00
65227db52c Cleanups, and more missing stuff. 2019-10-13 13:53:03 +02:00
698e418d16 Added in the missing equipment related functions. 2019-10-13 13:31:49 +02:00
b578d928bd Added equip hooks. And added a non-existent signal. 2019-10-13 13:12:27 +02:00
2232c37121 Craft recipe loading fixed. 2019-10-12 20:44:42 +02:00
f656b889f9 Small fixes. 2019-10-12 00:21:17 +02:00
f4a00e2876 fixed emitting con_xp_gained. 2019-10-11 08:26:39 +02:00
88d9093996 Various levelling, and serialization related fixes, and improvements. 2019-10-10 00:46:12 +02:00
56cf918da0 level is now 1 by default, and updated levelling related signals. 2019-10-09 17:45:49 +02:00
66018908d5 Implemented bag serialization. 2019-10-09 14:37:23 +02:00
5c1c47f5ce implemented serialization for EntityDataContainer. 2019-10-08 13:37:08 +02:00
7d4b718acc removed the hyphen from s, and clevelup. 2019-10-08 00:30:16 +02:00
f6ee549d07 Added crafting related functions into the entity. 2019-10-07 16:31:43 +02:00
425bf1df2f Removed the stat helper member Refs from entity. 2019-10-07 00:34:12 +02:00
26ba90a9d3 implemented equipslots. 2019-10-07 00:29:05 +02:00
bbb92b244d Renamed _stat_points_per_level to _spell_points_per_level in entity class data, and added free point counters for both spell points, and talent points into entity. 2019-10-06 18:51:16 +02:00
262e278377 Merged Talent and Skill into Aura. 2019-10-06 18:19:04 +02:00
f819668ab0 Removed spell's next rank member, and a bit more work on the talent management functions. 2019-10-06 17:18:44 +02:00
0d294e89cd Cleaned up Talent a bit. 2019-10-06 17:04:28 +02:00
5afc9d4e08 Cleaned up the talent related functions in entity. 2019-10-06 16:47:03 +02:00
18cf024cc5 now an entity can by itself interact, it does not need an EntityData. Useful for opening simpler custom entities, that just open guis. 2019-10-06 00:10:36 +02:00
fa4749f28d Fixed small mistakes in player's serialization, and deserialization. 2019-10-04 22:55:46 +02:00
7c6cb26aba Implemented looting. 2019-10-02 13:23:04 +02:00
435b57337a Added an sspell_cast_success callback. Also the clientside version was finished up. 2019-09-28 17:36:02 +02:00
fc35baf69f Fixed the arguments for a few script virtual callbacks. 2019-09-28 15:23:21 +02:00
d8d2ce895e Fix crash. 2019-09-28 01:04:26 +02:00
bcbc83596a Improved the targeting signals, and callbacks in entity. 2019-09-27 18:05:43 +02:00
d8f702dfb8 Added a mouse entered, and exited signal aswell. 2019-09-25 16:31:28 +02:00
3b1028ddf4 Added mouseover callbacks. 2019-09-25 12:59:21 +02:00
1d317c56b7 Now entity properly calls unref, on spell cast fails. 2019-09-24 15:18:35 +02:00
6074b75ec3 Property style cleanup, and added an entity name changed signal. 2019-09-17 15:35:03 +02:00
5e68f551a3 Cleaned up the talent-related functions in entity. 2019-09-17 14:06:41 +02:00
bd6d2cfde5 Added a _canc_interact vmethod as well. 2019-09-17 02:17:47 +02:00
4aad057925 Added a few remaining things required for entity interactions. 2019-09-17 02:14:24 +02:00
3d8010f028 Fix warning at startup. 2019-09-17 01:25:59 +02:00
0a00a12c32 Split EntityData into EntityClassData, and a new EntityData. 2019-09-17 00:04:37 +02:00
18925ee236 Implemented Bags, and added a InteractionType enum. 2019-09-16 21:57:55 +02:00
e0183a53c6 More from_dicts. 2019-09-14 20:44:50 +02:00
8cafa3bf7d Crash fix. 2019-09-14 02:58:02 +02:00
40ab1c9c00 Simple from_dict implementation. 2019-09-14 01:56:57 +02:00
62b5df080a More work on entity serialization. 2019-09-13 15:21:07 +02:00
7756cf51ec Work on serialization. 2019-09-13 09:26:53 +02:00
f036bf449b Added Spell learning, and Skill support into Entity. And added an XP Rate stat. Also the levelup, and xp gain signals are now actually called. 2019-09-13 01:23:28 +02:00
544aa45a80 Bindings for XPData. 2019-09-12 14:40:57 +02:00
2c8becc27a Added xp and level based events. 2019-09-12 13:26:52 +02:00
cfb2373fd1 Added locked property to Stat. Also fixed a bunch of smaller errors. 2019-09-11 18:18:20 +02:00
4afc637801 Added 3 data classes. 2019-09-11 15:06:30 +02:00
41d94978e6 Added the money field. 2019-09-11 13:06:04 +02:00
870a1f406c Added the basic interact methods to entity, and EntityData. 2019-09-11 12:54:51 +02:00
39a335e36c Added the new enums into EntityData as well. Also small bug and typo fixes. 2019-09-11 12:26:41 +02:00
4bf99ac12d Fix uninitialized variables. 2019-09-11 11:30:29 +02:00