diff --git a/CHANGELOG.md b/CHANGELOG.md index 907df171d56d29fb8d3122378c693fbf39adf3a4..fd38f5ee1fefee69db29877110630070c0809ec2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,9 @@ All notable changes to this project will be documented in this file The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) -## [Unreleased] v0.2.0: Better Encounters ⚔🌟 +## v0.2.0: Better Encounters ⚔🌟 - 2018-12-01 -Expand the combat system and create a bite-sized, playable demo revolving around it. +This version brings a lot of new features and improvements to the project's codebase thanks to the help of @godofgrunts, @nhydock, @salvob41, @MarianoGnu, @henriiquecampos, and @guilhermehto! We did at least twice as much as we planned thanks to everyone's help 😄 ### New @@ -21,19 +21,29 @@ Expand the combat system and create a bite-sized, playable demo revolving around - Experience points are awarded at the end of battle to gain levels - The value of the characters' stats is based on Godot's curves - Battle Formations for monsters and the player's party, based on .tscn files +- Added support for multiple targets. The interface to do it from the game is not available yet but you can now pass pass multiple targets to any combat action/command and it will affect all of them +- Animated pop-up labels. They show how much damage a character to took or how much mana someone lost. There's also animations ready for healing effects. #### Map - Grid-based character movement + - Follower pawns follow the leader or playable one with a one-step delay - Dialogue system #### User Interface - Mana bars +- Circular menu: a radial menu you can use for battle, for the character to pick one of multiple CombatActions to use on its opponent. E.g. attack, a specific skill... #### Art -- Godette sprite +Added sprites for Godette, Robi, the porcupine, and the grasslands battle background sprites. There's also the first combat icon for Robi's base attack, the bilboshot. + +None of the art is animated yet. + +#### Audio + +There is now a battle theme and a placeholder victory fanfare ### Changed @@ -44,8 +54,6 @@ Expand the combat system and create a bite-sized, playable demo revolving around - Fixed incorrect indentation in Battler.gd - Improved Data persistence in and out of combat - - ## v0.1.0: Combat prototype ⚔ - 2018-11-04 Base combat prototype: the characters can only attack in a turn-based fashion. Health, damage, target selection, and winning and losing the fight are all present in a basic form. diff --git a/godot/assets/sprites/icons/bilboshot.png b/godot/assets/sprites/icons/bilboshot.png new file mode 100644 index 0000000000000000000000000000000000000000..bf02c752961f6db970f8adba2882ea2569101a34 Binary files /dev/null and b/godot/assets/sprites/icons/bilboshot.png differ diff --git a/godot/assets/sprites/icons/bilboshot.png.import b/godot/assets/sprites/icons/bilboshot.png.import new file mode 100644 index 0000000000000000000000000000000000000000..a7edf17e326c7c3750a88535521e4800ba27465a --- /dev/null +++ b/godot/assets/sprites/icons/bilboshot.png.import @@ -0,0 +1,31 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/bilboshot.png-fc18d6a1c411d833ca0f6b6114780d4e.stex" + +[deps] + +source_file="res://assets/sprites/icons/bilboshot.png" +dest_files=[ "res://.import/bilboshot.png-fc18d6a1c411d833ca0f6b6114780d4e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/godot/combat/CombatAction.gd b/godot/combat/CombatAction.gd index 89d5bc270f039eb2ee1ff20b3779008160a50347..a5fcce98ac75205868faffa3b02c4de4725075a4 100644 --- a/godot/combat/CombatAction.gd +++ b/godot/combat/CombatAction.gd @@ -9,8 +9,8 @@ var initialized = false # from it's parent (BattlerActions.gd) onready var actor : Battler = get_parent().get_owner() -export var icon : Texture -export var description : String = "Base combat action" +export(Texture) var icon = load("res://assets/sprites/icons/bilboshot.png") +export(String) var description : String = "Base combat action" func initialize(battler : Battler) -> void: actor = battler diff --git a/godot/combat/interface/circular_menu/CircularButton.gd b/godot/combat/interface/circular_menu/CircularButton.gd index 69554ed40ecb5e456e27978f25bf84ae43755802..42a48987eb675be9ea6ceb3626c0f7593394f01d 100644 --- a/godot/combat/interface/circular_menu/CircularButton.gd +++ b/godot/combat/interface/circular_menu/CircularButton.gd @@ -2,6 +2,7 @@ extends Button onready var animation_player : = $AnimationPlayer as AnimationPlayer onready var tooltip : = $Tooltip as Control +onready var button_icon : = $Background/Icon as TextureRect var mouse_over : bool var active : bool @@ -12,6 +13,7 @@ func initialize(action : CombatAction, target_position : Vector2, active : bool) if disabled: modulate = Color("#555555") tooltip.initialize(self, action) + button_icon.texture = action.icon connect('mouse_exited', self, '_on_mouse_exited') connect('mouse_entered', self, '_on_mouse_entered') diff --git a/godot/combat/interface/circular_menu/CircularButton.tscn b/godot/combat/interface/circular_menu/CircularButton.tscn index 68a553a533502546d518911fa89256f9bd1e9fa9..85ee86dda7631b7796d56e803385a6584484392a 100644 --- a/godot/combat/interface/circular_menu/CircularButton.tscn +++ b/godot/combat/interface/circular_menu/CircularButton.tscn @@ -255,15 +255,11 @@ size_flags_vertical = 1 texture = ExtResource( 6 ) stretch_mode = 0 -[node name="Icon" type="TextureRect" parent="."] -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -margin_left = -16.0 -margin_top = -16.0 -margin_right = 16.0 -margin_bottom = 16.0 +[node name="Icon" type="TextureRect" parent="Background"] +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 1.0 +anchor_bottom = 1.0 rect_pivot_offset = Vector2( 0, 0 ) rect_clip_content = false mouse_filter = 2 @@ -271,7 +267,7 @@ mouse_default_cursor_shape = 0 size_flags_horizontal = 1 size_flags_vertical = 1 texture = ExtResource( 7 ) -stretch_mode = 0 +stretch_mode = 6 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] root_node = NodePath("..") diff --git a/godot/project.godot b/godot/project.godot index 3c42b4a69bc8bec5a4069a853123d84f937cc0ba..e18957432f61d34399b67f278031ecdea054eb6a 100644 --- a/godot/project.godot +++ b/godot/project.godot @@ -167,6 +167,7 @@ _global_script_class_icons={ config/name="Turn-Based Combat" run/main_scene="res://Game.tscn" config/icon="res://icon.png" +config/version="0.2.0" [display]