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
50062d8ad4
Added properties from the new enums into entity.
2019-09-11 11:25:52 +02:00
008bf34a34
Added 2 more events.
2019-09-11 11:01:30 +02:00
ca2fe9a6c4
Renamed CharacterClass to EntityData. Also moved it around, with a few related classes.
2019-09-09 14:26:18 +02:00
396c49542c
Finished up the previous change in CharacterClass. Added some temporary comments.
2019-09-08 23:10:22 +02:00
7640ff7884
Now The aura's added, and removed clientside signals are also called properly.
2019-09-08 00:02:21 +02:00
9bbca6d4b5
Clientside spell cast callbacks are now properly called.
2019-09-07 16:52:11 +02:00
06436b27f8
Moved the inventory system into Player. Also Added a new inventory class, and renamed everything in playyer to use that instead of bag.
2019-08-16 02:24:32 +02:00
3cce6b0ae8
-Talent is now inherited from Aura.
...
-Cleaned up the talent system specific classes.
-The ResourceManager now loads talents aswell.
-Cleaned up, and made the EntityResource system scriptable.
-Fixed the stat signals, the stat parameter was null every time. ("this" should've been wrapped in a Ref.)
2019-08-13 23:58:42 +02:00
895525a998
Work on fleshing out the inventory system.
2019-08-07 01:54:59 +02:00
38b155d4ad
-Moved StatModifier from Stats to it's own file. Also updated i.
...
-Removed the old, now unneeded SpellCastData stuff from Entity.
-Small interface fixed to stat, also fixed applying and deapplying modifiers.
-Fixed AuraStatAttribute's bindings.
-Made the aura commands a little more intuitive.
-Added gcd callback bindings.
-Has Global Cooldonw in spell is now defaults to true.
-Small binding fixes.
2019-08-05 23:59:37 +02:00
39c9d6c36d
Now the clientside gcds also refresh.
2019-08-05 15:38:01 +02:00
716f1833c4
Small fixes to Cooldown and CategoryCooldown event / signaling logic.
2019-08-05 10:55:50 +02:00