buncha bullshit
This commit is contained in:
parent
0fa8ab9930
commit
0cfe581493
8 changed files with 175 additions and 0 deletions
BIN
graphics/backgrounds/fire.png
Normal file
BIN
graphics/backgrounds/fire.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.9 KiB |
35
graphics/backgrounds/fire.png.import
Normal file
35
graphics/backgrounds/fire.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/fire.png-1a6113db082c73e88b91aa92d46ef1c6.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graphics/backgrounds/fire.png"
|
||||
dest_files=[ "res://.import/fire.png-1a6113db082c73e88b91aa92d46ef1c6.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
|
20
objects/enemy/death_particles_big.gd
Normal file
20
objects/enemy/death_particles_big.gd
Normal file
|
@ -0,0 +1,20 @@
|
|||
extends CPUParticles2D
|
||||
|
||||
|
||||
const BloodSpray := preload("res://objects/environment/blood/blood_spray_big.tscn")
|
||||
|
||||
|
||||
export var spray_ammount: int = 1
|
||||
export var spray_velocity: float = 120
|
||||
export var autoplay: bool = false
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
if autoplay:
|
||||
emitting = true
|
||||
yield(get_tree(), "idle_frame")
|
||||
for i in spray_ammount:
|
||||
var spray = BloodSpray.instance()
|
||||
spray.global_position = global_position
|
||||
spray.velocity = Vector2(randf() * spray_velocity, 0.0).rotated(randf() * (TAU / 45))
|
||||
get_parent().add_child(spray)
|
30
objects/enemy/death_particles_big.tscn
Normal file
30
objects/enemy/death_particles_big.tscn
Normal file
|
@ -0,0 +1,30 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://graphics/particles/blood.png" type="Texture" id=1]
|
||||
[ext_resource path="res://objects/enemy/death_particles_big.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="Curve" id=43]
|
||||
_data = [ Vector2( 0, 1 ), 0.0, -0.113537, 0, 0, Vector2( 1, 0 ), -3.35032, 0.0, 0, 0 ]
|
||||
|
||||
[node name="DeathSplatter" type="CPUParticles2D"]
|
||||
emitting = false
|
||||
amount = 32
|
||||
lifetime = 0.3
|
||||
one_shot = true
|
||||
explosiveness = 0.9
|
||||
local_coords = false
|
||||
texture = ExtResource( 1 )
|
||||
emission_shape = 2
|
||||
emission_rect_extents = Vector2( 4, 4 )
|
||||
direction = Vector2( 0, -1 )
|
||||
spread = 180.0
|
||||
gravity = Vector2( 0, 50 )
|
||||
initial_velocity = 60.0
|
||||
initial_velocity_random = 0.9
|
||||
damping = 2.0
|
||||
angle = 720.0
|
||||
angle_random = 1.0
|
||||
scale_amount = 0.5
|
||||
scale_amount_random = 1.0
|
||||
scale_amount_curve = SubResource( 43 )
|
||||
script = ExtResource( 2 )
|
42
objects/environment/blood/blood_spray_big.gd
Normal file
42
objects/environment/blood/blood_spray_big.gd
Normal file
|
@ -0,0 +1,42 @@
|
|||
extends Area2D
|
||||
|
||||
|
||||
const BloodStain := preload("res://objects/environment/blood/blood_stain.tscn")
|
||||
const PlayerStain := preload("res://objects/player/player_stain.tscn")
|
||||
|
||||
|
||||
export var color: Color
|
||||
export var stains_player: bool = true
|
||||
|
||||
|
||||
var velocity := Vector2.ZERO
|
||||
|
||||
|
||||
onready var sprite: Sprite = $Sprite
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
sprite.self_modulate = color
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
velocity.y += 98.0 * delta
|
||||
position += velocity * delta
|
||||
sprite.global_rotation = velocity.angle()
|
||||
|
||||
|
||||
func _on_body_entered(body: Node) -> void:
|
||||
if body.is_in_group("can_stain"):
|
||||
var stain = BloodStain.instance()
|
||||
stain.modulate = color
|
||||
stain.global_position = global_position
|
||||
StainLayer.add_stain(stain)
|
||||
queue_free()
|
||||
elif body is TileMap:
|
||||
queue_free()
|
||||
elif stains_player and body.is_in_group("player"):
|
||||
var stain = PlayerStain.instance()
|
||||
stain.color = color
|
||||
body.get_node("Graphics/Sprite").add_child(stain)
|
||||
stain.global_position = global_position
|
||||
queue_free()
|
23
objects/environment/blood/blood_spray_big.tscn
Normal file
23
objects/environment/blood/blood_spray_big.tscn
Normal file
|
@ -0,0 +1,23 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://graphics/particles/famira_blood.png" type="Texture" id=1]
|
||||
[ext_resource path="res://objects/environment/blood/blood_spray_big.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="CircleShape2D" id=1]
|
||||
radius = 0.5
|
||||
|
||||
[node name="BloodSpray" type="Area2D"]
|
||||
collision_mask = 129
|
||||
script = ExtResource( 2 )
|
||||
color = Color( 0.701961, 0.745098, 0.4, 1 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
scale = Vector2( 0.75, 0.5 )
|
||||
texture = ExtResource( 1 )
|
||||
offset = Vector2( 2, 0 )
|
||||
flip_h = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
20
objects/environment/test_fire/test_fire.tscn
Normal file
20
objects/environment/test_fire/test_fire.tscn
Normal file
|
@ -0,0 +1,20 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://graphics/backgrounds/fire.png" type="Texture" id=1]
|
||||
[ext_resource path="res://shaders/fire.gdshader" type="Shader" id=2]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=1]
|
||||
shader = ExtResource( 2 )
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="."]
|
||||
margin_right = 256.0
|
||||
margin_bottom = 192.0
|
||||
color = Color( 0, 0, 0, 1 )
|
||||
|
||||
[node name="Fire" type="Sprite" parent="."]
|
||||
material = SubResource( 1 )
|
||||
position = Vector2( 144, 96 )
|
||||
scale = Vector2( 2.02667, 1 )
|
||||
texture = ExtResource( 1 )
|
5
shaders/fire.gdshader
Normal file
5
shaders/fire.gdshader
Normal file
|
@ -0,0 +1,5 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
void fragment() {
|
||||
COLOR = texture(TEXTURE, vec2(UV.x + sin(TIME / 2.5 + UV.y*6.0)/30.0,UV.y));
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue