troublemakers
This commit is contained in:
parent
f6b36c722c
commit
7b36f2d53b
18 changed files with 630 additions and 8 deletions
10
global.gd
10
global.gd
|
@ -13,17 +13,17 @@ var playerx
|
||||||
var playery
|
var playery
|
||||||
var ccutscene = null
|
var ccutscene = null
|
||||||
const cutscenes = [["res://levels/Cutscenes/opening/aboutkaizo.tscn", "res://levels/Cutscenes/opening/midorihello.tscn", 18, false], ["res://levels/Cutscenes/opening/midorihello.tscn", "res://levels/Cutscenes/opening/fearlessmidori.tscn", 18, false], ["res://levels/Cutscenes/opening/fearlessmidori.tscn", "res://levels/Cutscenes/opening/midoriwaterfall.tscn", 0, false], ["res://levels/Cutscenes/opening/midoriwaterfall.tscn", "res://levels/Cutscenes/opening/midorireading.tscn", 0, false], ["res://levels/Cutscenes/opening/midorireading.tscn", "res://levels/Cutscenes/opening/boomboomtorofi.tscn", 0, false], ["res://levels/Cutscenes/opening/boomboomtorofi.tscn", "res://levels/ui/gameplay.tscn", 0, true], ["res://levels/Cutscenes/unfunaversary/punishment.tscn", "res://levels/Cutscenes/unfunaversary/sadness.tscn", 1, false], ["res://levels/Cutscenes/unfunaversary/sadness.tscn", "res://levels/Cutscenes/unfunaversary/r3.tscn", 1, false], ["res://levels/Cutscenes/unfunaversary/r3.tscn", "res://levels/Cutscenes/unfunaversary/firstclass.tscn", 1, false], ["res://levels/Cutscenes/unfunaversary/firstclass.tscn", "res://backgounds/result.tscn", 5, true]]
|
const cutscenes = [["res://levels/Cutscenes/opening/aboutkaizo.tscn", "res://levels/Cutscenes/opening/midorihello.tscn", 18, false], ["res://levels/Cutscenes/opening/midorihello.tscn", "res://levels/Cutscenes/opening/fearlessmidori.tscn", 18, false], ["res://levels/Cutscenes/opening/fearlessmidori.tscn", "res://levels/Cutscenes/opening/midoriwaterfall.tscn", 0, false], ["res://levels/Cutscenes/opening/midoriwaterfall.tscn", "res://levels/Cutscenes/opening/midorireading.tscn", 0, false], ["res://levels/Cutscenes/opening/midorireading.tscn", "res://levels/Cutscenes/opening/boomboomtorofi.tscn", 0, false], ["res://levels/Cutscenes/opening/boomboomtorofi.tscn", "res://levels/ui/gameplay.tscn", 0, true], ["res://levels/Cutscenes/unfunaversary/punishment.tscn", "res://levels/Cutscenes/unfunaversary/sadness.tscn", 1, false], ["res://levels/Cutscenes/unfunaversary/sadness.tscn", "res://levels/Cutscenes/unfunaversary/r3.tscn", 1, false], ["res://levels/Cutscenes/unfunaversary/r3.tscn", "res://levels/Cutscenes/unfunaversary/firstclass.tscn", 1, false], ["res://levels/Cutscenes/unfunaversary/firstclass.tscn", "res://backgounds/result.tscn", 5, true]]
|
||||||
const pcnames = ["Midori Asgardius", "Diana Asgardius", null, "Kimberly Arch", null, null, null, null, null, "Natasha Dostoyevsky"]
|
const pcnames = ["Midori Asgardius", "Diana Asgardius", null, "Kimberly Arch", null, null, null, "Pamela Hashimoto", "Lety Hashimoto", "Natasha Dostoyevsky"]
|
||||||
const npcnames = ["Lily", null, null, "Kimberly Arch", null, null, null, null, null, "Natasha Dostoyevsky"]
|
const npcnames = ["Lily", null, null, "Kimberly Arch", null, null, null, null, null, "Natasha Dostoyevsky"]
|
||||||
const pcfaces = [["res://sprites/common/midori/face.png"], ["res://sprites/common/tuna/face.png"], [null], ["res://sprites/common/kimberly/face.png"], [null], [null], [null], [null], [null], ["res://sprites/common/natasha/face.png"]]
|
const pcfaces = [["res://sprites/common/midori/face.png"], ["res://sprites/common/tuna/face.png"], [null], ["res://sprites/common/kimberly/face.png"], [null], [null], [null], ["res://sprites/ceres/pamela/face.png"], ["res://sprites/ceres/lety/face.png"], ["res://sprites/common/natasha/face.png"]]
|
||||||
const hudfaces = [["res://sprites/common/midori/facehud.png"], ["res://sprites/common/tuna/facehud.png"], [null], ["res://sprites/common/kimberly/facehud.png"], [null], [null], [null], [null], [null], ["res://sprites/common/natasha/facehud.png"]]
|
const hudfaces = [["res://sprites/common/midori/facehud.png"], ["res://sprites/common/tuna/facehud.png"], [null], ["res://sprites/common/kimberly/facehud.png"], [null], [null], [null], ["res://sprites/ceres/pamela/facehud.png"], ["res://sprites/ceres/lety/facehud.png"], ["res://sprites/common/natasha/facehud.png"]]
|
||||||
const npcfaces = ["res://sprites/common/midori/face.png",null, null, "res://sprites/common/kimberly/face.png", null, null, null, null, null, "res://sprites/common/natasha/face.png"]
|
const npcfaces = ["res://sprites/common/midori/face.png",null, null, "res://sprites/common/kimberly/face.png", null, null, null, null, null, "res://sprites/common/natasha/face.png"]
|
||||||
const basestats = [[800, 200, 52, 12, 136, 25, 800], [1094, 200, 54, 7, 106, 48, 600], [null], [1143, 200, 59, 5, 117, 18, 650], [null], [null], [null], [null], [null], [1026, 200, 87, 7, 105, 49, 115]]
|
const basestats = [[800, 200, 52, 12, 136, 25, 800], [1094, 200, 54, 7, 106, 48, 600], [null], [1143, 200, 59, 5, 117, 18, 650], [null], [null], [null], [null], [null], [1026, 200, 87, 7, 105, 49, 115]]
|
||||||
var cstats = [[800, 200, 52, 12, 136, 25, 800], [1094, 200, 54, 7, 106, 48, 600], [null], [1143, 200, 59, 5, 117, 18, 650], [null], [null], [null], [null], [null], [1026, 200, 87, 7, 105, 49, 115]]
|
var cstats = [[800, 200, 52, 12, 136, 25, 800], [1094, 200, 54, 7, 106, 48, 600], [null], [1143, 200, 59, 5, 117, 18, 650], [null], [null], [null], [null], [null], [1026, 200, 87, 7, 105, 49, 115]]
|
||||||
var dstats = [[800, 200, 52, 12, 136, 25, 800], [1094, 200, 54, 7, 106, 48, 600], [null], [1143, 200, 59, 5, 117, 18, 650], [null], [null], [null], [null], [null], [1026, 200, 87, 7, 105, 49, 115]]
|
var dstats = [[800, 200, 52, 12, 136, 25, 800], [1094, 200, 54, 7, 106, 48, 600], [null], [1143, 200, 59, 5, 117, 18, 650], [null], [null], [null], [null], [null], [1026, 200, 87, 7, 105, 49, 115]]
|
||||||
var mstats = [[null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null]]
|
var mstats = [[null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null], [null, null, null, null, null, null, null]]
|
||||||
var cdialog = []
|
var cdialog = []
|
||||||
const places = [[[["res://levels/Ceres/map.tscn", 5, false], [null, null, false]], [["res://levels/Testrooms/bullethell.tscn", 11, true], ["res://levels/Testrooms/lilytest.tscn", 6, false]], [["res://levels/Testrooms/dialogtest.tscn", 19, false], ["res://levels/Testrooms/testspawn.tscn", 2 ,false]]], [null, null, null, null, null, null, null, null, [null, null, null, null, null, null, null, null, null, null, null, ["res://levels/Ceres/honkerrailway.tscn", 19, false]], null, null, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, ["res://levels/Ceres/L20.tscn", 3, true]]]]
|
const places = [[[["res://levels/Ceres/map.tscn", 5, false], [null, null, false]], [["res://levels/Testrooms/bullethell.tscn", 11, true], ["res://levels/Testrooms/lilytest.tscn", 6, false]], [["res://levels/Testrooms/dialogtest.tscn", 19, false], ["res://levels/Testrooms/testspawn.tscn", 2 ,false]]], [null, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, ["res://levels/Ceres/troublemakers.tscn", 6, true]], null, null, null, null, null, null, [null, null, null, null, null, null, null, null, null, null, null, ["res://levels/Ceres/honkerrailway.tscn", 19, false]], null, null, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, ["res://levels/Ceres/L20.tscn", 3, true]]]]
|
||||||
var cplace = [0,2,1]
|
var cplace = [0,2,1]
|
||||||
var dplace = [null, null, null]
|
var dplace = [null, null, null]
|
||||||
const pbbullets = ["res://sprites/common/bullet/fireball.tscn", "res://sprites/common/bullet/sword.tscn", null, "res://sprites/common/bullet/arrow.tscn", null, null, null, null, null, "res://sprites/common/bullet/snowflake.tscn"]
|
const pbbullets = ["res://sprites/common/bullet/fireball.tscn", "res://sprites/common/bullet/sword.tscn", null, "res://sprites/common/bullet/arrow.tscn", null, null, null, null, null, "res://sprites/common/bullet/snowflake.tscn"]
|
||||||
|
@ -34,7 +34,7 @@ var cboss = [null, null, null]
|
||||||
var isboss
|
var isboss
|
||||||
var party = [[0,0], [1,0], [9,0], [3,0]]
|
var party = [[0,0], [1,0], [9,0], [3,0]]
|
||||||
const specialities = [2, 0, 3, 1, 5, 4]
|
const specialities = [2, 0, 3, 1, 5, 4]
|
||||||
var dparty = [[0,0], [1,0], [9,0], [3,0]]
|
var dparty = [[0,0], [1,0], [3,0], [9,0]]
|
||||||
var level = [1,1,1,1,1,1,1,1,1,1]
|
var level = [1,1,1,1,1,1,1,1,1,1]
|
||||||
var dlevel = [1,1,1,1,1,1,1,1,1,1]
|
var dlevel = [1,1,1,1,1,1,1,1,1,1]
|
||||||
var cpchar = 0
|
var cpchar = 0
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
[gd_scene load_steps=19 format=3 uid="uid://c4ldh7ydn78bh"]
|
[gd_scene load_steps=21 format=3 uid="uid://c4ldh7ydn78bh"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://levels/Ceres/honkerrailway.gd" id="1_75qhf"]
|
[ext_resource type="Script" path="res://levels/Ceres/honkerrailway.gd" id="1_75qhf"]
|
||||||
[ext_resource type="Texture2D" uid="uid://l26qimo56l1w" path="res://sprites/ceres/items/hkr.png" id="2_qaay0"]
|
[ext_resource type="Texture2D" uid="uid://l26qimo56l1w" path="res://sprites/ceres/items/hkr.png" id="2_qaay0"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dhrj7a0xr4bh1" path="res://sprites/ceres/items/ltc.png" id="3_4ekhw"]
|
||||||
[ext_resource type="Texture2D" uid="uid://c1jjhut8fuf1w" path="res://sprites/ceres/railway/sprite.png" id="3_4r2wm"]
|
[ext_resource type="Texture2D" uid="uid://c1jjhut8fuf1w" path="res://sprites/ceres/railway/sprite.png" id="3_4r2wm"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cehe6sm8ly06u" path="res://sprites/common/player/player.tscn" id="3_uvwc3"]
|
[ext_resource type="PackedScene" uid="uid://cehe6sm8ly06u" path="res://sprites/common/player/player.tscn" id="3_uvwc3"]
|
||||||
|
|
||||||
|
@ -14,6 +15,9 @@ size = Vector2(1283, 20)
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_dw13o"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_dw13o"]
|
||||||
size = Vector2(224, 409)
|
size = Vector2(224, 409)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6hhd2"]
|
||||||
|
size = Vector2(68, 152)
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_hyd1a"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_hyd1a"]
|
||||||
size = Vector2(86, 256)
|
size = Vector2(86, 256)
|
||||||
|
|
||||||
|
@ -217,6 +221,15 @@ texture = ExtResource("2_qaay0")
|
||||||
position = Vector2(1, -4.5)
|
position = Vector2(1, -4.5)
|
||||||
shape = SubResource("RectangleShape2D_dw13o")
|
shape = SubResource("RectangleShape2D_dw13o")
|
||||||
|
|
||||||
|
[node name="StaticBody2D6" type="StaticBody2D" parent="."]
|
||||||
|
position = Vector2(384, 186)
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="StaticBody2D6"]
|
||||||
|
texture = ExtResource("3_4ekhw")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D6"]
|
||||||
|
shape = SubResource("RectangleShape2D_6hhd2")
|
||||||
|
|
||||||
[node name="Railwaygirl" type="CharacterBody2D" parent="."]
|
[node name="Railwaygirl" type="CharacterBody2D" parent="."]
|
||||||
position = Vector2(473, 133)
|
position = Vector2(473, 133)
|
||||||
|
|
||||||
|
|
50
levels/Ceres/troublemakers.gd
Normal file
50
levels/Ceres/troublemakers.gd
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
extends Node2D
|
||||||
|
var talk = load("res://levels/ui/talk.tscn").instantiate()
|
||||||
|
var boss
|
||||||
|
var player
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
boss = $Pamela
|
||||||
|
player = $Player
|
||||||
|
boss.add_to_group("boss")
|
||||||
|
Global.cdialog = [[tr("DIALOG_TROUBLEMAKER_0"), true, 0, 0], [tr("DIALOG_TROUBLEMAKER_1"), true, 7, 0], [tr("DIALOG_TROUBLEMAKER_2"), true, 0, 0]]
|
||||||
|
Global.live = 0
|
||||||
|
get_tree().root.add_child.call(talk)
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
if Global.debug:
|
||||||
|
if Global.dstats[Global.dparty[0][0]][0] <= 0 && Global.live == 1:
|
||||||
|
_winner()
|
||||||
|
else:
|
||||||
|
if Global.cstats[Global.party[0][0]][0] <= 0 && Global.live == 1:
|
||||||
|
_winner()
|
||||||
|
|
||||||
|
func _input(event):
|
||||||
|
if Global.cdialog.size() != 0 && Global.live == 1:
|
||||||
|
get_tree().root.remove_child(talk)
|
||||||
|
Global.cdialog = []
|
||||||
|
|
||||||
|
func _winner():
|
||||||
|
Global.cdialog = [[tr("DIALOG_CERES_L20_3"), true, 0, 0], [tr("DIALOG_CERES_L20_4"), false, 3], [tr("DIALOG_CERES_L20_5"), true, 0, 0]]
|
||||||
|
Global.live = 3
|
||||||
|
Global.ccutscene = 6
|
||||||
|
#talk.queue_free()
|
||||||
|
talk = load("res://levels/ui/talk.tscn").instantiate()
|
||||||
|
get_tree().root.add_child.call(talk)
|
||||||
|
|
||||||
|
func _statrebase():
|
||||||
|
if Global.debug:
|
||||||
|
for i in 4:
|
||||||
|
if Global.dparty[i][0] != null:
|
||||||
|
for j in 7:
|
||||||
|
Global.mstats[Global.dparty[i][0]][j] = Global.basestats[Global.dparty[i][0]][j] * Global.dlevel[Global.dparty[i][0]]
|
||||||
|
else:
|
||||||
|
for i in 4:
|
||||||
|
if Global.party[i][0] != null:
|
||||||
|
for j in 7:
|
||||||
|
Global.mstats[Global.party[i][0]][j] = Global.basestats[Global.party[i][0]][j] * Global.level[Global.dparty[i][0]]
|
66
levels/Ceres/troublemakers.tscn
Normal file
66
levels/Ceres/troublemakers.tscn
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
[gd_scene load_steps=7 format=3 uid="uid://b06kxtu82485n"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://levels/Ceres/troublemakers.gd" id="1_8o6q0"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dursxelwwxe8u" path="res://sprites/common/placeholder/player.png" id="2_sgxbf"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dya2jipk8eq2s" path="res://sprites/ceres/pamela/pamela.tscn" id="3_8xsbu"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cehe6sm8ly06u" path="res://sprites/common/player/player.tscn" id="4_nfhf4"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1jr1w"]
|
||||||
|
size = Vector2(20, 761)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_iptg6"]
|
||||||
|
size = Vector2(1283, 20)
|
||||||
|
|
||||||
|
[node name="Troublemakers" type="Node2D"]
|
||||||
|
script = ExtResource("1_8o6q0")
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="."]
|
||||||
|
custom_minimum_size = Vector2(1280, 720)
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
color = Color(0, 0.619608, 0.270588, 1)
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
|
offset_left = 583.0
|
||||||
|
offset_top = 4.0
|
||||||
|
offset_right = 711.0
|
||||||
|
offset_bottom = 260.0
|
||||||
|
texture = ExtResource("2_sgxbf")
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="."]
|
||||||
|
offset_left = 327.0
|
||||||
|
offset_top = 354.0
|
||||||
|
offset_right = 957.0
|
||||||
|
offset_bottom = 409.0
|
||||||
|
theme_override_font_sizes/font_size = 40
|
||||||
|
text = "Boss spawns at EBU pattern area"
|
||||||
|
|
||||||
|
[node name="StaticBody2D" type="StaticBody2D" parent="."]
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
|
||||||
|
position = Vector2(-11, 361.5)
|
||||||
|
shape = SubResource("RectangleShape2D_1jr1w")
|
||||||
|
|
||||||
|
[node name="StaticBody2D2" type="StaticBody2D" parent="."]
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D2"]
|
||||||
|
position = Vector2(1293, 358)
|
||||||
|
shape = SubResource("RectangleShape2D_1jr1w")
|
||||||
|
|
||||||
|
[node name="StaticBody2D3" type="StaticBody2D" parent="."]
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D3"]
|
||||||
|
position = Vector2(641.5, -9)
|
||||||
|
shape = SubResource("RectangleShape2D_iptg6")
|
||||||
|
|
||||||
|
[node name="StaticBody2D4" type="StaticBody2D" parent="."]
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D4"]
|
||||||
|
position = Vector2(644, 731)
|
||||||
|
shape = SubResource("RectangleShape2D_iptg6")
|
||||||
|
|
||||||
|
[node name="Pamela" parent="." instance=ExtResource("3_8xsbu")]
|
||||||
|
position = Vector2(643, 129)
|
||||||
|
|
||||||
|
[node name="Player" parent="." instance=ExtResource("4_nfhf4")]
|
||||||
|
position = Vector2(652, 590)
|
|
@ -62,3 +62,9 @@ func _on_dialogtest_pressed() -> void:
|
||||||
Global.dplace = [1, 8, 11]
|
Global.dplace = [1, 8, 11]
|
||||||
Global.live = 1
|
Global.live = 1
|
||||||
get_tree().change_scene_to_file("res://levels/ui/gameplay.tscn")
|
get_tree().change_scene_to_file("res://levels/ui/gameplay.tscn")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_bullethell_pressed() -> void:
|
||||||
|
Global.dplace = [1, 1, 17]
|
||||||
|
Global.live = 1
|
||||||
|
get_tree().change_scene_to_file("res://levels/ui/gameplay.tscn")
|
||||||
|
|
|
@ -73,7 +73,7 @@ text = "Honker Railway"
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_font_sizes/font_size = 32
|
theme_override_font_sizes/font_size = 32
|
||||||
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
|
theme_override_styles/focus = SubResource("StyleBoxFlat_6u0xs")
|
||||||
text = "BUTTON_PLACEHOLDER"
|
text = "TWIN_TROUBLEMAKERS"
|
||||||
|
|
||||||
[node name="Credits" type="Button" parent="VBoxContainer"]
|
[node name="Credits" type="Button" parent="VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
@ -96,4 +96,5 @@ text = "BUTTON_RETURN"
|
||||||
[connection signal="pressed" from="VBoxContainer/L20" to="." method="_on_l_20_pressed"]
|
[connection signal="pressed" from="VBoxContainer/L20" to="." method="_on_l_20_pressed"]
|
||||||
[connection signal="pressed" from="VBoxContainer/Lilytest" to="." method="_on_lilytest_pressed"]
|
[connection signal="pressed" from="VBoxContainer/Lilytest" to="." method="_on_lilytest_pressed"]
|
||||||
[connection signal="pressed" from="VBoxContainer/Dialogtest" to="." method="_on_dialogtest_pressed"]
|
[connection signal="pressed" from="VBoxContainer/Dialogtest" to="." method="_on_dialogtest_pressed"]
|
||||||
|
[connection signal="pressed" from="VBoxContainer/Bullethell" to="." method="_on_bullethell_pressed"]
|
||||||
[connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"]
|
[connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"]
|
||||||
|
|
|
@ -26,6 +26,7 @@ color = Color(0, 0, 0, 1)
|
||||||
[node name="Bottomhud" parent="CanvasLayer" instance=ExtResource("2_jnb0v")]
|
[node name="Bottomhud" parent="CanvasLayer" instance=ExtResource("2_jnb0v")]
|
||||||
|
|
||||||
[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer"]
|
[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer"]
|
||||||
|
layout_direction = 3
|
||||||
offset_right = 40.0
|
offset_right = 40.0
|
||||||
offset_bottom = 40.0
|
offset_bottom = 40.0
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ func _input(event):
|
||||||
if dindex < Global.cdialog.size():
|
if dindex < Global.cdialog.size():
|
||||||
if Global.cdialog[dindex][1]:
|
if Global.cdialog[dindex][1]:
|
||||||
cname.set_text(Global.pcnames[Global.cdialog[dindex][2]])
|
cname.set_text(Global.pcnames[Global.cdialog[dindex][2]])
|
||||||
pface.texture = load((Global.pcfaces[Global.cdialog[dindex][2]][Global.cdialog[dindex][2]]))
|
pface.texture = load((Global.pcfaces[Global.cdialog[dindex][2]][Global.cdialog[dindex][3]]))
|
||||||
else:
|
else:
|
||||||
cname.set_text(Global.npcnames[Global.cdialog[dindex][2]])
|
cname.set_text(Global.npcnames[Global.cdialog[dindex][2]])
|
||||||
pface.texture = load((Global.npcfaces[Global.cdialog[dindex][2]]))
|
pface.texture = load((Global.npcfaces[Global.cdialog[dindex][2]]))
|
||||||
|
|
|
@ -65,11 +65,13 @@ text = "100/100"
|
||||||
horizontal_alignment = 2
|
horizontal_alignment = 2
|
||||||
|
|
||||||
[node name="Topminibg" type="ColorRect" parent="CanvasLayer"]
|
[node name="Topminibg" type="ColorRect" parent="CanvasLayer"]
|
||||||
|
layout_direction = 3
|
||||||
offset_right = 438.0
|
offset_right = 438.0
|
||||||
offset_bottom = 116.0
|
offset_bottom = 116.0
|
||||||
color = Color(0.254902, 0.254902, 0.254902, 1)
|
color = Color(0.254902, 0.254902, 0.254902, 1)
|
||||||
|
|
||||||
[node name="Topmini" type="HBoxContainer" parent="CanvasLayer"]
|
[node name="Topmini" type="HBoxContainer" parent="CanvasLayer"]
|
||||||
|
layout_direction = 3
|
||||||
offset_right = 377.0
|
offset_right = 377.0
|
||||||
offset_bottom = 116.0
|
offset_bottom = 116.0
|
||||||
|
|
||||||
|
@ -159,12 +161,14 @@ color = Color(0, 0, 1, 1)
|
||||||
|
|
||||||
[node name="Topleftbg" type="ColorRect" parent="CanvasLayer"]
|
[node name="Topleftbg" type="ColorRect" parent="CanvasLayer"]
|
||||||
visible = false
|
visible = false
|
||||||
|
layout_direction = 3
|
||||||
offset_right = 437.0
|
offset_right = 437.0
|
||||||
offset_bottom = 476.0
|
offset_bottom = 476.0
|
||||||
color = Color(0.254902, 0.254902, 0.254902, 1)
|
color = Color(0.254902, 0.254902, 0.254902, 1)
|
||||||
|
|
||||||
[node name="Topleft" type="VBoxContainer" parent="CanvasLayer"]
|
[node name="Topleft" type="VBoxContainer" parent="CanvasLayer"]
|
||||||
visible = false
|
visible = false
|
||||||
|
layout_direction = 3
|
||||||
offset_right = 377.0
|
offset_right = 377.0
|
||||||
offset_bottom = 476.0
|
offset_bottom = 476.0
|
||||||
|
|
||||||
|
|
BIN
sprites/ceres/items/ltc.png
Normal file
BIN
sprites/ceres/items/ltc.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.7 KiB |
34
sprites/ceres/items/ltc.png.import
Normal file
34
sprites/ceres/items/ltc.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dhrj7a0xr4bh1"
|
||||||
|
path="res://.godot/imported/ltc.png-5590e18256969f120615104700fbbd3c.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sprites/ceres/items/ltc.png"
|
||||||
|
dest_files=["res://.godot/imported/ltc.png-5590e18256969f120615104700fbbd3c.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
|
116
sprites/ceres/pamela/pamela.gd
Normal file
116
sprites/ceres/pamela/pamela.gd
Normal file
|
@ -0,0 +1,116 @@
|
||||||
|
extends CharacterBody2D
|
||||||
|
|
||||||
|
var theta: float = 0.0
|
||||||
|
@export_range(0,2*PI) var alpha: float = 1.5
|
||||||
|
var bullet = load("res://sprites/common/bullet/tnt.tscn")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const SPEED = 300.0
|
||||||
|
const fspeed = 100.0
|
||||||
|
|
||||||
|
const JUMP_VELOCITY = -400.0
|
||||||
|
var vangle = 2
|
||||||
|
var weakness = 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var movex = 0
|
||||||
|
var movey = 0
|
||||||
|
var attack = 59
|
||||||
|
var crit = 5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
if Global.isboss:
|
||||||
|
Global.cboss = ["Pamela Hashimoto",800,800]
|
||||||
|
var stimer = $Speed
|
||||||
|
stimer.start(0.05)
|
||||||
|
|
||||||
|
func get_vector(angle):
|
||||||
|
theta = angle + alpha
|
||||||
|
return Vector2(cos(theta),sin(theta))
|
||||||
|
|
||||||
|
# Get the gravity from the project settings to be synced with RigidBody nodes.
|
||||||
|
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
|
||||||
|
|
||||||
|
@onready var anim := $AnimationPlayer
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
if Global.live == 1:
|
||||||
|
if Global.playerx < position.x && (position.x - Global.playerx) > 200:
|
||||||
|
movex = -1
|
||||||
|
elif Global.playerx > position.x && (Global.playerx - position.x) > 200:
|
||||||
|
movex = 1
|
||||||
|
else:
|
||||||
|
movex = 0
|
||||||
|
if Global.playery < position.y && (position.y - Global.playery) > 200:
|
||||||
|
movey = -1
|
||||||
|
elif Global.playery > position.y && (Global.playery - position.y) > 200:
|
||||||
|
movey = 1
|
||||||
|
else:
|
||||||
|
movey = 0
|
||||||
|
else:
|
||||||
|
movex = 0
|
||||||
|
movey = 0
|
||||||
|
velocity.x = movex * fspeed * delta
|
||||||
|
velocity.y = movey * fspeed * delta
|
||||||
|
# Add the gravity.
|
||||||
|
#var velocity = Vector2.ZERO
|
||||||
|
#if Global.live == 1:
|
||||||
|
#velocity = (Vector2.RIGHT.rotated(rotation) * 500 * Global.xm * delta)-Vector2.UP.rotated(rotation) * 500 * Global.ym * delta
|
||||||
|
#origmpos = get_viewport().get_mouse_position()
|
||||||
|
#if Input.get_joy_axis(0,JOY_AXIS_LEFT_Y) != 0:
|
||||||
|
# velocity = Vector2.UP.rotated(rotation) * -400 * Input.get_joy_axis(0,JOY_AXIS_LEFT_Y)
|
||||||
|
#position += velocity
|
||||||
|
position += velocity
|
||||||
|
if velocity.y > 0.3:
|
||||||
|
vangle = 2
|
||||||
|
elif velocity.y < -0.3:
|
||||||
|
vangle = 0
|
||||||
|
elif velocity.x > 0.3:
|
||||||
|
vangle = 1
|
||||||
|
elif velocity.x < -0.3:
|
||||||
|
vangle = 3
|
||||||
|
if velocity.y != 0 || velocity.x != 0:
|
||||||
|
if vangle == 0:
|
||||||
|
anim.play("nwalk")
|
||||||
|
elif vangle == 1:
|
||||||
|
anim.play("ewalk")
|
||||||
|
elif vangle == 3:
|
||||||
|
anim.play("wwalk")
|
||||||
|
else:
|
||||||
|
anim.play("swalk")
|
||||||
|
else:
|
||||||
|
if vangle == 0:
|
||||||
|
anim.play("nidle")
|
||||||
|
elif vangle == 1:
|
||||||
|
anim.play("eidle")
|
||||||
|
elif vangle == 3:
|
||||||
|
anim.play("widle")
|
||||||
|
else:
|
||||||
|
anim.play("sidle")
|
||||||
|
#move_and_slide()
|
||||||
|
func shoot(angle):
|
||||||
|
var new_bullet = bullet.instantiate()
|
||||||
|
new_bullet.position = Vector2(position.x, position.y)
|
||||||
|
new_bullet.direction = get_vector(angle)
|
||||||
|
new_bullet.btype = "boss"
|
||||||
|
new_bullet.attack = attack
|
||||||
|
new_bullet.crit = crit
|
||||||
|
new_bullet.speciality = 3
|
||||||
|
get_parent().call_deferred("add_child",new_bullet)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_speed_timeout():
|
||||||
|
if Global.live == 1:
|
||||||
|
shoot(theta)
|
184
sprites/ceres/pamela/pamela.tscn
Normal file
184
sprites/ceres/pamela/pamela.tscn
Normal file
|
@ -0,0 +1,184 @@
|
||||||
|
[gd_scene load_steps=14 format=3 uid="uid://dya2jipk8eq2s"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://sprites/ceres/pamela/pamela.gd" id="1_6fvfy"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dt8ufdvgghipy" path="res://sprites/ceres/pamela/sprite.png" id="2_v1g13"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_mcaff"]
|
||||||
|
size = Vector2(86, 256)
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_i5rhc"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_8my4d"]
|
||||||
|
resource_name = "eidle"
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [6]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_op07l"]
|
||||||
|
resource_name = "ewalk"
|
||||||
|
length = 0.3
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.1, 0.2),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [7, 6, 8]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_cajcr"]
|
||||||
|
resource_name = "nidle"
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0.2),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [3]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_7lhgw"]
|
||||||
|
resource_name = "nwalk"
|
||||||
|
length = 0.3
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.1, 0.2),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [4, 3, 5]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_w3ius"]
|
||||||
|
resource_name = "sidle"
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [0]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_u56r5"]
|
||||||
|
resource_name = "swalk"
|
||||||
|
length = 0.3
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.1, 0.2),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [1, 0, 2]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_isodq"]
|
||||||
|
resource_name = "widle"
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0.2),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [9]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_letwb"]
|
||||||
|
resource_name = "wwalk"
|
||||||
|
length = 0.3
|
||||||
|
loop_mode = 1
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("Sprite2D:frame")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 0.1, 0.2),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [10, 9, 11]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_mh65y"]
|
||||||
|
_data = {
|
||||||
|
"RESET": SubResource("Animation_i5rhc"),
|
||||||
|
"eidle": SubResource("Animation_8my4d"),
|
||||||
|
"ewalk": SubResource("Animation_op07l"),
|
||||||
|
"nidle": SubResource("Animation_cajcr"),
|
||||||
|
"nwalk": SubResource("Animation_7lhgw"),
|
||||||
|
"sidle": SubResource("Animation_w3ius"),
|
||||||
|
"swalk": SubResource("Animation_u56r5"),
|
||||||
|
"widle": SubResource("Animation_isodq"),
|
||||||
|
"wwalk": SubResource("Animation_letwb")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Pamela" type="CharacterBody2D"]
|
||||||
|
script = ExtResource("1_6fvfy")
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||||
|
texture = ExtResource("2_v1g13")
|
||||||
|
hframes = 3
|
||||||
|
vframes = 4
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
shape = SubResource("RectangleShape2D_mcaff")
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
libraries = {
|
||||||
|
"": SubResource("AnimationLibrary_mh65y")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Speed" type="Timer" parent="."]
|
||||||
|
wait_time = 0.1
|
||||||
|
|
||||||
|
[connection signal="timeout" from="Speed" to="." method="_on_speed_timeout"]
|
84
sprites/common/bullet/tnt.gd
Normal file
84
sprites/common/bullet/tnt.gd
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
extends Area2D
|
||||||
|
var velocity: Vector2 = Vector2()
|
||||||
|
var direction
|
||||||
|
var speed = 100
|
||||||
|
var btype
|
||||||
|
var isvisible
|
||||||
|
var speciality
|
||||||
|
var attack
|
||||||
|
var crit
|
||||||
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
func _ready():
|
||||||
|
isvisible = $VisibleOnScreenNotifier2D
|
||||||
|
add_to_group(btype)
|
||||||
|
#pass # Replace with function body.
|
||||||
|
|
||||||
|
|
||||||
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
|
func _process(delta):
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
if isvisible.is_on_screen() && Global.live != 4:
|
||||||
|
if direction == null:
|
||||||
|
position += velocity * delta
|
||||||
|
else:
|
||||||
|
position += speed * delta * direction
|
||||||
|
|
||||||
|
|
||||||
|
func _on_body_entered(body):
|
||||||
|
if !body.is_in_group(btype) && Global.live == 1:
|
||||||
|
if body.is_in_group("players") && Global.dificulty != 1:
|
||||||
|
if body.weakness == 1:
|
||||||
|
print("weakness")
|
||||||
|
#Input.start_joy_vibration(0,0,1,3)
|
||||||
|
if Global.debug:
|
||||||
|
if Global.dstats[Global.dparty[Global.dcpchar][0]][0] > (attack * crit):
|
||||||
|
Global.dstats[Global.dparty[Global.dcpchar][0]][0] -= attack * crit
|
||||||
|
else:
|
||||||
|
Global.dstats[Global.dparty[Global.dcpchar][0]][0] = 0
|
||||||
|
else:
|
||||||
|
if Global.cstats[Global.party[Global.cpchar][0]][0] > (attack * crit):
|
||||||
|
Global.cstats[Global.party[Global.cpchar][0]][0] -= attack * crit
|
||||||
|
else:
|
||||||
|
Global.cstats[Global.party[Global.cpchar][0]][0] = 0
|
||||||
|
else:
|
||||||
|
#Input.start_joy_vibration(0,1,0,2)
|
||||||
|
if Global.debug:
|
||||||
|
if Global.dstats[Global.dparty[Global.dcpchar][0]][0] > attack:
|
||||||
|
Global.dstats[Global.dparty[Global.dcpchar][0]][0] -= attack
|
||||||
|
else:
|
||||||
|
Global.dstats[Global.dparty[Global.dcpchar][0]][0] = 0
|
||||||
|
else:
|
||||||
|
if Global.cstats[Global.party[Global.cpchar][0]][0] > attack:
|
||||||
|
Global.cstats[Global.party[Global.cpchar][0]][0] -= attack
|
||||||
|
else:
|
||||||
|
Global.cstats[Global.party[Global.cpchar][0]][0] = 0
|
||||||
|
elif body.is_in_group("boss") && Global.dificulty != 1:
|
||||||
|
if body.weakness == 1:
|
||||||
|
print("weakness")
|
||||||
|
if Global.cboss[1] >= (attack * crit):
|
||||||
|
Global.cboss[1] -= attack * crit
|
||||||
|
else:
|
||||||
|
Global.cboss[1] = 0
|
||||||
|
else:
|
||||||
|
if Global.cboss[1] >= (attack):
|
||||||
|
Global.cboss[1] -= attack
|
||||||
|
else:
|
||||||
|
Global.cboss[1] = 0
|
||||||
|
elif body.is_in_group("enemies") && Global.dificulty != 1:
|
||||||
|
if body.weakness == 1:
|
||||||
|
print("weakness")
|
||||||
|
#if body.is_in_group("players"):
|
||||||
|
# Global.live = 2
|
||||||
|
#elif body.is_in_group("enemies"):
|
||||||
|
# Global.live = 3
|
||||||
|
#elif body.is_in_group("boss"):
|
||||||
|
# Global.live = 3
|
||||||
|
queue_free()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_area_entered(area):
|
||||||
|
if !area.is_in_group(btype):
|
||||||
|
queue_free()
|
||||||
|
#pass # Replace with function body.
|
BIN
sprites/common/bullet/tnt.png
Normal file
BIN
sprites/common/bullet/tnt.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.4 KiB |
34
sprites/common/bullet/tnt.png.import
Normal file
34
sprites/common/bullet/tnt.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cjbt01ulncdgj"
|
||||||
|
path="res://.godot/imported/tnt.png-6541ca3ae0c96323a95e42f780200f46.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sprites/common/bullet/tnt.png"
|
||||||
|
dest_files=["res://.godot/imported/tnt.png-6541ca3ae0c96323a95e42f780200f46.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
|
25
sprites/common/bullet/tnt.tscn
Normal file
25
sprites/common/bullet/tnt.tscn
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
[gd_scene load_steps=4 format=3 uid="uid://bii2vgqrqw754"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://sprites/common/bullet/tnt.gd" id="1_eqk30"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cjbt01ulncdgj" path="res://sprites/common/bullet/tnt.png" id="2_ha8c6"]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_g125y"]
|
||||||
|
size = Vector2(18, 65)
|
||||||
|
|
||||||
|
[node name="Tnt" type="Area2D"]
|
||||||
|
script = ExtResource("1_eqk30")
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||||
|
position = Vector2(-9, 0)
|
||||||
|
texture = ExtResource("2_ha8c6")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(1, 0.5)
|
||||||
|
shape = SubResource("RectangleShape2D_g125y")
|
||||||
|
|
||||||
|
[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
|
||||||
|
position = Vector2(0.999999, -1.78814e-07)
|
||||||
|
scale = Vector2(0.9, 3.2)
|
||||||
|
|
||||||
|
[connection signal="area_entered" from="." to="." method="_on_area_entered"]
|
||||||
|
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
4
text.csv
4
text.csv
|
@ -110,7 +110,11 @@ DIALOG_CERES_L20_2;My magic wand VS your bow;Mi vara mágica contra tu arco;私
|
||||||
DIALOG_CERES_L20_3;I'm tired;Estoy cansada;私は疲れている
|
DIALOG_CERES_L20_3;I'm tired;Estoy cansada;私は疲れている
|
||||||
DIALOG_CERES_L20_4;You must study at Kaizo Magic School as you promised;Debes estudiar en la escuela de Magia Kaizo como prometiste;約束通りカイゾー魔法学校で勉強しなくちゃ
|
DIALOG_CERES_L20_4;You must study at Kaizo Magic School as you promised;Debes estudiar en la escuela de Magia Kaizo como prometiste;約束通りカイゾー魔法学校で勉強しなくちゃ
|
||||||
DIALOG_CERES_L20_5;It seems I'm lucky;Parece que tengo suerte;私は幸運のようです
|
DIALOG_CERES_L20_5;It seems I'm lucky;Parece que tengo suerte;私は幸運のようです
|
||||||
|
DIALOG_TROUBLEMAKER_0;Hey, I just want to be your friend.;Oye, solamente quiero ser tu amiga;ねえ、私はただあなたと友達になりたいだけよ。
|
||||||
|
DIALOG_TROUBLEMAKER_1;I hate rubber terrorists like you;Odio a las terroristas de hule como tu;あなたのようなゴムテロリストは嫌いです
|
||||||
|
DIALOG_TROUBLEMAKER_2;I am not a terrorist;No soy una terrorista;私はテロリストではない
|
||||||
CERES_L20_DESC;Kimberly’s Challenge;Reto de Kimberly;キンバリーの挑戦
|
CERES_L20_DESC;Kimberly’s Challenge;Reto de Kimberly;キンバリーの挑戦
|
||||||
|
TWIN_TROUBLEMAKERS;Twin Troublemakers;Gemelas problématicas;双子のトラブルメーカー
|
||||||
MENU_CHARACTER;Character List;Lista de Personajes;キャラクター一覧
|
MENU_CHARACTER;Character List;Lista de Personajes;キャラクター一覧
|
||||||
MENU_TEAM;Team List;Lista de Equipos;チーム
|
MENU_TEAM;Team List;Lista de Equipos;チーム
|
||||||
MENU_MAP;World Map;Mapa Mundial;世界地図
|
MENU_MAP;World Map;Mapa Mundial;世界地図
|
||||||
|
|
|
Loading…
Reference in a new issue