mirror of
https://github.com/Relintai/broken_seals.git
synced 2024-12-25 01:17:10 +01:00
Health and Speed are now EntityResources. The Stat versions are now just flat modifiers to them. Added back the Mana stat as a flat mana modifier. Also updated ESS to get the changes necessary for this system.
This commit is contained in:
parent
7b76a90a8f
commit
3544cd88fc
2
HEADS
2
HEADS
@ -1 +1 @@
|
|||||||
{"engine": {"3.2": "be5a47e75d4b671a48b0a35eb17887ee38d8516c", "master": "8c73e813134001e575b6f59e3b0100471c007410"}, "world_generator": {"master": "97f10512f8832394389e1109154b8af34a2ef2c6"}, "entity_spell_system": {"master": "157edcc8d628d1598c35f4496dae32b1359a0e0a"}, "ui_extensions": {"master": "6fe4f69fea8d71043b08d959b8085404c9c4fe47"}, "voxelman": {"master": "19f3c1f8ff34331a2f1bedf260637e415b3df7d0"}, "texture_packer": {"master": "b29b499adf570aa7f85af69ef080ff0d5e04afae"}, "fastnoise": {"master": "d0e3f1c759332cf0d9a5d7e0e71d0b0278310651"}, "mesh_data_resource": {"master": "4ee946963a16bbfdb4dbb5df52134d22aa168041"}, "procedural_animations": {"master": "9ae56c17230ba9c6160777650b2b89eecdc8df9e"}, "ess_data": {"master": "3bd637fdd3304b64a18287a49a6b7387acf2f5de"}, "fast_quadratic_mesh_simplifier": {"master": "f6d3d65cc6ce4dddfc68054164feec1f612ecd1f"}, "props": {"master": "b2bcb5ea6469b19298cd849c1232ddb5ad26f71c"}}
|
{"engine": {"3.2": "4dda00461f6aa45bcb0c043c911b5f0b995206a6", "master": "8c73e813134001e575b6f59e3b0100471c007410"}, "world_generator": {"master": "97f10512f8832394389e1109154b8af34a2ef2c6"}, "entity_spell_system": {"master": "8d680240ea583b2e19ecceffca254e3d46008018"}, "ui_extensions": {"master": "6fe4f69fea8d71043b08d959b8085404c9c4fe47"}, "voxelman": {"master": "19f3c1f8ff34331a2f1bedf260637e415b3df7d0"}, "texture_packer": {"master": "b29b499adf570aa7f85af69ef080ff0d5e04afae"}, "fastnoise": {"master": "d0e3f1c759332cf0d9a5d7e0e71d0b0278310651"}, "mesh_data_resource": {"master": "4ee946963a16bbfdb4dbb5df52134d22aa168041"}, "procedural_animations": {"master": "9ae56c17230ba9c6160777650b2b89eecdc8df9e"}, "ess_data": {"master": "3bd637fdd3304b64a18287a49a6b7387acf2f5de"}, "fast_quadratic_mesh_simplifier": {"master": "f6d3d65cc6ce4dddfc68054164feec1f612ecd1f"}, "props": {"master": "b2bcb5ea6469b19298cd849c1232ddb5ad26f71c"}}
|
@ -0,0 +1,7 @@
|
|||||||
|
[gd_resource type="EntityResourceData" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://scripts/resources/HealthResourceData.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
id = 1
|
||||||
|
script = ExtResource( 1 )
|
7
game/modules/core/entity_resources/3_speed_resource.tres
Normal file
7
game/modules/core/entity_resources/3_speed_resource.tres
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[gd_resource type="EntityResourceData" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://scripts/resources/SpeedResourceData.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
id = 1
|
||||||
|
script = ExtResource( 1 )
|
@ -3,7 +3,6 @@
|
|||||||
[ext_resource path="res://scripts/game_modules/GameModule.gd" type="Script" id=1]
|
[ext_resource path="res://scripts/game_modules/GameModule.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://modules/core/resource_db.tres" type="ESSResourceDBStatic" id=2]
|
[ext_resource path="res://modules/core/resource_db.tres" type="ESSResourceDBStatic" id=2]
|
||||||
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
resource_db = ExtResource( 2 )
|
resource_db = ExtResource( 2 )
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[gd_resource type="ESSResourceDBStatic" load_steps=9 format=2]
|
[gd_resource type="ESSResourceDBStatic" load_steps=11 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://modules/core/item_templates/2_test.tres" type="ItemTemplate" id=1]
|
[ext_resource path="res://modules/core/item_templates/2_test.tres" type="ItemTemplate" id=1]
|
||||||
[ext_resource path="res://modules/core/item_templates/3_chest_of_the_infinite_wisdom.tres" type="ItemTemplate" id=2]
|
[ext_resource path="res://modules/core/item_templates/3_chest_of_the_infinite_wisdom.tres" type="ItemTemplate" id=2]
|
||||||
@ -8,11 +8,12 @@
|
|||||||
[ext_resource path="res://modules/core/crafting/1_test_craft.tres" type="CraftRecipe" id=6]
|
[ext_resource path="res://modules/core/crafting/1_test_craft.tres" type="CraftRecipe" id=6]
|
||||||
[ext_resource path="res://modules/core/entity_resources/1_mana_resource.tres" type="EntityResourceData" id=7]
|
[ext_resource path="res://modules/core/entity_resources/1_mana_resource.tres" type="EntityResourceData" id=7]
|
||||||
[ext_resource path="res://modules/core/xp/xp_data.tres" type="XPData" id=8]
|
[ext_resource path="res://modules/core/xp/xp_data.tres" type="XPData" id=8]
|
||||||
|
[ext_resource path="res://modules/core/entity_resources/3_speed_resource.tres" type="EntityResourceData" id=9]
|
||||||
|
[ext_resource path="res://modules/core/entity_resources/2_health_resource.tres" type="EntityResourceData" id=10]
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
xp_data = ExtResource( 8 )
|
xp_data = ExtResource( 8 )
|
||||||
entity_resources = [ ExtResource( 7 ) ]
|
entity_resources = [ ExtResource( 7 ), ExtResource( 10 ), ExtResource( 9 ) ]
|
||||||
entity_skills = [ ExtResource( 4 ) ]
|
entity_skills = [ ExtResource( 4 ) ]
|
||||||
craft_recipes = [ ExtResource( 6 ), ExtResource( 3 ) ]
|
craft_recipes = [ ExtResource( 6 ), ExtResource( 3 ) ]
|
||||||
item_templates = [ ExtResource( 5 ), ExtResource( 1 ), ExtResource( 2 ) ]
|
item_templates = [ ExtResource( 5 ), ExtResource( 1 ), ExtResource( 2 ) ]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[gd_resource type="EntityClassData" load_steps=51 format=2]
|
[gd_resource type="EntityClassData" load_steps=50 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://scripts/entities/EntityClassDataGD.gd" type="Script" id=1]
|
[ext_resource path="res://scripts/entities/EntityClassDataGD.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://modules/entity_classes/elementalist/character_specs/2_elementalist_fire.tres" type="CharacterSpec" id=2]
|
[ext_resource path="res://modules/entity_classes/elementalist/character_specs/2_elementalist_fire.tres" type="CharacterSpec" id=2]
|
||||||
@ -8,9 +8,6 @@
|
|||||||
[ext_resource path="res://modules/entity_classes/elementalist/spells/32_heat.tres" type="Spell" id=6]
|
[ext_resource path="res://modules/entity_classes/elementalist/spells/32_heat.tres" type="Spell" id=6]
|
||||||
[ext_resource path="res://modules/entity_classes/elementalist/spells/33_normal.tres" type="Spell" id=7]
|
[ext_resource path="res://modules/entity_classes/elementalist/spells/33_normal.tres" type="Spell" id=7]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[sub_resource type="SimpleLevelStatData" id=1]
|
[sub_resource type="SimpleLevelStatData" id=1]
|
||||||
agility = 4
|
agility = 4
|
||||||
strength = 5
|
strength = 5
|
||||||
@ -78,125 +75,120 @@ base = 5.0
|
|||||||
stat_id = 33
|
stat_id = 33
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=21]
|
[sub_resource type="StatDataEntry" id=21]
|
||||||
stat_id = 7
|
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=22]
|
|
||||||
stat_id = 15
|
stat_id = 15
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=23]
|
[sub_resource type="StatDataEntry" id=22]
|
||||||
stat_id = 16
|
stat_id = 16
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=24]
|
[sub_resource type="StatDataEntry" id=23]
|
||||||
stat_id = 26
|
stat_id = 26
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=25]
|
[sub_resource type="StatDataEntry" id=24]
|
||||||
stat_id = 22
|
stat_id = 22
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=26]
|
[sub_resource type="StatDataEntry" id=25]
|
||||||
stat_id = 30
|
stat_id = 30
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=27]
|
[sub_resource type="StatDataEntry" id=26]
|
||||||
stat_id = 20
|
stat_id = 20
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=28]
|
[sub_resource type="StatDataEntry" id=27]
|
||||||
stat_id = 39
|
stat_id = 39
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=29]
|
[sub_resource type="StatDataEntry" id=28]
|
||||||
stat_id = 11
|
stat_id = 11
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=30]
|
[sub_resource type="StatDataEntry" id=29]
|
||||||
stat_id = 29
|
stat_id = 29
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=31]
|
[sub_resource type="StatDataEntry" id=30]
|
||||||
stat_id = 35
|
stat_id = 35
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=32]
|
[sub_resource type="StatDataEntry" id=31]
|
||||||
stat_id = 6
|
stat_id = 6
|
||||||
base = 4.2
|
base = 4.2
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=33]
|
[sub_resource type="StatDataEntry" id=32]
|
||||||
stat_id = 17
|
stat_id = 17
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=34]
|
[sub_resource type="StatDataEntry" id=33]
|
||||||
stat_id = 18
|
stat_id = 18
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=35]
|
[sub_resource type="StatDataEntry" id=34]
|
||||||
stat_id = 27
|
stat_id = 27
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=36]
|
[sub_resource type="StatDataEntry" id=35]
|
||||||
stat_id = 23
|
stat_id = 23
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=37]
|
[sub_resource type="StatDataEntry" id=36]
|
||||||
stat_id = 14
|
stat_id = 14
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=38]
|
[sub_resource type="StatDataEntry" id=37]
|
||||||
stat_id = 4
|
stat_id = 4
|
||||||
base = 4.0
|
base = 4.0
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=39]
|
[sub_resource type="StatDataEntry" id=38]
|
||||||
stat_id = 2
|
stat_id = 2
|
||||||
base = 6.0
|
base = 6.0
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=40]
|
[sub_resource type="StatDataEntry" id=39]
|
||||||
stat_id = 1
|
stat_id = 1
|
||||||
base = 5.0
|
base = 5.0
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=41]
|
[sub_resource type="StatDataEntry" id=40]
|
||||||
stat_id = 37
|
stat_id = 37
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=42]
|
[sub_resource type="StatDataEntry" id=41]
|
||||||
stat_id = 40
|
stat_id = 40
|
||||||
|
|
||||||
[sub_resource type="StatData" id=43]
|
[sub_resource type="StatData" id=42]
|
||||||
level_stat_data = SubResource( 1 )
|
level_stat_data = SubResource( 1 )
|
||||||
stat/agility = SubResource( 2 )
|
stat/agility = SubResource( 2 )
|
||||||
stat/strength = SubResource( 40 )
|
stat/strength = SubResource( 39 )
|
||||||
stat/stamina = SubResource( 39 )
|
stat/stamina = SubResource( 38 )
|
||||||
stat/intellect = SubResource( 19 )
|
stat/intellect = SubResource( 19 )
|
||||||
stat/spirit = SubResource( 38 )
|
stat/spirit = SubResource( 37 )
|
||||||
stat/health = SubResource( 17 )
|
stat/health = SubResource( 17 )
|
||||||
stat/speed = SubResource( 32 )
|
stat/speed = SubResource( 31 )
|
||||||
stat/mana = SubResource( 21 )
|
|
||||||
stat/global_cooldown = SubResource( 13 )
|
stat/global_cooldown = SubResource( 13 )
|
||||||
stat/haste = SubResource( 14 )
|
stat/haste = SubResource( 14 )
|
||||||
stat/haste_rating = SubResource( 15 )
|
stat/haste_rating = SubResource( 15 )
|
||||||
stat/resilience = SubResource( 29 )
|
stat/resilience = SubResource( 28 )
|
||||||
stat/armor = SubResource( 3 )
|
stat/armor = SubResource( 3 )
|
||||||
stat/attack_power = SubResource( 4 )
|
stat/attack_power = SubResource( 4 )
|
||||||
stat/spell_power = SubResource( 37 )
|
stat/spell_power = SubResource( 36 )
|
||||||
stat/melee_crit = SubResource( 22 )
|
stat/melee_crit = SubResource( 21 )
|
||||||
stat/melee_crit_bonus = SubResource( 23 )
|
stat/melee_crit_bonus = SubResource( 22 )
|
||||||
stat/spell_crit = SubResource( 33 )
|
stat/spell_crit = SubResource( 32 )
|
||||||
stat/spell_crit_bonus = SubResource( 34 )
|
stat/spell_crit_bonus = SubResource( 33 )
|
||||||
stat/block = SubResource( 5 )
|
stat/block = SubResource( 5 )
|
||||||
stat/parry = SubResource( 27 )
|
stat/parry = SubResource( 26 )
|
||||||
stat/damage_reduction = SubResource( 7 )
|
stat/damage_reduction = SubResource( 7 )
|
||||||
stat/melee_damage_reduction = SubResource( 25 )
|
stat/melee_damage_reduction = SubResource( 24 )
|
||||||
stat/spell_damage_reduction = SubResource( 36 )
|
stat/spell_damage_reduction = SubResource( 35 )
|
||||||
stat/damage_taken = SubResource( 8 )
|
stat/damage_taken = SubResource( 8 )
|
||||||
stat/heal_taken = SubResource( 16 )
|
stat/heal_taken = SubResource( 16 )
|
||||||
stat/melee_damage = SubResource( 24 )
|
stat/melee_damage = SubResource( 23 )
|
||||||
stat/spell_damage = SubResource( 35 )
|
stat/spell_damage = SubResource( 34 )
|
||||||
stat/holy_resist = SubResource( 18 )
|
stat/holy_resist = SubResource( 18 )
|
||||||
stat/shadow_resist = SubResource( 30 )
|
stat/shadow_resist = SubResource( 29 )
|
||||||
stat/nature_resist = SubResource( 26 )
|
stat/nature_resist = SubResource( 25 )
|
||||||
stat/fire_resist = SubResource( 11 )
|
stat/fire_resist = SubResource( 11 )
|
||||||
stat/frost_resist = SubResource( 12 )
|
stat/frost_resist = SubResource( 12 )
|
||||||
stat/lightning_resist = SubResource( 20 )
|
stat/lightning_resist = SubResource( 20 )
|
||||||
stat/chaos_resist = SubResource( 6 )
|
stat/chaos_resist = SubResource( 6 )
|
||||||
stat/silence_resist = SubResource( 31 )
|
stat/silence_resist = SubResource( 30 )
|
||||||
stat/fear_resist = SubResource( 10 )
|
stat/fear_resist = SubResource( 10 )
|
||||||
stat/stun_resist = SubResource( 41 )
|
stat/stun_resist = SubResource( 40 )
|
||||||
stat/energy = SubResource( 9 )
|
stat/energy = SubResource( 9 )
|
||||||
stat/rage = SubResource( 28 )
|
stat/rage = SubResource( 27 )
|
||||||
stat/xp_rate = SubResource( 42 )
|
stat/xp_rate = SubResource( 41 )
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
resource_name = "Elementalist"
|
resource_name = "Elementalist"
|
||||||
id = 2
|
id = 2
|
||||||
text_name = "Elementalist"
|
text_name = "Elementalist"
|
||||||
stat_data = SubResource( 43 )
|
stat_data = SubResource( 42 )
|
||||||
player_resource_type = 2
|
|
||||||
playstyle_type = 2
|
playstyle_type = 2
|
||||||
specs = [ ExtResource( 2 ), ExtResource( 3 ), ExtResource( 4 ) ]
|
specs = [ ExtResource( 2 ), ExtResource( 3 ), ExtResource( 4 ) ]
|
||||||
spells = [ ExtResource( 6 ), ExtResource( 7 ), ExtResource( 5 ) ]
|
spells = [ ExtResource( 6 ), ExtResource( 7 ), ExtResource( 5 ) ]
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[gd_resource type="EntityClassData" load_steps=71 format=2]
|
[gd_resource type="EntityClassData" load_steps=74 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/spells/16_close_wounds_rank_1.tres" type="Spell" id=1]
|
[ext_resource path="res://modules/entity_classes/naturalist/spells/16_close_wounds_rank_1.tres" type="Spell" id=1]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/spells/19_uproot_rank_1.tres" type="Spell" id=2]
|
[ext_resource path="res://modules/entity_classes/naturalist/spells/19_uproot_rank_1.tres" type="Spell" id=2]
|
||||||
@ -24,6 +24,8 @@
|
|||||||
[ext_resource path="res://modules/entity_classes/naturalist/spells/25_inner_will.tres" type="Spell" id=22]
|
[ext_resource path="res://modules/entity_classes/naturalist/spells/25_inner_will.tres" type="Spell" id=22]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/spells/15_rejuvenation_rank_1.tres" type="Spell" id=23]
|
[ext_resource path="res://modules/entity_classes/naturalist/spells/15_rejuvenation_rank_1.tres" type="Spell" id=23]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/spells/18_natures_swiftness_rank_1.tres" type="Spell" id=24]
|
[ext_resource path="res://modules/entity_classes/naturalist/spells/18_natures_swiftness_rank_1.tres" type="Spell" id=24]
|
||||||
|
[ext_resource path="res://modules/core/entity_resources/3_speed_resource.tres" type="EntityResourceData" id=25]
|
||||||
|
[ext_resource path="res://modules/core/entity_resources/2_health_resource.tres" type="EntityResourceData" id=26]
|
||||||
|
|
||||||
[sub_resource type="EntityAI" id=1]
|
[sub_resource type="EntityAI" id=1]
|
||||||
script = ExtResource( 9 )
|
script = ExtResource( 9 )
|
||||||
@ -106,122 +108,123 @@ base = 20.0
|
|||||||
stat_id = 33
|
stat_id = 33
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=25]
|
[sub_resource type="StatDataEntry" id=25]
|
||||||
stat_id = 15
|
stat_id = 6
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=26]
|
[sub_resource type="StatDataEntry" id=26]
|
||||||
stat_id = 16
|
stat_id = 15
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=27]
|
[sub_resource type="StatDataEntry" id=27]
|
||||||
stat_id = 26
|
stat_id = 16
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=28]
|
[sub_resource type="StatDataEntry" id=28]
|
||||||
stat_id = 22
|
stat_id = 26
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=29]
|
[sub_resource type="StatDataEntry" id=29]
|
||||||
stat_id = 30
|
stat_id = 22
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=30]
|
[sub_resource type="StatDataEntry" id=30]
|
||||||
stat_id = 20
|
stat_id = 30
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=31]
|
[sub_resource type="StatDataEntry" id=31]
|
||||||
stat_id = 39
|
stat_id = 20
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=32]
|
[sub_resource type="StatDataEntry" id=32]
|
||||||
stat_id = 11
|
stat_id = 39
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=33]
|
[sub_resource type="StatDataEntry" id=33]
|
||||||
stat_id = 29
|
stat_id = 11
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=34]
|
[sub_resource type="StatDataEntry" id=34]
|
||||||
stat_id = 35
|
stat_id = 29
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=35]
|
[sub_resource type="StatDataEntry" id=35]
|
||||||
stat_id = 6
|
stat_id = 35
|
||||||
base = 4.2
|
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=36]
|
[sub_resource type="StatDataEntry" id=36]
|
||||||
stat_id = 17
|
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=37]
|
[sub_resource type="StatDataEntry" id=37]
|
||||||
stat_id = 18
|
stat_id = 17
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=38]
|
[sub_resource type="StatDataEntry" id=38]
|
||||||
stat_id = 27
|
stat_id = 18
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=39]
|
[sub_resource type="StatDataEntry" id=39]
|
||||||
stat_id = 23
|
stat_id = 27
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=40]
|
[sub_resource type="StatDataEntry" id=40]
|
||||||
stat_id = 14
|
stat_id = 23
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=41]
|
[sub_resource type="StatDataEntry" id=41]
|
||||||
|
stat_id = 14
|
||||||
|
|
||||||
|
[sub_resource type="StatDataEntry" id=42]
|
||||||
stat_id = 4
|
stat_id = 4
|
||||||
base = 9.0
|
base = 9.0
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=42]
|
[sub_resource type="StatDataEntry" id=43]
|
||||||
stat_id = 2
|
stat_id = 2
|
||||||
base = 17.0
|
base = 17.0
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=43]
|
[sub_resource type="StatDataEntry" id=44]
|
||||||
stat_id = 1
|
stat_id = 1
|
||||||
base = 8.0
|
base = 8.0
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=44]
|
[sub_resource type="StatDataEntry" id=45]
|
||||||
stat_id = 37
|
stat_id = 37
|
||||||
|
|
||||||
[sub_resource type="StatDataEntry" id=45]
|
[sub_resource type="StatDataEntry" id=46]
|
||||||
stat_id = 40
|
stat_id = 40
|
||||||
|
|
||||||
[sub_resource type="StatData" id=46]
|
[sub_resource type="StatData" id=47]
|
||||||
level_stat_data = SubResource( 5 )
|
level_stat_data = SubResource( 5 )
|
||||||
stat/agility = SubResource( 6 )
|
stat/agility = SubResource( 6 )
|
||||||
stat/strength = SubResource( 43 )
|
stat/strength = SubResource( 44 )
|
||||||
stat/stamina = SubResource( 42 )
|
stat/stamina = SubResource( 43 )
|
||||||
stat/intellect = SubResource( 23 )
|
stat/intellect = SubResource( 23 )
|
||||||
stat/spirit = SubResource( 41 )
|
stat/spirit = SubResource( 42 )
|
||||||
stat/health = SubResource( 21 )
|
stat/health = SubResource( 21 )
|
||||||
stat/speed = SubResource( 35 )
|
stat/mana = SubResource( 25 )
|
||||||
|
stat/speed = SubResource( 36 )
|
||||||
stat/global_cooldown = SubResource( 17 )
|
stat/global_cooldown = SubResource( 17 )
|
||||||
stat/haste = SubResource( 18 )
|
stat/haste = SubResource( 18 )
|
||||||
stat/haste_rating = SubResource( 19 )
|
stat/haste_rating = SubResource( 19 )
|
||||||
stat/resilience = SubResource( 32 )
|
stat/resilience = SubResource( 33 )
|
||||||
stat/armor = SubResource( 7 )
|
stat/armor = SubResource( 7 )
|
||||||
stat/attack_power = SubResource( 8 )
|
stat/attack_power = SubResource( 8 )
|
||||||
stat/spell_power = SubResource( 40 )
|
stat/spell_power = SubResource( 41 )
|
||||||
stat/melee_crit = SubResource( 25 )
|
stat/melee_crit = SubResource( 26 )
|
||||||
stat/melee_crit_bonus = SubResource( 26 )
|
stat/melee_crit_bonus = SubResource( 27 )
|
||||||
stat/spell_crit = SubResource( 36 )
|
stat/spell_crit = SubResource( 37 )
|
||||||
stat/spell_crit_bonus = SubResource( 37 )
|
stat/spell_crit_bonus = SubResource( 38 )
|
||||||
stat/block = SubResource( 9 )
|
stat/block = SubResource( 9 )
|
||||||
stat/parry = SubResource( 30 )
|
stat/parry = SubResource( 31 )
|
||||||
stat/damage_reduction = SubResource( 11 )
|
stat/damage_reduction = SubResource( 11 )
|
||||||
stat/melee_damage_reduction = SubResource( 28 )
|
stat/melee_damage_reduction = SubResource( 29 )
|
||||||
stat/spell_damage_reduction = SubResource( 39 )
|
stat/spell_damage_reduction = SubResource( 40 )
|
||||||
stat/damage_taken = SubResource( 12 )
|
stat/damage_taken = SubResource( 12 )
|
||||||
stat/heal_taken = SubResource( 20 )
|
stat/heal_taken = SubResource( 20 )
|
||||||
stat/melee_damage = SubResource( 27 )
|
stat/melee_damage = SubResource( 28 )
|
||||||
stat/spell_damage = SubResource( 38 )
|
stat/spell_damage = SubResource( 39 )
|
||||||
stat/holy_resist = SubResource( 22 )
|
stat/holy_resist = SubResource( 22 )
|
||||||
stat/shadow_resist = SubResource( 33 )
|
stat/shadow_resist = SubResource( 34 )
|
||||||
stat/nature_resist = SubResource( 29 )
|
stat/nature_resist = SubResource( 30 )
|
||||||
stat/fire_resist = SubResource( 15 )
|
stat/fire_resist = SubResource( 15 )
|
||||||
stat/frost_resist = SubResource( 16 )
|
stat/frost_resist = SubResource( 16 )
|
||||||
stat/lightning_resist = SubResource( 24 )
|
stat/lightning_resist = SubResource( 24 )
|
||||||
stat/chaos_resist = SubResource( 10 )
|
stat/chaos_resist = SubResource( 10 )
|
||||||
stat/silence_resist = SubResource( 34 )
|
stat/silence_resist = SubResource( 35 )
|
||||||
stat/fear_resist = SubResource( 14 )
|
stat/fear_resist = SubResource( 14 )
|
||||||
stat/stun_resist = SubResource( 44 )
|
stat/stun_resist = SubResource( 45 )
|
||||||
stat/energy = SubResource( 13 )
|
stat/energy = SubResource( 13 )
|
||||||
stat/rage = SubResource( 31 )
|
stat/rage = SubResource( 32 )
|
||||||
stat/xp_rate = SubResource( 45 )
|
stat/xp_rate = SubResource( 46 )
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
resource_name = "Naturalist"
|
resource_name = "Naturalist"
|
||||||
id = 1
|
id = 1
|
||||||
text_name = "Naturalist"
|
text_name = "Naturalist"
|
||||||
stat_data = SubResource( 46 )
|
stat_data = SubResource( 47 )
|
||||||
player_resource_type = 2
|
entity_resources = [ ExtResource( 26 ), ExtResource( 25 ), ExtResource( 8 ) ]
|
||||||
entity_resources = [ ExtResource( 8 ) ]
|
|
||||||
specs = [ SubResource( 4 ) ]
|
specs = [ SubResource( 4 ) ]
|
||||||
spells = [ ExtResource( 7 ), ExtResource( 3 ), ExtResource( 15 ), ExtResource( 5 ), ExtResource( 12 ), ExtResource( 23 ), ExtResource( 1 ), ExtResource( 10 ), ExtResource( 24 ), ExtResource( 2 ), ExtResource( 19 ), ExtResource( 18 ), ExtResource( 17 ), ExtResource( 20 ), ExtResource( 11 ), ExtResource( 22 ), ExtResource( 16 ), ExtResource( 21 ), ExtResource( 14 ) ]
|
spells = [ ExtResource( 7 ), ExtResource( 3 ), ExtResource( 15 ), ExtResource( 5 ), ExtResource( 12 ), ExtResource( 23 ), ExtResource( 1 ), ExtResource( 10 ), ExtResource( 24 ), ExtResource( 2 ), ExtResource( 19 ), ExtResource( 18 ), ExtResource( 17 ), ExtResource( 20 ), ExtResource( 11 ), ExtResource( 22 ), ExtResource( 16 ), ExtResource( 21 ), ExtResource( 14 ) ]
|
||||||
start_spells = [ ExtResource( 7 ), ExtResource( 21 ), ExtResource( 14 ) ]
|
start_spells = [ ExtResource( 7 ), ExtResource( 21 ), ExtResource( 14 ) ]
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_scorpions.tres" type="Texture" id=2]
|
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_scorpions.tres" type="Texture" id=2]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/aura_groups/1_aspect_of_scorpions.tres" type="AuraGroup" id=3]
|
[ext_resource path="res://modules/entity_classes/naturalist/aura_groups/1_aspect_of_scorpions.tres" type="AuraGroup" id=3]
|
||||||
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
resource_name = "Aspect of Scorpions"
|
resource_name = "Aspect of Scorpions"
|
||||||
id = 9
|
id = 9
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_wasps.tres" type="Texture" id=2]
|
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_wasps.tres" type="Texture" id=2]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/aura_groups/2_aspect_of_wasps.tres" type="AuraGroup" id=3]
|
[ext_resource path="res://modules/entity_classes/naturalist/aura_groups/2_aspect_of_wasps.tres" type="AuraGroup" id=3]
|
||||||
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
resource_name = "Aspect of Wasps"
|
resource_name = "Aspect of Wasps"
|
||||||
id = 10
|
id = 10
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_wolves.tres" type="Texture" id=2]
|
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_wolves.tres" type="Texture" id=2]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/aura_groups/3_aspect_of_wolves.tres" type="AuraGroup" id=3]
|
[ext_resource path="res://modules/entity_classes/naturalist/aura_groups/3_aspect_of_wolves.tres" type="AuraGroup" id=3]
|
||||||
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
resource_name = "Aspect of Wolves"
|
resource_name = "Aspect of Wolves"
|
||||||
id = 11
|
id = 11
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_bees.tres" type="Texture" id=2]
|
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_bees.tres" type="Texture" id=2]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/aura_groups/4_aspect_of_bees.tres" type="AuraGroup" id=3]
|
[ext_resource path="res://modules/entity_classes/naturalist/aura_groups/4_aspect_of_bees.tres" type="AuraGroup" id=3]
|
||||||
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
resource_name = "Aspect of Bees"
|
resource_name = "Aspect of Bees"
|
||||||
id = 12
|
id = 12
|
||||||
|
@ -3,8 +3,6 @@
|
|||||||
[ext_resource path="res://scripts/resources/spell_effect_visual_basic.gd" type="Script" id=1]
|
[ext_resource path="res://scripts/resources/spell_effect_visual_basic.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/spell_effects/nature/NautreSwiftness.tscn" type="PackedScene" id=2]
|
[ext_resource path="res://modules/entity_classes/naturalist/spell_effects/nature/NautreSwiftness.tscn" type="PackedScene" id=2]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
torso_aura_effect_time = 0.0
|
torso_aura_effect_time = 0.0
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
[ext_resource path="res://scripts/game_modules/GameModule.gd" type="Script" id=1]
|
[ext_resource path="res://scripts/game_modules/GameModule.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/resource_db.tres" type="ESSResourceDBStatic" id=2]
|
[ext_resource path="res://modules/entity_classes/naturalist/resource_db.tres" type="ESSResourceDBStatic" id=2]
|
||||||
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
resource_db = ExtResource( 2 )
|
resource_db = ExtResource( 2 )
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
[ext_resource path="res://modules/entity_classes/naturalist/auras/21_aspect_of_scorpions.tres" type="Aura" id=3]
|
[ext_resource path="res://modules/entity_classes/naturalist/auras/21_aspect_of_scorpions.tres" type="Aura" id=3]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/effect_data/aspect_of_scorpions.tres" type="SpellEffectVisual" id=4]
|
[ext_resource path="res://modules/entity_classes/naturalist/effect_data/aspect_of_scorpions.tres" type="SpellEffectVisual" id=4]
|
||||||
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
resource_name = "Aspect of Scorpions"
|
resource_name = "Aspect of Scorpions"
|
||||||
id = 17
|
id = 17
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
[ext_resource path="res://modules/entity_classes/naturalist/auras/22_aspect_of_wasps.tres" type="Aura" id=2]
|
[ext_resource path="res://modules/entity_classes/naturalist/auras/22_aspect_of_wasps.tres" type="Aura" id=2]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_wasps.tres" type="Texture" id=3]
|
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_wasps.tres" type="Texture" id=3]
|
||||||
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
resource_name = "Aspect of Wasps"
|
resource_name = "Aspect of Wasps"
|
||||||
id = 18
|
id = 18
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
[ext_resource path="res://modules/entity_classes/naturalist/auras/23_aspect_of_wolves.tres" type="Aura" id=2]
|
[ext_resource path="res://modules/entity_classes/naturalist/auras/23_aspect_of_wolves.tres" type="Aura" id=2]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_wolves.tres" type="Texture" id=3]
|
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_wolves.tres" type="Texture" id=3]
|
||||||
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
resource_name = "Aspect of Wolves"
|
resource_name = "Aspect of Wolves"
|
||||||
id = 19
|
id = 19
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
[ext_resource path="res://modules/entity_classes/naturalist/auras/24_aspect_of_bees.tres" type="Aura" id=2]
|
[ext_resource path="res://modules/entity_classes/naturalist/auras/24_aspect_of_bees.tres" type="Aura" id=2]
|
||||||
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_bees.tres" type="Texture" id=3]
|
[ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_bees.tres" type="Texture" id=3]
|
||||||
|
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
resource_name = "Aspect of Bees"
|
resource_name = "Aspect of Bees"
|
||||||
id = 20
|
id = 20
|
||||||
|
@ -89,11 +89,7 @@ var entity : Entity
|
|||||||
var model_rotation_node : Spatial
|
var model_rotation_node : Spatial
|
||||||
var character_skeleton : CharacterSkeleton3D
|
var character_skeleton : CharacterSkeleton3D
|
||||||
|
|
||||||
var speed_stat_id : int
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
speed_stat_id = ESS.stat_get_id("Speed")
|
|
||||||
|
|
||||||
camera = get_node_or_null("CameraPivot/Camera") as Camera
|
camera = get_node_or_null("CameraPivot/Camera") as Camera
|
||||||
camera_pivot = get_node_or_null("CameraPivot") as Spatial
|
camera_pivot = get_node_or_null("CameraPivot") as Spatial
|
||||||
|
|
||||||
@ -262,7 +258,7 @@ func process_movement_player(delta : float) -> void:
|
|||||||
hvel.y = 0
|
hvel.y = 0
|
||||||
|
|
||||||
var target : Vector3 = dir
|
var target : Vector3 = dir
|
||||||
target *= entity.get_stat(speed_stat_id).ccurrent
|
target *= entity.getc_resource_index(EntityEnums.ENTITY_RESOURCE_INDEX_SPEED).current_value / 100.0 * 4.2
|
||||||
|
|
||||||
var accel
|
var accel
|
||||||
if dir.dot(hvel) > 0:
|
if dir.dot(hvel) > 0:
|
||||||
@ -336,7 +332,7 @@ func process_movement_mob(delta : float) -> void:
|
|||||||
hvel.y = 0
|
hvel.y = 0
|
||||||
|
|
||||||
var target : Vector3 = dir
|
var target : Vector3 = dir
|
||||||
target *= entity.get_stat(speed_stat_id).ccurrent
|
target *= entity.getc_resource_index(EntityEnums.ENTITY_RESOURCE_INDEX_SPEED).current_value / 100.0 * 4.2
|
||||||
|
|
||||||
var accel
|
var accel
|
||||||
if dir.dot(hvel) > 0:
|
if dir.dot(hvel) > 0:
|
||||||
|
@ -37,7 +37,7 @@ func _ready():
|
|||||||
|
|
||||||
func c_on_damage_taken(entity, dpd):
|
func c_on_damage_taken(entity, dpd):
|
||||||
print("c " + str(dpd.damage))
|
print("c " + str(dpd.damage))
|
||||||
print("ch " + str(get_health().ccurrent) + "/" + str(get_health().cmax))
|
# print("ch " + str(get_health().ccurrent) + "/" + str(get_health().cmax))
|
||||||
pass
|
pass
|
||||||
|
|
||||||
func s_on_damage_taken(entity, dpd):
|
func s_on_damage_taken(entity, dpd):
|
||||||
|
@ -44,21 +44,15 @@ var health_bar : TextureProgress = null
|
|||||||
var health_bar_label : Label = null
|
var health_bar_label : Label = null
|
||||||
|
|
||||||
var entity : Entity = null
|
var entity : Entity = null
|
||||||
var health : Stat = null
|
var health : EntityResource = null
|
||||||
|
|
||||||
var health_stat_id : int
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
health_stat_id = ESS.stat_get_id("Health")
|
|
||||||
|
|
||||||
name_label = get_node(name_label_path) as Label
|
name_label = get_node(name_label_path) as Label
|
||||||
health_bar = get_node(health_bar_path) as TextureProgress
|
health_bar = get_node(health_bar_path) as TextureProgress
|
||||||
health_bar_label = get_node(health_bar_label_path) as Label
|
health_bar_label = get_node(health_bar_label_path) as Label
|
||||||
|
|
||||||
entity = get_node("../..") as Entity
|
entity = get_node("../..") as Entity
|
||||||
health = entity.get_stat(health_stat_id)
|
entity.connect("centity_resource_added", self, "on_centity_resource_added")
|
||||||
|
|
||||||
health.connect("c_changed", self, "c_health_changed")
|
|
||||||
|
|
||||||
name_label.text = entity.centity_name
|
name_label.text = entity.centity_name
|
||||||
|
|
||||||
@ -67,8 +61,6 @@ func _ready():
|
|||||||
entity.connect("onc_mouse_exited", self, "onc_entity_mouse_exited")
|
entity.connect("onc_mouse_exited", self, "onc_entity_mouse_exited")
|
||||||
entity.connect("onc_targeted", self, "onc_targeted")
|
entity.connect("onc_targeted", self, "onc_targeted")
|
||||||
entity.connect("onc_untargeted", self, "onc_untargeted")
|
entity.connect("onc_untargeted", self, "onc_untargeted")
|
||||||
|
|
||||||
c_health_changed(health)
|
|
||||||
|
|
||||||
modulate = normal_color
|
modulate = normal_color
|
||||||
set_scale(normal_scale)
|
set_scale(normal_scale)
|
||||||
@ -130,13 +122,13 @@ func set_max_distance(var value : float) -> void:
|
|||||||
|
|
||||||
max_distance = value
|
max_distance = value
|
||||||
|
|
||||||
func c_health_changed(stat : Stat) -> void:
|
func c_health_changed(stat : EntityResource) -> void:
|
||||||
if stat.cmax != 0:
|
if stat.current_value != 0:
|
||||||
health_bar.max_value = stat.cmax
|
health_bar.max_value = stat.max_value
|
||||||
else:
|
else:
|
||||||
health_bar.max_value = 1
|
health_bar.max_value = 1
|
||||||
|
|
||||||
health_bar.value = stat.ccurrent
|
health_bar.value = stat.current_value
|
||||||
|
|
||||||
|
|
||||||
# if stat.cmax != 0:
|
# if stat.cmax != 0:
|
||||||
@ -174,3 +166,10 @@ func onc_untargeted() -> void:
|
|||||||
func interpolate_scale(target : Vector2) -> void:
|
func interpolate_scale(target : Vector2) -> void:
|
||||||
target_scale = target
|
target_scale = target
|
||||||
interpolating = true
|
interpolating = true
|
||||||
|
|
||||||
|
func on_centity_resource_added(resorce) -> void:
|
||||||
|
if health != null:
|
||||||
|
return
|
||||||
|
|
||||||
|
health = entity.getc_resource_index(EntityEnums.ENTITY_RESOURCE_INDEX_HEALTH)
|
||||||
|
health.connect("changed", self, "c_health_changed")
|
||||||
|
@ -24,7 +24,6 @@ class_name PlayerGD
|
|||||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
# SOFTWARE.
|
# SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
func _from_dict(dict):
|
func _from_dict(dict):
|
||||||
._from_dict(dict)
|
._from_dict(dict)
|
||||||
|
|
||||||
|
@ -189,6 +189,11 @@ _global_script_classes=[ {
|
|||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
"path": "res://scripts/game_modules/GameModule.gd"
|
"path": "res://scripts/game_modules/GameModule.gd"
|
||||||
}, {
|
}, {
|
||||||
|
"base": "EntityResource",
|
||||||
|
"class": "HealthResource",
|
||||||
|
"language": "GDScript",
|
||||||
|
"path": "res://scripts/resources/HealthResource.gd"
|
||||||
|
}, {
|
||||||
"base": "ItemTemplate",
|
"base": "ItemTemplate",
|
||||||
"class": "ItemTemplateGD",
|
"class": "ItemTemplateGD",
|
||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
@ -239,6 +244,11 @@ _global_script_classes=[ {
|
|||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
"path": "res://scripts/networking/PlayerMaster.gd"
|
"path": "res://scripts/networking/PlayerMaster.gd"
|
||||||
}, {
|
}, {
|
||||||
|
"base": "EntityResource",
|
||||||
|
"class": "SpeedResource",
|
||||||
|
"language": "GDScript",
|
||||||
|
"path": "res://scripts/resources/SpeedResource.gd"
|
||||||
|
}, {
|
||||||
"base": "SpellEffectVisual",
|
"base": "SpellEffectVisual",
|
||||||
"class": "SpellEffectVisualBasic",
|
"class": "SpellEffectVisualBasic",
|
||||||
"language": "GDScript",
|
"language": "GDScript",
|
||||||
@ -301,6 +311,7 @@ _global_script_class_icons={
|
|||||||
"GSAITargetAcceleration": "",
|
"GSAITargetAcceleration": "",
|
||||||
"GSAIUtils": "",
|
"GSAIUtils": "",
|
||||||
"GameModule": "",
|
"GameModule": "",
|
||||||
|
"HealthResource": "",
|
||||||
"ItemTemplateGD": "",
|
"ItemTemplateGD": "",
|
||||||
"LayeredTextureMaker": "",
|
"LayeredTextureMaker": "",
|
||||||
"Main": "",
|
"Main": "",
|
||||||
@ -311,6 +322,7 @@ _global_script_class_icons={
|
|||||||
"NetworkedPlayerGD": "",
|
"NetworkedPlayerGD": "",
|
||||||
"PlayerGD": "",
|
"PlayerGD": "",
|
||||||
"PlayerMaster": "",
|
"PlayerMaster": "",
|
||||||
|
"SpeedResource": "",
|
||||||
"SpellEffectVisualBasic": "",
|
"SpellEffectVisualBasic": "",
|
||||||
"SpellGD": "",
|
"SpellGD": "",
|
||||||
"TVVoxelChunk": "",
|
"TVVoxelChunk": "",
|
||||||
@ -364,7 +376,7 @@ spells/allow_class_recipe_learning=true
|
|||||||
level/use_class_xp=true
|
level/use_class_xp=true
|
||||||
data/ess_resource_db_path="res://data/resource_db.tres"
|
data/ess_resource_db_path="res://data/resource_db.tres"
|
||||||
data/ess_entity_spawner_path="res://player/bs_entity_spawner.tres"
|
data/ess_entity_spawner_path="res://player/bs_entity_spawner.tres"
|
||||||
enums/stats="Agility,Strength,Stamina,Intellect,Spirit,Health,Speed,Global Cooldown,Haste,Haste Rating,Resilience,Armor,Attack Power,Spell Power,Melee Crit,Melee Crit bonus,Spell Crit,Spell Crit Bonus,Block,Parry,Damage Reduction,Melee Damage Reduction,Spell Damage Reduction,Damage Taken,Heal Taken,Melee Damage,Spell Damage,Holy Resist,Shadow Resist,Nature Resist,Fire Resist,Frost Resist,Lightning Resist,Chaos Resist,Silence Resist,Fear Resist,Stun Resist,Energy,Rage,XP Rate"
|
enums/stats="Agility,Strength,Stamina,Intellect,Spirit,Health,Mana,Speed,Global Cooldown,Haste,Haste Rating,Resilience,Armor,Attack Power,Spell Power,Melee Crit,Melee Crit bonus,Spell Crit,Spell Crit Bonus,Block,Parry,Damage Reduction,Melee Damage Reduction,Spell Damage Reduction,Damage Taken,Heal Taken,Melee Damage,Spell Damage,Holy Resist,Shadow Resist,Nature Resist,Fire Resist,Frost Resist,Lightning Resist,Chaos Resist,Silence Resist,Fear Resist,Stun Resist,Energy,Rage,XP Rate"
|
||||||
profiles/automatic_save=true
|
profiles/automatic_save=true
|
||||||
|
|
||||||
[importer_defaults]
|
[importer_defaults]
|
||||||
|
47
game/scripts/resources/HealthResource.gd
Normal file
47
game/scripts/resources/HealthResource.gd
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
extends EntityResource
|
||||||
|
class_name HealthResource
|
||||||
|
|
||||||
|
# Copyright (c) 2019-2020 Péter Magyar
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
# in the Software without restriction, including without limitation the rights
|
||||||
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in all
|
||||||
|
# copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
|
||||||
|
var stamina_stat_id : int = 0
|
||||||
|
var health_stat_id = 0
|
||||||
|
|
||||||
|
func _init():
|
||||||
|
current_value = 100
|
||||||
|
stamina_stat_id = ESS.stat_get_id("Stamina")
|
||||||
|
health_stat_id = ESS.stat_get_id("Health")
|
||||||
|
|
||||||
|
func _ons_added(entity):
|
||||||
|
refresh()
|
||||||
|
|
||||||
|
func _ons_stat_changed(stat : Stat):
|
||||||
|
if stat.id == stamina_stat_id || stat.id == health_stat_id:
|
||||||
|
refresh()
|
||||||
|
|
||||||
|
func refresh():
|
||||||
|
var stamina : Stat = owner.get_stat(stamina_stat_id)
|
||||||
|
var health : Stat = owner.get_stat(health_stat_id)
|
||||||
|
|
||||||
|
max_value = int(stamina.scurrent) * 10 + int(health.scurrent)
|
||||||
|
#todo fix this if this solution works well
|
||||||
|
current_value = max_value
|
||||||
|
|
||||||
|
|
28
game/scripts/resources/HealthResourceData.gd
Normal file
28
game/scripts/resources/HealthResourceData.gd
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
extends EntityResourceData
|
||||||
|
|
||||||
|
# Copyright (c) 2019-2020 Péter Magyar
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
# in the Software without restriction, including without limitation the rights
|
||||||
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in all
|
||||||
|
# copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
|
||||||
|
func _get_entity_resource_instance() -> EntityResource:
|
||||||
|
var mr = HealthResource.new()
|
||||||
|
mr.data_path = resource_path
|
||||||
|
|
||||||
|
return mr
|
||||||
|
|
44
game/scripts/resources/SpeedResource.gd
Normal file
44
game/scripts/resources/SpeedResource.gd
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
extends EntityResource
|
||||||
|
class_name SpeedResource
|
||||||
|
|
||||||
|
# Copyright (c) 2019-2020 Péter Magyar
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
# in the Software without restriction, including without limitation the rights
|
||||||
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in all
|
||||||
|
# copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
var speed_stat_id : int = 0
|
||||||
|
|
||||||
|
var base_value = 100
|
||||||
|
|
||||||
|
func _init():
|
||||||
|
current_value = base_value
|
||||||
|
speed_stat_id = ESS.stat_get_id("Speed")
|
||||||
|
|
||||||
|
func _ons_added(entity):
|
||||||
|
refresh()
|
||||||
|
|
||||||
|
func _ons_stat_changed(stat : Stat):
|
||||||
|
if stat.id == speed_stat_id:
|
||||||
|
refresh()
|
||||||
|
|
||||||
|
func refresh():
|
||||||
|
var speed_stat : Stat = owner.get_stat(speed_stat_id)
|
||||||
|
|
||||||
|
current_value = base_value + speed_stat.scurrent * 0.01
|
||||||
|
|
28
game/scripts/resources/SpeedResourceData.gd
Normal file
28
game/scripts/resources/SpeedResourceData.gd
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
extends EntityResourceData
|
||||||
|
|
||||||
|
# Copyright (c) 2019-2020 Péter Magyar
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
# in the Software without restriction, including without limitation the rights
|
||||||
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in all
|
||||||
|
# copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
|
||||||
|
func _get_entity_resource_instance() -> EntityResource:
|
||||||
|
var mr = SpeedResource.new()
|
||||||
|
mr.data_path = resource_path
|
||||||
|
|
||||||
|
return mr
|
||||||
|
|
@ -39,12 +39,8 @@ var _aura_grid : GridContainer
|
|||||||
var _player : Entity
|
var _player : Entity
|
||||||
var _mana : ManaResource
|
var _mana : ManaResource
|
||||||
|
|
||||||
var health_stat_id : int
|
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
health_stat_id = ESS.stat_get_id("Health")
|
|
||||||
|
|
||||||
_name_text = get_node(name_text_path) as Label
|
_name_text = get_node(name_text_path) as Label
|
||||||
_health_range = get_node(health_range_path) as Range
|
_health_range = get_node(health_range_path) as Range
|
||||||
_health_text = get_node(health_text_path) as Label
|
_health_text = get_node(health_text_path) as Label
|
||||||
@ -54,7 +50,7 @@ func _ready() -> void:
|
|||||||
|
|
||||||
func set_player(p_player : Entity) -> void:
|
func set_player(p_player : Entity) -> void:
|
||||||
if not _player == null and is_instance_valid(_player):
|
if not _player == null and is_instance_valid(_player):
|
||||||
_player.get_stat(health_stat_id).disconnect("c_changed", self, "_on_player_health_changed")
|
_player.getc_resource_index(EntityEnums.ENTITY_RESOURCE_INDEX_HEALTH).disconnect("changed", self, "_on_player_health_changed")
|
||||||
_player.disconnect("caura_added", self, "on_caura_added")
|
_player.disconnect("caura_added", self, "on_caura_added")
|
||||||
_player.disconnect("caura_removed", self, "on_caura_removed")
|
_player.disconnect("caura_removed", self, "on_caura_removed")
|
||||||
_player.disconnect("cdied", self, "cdied")
|
_player.disconnect("cdied", self, "cdied")
|
||||||
@ -91,9 +87,9 @@ func set_player(p_player : Entity) -> void:
|
|||||||
for i in range(_player.getc_resource_count()):
|
for i in range(_player.getc_resource_count()):
|
||||||
centity_resource_added(_player.getc_resource_index(i))
|
centity_resource_added(_player.getc_resource_index(i))
|
||||||
|
|
||||||
var health = _player.get_stat(health_stat_id)
|
var health = _player.getc_resource_index(EntityEnums.ENTITY_RESOURCE_INDEX_HEALTH)
|
||||||
_on_player_health_changed(health)
|
_on_player_health_changed(health)
|
||||||
health.connect("c_changed", self, "_on_player_health_changed")
|
health.connect("changed", self, "_on_player_health_changed")
|
||||||
|
|
||||||
_name_text.text = _player.centity_name
|
_name_text.text = _player.centity_name
|
||||||
|
|
||||||
@ -138,8 +134,8 @@ func on_caura_removed(aura_data : AuraData) -> void:
|
|||||||
bn.queue_free()
|
bn.queue_free()
|
||||||
return
|
return
|
||||||
|
|
||||||
func _on_player_health_changed(health : Stat) -> void:
|
func _on_player_health_changed(health : EntityResource) -> void:
|
||||||
if health.cmax == 0:
|
if health.max_value == 0:
|
||||||
_health_range.min_value = 0
|
_health_range.min_value = 0
|
||||||
_health_range.max_value = 1
|
_health_range.max_value = 1
|
||||||
_health_range.value = 0
|
_health_range.value = 0
|
||||||
@ -149,10 +145,10 @@ func _on_player_health_changed(health : Stat) -> void:
|
|||||||
return
|
return
|
||||||
|
|
||||||
_health_range.min_value = 0
|
_health_range.min_value = 0
|
||||||
_health_range.max_value = health.cmax
|
_health_range.max_value = health.max_value
|
||||||
_health_range.value = health.ccurrent
|
_health_range.value = health.current_value
|
||||||
|
|
||||||
_health_text.text = str(health.ccurrent) + "/" + str(health.cmax)
|
_health_text.text = str(health.current_value) + "/" + str(health.max_value)
|
||||||
|
|
||||||
func cdied(entity : Entity) -> void:
|
func cdied(entity : Entity) -> void:
|
||||||
set_player(null)
|
set_player(null)
|
||||||
|
@ -40,11 +40,7 @@ var _player : Entity
|
|||||||
|
|
||||||
var _mana : ManaResource
|
var _mana : ManaResource
|
||||||
|
|
||||||
var health_stat_id : int
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
health_stat_id = ESS.stat_get_id("Health")
|
|
||||||
|
|
||||||
_name_text = get_node(name_text_path)
|
_name_text = get_node(name_text_path)
|
||||||
_level_text = get_node(level_text_path)
|
_level_text = get_node(level_text_path)
|
||||||
_health_range = get_node(health_range_path)
|
_health_range = get_node(health_range_path)
|
||||||
@ -55,7 +51,7 @@ func _ready() -> void:
|
|||||||
|
|
||||||
func set_player(p_player: Entity) -> void:
|
func set_player(p_player: Entity) -> void:
|
||||||
if not _player == null:
|
if not _player == null:
|
||||||
_player.get_health().disconnect("c_changed", self, "_on_player_health_changed")
|
_player.getc_resource_index(EntityEnums.ENTITY_RESOURCE_INDEX_HEALTH).disconnect("changed", self, "_on_player_health_changed")
|
||||||
_player.disconnect("cname_changed", self, "cname_changed")
|
_player.disconnect("cname_changed", self, "cname_changed")
|
||||||
_player.disconnect("con_level_up", self, "clevel_changed")
|
_player.disconnect("con_level_up", self, "clevel_changed")
|
||||||
_player.disconnect("con_level_changed", self, "clevel_changed")
|
_player.disconnect("con_level_changed", self, "clevel_changed")
|
||||||
@ -84,9 +80,9 @@ func set_player(p_player: Entity) -> void:
|
|||||||
for i in range(_player.getc_resource_count()):
|
for i in range(_player.getc_resource_count()):
|
||||||
centity_resource_added(_player.getc_resource_index(i))
|
centity_resource_added(_player.getc_resource_index(i))
|
||||||
|
|
||||||
var health = _player.get_stat(health_stat_id)
|
var health = _player.getc_resource_index(EntityEnums.ENTITY_RESOURCE_INDEX_HEALTH)
|
||||||
_on_player_health_changed(health)
|
_on_player_health_changed(health)
|
||||||
health.connect("c_changed", self, "_on_player_health_changed")
|
health.connect("changed", self, "_on_player_health_changed")
|
||||||
|
|
||||||
_name_text.text = _player.centity_name
|
_name_text.text = _player.centity_name
|
||||||
_level_text.text = str(_player.ccharacter_level)
|
_level_text.text = str(_player.ccharacter_level)
|
||||||
@ -101,8 +97,8 @@ func centity_resource_added(res : EntityResource):
|
|||||||
_mana.connect("changed", self, "_on_mana_changed")
|
_mana.connect("changed", self, "_on_mana_changed")
|
||||||
_on_mana_changed(_mana)
|
_on_mana_changed(_mana)
|
||||||
|
|
||||||
func _on_player_health_changed(health: Stat) -> void:
|
func _on_player_health_changed(health: EntityResource) -> void:
|
||||||
if health.cmax == 0:
|
if health.max_value == 0:
|
||||||
_health_range.min_value = 0
|
_health_range.min_value = 0
|
||||||
_health_range.max_value = 1
|
_health_range.max_value = 1
|
||||||
_health_range.value = 0
|
_health_range.value = 0
|
||||||
@ -112,10 +108,10 @@ func _on_player_health_changed(health: Stat) -> void:
|
|||||||
return
|
return
|
||||||
|
|
||||||
_health_range.min_value = 0
|
_health_range.min_value = 0
|
||||||
_health_range.max_value = health.cmax
|
_health_range.max_value = health.max_value
|
||||||
_health_range.value = health.ccurrent
|
_health_range.value = health.current_value
|
||||||
|
|
||||||
_health_text.text = str(health.ccurrent) + "/" + str(health.cmax)
|
_health_text.text = str(health.current_value) + "/" + str(health.max_value)
|
||||||
|
|
||||||
func _on_mana_changed(resource: EntityResource) -> void:
|
func _on_mana_changed(resource: EntityResource) -> void:
|
||||||
if resource.max_value == 0:
|
if resource.max_value == 0:
|
||||||
@ -146,5 +142,5 @@ func con_xp_gained(entity: Entity, val: int) -> void:
|
|||||||
_xp_range.value = _player.ccharacter_xp
|
_xp_range.value = _player.ccharacter_xp
|
||||||
|
|
||||||
func centity_data_changed(data: EntityData) -> void:
|
func centity_data_changed(data: EntityData) -> void:
|
||||||
var health = _player.get_stat(health_stat_id)
|
var health = _player.getc_resource_index(EntityEnums.ENTITY_RESOURCE_INDEX_HEALTH)
|
||||||
_on_player_health_changed(health)
|
_on_player_health_changed(health)
|
||||||
|
Loading…
Reference in New Issue
Block a user