SACRIFICE

This commit is contained in:
Rendo 2025-06-30 00:27:12 +05:00
commit 6d96b1e6bd
17 changed files with 311 additions and 8 deletions

View file

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://dwr53ucg07nla"
path="res://.godot/imported/Oliver Buckland - Dead God Graveyard .mp3-22cfd929c244fa24654efd56bbc029db.mp3str"
[deps]
source_file="res://assets/audio/music/Oliver Buckland - Dead God Graveyard .mp3"
dest_files=["res://.godot/imported/Oliver Buckland - Dead God Graveyard .mp3-22cfd929c244fa24654efd56bbc029db.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View file

@ -0,0 +1,17 @@
shader_type canvas_item;
uniform sampler2D noise;
float rng(vec2 st)
{
return fract(sin(dot(st,vec2(16.125125,61.2155215125)))*12512.0);
}
void fragment() {
float capped_time = (sin(TIME/4.0) + 1.0);
if (abs(UV.x + UV.y - capped_time) < 0.05 || abs(UV.x + UV.y - capped_time - 0.75) < 0.05)
{
COLOR.rgb = vec3(255.0/255.0,127.0/255.0,80.0/255.0);
}
COLOR.a = COLOR.a*texture(noise,UV).a;
}

View file

@ -0,0 +1 @@
uid://d0rylce8i5xtg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Before After
Before After

BIN
assets/sprites/gold.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dfmi4cgn6hmsj"
path="res://.godot/imported/gold.png-c9486b6d2b144dc0f2b6faa5d7a615d4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/sprites/gold.png"
dest_files=["res://.godot/imported/gold.png-c9486b6d2b144dc0f2b6faa5d7a615d4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://3m6opnieiyr2"
path="res://.godot/imported/golden_bg.png-f122c61fcac80f54fa09625ea5d266ea.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/sprites/golden_bg.png"
dest_files=["res://.godot/imported/golden_bg.png-f122c61fcac80f54fa09625ea5d266ea.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View file

@ -11,7 +11,7 @@ config_version=5
[application]
config/name="Liberation of the Neighbourville"
run/main_scene="uid://c1335fke4thpm"
run/main_scene="uid://bfstrli64u23y"
config/features=PackedStringArray("4.4", "C#", "Forward Plus")
config/icon="res://icon.png"
config/windows_native_icon="res://icon.ico"

View file

@ -11,7 +11,7 @@ display_description = "[p]Simply shoots peas at zombies on the lane[/p]
[p]Health points: [color=DARK_RED]3 bites[/color].[/p]
[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p]
[p]Pea damage: [color=DARK_RED]1 pea[/color].[/p]
[p]Firerate: [color=DARK_RED]2/3 seconds[/color].[/p]"
[p]Firerate: [color=DARK_RED]1.5 seconds[/color].[/p]"
Cost = 75
Scene = ExtResource("1_rqf2x")
ReloadTime = 5.0

View file

@ -11,8 +11,8 @@ display_description = "[p]Shoots slowing peas at zombies.[/p]
[p]Health points: [color=DARK_RED]3 bites[/color].[/p]
[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p]
[p]Pea damage: [color=DARK_RED]1 pea[/color].[/p]
[p]Firerate: [color=DARK_RED]2/3 seconds[/color].[/p]
[p]Slow factor: [color=STEEL_BLUE]0.75[/color].[/p]"
[p]Firerate: [color=DARK_RED]1.5 seconds[/color].[/p]
[p]Slow percentage: [color=STEEL_BLUE]25%[/color].[/p]"
Cost = 175
Scene = ExtResource("2_k47h0")
ReloadTime = 5.0

View file

@ -11,8 +11,8 @@ display_description = "[p][center][color=GOLD][font_size=32]Work in progress[/fo
[p]Shoots peas at zombies in three lanes.[/p]
[p]Health points: [color=DARK_RED]3 bites[/color].[/p]
[p]Reload time: [color=DARK_RED]5 seconds[/color].[/p]
[p]Pea damage: [color=DARK_RED]1 pea[/color] ([color=LIME_GREEN]1 pea[/color] when in close quarters).[/p]
[p]Firerate: [color=DARK_RED]2/3 seconds[/color].[/p]"
[p]Pea damage: [color=DARK_RED]1 pea[/color] ([color=DARK_RED]3 pea[/color] when in close quarters).[/p]
[p]Firerate: [color=DARK_RED]1.5 seconds[/color].[/p]"
Cost = 300
Scene = ExtResource("2_uqpu0")
ReloadTime = 5.0

View file

@ -1,9 +1,10 @@
[gd_resource type="Theme" load_steps=9 format=3 uid="uid://b8l285cjcgeyi"]
[gd_resource type="Theme" load_steps=13 format=3 uid="uid://b8l285cjcgeyi"]
[ext_resource type="FontFile" uid="uid://nbrt5q3t8tud" path="res://assets/fonts/pico12.ttf" id="1_103to"]
[ext_resource type="Texture2D" uid="uid://d0yhee0scl7mc" path="res://assets/sprites/gui/ButtonBackground.tres" id="1_y0kbp"]
[ext_resource type="Texture2D" uid="uid://dxmg20mrnpt8r" path="res://assets/sprites/gui/SelectionGeneric.tres" id="2_h0nd2"]
[ext_resource type="Texture2D" uid="uid://b5skdm3q7tkh3" path="res://assets/sprites/gui/ChooseYourSeeds/Grabber.tres" id="3_i6w8j"]
[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="3_yeah5"]
[ext_resource type="Texture2D" uid="uid://cv255d4s0qopj" path="res://assets/sprites/gui/ChooseYourSeeds/Slider.tres" id="4_yeah5"]
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_na4u2"]
@ -23,6 +24,24 @@ axis_stretch_horizontal = 1
axis_stretch_vertical = 1
draw_center = false
[sub_resource type="AtlasTexture" id="AtlasTexture_5pe7g"]
atlas = ExtResource("3_yeah5")
region = Rect2(226, 77, 18, 18)
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_pjyej"]
texture = SubResource("AtlasTexture_5pe7g")
texture_margin_left = 6.0
texture_margin_top = 6.0
texture_margin_right = 6.0
texture_margin_bottom = 6.0
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_w6b64"]
texture = SubResource("AtlasTexture_5pe7g")
texture_margin_left = 6.0
texture_margin_top = 6.0
texture_margin_right = 6.0
texture_margin_bottom = 6.0
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_5pe7g"]
texture = ExtResource("4_yeah5")
texture_margin_left = 5.0
@ -41,6 +60,8 @@ Button/styles/focus = SubResource("StyleBoxTexture_mv7jy")
Button/styles/hover = SubResource("StyleBoxTexture_na4u2")
Button/styles/normal = SubResource("StyleBoxTexture_na4u2")
Button/styles/pressed = SubResource("StyleBoxTexture_na4u2")
Panel/styles/panel = SubResource("StyleBoxTexture_pjyej")
PanelContainer/styles/panel = SubResource("StyleBoxTexture_w6b64")
VSlider/icons/grabber = ExtResource("3_i6w8j")
VSlider/icons/grabber_disabled = ExtResource("3_i6w8j")
VSlider/icons/grabber_highlight = ExtResource("3_i6w8j")

View file

@ -34,7 +34,7 @@ _maxHP = 600
texture = ExtResource("2_o5tda")
hframes = 12
vframes = 3
frame = 3
frame = 10
[node name="AnimationPlayer" parent="." index="1"]
libraries = {

90
scenes/gui/main_menu.tscn Normal file
View file

@ -0,0 +1,90 @@
[gd_scene load_steps=4 format=3 uid="uid://bfstrli64u23y"]
[ext_resource type="Texture2D" uid="uid://dvldjlg0nr355" path="res://assets/sprites/atlases/atlas1.png" id="1_xbu81"]
[sub_resource type="AtlasTexture" id="AtlasTexture_5pe7g"]
atlas = ExtResource("1_xbu81")
region = Rect2(226, 77, 18, 18)
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_jl0ue"]
texture = SubResource("AtlasTexture_5pe7g")
texture_margin_left = 6.0
texture_margin_top = 6.0
texture_margin_right = 6.0
texture_margin_bottom = 6.0
[node name="MainMenu" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="PrototypeWindow" type="AcceptDialog" parent="."]
title = ""
size = Vector2i(600, 400)
unresizable = true
borderless = true
theme_override_styles/panel = SubResource("StyleBoxTexture_jl0ue")
ok_button_text = "Let's go"
dialog_close_on_escape = false
[node name="ScrollContainer" type="ScrollContainer" parent="PrototypeWindow"]
offset_left = 6.0
offset_top = 6.0
offset_right = 594.0
offset_bottom = 343.0
[node name="PrototypeNotification" type="RichTextLabel" parent="PrototypeWindow/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
bbcode_enabled = true
text = "[p][center][wave amp=50.0 freq=5.0 connected=1][font_size=24]WELCOME TO LIBERATION OF NEIGHBOURVILLE PROTOTYPE![/font_size][/wave][/center][/p]
[p]Big thanks from me, Rendo, and our team! We appreciate any feedback, so consider reporting bugs to our [color=cyan][url=https://www.youtube.com/watch?v=dQw4w9WgXcQ]discord server[/url][/color].[/p][p][/p]
[p]Liberation of Neighbourville is currently in early stages of development. However, we reached point when all essential systems and mechanics are ready.[/p]
[p][/p]
[p]As for now, you can play survival endless with all currently made plants. Game includes some plants from first Plants versus Zombies, Aloe from sequel, three basic zombies and a hobo zombie.[/p]
[p][/p]
[p]As for 0.2.X version, current roadmap contains:[ul]
[p]Adventure mode[/p]
[p]Almanach[/p]
[p]New plants and zombies, obviously[/p]
[p]More ways to play[/p]
[/ul][/p]"
fit_content = true
scroll_active = false
[node name="AboutWindow" type="AcceptDialog" parent="."]
title = ""
initial_position = 2
size = Vector2i(300, 400)
unresizable = true
borderless = true
theme_override_styles/panel = SubResource("StyleBoxTexture_jl0ue")
[node name="ScrollContainer" type="ScrollContainer" parent="AboutWindow"]
offset_left = 6.0
offset_top = 6.0
offset_right = 294.0
offset_bottom = 343.0
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="AboutText" type="RichTextLabel" parent="AboutWindow/ScrollContainer"]
layout_mode = 2
size_flags_horizontal = 3
bbcode_enabled = true
text = "[p][center][font_size=24]About[/font_size][/center][/p]
[p]Made in [color=steel_blue]Godot Engine [img=16]res://icon.svg[/img][/color][/p]
[p]
Made by: [ul]
[p]Rendo - programmer, gamedesigner[/p]
[p]Slaimy - graphics designer, gamedesigner[/p]
[p]CaTronick - graphics designer, gamedesigner[/p]
[/ul]
[/p]
[p]All rights for Plants versus Zombies franchise belong to PopCap games[/p]"
fit_content = true
scroll_active = false

87
scenes/sacrifice.tscn Normal file
View file

@ -0,0 +1,87 @@
[gd_scene load_steps=13 format=3 uid="uid://d2ut237hxscbo"]
[ext_resource type="Texture2D" uid="uid://3m6opnieiyr2" path="res://assets/sprites/golden_bg.png" id="1_tsh0d"]
[ext_resource type="Shader" uid="uid://d0rylce8i5xtg" path="res://assets/shaders/SACRIFICE.gdshader" id="2_b8skw"]
[ext_resource type="AudioStream" uid="uid://dwr53ucg07nla" path="res://assets/audio/music/Oliver Buckland - Dead God Graveyard .mp3" id="2_bijdt"]
[ext_resource type="Texture2D" uid="uid://dfmi4cgn6hmsj" path="res://assets/sprites/gold.png" id="3_1ybnd"]
[sub_resource type="Gradient" id="Gradient_b8skw"]
colors = PackedColorArray(0, 0, 0, 0, 1, 1, 1, 1)
[sub_resource type="FastNoiseLite" id="FastNoiseLite_1ybnd"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_yu0ma"]
width = 600
height = 400
color_ramp = SubResource("Gradient_b8skw")
noise = SubResource("FastNoiseLite_1ybnd")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_yu0ma"]
shader = ExtResource("2_b8skw")
shader_parameter/noise = SubResource("NoiseTexture2D_yu0ma")
[sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_7l6qq"]
stream_count = 1
stream_0 = ExtResource("2_bijdt")
[sub_resource type="Animation" id="Animation_b8skw"]
resource_name = "main"
length = 10.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TextureRect:self_modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(3, 10),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_1ybnd"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("TextureRect:self_modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_yu0ma"]
_data = {
&"RESET": SubResource("Animation_1ybnd"),
&"main": SubResource("Animation_b8skw")
}
[node name="SACRIFICE" type="TextureRect"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("1_tsh0d")
[node name="TextureRect" type="TextureRect" parent="."]
material = SubResource("ShaderMaterial_yu0ma")
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
texture = ExtResource("3_1ybnd")
[node name="Musicale" type="AudioStreamPlayer" parent="."]
stream = SubResource("AudioStreamPlaylist_7l6qq")
autoplay = true
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_yu0ma")
}
autoplay = "main"