Browse Source

bunch of fixes based on feedback, adding changelog

galo 1 year ago
parent
commit
a7e5f240fb

+ 3 - 0
.import/footsteps.png-008bff48e024ef369299f0f4871067c2.md5

@@ -0,0 +1,3 @@
+source_md5="1213db5b1c96a5f6b86257f2cdf0e009"
+dest_md5="cfba474eb259be38e04986ed57cfa976"
+

BIN
.import/footsteps.png-008bff48e024ef369299f0f4871067c2.stex


+ 3 - 0
.import/sandtex2.png-5af04e80c36ab4a16482b1159a1476a1.md5

@@ -0,0 +1,3 @@
+source_md5="9ebcda8aa9235dbf1687474efd522fc9"
+dest_md5="d2c90be8a7dcaa5655dafd84cfa8df37"
+

BIN
.import/sandtex2.png-5af04e80c36ab4a16482b1159a1476a1.stex


+ 3 - 0
.import/sandtex22.png-4141b8044e51714f8229ed8d5c2b0752.md5

@@ -0,0 +1,3 @@
+source_md5="9f34183875b7622097537e4210119d3a"
+dest_md5="ab2c6acd14be690a3345c120a3782368"
+

BIN
.import/sandtex22.png-4141b8044e51714f8229ed8d5c2b0752.stex


+ 7 - 16
Health.gd

@@ -11,26 +11,26 @@ var regen_time = 7
 var reactive_dmg = 0.0
 var hpmult = 1.0
 var buff = 0
+export var xpparticles = false
+var xp = preload("res://effects/xp.tscn")
+var xporbs = 5
+var once = true
+var chance = 0.0
+var invutime = 2.5
+var vulnerable = true
 
 func _physics_process(delta):
 	$Label.text = str(health)
 	buff += 1
 	if fmod(buff,regen_time*60) == 00:
-#		print('regen')
 		_damage(-regen * health_max ,'',self)
 
-
-var vulnerable = true
-
 func _damage(dmg, effect, caller):
 	if health > health_max: health = health_max
-	
 	if vulnerable:
-		
 		health -= dmg * hpmult
 		health = min(health,health_max)
 		emit_signal('damage', dmg)
-#		print('dmg to ' + str(get_path()) + " : " + str(health) + " : " +str(dmg))
 		if health <= 0 and once:
 			once = false
 			emit_signal('die')
@@ -46,11 +46,6 @@ func _damage(dmg, effect, caller):
 			invutime()
 			print(get_parent().name + ' entity health is : ' + str(health))
 
-export var xpparticles = false
-var xp = preload("res://effects/xp.tscn")
-var xporbs = 5
-var once = true
-
 func xpanim(caller):
 	for x in xporbs:
 		var new = xp.instance()
@@ -58,9 +53,6 @@ func xpanim(caller):
 		get_parent().get_parent().add_child(new)
 		new.glob_pos = global_position
 
-var chance = 0.0
-var invutime = 2.5
-
 func invutime():
 	if randf() < chance:
 		vulnerable = false
@@ -75,7 +67,6 @@ func invutime():
 		yield(Timergen.createtime(self,0.1),'timeout')
 		get_parent().modulate = Color(1,1,1)
 
-
 func _expgain(arg):
 	pass
 

+ 0 - 1
Health.tscn

@@ -6,7 +6,6 @@
 script = ExtResource( 1 )
 
 [node name="Label" type="Label" parent="."]
-visible = false
 margin_left = -20.0
 margin_top = -61.0
 margin_right = 20.0

+ 0 - 10
bacteria.gd

@@ -11,8 +11,6 @@ var totalxp = 0
 var nextxp = 25
 var lv = 1
 
-
-
 func get_stat(arg):
 	var buff = 1.0
 	for x in Powerups.dict.values():
@@ -22,7 +20,6 @@ func get_stat(arg):
 	return buff
 
 func _load():
-	
 	self.speed = get_stat('speed') * 200
 	self.xpmult = get_stat('xpmult')
 	$hitbox.dmg = get_stat('dmg') * 10
@@ -44,7 +41,6 @@ func _load():
 	$Health._ready()
 	print('real invu chance is : ' + str($Health.chance))
 	self.attackrange =  get_stat('range') * 80
-
 	
 	for x in get_node("Icon").get_children():
 		for y in x.get_children():
@@ -56,7 +52,6 @@ func _load():
 			y.add_child(sprite)
 
 func _physics_process(delta):
-	
 	move_and_slide(motion * speed)
 	$hitbox.position = dir * attackrange
 	$Icon.rotation = atan2(motion.y,motion.x)
@@ -66,9 +61,6 @@ func _input(event):
 	if event is InputEventScreenDrag or event is InputEventScreenTouch and event.is_pressed():
 		dir = (event.position - get_global_transform_with_canvas().origin).normalized()
 		motion = dir
-#	else:
-#		motion *= .8
-		
 
 func _on_Health_die():
 	emit_signal('dieproxy')
@@ -93,8 +85,6 @@ func _on_hitbox_gotxp(arg):
 	$CanvasLayer/ProgressBar2.set_max( nextxp )
 	pass # Replace with function body.
 
-
-
 func _on_PowerUpControl_close_menu():
 #	_on_hitbox_gotxp(0)
 	print('close menu')

+ 17 - 0
debug.gd

@@ -0,0 +1,17 @@
+extends Label
+
+#func _input(event):
+#	if Input.is_action_just_pressed("f3"): visible = !visible
+
+func _physics_process(delta):
+	text = "fps: " + str(Engine.get_frames_per_second())
+	text += "\n"
+	text += 'mem: ' + String.humanize_size(OS.get_static_memory_usage())
+	text += "\n"
+	text += 'vram: ' + String.humanize_size(Performance.get_monitor(20))
+	text += "\n"
+#	if has_node(singleton.player_path):
+#		text += 'x: ' + str(int(get_node(singleton.player_path).global_position.x))
+#		text += "\n"
+#		text += 'y: ' + str(int(get_node(singleton.player_path).global_position.y))
+

+ 18 - 1
enemy.gd

@@ -8,6 +8,7 @@ export var reactiontime = 1
 var active = false
 export var detectionzone = 128
 export var exppt = 15
+onready var initspeed = Vector2(sin(rand_range(0,TAU)),cos(rand_range(0,TAU)))
 
 func _ready():
 	player = get_tree().get_nodes_in_group('player')[0]
@@ -19,8 +20,15 @@ func _ready():
 		array.shuffle()
 	$types.play(array[0])
 	name = array[0]
+	yield(Timergen.createtime(self,0.1),'timeout')
+	$Health.health = $Health.health_max
+	$types.queue_free()
+	yield(Timergen.createtime(self,5.0),'timeout')
+	if not $VisibilityNotifier2D.is_visible_in_tree(): queue_free()
 	pass # Replace with function body.
 
+var delete_buff = 600
+
 func _physics_process(delta):
 	if player:
 		for x in range(-1,1):
@@ -28,7 +36,6 @@ func _physics_process(delta):
 				if checkapproxpos(Vector2(x,y)):
 					active = true
 		if active:
-			
 			reactiontime -= 1
 			if reactiontime == 0:
 				motion = (player.global_position - global_position).normalized()
@@ -36,9 +43,19 @@ func _physics_process(delta):
 				$hitbox.position = motion * attackrange
 			move_and_slide(motion * speed)
 			$Sprite.rotation = atan2(motion.y * speed,motion.x * speed)
+#		delete_buff -= 1
+#		if delete_buff < 0: 
+#			if not $VisibilityNotifier2D.is_visible_in_tree():
+#				queue_free()
+#			delete_buff = 600
 
 func checkapproxpos(var offset = Vector2()):
 	var pos1 = Vector2(int(player.global_position.x/detectionzone), int(player.global_position.y/detectionzone))
 	var pos2 = Vector2(int(global_position.x/detectionzone), int(global_position.y/detectionzone))
 	if pos1.y+offset.y == pos2.y+offset.y and  pos1.x+offset.x == pos2.x+offset.x: 
 		return true
+
+
+func _on_VisibilityNotifier2D_screen_exited():
+#	if not active: queue_free()
+	pass # Replace with function body.

+ 16 - 9
enemy.tscn

@@ -23,7 +23,7 @@
 [ext_resource path="res://hitanim.gd" type="Script" id=21]
 
 [sub_resource type="RectangleShape2D" id=1]
-extents = Vector2( 60, 60 )
+extents = Vector2( 40, 40 )
 
 [sub_resource type="Shader" id=12]
 code = "shader_type canvas_item;
@@ -1861,9 +1861,9 @@ tracks/3/keys = {
 
 [node name="enemy" type="KinematicBody2D" groups=["enemy"]]
 script = ExtResource( 3 )
-speed = 100
+speed = -200
 detectionzone = 256
-exppt = 1500
+exppt = 50
 
 [node name="particles" parent="." instance=ExtResource( 6 )]
 
@@ -1872,7 +1872,7 @@ shape = SubResource( 1 )
 
 [node name="Sprite" type="Sprite" parent="."]
 material = SubResource( 13 )
-texture = ExtResource( 13 )
+texture = ExtResource( 9 )
 
 [node name="Sprite2" type="Sprite" parent="Sprite"]
 visible = false
@@ -1892,20 +1892,21 @@ texture = ExtResource( 17 )
 
 [node name="Sprite4" type="Sprite" parent="Sprite"]
 material = SubResource( 13 )
-position = Vector2( -17, -3 )
+position = Vector2( -12, -1 )
 rotation = 0.232153
 z_index = -1
-texture = ExtResource( 16 )
+texture = ExtResource( 18 )
 
 [node name="Health" parent="." instance=ExtResource( 2 )]
-health_max = 400
+health_max = 100
 xpparticles = true
 
 [node name="hitbox" parent="." instance=ExtResource( 4 )]
+visible = false
 z_index = -5
-dmg = 50
+dmg = 0
 affect = "player"
-apc = 0.5
+apc = 5.0
 
 [node name="Target4" parent="hitbox" index="2"]
 visible = false
@@ -1941,9 +1942,15 @@ autoplay = "move"
 anims/RESET = SubResource( 15 )
 anims/move = SubResource( 16 )
 
+[node name="VisibilityNotifier2D" type="VisibilityNotifier2D" parent="."]
+position = Vector2( 60, 60 )
+scale = Vector2( 3.78125, 3.75 )
+rect = Rect2( -32, -32, 32, 32 )
+
 [connection signal="die" from="Health" to="particles" method="set_emitting" binds= [ false ]]
 [connection signal="die" from="Health" to="hitbox" method="hide"]
 [connection signal="die" from="Health" to="die" method="_on_Health_die"]
 [connection signal="die" from="Health" to="fadeout" method="set_physics_process" binds= [ true ]]
+[connection signal="screen_exited" from="VisibilityNotifier2D" to="." method="_on_VisibilityNotifier2D_screen_exited"]
 
 [editable path="hitbox"]

+ 1 - 2
hitbox.gd

@@ -12,6 +12,7 @@ var stealhp = 0
 signal regenhealth(arg, arg1, arg2)
 var critical_dmg = 1.0
 var critical_chance = 0.0
+signal gotxp(arg)
 
 func hpsteal():
 	if randf() < stealhp:
@@ -42,8 +43,6 @@ func _on_hitbox_body_entered(body):
 	emit_signal('reloaded')
 	pass # Replace with function body.
 
-signal gotxp(arg)
-
 func _expgain(exppt):
 	print(exppt)
 	emit_signal('gotxp',exppt)

+ 33 - 1
main.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=24 format=2]
+[gd_scene load_steps=27 format=2]
 
 [ext_resource path="res://spawner.gd" type="Script" id=1]
 [ext_resource path="res://bacteria.tscn" type="PackedScene" id=2]
@@ -13,6 +13,8 @@
 [ext_resource path="res://ui/InterfaceLevelUpNew.png" type="Texture" id=11]
 [ext_resource path="res://ui/Area2D2.gd" type="Script" id=12]
 [ext_resource path="res://audio.ogg" type="AudioStream" id=13]
+[ext_resource path="res://debug.gd" type="Script" id=14]
+[ext_resource path="res://sandtex22.png" type="Texture" id=15]
 
 [sub_resource type="DynamicFont" id=1]
 font_data = ExtResource( 6 )
@@ -23,6 +25,16 @@ default_font = SubResource( 1 )
 [sub_resource type="CircleShape2D" id=3]
 radius = 20.0
 
+[sub_resource type="GDScript" id=11]
+script/source = "extends Sprite
+
+func _process(delta):
+	global_position = get_viewport_transform().get_origin() * -1
+	region_rect.position.x = get_viewport_transform().get_origin().x * -1
+	region_rect.position.y = get_viewport_transform().get_origin().y * -1
+#	pass
+"
+
 [sub_resource type="Shader" id=4]
 code = "// NOTE: Shader automatically converted from Godot Engine 3.4.4.stable's CanvasItemMaterial.
 
@@ -339,15 +351,35 @@ margin_right = 380.0
 margin_bottom = 806.0
 text = "accept"
 
+[node name="TextureButton2" type="Sprite" parent="."]
+position = Vector2( -2, 0 )
+z_index = -255
+texture = ExtResource( 15 )
+centered = false
+region_enabled = true
+region_rect = Rect2( 0, 0, 540, 960 )
+script = SubResource( 11 )
+
 [node name="CanvasLayer" type="CanvasLayer" parent="."]
 layer = -1
 
 [node name="TextureButton" type="ColorRect" parent="CanvasLayer"]
+visible = false
 material = SubResource( 10 )
 anchor_right = 1.0
 anchor_bottom = 1.0
 theme = SubResource( 2 )
 
+[node name="debug" type="Label" parent="CanvasLayer"]
+margin_left = 22.0
+margin_top = 890.0
+margin_right = 96.0
+margin_bottom = 938.0
+text = "Fps: 60
+Vram: 0 mb
+ram: 0 mb"
+script = ExtResource( 14 )
+
 [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
 stream = ExtResource( 13 )
 autoplay = true

+ 5 - 35
particles.tscn

@@ -1,45 +1,15 @@
-[gd_scene load_steps=6 format=2]
+[gd_scene load_steps=3 format=2]
 
-[ext_resource path="res://icon.png" type="Texture" id=1]
-
-[sub_resource type="Shader" id=4]
-code = "// NOTE: Shader automatically converted from Godot Engine 3.4.4.stable's CanvasItemMaterial.
-
-shader_type canvas_item;
-render_mode blend_mix;
-
-uniform float pixmod = 1.0;
-
-float circle(vec2 position, float radius, float feather)
-{
-	return smoothstep(radius, radius + feather, length(position - vec2(0.5)));
-}
-
-void fragment(){
-	float pixelsize = SCREEN_PIXEL_SIZE.x * pixmod;
-	vec4 COLbuff = COLOR;
-	COLOR = ( ( 1.0-vec4( circle(UV, 0.2, pixelsize) ) ) - ( 1.0-vec4( circle(UV, 0.2-pixelsize, pixelsize) ) ) ) * COLbuff;
-}"
-
-[sub_resource type="ShaderMaterial" id=5]
-shader = SubResource( 4 )
-shader_param/pixmod = 8.0
-
-[sub_resource type="Curve" id=6]
-_data = [ Vector2( 0, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 0 ), 0.0, 0.0, 0, 0 ]
+[ext_resource path="res://sprite/footsteps.png" type="Texture" id=1]
 
 [sub_resource type="Gradient" id=7]
-offsets = PoolRealArray( 0.0730769, 0.457692, 0.980769 )
-colors = PoolColorArray( 0.897509, 1, 0.841463, 0.158537, 0.386719, 1, 0.396301, 1, 1, 1, 1, 0 )
+offsets = PoolRealArray( 0, 0.980769 )
+colors = PoolColorArray( 0.183526, 0.128054, 0.23584, 0.596078, 0.191886, 0.121403, 0.231934, 0 )
 
 [node name="particles" type="CPUParticles2D"]
-material = SubResource( 5 )
 z_index = -3
-amount = 16
-lifetime = 1.5
+lifetime = 2.0
 local_coords = false
 texture = ExtResource( 1 )
 gravity = Vector2( 0, 0 )
-scale_amount = 2.0
-scale_amount_curve = SubResource( 6 )
 color_ramp = SubResource( 7 )

BIN
sandtex2.png


+ 35 - 0
sandtex2.png.import

@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/sandtex2.png-5af04e80c36ab4a16482b1159a1476a1.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://sandtex2.png"
+dest_files=[ "res://.import/sandtex2.png-5af04e80c36ab4a16482b1159a1476a1.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=1
+flags/filter=false
+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
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

BIN
sandtex22.png


+ 35 - 0
sandtex22.png.import

@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/sandtex22.png-4141b8044e51714f8229ed8d5c2b0752.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://sandtex22.png"
+dest_files=[ "res://.import/sandtex22.png-4141b8044e51714f8229ed8d5c2b0752.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=1
+flags/filter=false
+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
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

BIN
sprite/footsteps.png


+ 35 - 0
sprite/footsteps.png.import

@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/footsteps.png-008bff48e024ef369299f0f4871067c2.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://sprite/footsteps.png"
+dest_files=[ "res://.import/footsteps.png-008bff48e024ef369299f0f4871067c2.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=false
+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
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

BIN
sprite/footsteps.png~