From 36f7565cc6e3a41d7b291c2b53cd4efd0616e58e Mon Sep 17 00:00:00 2001 From: Relintai Date: Wed, 12 Jan 2022 19:35:37 +0100 Subject: [PATCH] Merged spell_script_gd and aura_script. --- .../auras/10_aspect_of_scorpions_rank_1.tres | 2 +- .../auras/11_aspect_of_wasps_rank1.tres | 2 +- .../auras/12_aspect_of_wolves_rank_1.tres | 2 +- .../auras/13_aspect_of_bees_rank_1.tres | 2 +- .../auras/14_rejuvenation_rank_1.tres | 2 +- .../auras/15_close_wounds_rank_1.tres | 2 +- .../naturalist/auras/16_ironbark_rank_1.tres | 2 +- .../naturalist/auras/20_root_rank_1.tres | 2 +- .../auras/21_aspect_of_scorpions.tres | 2 +- .../naturalist/auras/22_aspect_of_wasps.tres | 2 +- .../naturalist/auras/23_aspect_of_wolves.tres | 2 +- .../naturalist/auras/24_aspect_of_bees.tres | 2 +- .../spells/10_aspect_of_scorpions_rank_1.tres | 2 +- game/project.godot | 6 -- game/scripts/auras/SpeedModAura.gd | 2 +- game/scripts/auras/SpellDamageModAura.gd | 2 +- game/scripts/auras/aura_script.gd | 98 ------------------- game/scripts/spells/gd_spell_script.gd | 77 +++++++++++++++ 18 files changed, 92 insertions(+), 119 deletions(-) delete mode 100644 game/scripts/auras/aura_script.gd diff --git a/game/modules/entity_classes/naturalist/auras/10_aspect_of_scorpions_rank_1.tres b/game/modules/entity_classes/naturalist/auras/10_aspect_of_scorpions_rank_1.tres index 43e55231..fd94c5cf 100644 --- a/game/modules/entity_classes/naturalist/auras/10_aspect_of_scorpions_rank_1.tres +++ b/game/modules/entity_classes/naturalist/auras/10_aspect_of_scorpions_rank_1.tres @@ -1,6 +1,6 @@ [gd_resource type="Spell" load_steps=4 format=2] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=1] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1] [ext_resource path="res://modules/entity_classes/naturalist/aura_groups/1_aspect_of_scorpions.tres" type="AuraGroup" id=2] [ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_scorpions.tres" type="Texture" id=3] diff --git a/game/modules/entity_classes/naturalist/auras/11_aspect_of_wasps_rank1.tres b/game/modules/entity_classes/naturalist/auras/11_aspect_of_wasps_rank1.tres index 1f0cba4c..ce8df790 100644 --- a/game/modules/entity_classes/naturalist/auras/11_aspect_of_wasps_rank1.tres +++ b/game/modules/entity_classes/naturalist/auras/11_aspect_of_wasps_rank1.tres @@ -1,6 +1,6 @@ [gd_resource type="Spell" load_steps=4 format=2] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=1] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1] [ext_resource path="res://modules/entity_classes/naturalist/aura_groups/2_aspect_of_wasps.tres" type="AuraGroup" id=2] [ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_wasps.tres" type="Texture" id=3] diff --git a/game/modules/entity_classes/naturalist/auras/12_aspect_of_wolves_rank_1.tres b/game/modules/entity_classes/naturalist/auras/12_aspect_of_wolves_rank_1.tres index dec08785..d9602bf4 100644 --- a/game/modules/entity_classes/naturalist/auras/12_aspect_of_wolves_rank_1.tres +++ b/game/modules/entity_classes/naturalist/auras/12_aspect_of_wolves_rank_1.tres @@ -1,6 +1,6 @@ [gd_resource type="Spell" load_steps=4 format=2] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=1] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1] [ext_resource path="res://modules/entity_classes/naturalist/aura_groups/3_aspect_of_wolves.tres" type="AuraGroup" id=2] [ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_wolves.tres" type="Texture" id=3] diff --git a/game/modules/entity_classes/naturalist/auras/13_aspect_of_bees_rank_1.tres b/game/modules/entity_classes/naturalist/auras/13_aspect_of_bees_rank_1.tres index 81791f47..fb8b8edd 100644 --- a/game/modules/entity_classes/naturalist/auras/13_aspect_of_bees_rank_1.tres +++ b/game/modules/entity_classes/naturalist/auras/13_aspect_of_bees_rank_1.tres @@ -1,6 +1,6 @@ [gd_resource type="Spell" load_steps=4 format=2] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=1] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1] [ext_resource path="res://modules/entity_classes/naturalist/aura_groups/4_aspect_of_bees.tres" type="AuraGroup" id=2] [ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_bees.tres" type="Texture" id=3] diff --git a/game/modules/entity_classes/naturalist/auras/14_rejuvenation_rank_1.tres b/game/modules/entity_classes/naturalist/auras/14_rejuvenation_rank_1.tres index 31fb2727..50426d60 100644 --- a/game/modules/entity_classes/naturalist/auras/14_rejuvenation_rank_1.tres +++ b/game/modules/entity_classes/naturalist/auras/14_rejuvenation_rank_1.tres @@ -1,6 +1,6 @@ [gd_resource type="Spell" load_steps=3 format=2] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=1] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1] [ext_resource path="res://modules/entity_classes/naturalist/icons/rejuvenation.tres" type="Texture" id=2] [resource] diff --git a/game/modules/entity_classes/naturalist/auras/15_close_wounds_rank_1.tres b/game/modules/entity_classes/naturalist/auras/15_close_wounds_rank_1.tres index 2b91ad60..f88e7a6b 100644 --- a/game/modules/entity_classes/naturalist/auras/15_close_wounds_rank_1.tres +++ b/game/modules/entity_classes/naturalist/auras/15_close_wounds_rank_1.tres @@ -1,6 +1,6 @@ [gd_resource type="Spell" load_steps=3 format=2] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=1] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1] [ext_resource path="res://modules/entity_classes/naturalist/icons/close_wounds.tres" type="Texture" id=2] [resource] diff --git a/game/modules/entity_classes/naturalist/auras/16_ironbark_rank_1.tres b/game/modules/entity_classes/naturalist/auras/16_ironbark_rank_1.tres index c5095630..f65d0e3f 100644 --- a/game/modules/entity_classes/naturalist/auras/16_ironbark_rank_1.tres +++ b/game/modules/entity_classes/naturalist/auras/16_ironbark_rank_1.tres @@ -1,6 +1,6 @@ [gd_resource type="Spell" load_steps=3 format=2] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=1] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1] [ext_resource path="res://modules/entity_classes/naturalist/icons/ironbark.tres" type="Texture" id=2] [resource] diff --git a/game/modules/entity_classes/naturalist/auras/20_root_rank_1.tres b/game/modules/entity_classes/naturalist/auras/20_root_rank_1.tres index e859bccc..5dc6eddb 100644 --- a/game/modules/entity_classes/naturalist/auras/20_root_rank_1.tres +++ b/game/modules/entity_classes/naturalist/auras/20_root_rank_1.tres @@ -1,6 +1,6 @@ [gd_resource type="Spell" load_steps=3 format=2] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=1] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1] [ext_resource path="res://modules/entity_classes/naturalist/icons/root.tres" type="Texture" id=2] [resource] diff --git a/game/modules/entity_classes/naturalist/auras/21_aspect_of_scorpions.tres b/game/modules/entity_classes/naturalist/auras/21_aspect_of_scorpions.tres index ef3ecc3b..e2f3e202 100644 --- a/game/modules/entity_classes/naturalist/auras/21_aspect_of_scorpions.tres +++ b/game/modules/entity_classes/naturalist/auras/21_aspect_of_scorpions.tres @@ -1,6 +1,6 @@ [gd_resource type="Spell" load_steps=4 format=2] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=1] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1] [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] diff --git a/game/modules/entity_classes/naturalist/auras/22_aspect_of_wasps.tres b/game/modules/entity_classes/naturalist/auras/22_aspect_of_wasps.tres index b0b4814a..de4175c0 100644 --- a/game/modules/entity_classes/naturalist/auras/22_aspect_of_wasps.tres +++ b/game/modules/entity_classes/naturalist/auras/22_aspect_of_wasps.tres @@ -1,6 +1,6 @@ [gd_resource type="Spell" load_steps=4 format=2] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=1] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1] [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] diff --git a/game/modules/entity_classes/naturalist/auras/23_aspect_of_wolves.tres b/game/modules/entity_classes/naturalist/auras/23_aspect_of_wolves.tres index 619d7628..cf73b6cc 100644 --- a/game/modules/entity_classes/naturalist/auras/23_aspect_of_wolves.tres +++ b/game/modules/entity_classes/naturalist/auras/23_aspect_of_wolves.tres @@ -1,6 +1,6 @@ [gd_resource type="Spell" load_steps=4 format=2] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=1] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1] [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] diff --git a/game/modules/entity_classes/naturalist/auras/24_aspect_of_bees.tres b/game/modules/entity_classes/naturalist/auras/24_aspect_of_bees.tres index df8c47f8..30c12fa1 100644 --- a/game/modules/entity_classes/naturalist/auras/24_aspect_of_bees.tres +++ b/game/modules/entity_classes/naturalist/auras/24_aspect_of_bees.tres @@ -1,6 +1,6 @@ [gd_resource type="Spell" load_steps=4 format=2] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=1] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=1] [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] diff --git a/game/modules/entity_classes/naturalist/spells/10_aspect_of_scorpions_rank_1.tres b/game/modules/entity_classes/naturalist/spells/10_aspect_of_scorpions_rank_1.tres index ece1ceab..b935c835 100644 --- a/game/modules/entity_classes/naturalist/spells/10_aspect_of_scorpions_rank_1.tres +++ b/game/modules/entity_classes/naturalist/spells/10_aspect_of_scorpions_rank_1.tres @@ -2,7 +2,7 @@ [ext_resource path="res://modules/core/entity_resources/1_mana_resource.tres" type="EntityResource" id=1] [ext_resource path="res://modules/entity_classes/naturalist/effect_data/aspect_of_scorpions.tres" type="SpellEffectVisual" id=3] -[ext_resource path="res://scripts/auras/aura_script.gd" type="Script" id=4] +[ext_resource path="res://scripts/spells/gd_spell_script.gd" type="Script" id=4] [ext_resource path="res://modules/entity_classes/naturalist/icons/aspect_of_scorpions.tres" type="Texture" id=5] [ext_resource path="res://modules/entity_classes/naturalist/aura_groups/1_aspect_of_scorpions.tres" type="AuraGroup" id=6] diff --git a/game/project.godot b/game/project.godot index c96d2391..bb171ef9 100644 --- a/game/project.godot +++ b/game/project.godot @@ -9,11 +9,6 @@ config_version=4 _global_script_classes=[ { -"base": "Spell", -"class": "AuraGD", -"language": "GDScript", -"path": "res://scripts/auras/aura_script.gd" -}, { "base": "Reference", "class": "BrushPrefabs", "language": "GDScript", @@ -265,7 +260,6 @@ _global_script_classes=[ { "path": "res://addons/world_generator/resources/zone.gd" } ] _global_script_class_icons={ -"AuraGD": "", "BrushPrefabs": "", "CharacterSkeketonAttachPoint": "", "ColorTile": "", diff --git a/game/scripts/auras/SpeedModAura.gd b/game/scripts/auras/SpeedModAura.gd index c233d9d2..cc876025 100644 --- a/game/scripts/auras/SpeedModAura.gd +++ b/game/scripts/auras/SpeedModAura.gd @@ -1,4 +1,4 @@ -extends "aura_script.gd" +extends "res://scripts/spells/gd_spell_script.gd" export(bool) var does_stack : bool = true export(float) var mod_speed : float = 0 diff --git a/game/scripts/auras/SpellDamageModAura.gd b/game/scripts/auras/SpellDamageModAura.gd index 58b917bd..5aaabef5 100644 --- a/game/scripts/auras/SpellDamageModAura.gd +++ b/game/scripts/auras/SpellDamageModAura.gd @@ -1,4 +1,4 @@ -extends "aura_script.gd" +extends "res://scripts/spells/gd_spell_script.gd" export(String) var spell_name : String export(float) var mod_value : float diff --git a/game/scripts/auras/aura_script.gd b/game/scripts/auras/aura_script.gd deleted file mode 100644 index 31307a1d..00000000 --- a/game/scripts/auras/aura_script.gd +++ /dev/null @@ -1,98 +0,0 @@ -extends "res://scripts/spells/gd_spell_script.gd" -class_name AuraGD - -# Copyright (c) 2019-2021 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 _aura_sapply(info : AuraApplyInfo) -> void: -# var add : bool = false - var ad : AuraData = info.target.aura_gets_by(info.caster, info.aura.id) - - if ad == null: -# add = true - ad = AuraData.new() - - setup_aura_data(ad, info); - - for i in range(aura_stat_attribute_get_count()): - info.target.stat_mod(aura_stat_attribute_get_stat(id), aura_stat_attribute_get_base_mod(i), aura_stat_attribute_get_bonus_mod(i), aura_stat_attribute_get_percent_mod(i)) - - if aura_states_add != 0: - for i in range(EntityEnums.ENTITY_STATE_TYPE_INDEX_MAX): - var t : int = 1 << i - - if aura_states_add & t != 0: - info.target.adds_state_ref(i) - - info.target.aura_adds(ad); - - apply_mods(ad) - else: - ad.remaining_time = aura_time - - -func _aura_sdeapply(data : AuraData) -> void: - for i in range(aura_stat_attribute_get_count()): - data.owner.stat_mod(aura_stat_attribute_get_stat(id), -aura_stat_attribute_get_base_mod(i), -aura_stat_attribute_get_bonus_mod(i), -aura_stat_attribute_get_percent_mod(i)) - - if aura_states_add != 0: - for i in range(EntityEnums.ENTITY_STATE_TYPE_INDEX_MAX): - var t : int = 1 << i - - if aura_states_add & t != 0: - data.owner.removes_state_ref(i) - - deapply_mods(data) - -func apply_mods(ad : AuraData): - pass - -func deapply_mods(ad : AuraData): - pass - -func _con_aura_added(data : AuraData) -> void: - if data.owner.get_character_skeleton() == null or data.owner.get_character_skeleton().root_attach_point == null: - return - - var bse : SpellEffectVisualBasic = aura_visual_spell_effects as SpellEffectVisualBasic - - if bse != null: - if bse.root_aura_effect != null: - if bse.root_aura_effect_time < 0.00001: - data.owner.get_character_skeleton().root_attach_point.add_effect(bse.root_aura_effect) - else: - data.owner.get_character_skeleton().root_attach_point.add_effect_timed(bse.root_aura_effect, bse.root_aura_effect_time) - - if bse.torso_aura_effect != null: - if bse.torso_aura_effect_time < 0.00001: - data.owner.get_character_skeleton().torso_attach_point.add_effect(bse.torso_aura_effect) - else: - data.owner.get_character_skeleton().torso_attach_point.add_effect_timed(bse.torso_aura_effect, bse.torso_aura_effect_time) - -func _con_aura_removed(data : AuraData) -> void: - var bse : SpellEffectVisualBasic = aura_visual_spell_effects as SpellEffectVisualBasic - - if bse != null: - if bse.root_aura_effect != null and bse.root_aura_effect_time < 0.00001: - data.owner.get_character_skeleton().root_attach_point.remove_effect(bse.root_aura_effect) - - if bse.torso_aura_effect != null and bse.torso_aura_effect_time < 0.00001: - data.owner.get_character_skeleton().torso_attach_point.remove_effect(bse.torso_aura_effect) - diff --git a/game/scripts/spells/gd_spell_script.gd b/game/scripts/spells/gd_spell_script.gd index 937eb711..2e2f9724 100644 --- a/game/scripts/spells/gd_spell_script.gd +++ b/game/scripts/spells/gd_spell_script.gd @@ -280,3 +280,80 @@ func _notification_ccast(what, info): func _son_spell_hit(info): handle_effect(info) + + +func _aura_sapply(info : AuraApplyInfo) -> void: +# var add : bool = false + var ad : AuraData = info.target.aura_gets_by(info.caster, info.aura.id) + + if ad == null: +# add = true + ad = AuraData.new() + + setup_aura_data(ad, info); + + for i in range(aura_stat_attribute_get_count()): + info.target.stat_mod(aura_stat_attribute_get_stat(id), aura_stat_attribute_get_base_mod(i), aura_stat_attribute_get_bonus_mod(i), aura_stat_attribute_get_percent_mod(i)) + + if aura_states_add != 0: + for i in range(EntityEnums.ENTITY_STATE_TYPE_INDEX_MAX): + var t : int = 1 << i + + if aura_states_add & t != 0: + info.target.adds_state_ref(i) + + info.target.aura_adds(ad); + + apply_mods(ad) + else: + ad.remaining_time = aura_time + + +func _aura_sdeapply(data : AuraData) -> void: + for i in range(aura_stat_attribute_get_count()): + data.owner.stat_mod(aura_stat_attribute_get_stat(id), -aura_stat_attribute_get_base_mod(i), -aura_stat_attribute_get_bonus_mod(i), -aura_stat_attribute_get_percent_mod(i)) + + if aura_states_add != 0: + for i in range(EntityEnums.ENTITY_STATE_TYPE_INDEX_MAX): + var t : int = 1 << i + + if aura_states_add & t != 0: + data.owner.removes_state_ref(i) + + deapply_mods(data) + +func apply_mods(ad : AuraData): + pass + +func deapply_mods(ad : AuraData): + pass + +func _con_aura_added(data : AuraData) -> void: + if data.owner.get_character_skeleton() == null or data.owner.get_character_skeleton().root_attach_point == null: + return + + var bse : SpellEffectVisualBasic = aura_visual_spell_effects as SpellEffectVisualBasic + + if bse != null: + if bse.root_aura_effect != null: + if bse.root_aura_effect_time < 0.00001: + data.owner.get_character_skeleton().root_attach_point.add_effect(bse.root_aura_effect) + else: + data.owner.get_character_skeleton().root_attach_point.add_effect_timed(bse.root_aura_effect, bse.root_aura_effect_time) + + if bse.torso_aura_effect != null: + if bse.torso_aura_effect_time < 0.00001: + data.owner.get_character_skeleton().torso_attach_point.add_effect(bse.torso_aura_effect) + else: + data.owner.get_character_skeleton().torso_attach_point.add_effect_timed(bse.torso_aura_effect, bse.torso_aura_effect_time) + +func _con_aura_removed(data : AuraData) -> void: + var bse : SpellEffectVisualBasic = aura_visual_spell_effects as SpellEffectVisualBasic + + if bse != null: + if bse.root_aura_effect != null and bse.root_aura_effect_time < 0.00001: + data.owner.get_character_skeleton().root_attach_point.remove_effect(bse.root_aura_effect) + + if bse.torso_aura_effect != null and bse.torso_aura_effect_time < 0.00001: + data.owner.get_character_skeleton().torso_attach_point.remove_effect(bse.torso_aura_effect) +