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
18afb79b58
Added a max value parameter for the stat dependencies.
2019-10-15 21:58:40 +02:00
8ce7742d14
Implemented _from_dict in StatModifier. Stats seems to work properly now.
2019-10-15 20:38:51 +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
1c48fc9634
Added craft recipes to EntityData.
2019-10-07 17:17:21 +02:00
f6ee549d07
Added crafting related functions into the entity.
2019-10-07 16:31:43 +02:00
3fc6579aee
Renamed CraftDataAttribute into CraftRecipe. Also added a few more crafting categories.
2019-10-07 15:25:36 +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
529f8935d6
Added seed to the player.
2019-10-06 00:25:12 +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
7629584851
Cleaned up Stat's constructors.
2019-10-04 22:55:09 +02:00
7c6cb26aba
Implemented looting.
2019-10-02 13:23:04 +02:00
cd2022792b
Fixed calling _cans_interact, and _sinteract in EntityData.
2019-10-02 11:22:20 +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
98e0126e19
Added EntityClassPlaystyleType enum, and removed CharacterWeaponDataTypes.
2019-09-25 12:00:11 +02:00
1d317c56b7
Now entity properly calls unref, on spell cast fails.
2019-09-24 15:18:35 +02:00
081750d4af
Include guard fix.
2019-09-24 02:04:41 +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
d16e580bf4
Moved the container and vendor data into it's own classes from EntityData.
2019-09-17 01:14:19 +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
f3a9a9e14a
Added LevelStatData classes.
2019-09-16 03:13:52 +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
99be4306ce
Added EntitySkill.
2019-09-13 00:23:39 +02:00
1a6bbf5016
Removed FactionComponent.
2019-09-12 23:52:11 +02:00
add4ab2b51
Removed the old (uncleaned) spell data related classes.
2019-09-12 23:45:28 +02:00
db06f601fc
Added stat_points_per_level to EntityData.
2019-09-12 22:55:07 +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
7fbb0c4599
Fixed compile.
2019-09-11 17:24:22 +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
8cc7017351
Removed MobData, and merged it into EntityData. Also cleaned up PlayerCharacterData.
2019-09-09 22:12:04 +02:00
e1c83586a7
EntityData now has a parent EntityData property, for reusing parts of an another one.
2019-09-09 20:36:15 +02:00
6a4d0be1d5
Fix search and replace fail.
2019-09-09 15:50:39 +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
c3828efe05
A lot of work, mostly on the entity bindings. Added a lot of callbacks, and fixed a few bugs.
2019-08-05 01:36:33 +02:00
4f3c21a0cf
Added the aura callbacks into the CharacterClass, and Entity, so they can be scripted via GDScript. Entity calls everything as needed.
...
Also added death events, and callbacks.
2019-08-04 19:13:00 +02:00
3906bea408
Created the bindings for EntityEquipSet, and fixed compile.
2019-07-23 13:55:11 +02:00
57370a733c
Added overrideable ai methods to CharacterClass, and removed some unneeded methods. Also added an AIStates enum.
2019-07-06 21:24:02 +02:00