troublemakers

This commit is contained in:
Page Asgardius 2024-08-23 20:54:38 -07:00
parent f6b36c722c
commit 7b36f2d53b
18 changed files with 630 additions and 8 deletions

BIN
sprites/ceres/items/ltc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

View 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

View 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)

View 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"]

View 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View 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

View 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"]