forked from team-sg/hero-mark-2
Merge branch 'main' of https://gitlab.com/PennyRigate/hero-mark-2
This commit is contained in:
commit
49fd274302
7 changed files with 167 additions and 12 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +1,2 @@
|
|||
.import/
|
||||
build/
|
77
.gitlab-ci.yml
Normal file
77
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,77 @@
|
|||
image: barichello/godot-ci:3.5.1
|
||||
|
||||
stages:
|
||||
- export
|
||||
- deploy
|
||||
|
||||
# keep imported assets between builds
|
||||
cache:
|
||||
key: imported-assets
|
||||
paths:
|
||||
- .import/
|
||||
|
||||
variables:
|
||||
EXPORT_NAME: hero-mark-2
|
||||
|
||||
windows:
|
||||
stage: export
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
script:
|
||||
- mkdir -v -p build/windows
|
||||
- godot -v --export "windows" build/windows/$EXPORT_NAME.exe
|
||||
artifacts:
|
||||
name: $EXPORT_NAME-$CI_JOB_NAME
|
||||
paths:
|
||||
- build/windows
|
||||
|
||||
linux:
|
||||
stage: export
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
script:
|
||||
- mkdir -v -p build/linux
|
||||
- godot -v --export "linux" build/linux/$EXPORT_NAME.x86_64
|
||||
artifacts:
|
||||
name: $EXPORT_NAME-$CI_JOB_NAME
|
||||
paths:
|
||||
- build/linux
|
||||
|
||||
html5:
|
||||
stage: export
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
script:
|
||||
- mkdir -v -p build/html5
|
||||
- godot -v --export "html5" build/html5/index.html
|
||||
artifacts:
|
||||
name: $EXPORT_NAME-$CI_JOB_NAME
|
||||
paths:
|
||||
- build/html5
|
||||
|
||||
itchio:windows:
|
||||
stage: deploy
|
||||
dependencies:
|
||||
- linux
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
script:
|
||||
- butler push ./build/windows $ITCHIO_USERNAME/$ITCHIO_GAME:windows-beta --userversion $CI_COMMIT_TAG
|
||||
|
||||
itchio:linux:
|
||||
stage: deploy
|
||||
dependencies:
|
||||
- linux
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
script:
|
||||
- butler push ./build/linux $ITCHIO_USERNAME/$ITCHIO_GAME:linux-beta --userversion $CI_COMMIT_TAG
|
||||
|
||||
itchio:html5:
|
||||
stage: deploy
|
||||
dependencies:
|
||||
- html5
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
script:
|
||||
- butler push ./build/html5 $ITCHIO_USERNAME/$ITCHIO_GAME:html5-beta --userversion $CI_COMMIT_TAG
|
BIN
audio/sounds/gover.wav
Normal file
BIN
audio/sounds/gover.wav
Normal file
Binary file not shown.
23
audio/sounds/gover.wav.import
Normal file
23
audio/sounds/gover.wav.import
Normal file
|
@ -0,0 +1,23 @@
|
|||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamSample"
|
||||
path="res://.import/gover.wav-fb994db7cb276d7598aad5c659b45fb3.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://audio/sounds/gover.wav"
|
||||
dest_files=[ "res://.import/gover.wav-fb994db7cb276d7598aad5c659b45fb3.sample" ]
|
||||
|
||||
[params]
|
||||
|
||||
force/8_bit=false
|
||||
force/mono=false
|
||||
force/max_rate=false
|
||||
force/max_rate_hz=44100
|
||||
edit/trim=false
|
||||
edit/normalize=false
|
||||
edit/loop_mode=0
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=0
|
|
@ -1,13 +1,13 @@
|
|||
[preset.0]
|
||||
|
||||
name="Windows Desktop"
|
||||
name="windows"
|
||||
platform="Windows Desktop"
|
||||
runnable=true
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../output/test_build.exe"
|
||||
export_path="build/windows/Hero Mark 2.exe"
|
||||
script_export_mode=1
|
||||
script_encryption_key=""
|
||||
|
||||
|
@ -31,7 +31,7 @@ codesign/timestamp_server_url=""
|
|||
codesign/digest_algorithm=1
|
||||
codesign/description=""
|
||||
codesign/custom_options=PoolStringArray( )
|
||||
application/modify_resources=true
|
||||
application/modify_resources=false
|
||||
application/icon=""
|
||||
application/file_version=""
|
||||
application/product_version=""
|
||||
|
@ -43,14 +43,14 @@ application/trademarks=""
|
|||
|
||||
[preset.1]
|
||||
|
||||
name="Linux/X11"
|
||||
name="linux"
|
||||
platform="Linux/X11"
|
||||
runnable=true
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="../output/hero mark 2_lin.x86_64"
|
||||
export_path="build/linux/Hero Mark 2.x86_64"
|
||||
script_export_mode=1
|
||||
script_encryption_key=""
|
||||
|
||||
|
@ -65,3 +65,38 @@ texture_format/s3tc=true
|
|||
texture_format/etc=false
|
||||
texture_format/etc2=false
|
||||
texture_format/no_bptc_fallbacks=true
|
||||
|
||||
[preset.2]
|
||||
|
||||
name="html5"
|
||||
platform="HTML5"
|
||||
runnable=true
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="build/html5/index.html"
|
||||
script_export_mode=1
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.2.options]
|
||||
|
||||
custom_template/debug=""
|
||||
custom_template/release=""
|
||||
variant/export_type=1
|
||||
vram_texture_compression/for_desktop=true
|
||||
vram_texture_compression/for_mobile=false
|
||||
html/export_icon=true
|
||||
html/custom_html_shell=""
|
||||
html/head_include=""
|
||||
html/canvas_resize_policy=2
|
||||
html/focus_canvas_on_start=true
|
||||
html/experimental_virtual_keyboard=false
|
||||
progressive_web_app/enabled=false
|
||||
progressive_web_app/offline_page=""
|
||||
progressive_web_app/display=1
|
||||
progressive_web_app/orientation=0
|
||||
progressive_web_app/icon_144x144=""
|
||||
progressive_web_app/icon_180x180=""
|
||||
progressive_web_app/icon_512x512=""
|
||||
progressive_web_app/background_color=Color( 0, 0, 0, 1 )
|
||||
|
|
5
game.gd
5
game.gd
|
@ -34,6 +34,7 @@ const a_sword = preload("res://audio/sounds/sword.ogg")
|
|||
const a_doublejump = preload("res://audio/sounds/a_bree.wav")
|
||||
const a_shoot = preload("res://audio/sounds/a_egg_shoot.ogg")
|
||||
const a_die = preload("res://audio/sounds/die.wav")
|
||||
const a_gover = preload("res://audio/sounds/gover.wav")
|
||||
#Objects
|
||||
const block_text = preload("res://objects/hud/blocktext.tscn")
|
||||
const pause_screen = preload("res://objects/hud/pause_screen.tscn")
|
||||
|
@ -118,6 +119,10 @@ func restart_level():
|
|||
Game.arrows = 0
|
||||
Game.lives = 2
|
||||
Game.ac_climb.stop()
|
||||
Game.ac_die.stop()
|
||||
Engine.time_scale = 1.0
|
||||
for tween in get_tree().get_processed_tweens():
|
||||
tween.kill()
|
||||
Game.change_map(load(Game.get_map().filename))
|
||||
|
||||
#Freeze frame
|
||||
|
|
|
@ -12,7 +12,7 @@ onready var dust_particles = $DustParticles
|
|||
#Map
|
||||
onready var map = get_owner()
|
||||
##States
|
||||
enum State {IDLE,WALK,JUMP,FALL,STUNNED,CLIMB,SWORD,SHOOT}
|
||||
enum State {IDLE,WALK,JUMP,FALL,STUNNED,CLIMB,SWORD,SHOOT,INACTIVE}
|
||||
var current_state = State.IDLE
|
||||
##Runtime
|
||||
var axis = Vector2.ZERO #Current direction being held
|
||||
|
@ -41,6 +41,8 @@ func _physics_process(delta):
|
|||
#Check ladder
|
||||
check_ladder()
|
||||
match current_state:
|
||||
State.INACTIVE:
|
||||
return
|
||||
State.IDLE:
|
||||
_process_idle()
|
||||
continue
|
||||
|
@ -69,7 +71,8 @@ func _physics_process(delta):
|
|||
_process_shoot()
|
||||
|
||||
#Gravity
|
||||
if current_state != State.CLIMB: velocity.y += gravity
|
||||
if current_state != State.CLIMB:
|
||||
velocity.y += gravity
|
||||
#Cut y velocity when hitting ceiling
|
||||
if is_on_ceiling():
|
||||
current_state = State.FALL
|
||||
|
@ -251,14 +254,25 @@ func die():
|
|||
new_particles.global_position = global_position
|
||||
new_particles.emitting = true
|
||||
sprite.visible = false
|
||||
Game.lives -= 1
|
||||
if Game.lives < 0:
|
||||
new_particles.amount = 64
|
||||
new_particles.lifetime = 0.45
|
||||
new_particles.speed_scale = 1.5
|
||||
current_state = State.INACTIVE
|
||||
Game.play_sound(Game.a_gover, Game.ac_die)
|
||||
var time_tween = get_tree().create_tween()
|
||||
time_tween.tween_property(Engine, "time_scale", 0.1, 0.3)
|
||||
Game.ac_music.stop()
|
||||
yield(time_tween, "finished")
|
||||
yield(get_tree().create_timer(1.0 * 0.1), "timeout")
|
||||
Game.call_deferred("restart_level")
|
||||
else:
|
||||
Game.play_sound(Game.a_die, Game.ac_die)
|
||||
yield(Game.freeze_frame(0.3), "timeout")
|
||||
position = Game.respawn_point
|
||||
sprite.visible = true
|
||||
current_state = State.IDLE
|
||||
Game.lives -= 1
|
||||
if Game.lives < 0:
|
||||
Game.call_deferred("restart_level")
|
||||
sprite.visible = true
|
||||
|
||||
func _on_AnimationPlayer_animation_finished(anim_name):
|
||||
#Return to idle after slash
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue