Commit Graph

350 Commits

Author SHA1 Message Date
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
f95ac68a9b renamed character.h and cpp to character_class.h and cpp. 2019-07-06 19:18:07 +02:00
7af76fe42f Fixed uninitialized variables (and an editor cash because of it). 2019-06-30 17:39:13 +02:00
5d0d8b59d3 Fixed healing, and aura healing. 2019-06-25 01:15:08 +02:00
58654d8d70 Added in spell casting related binds. 2019-06-24 23:05:28 +02:00
c9c9267dbb Fixed aura ticks. 2019-06-24 17:58:25 +02:00
f1194ab218 -Added rage, and energy stat.
-Added class resource support.
-Fixed bugs related to auras.
2019-06-22 23:28:36 +02:00
29b3ccb3b3 Fixed targeting. 2019-06-22 01:57:43 +02:00
90e86557c5 More work on networking. 2019-06-18 15:33:28 +02:00
29f4288a54 More networking work. 2019-06-18 02:32:39 +02:00
7cdad4b8eb Work on networking. 2019-06-17 00:07:38 +02:00
cee3c00f97 Added macros for the multiplayer. 2019-06-11 15:20:05 +02:00
69407a2506 Fixed compile. 2019-06-10 20:49:36 +02:00
ee5be20502 Moved a few more function declarations from entity's header to the cpp file. 2019-06-10 20:48:14 +02:00
9aaa5d1d5a -Renamed CharacterSkeletonBoneId to CharacterSkeletonPoints.
-Added rank to spells.
-Removed The Icon class, and the SpellManager.
-More cleanup.
-Removed more collection dynamic allocations.
2019-05-30 00:26:02 +02:00
d4ebbdc69c -Fixed crash in Aura, _setup_aura_data will now set up the time too, and Added more ERR checks.
-is_debuff is now just debuff.
-I realized that Godot Vectors, and Maps are made in a way, so that they don't need to be dynamically allocated. So none of the vectors, and maps are pointers anymore in Entity.
-PlayerTalent is a Reference now.
2019-05-29 17:27:36 +02:00
5692eec91e Now cooldowns are updated. 2019-05-27 18:28:27 +02:00
e9c30b870d Work on bindings. 2019-05-27 14:02:07 +02:00
34295f7a83 Added gcd, cooldowns, category cooldowns, and states to Entity. 2019-05-27 02:50:00 +02:00
565993fdb8 Better way to cast refs at load. 2019-05-07 15:05:55 +02:00
53227bb6fe -Started working on inventory-related classes, and added helper classes for cooldowns. 2019-05-06 18:07:07 +02:00
4c586d459f Added the heal pipeline. 2019-05-06 02:07:51 +02:00
14210ba66d -EntityCreateInfo is now a Reference.
-Bound the initialize method.
2019-05-04 23:20:22 +02:00
b485b4d114 -Moved EntityCreateInfo into it's own file.
-Also registered it.
2019-05-04 18:39:42 +02:00
d06a6615a0 Added fail cond checks, to the new spell system functions inside Aura, Spell, and Entity, to prevent crashes. 2019-05-04 03:05:36 +02:00
e2bf5a5286 -Cleaned up Entity, Aura, and Spell.
-Bound most of the spell system related functions, so they are callable from gdscript.
2019-05-03 23:19:10 +02:00
3e89bc37c9 Added a new CharacterSkeleton class. 2019-05-01 02:49:06 +02:00
d8c40b6b04 Added aura added, and removed signals. 2019-04-28 12:26:14 +02:00
8f0815ce66 Added compile time switch to switch between 2d and 3d mode. 2019-04-22 10:25:41 +02:00
d46e7909f7 Added entities_2d compile-time switch. 2019-04-20 19:09:22 +02:00
032e6622f6 First Commit. 2019-04-20 14:02:55 +02:00