mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-26 13:32:29 +08:00
feat(武器): 添加氧化加农炮及其相关资源
新增氧化加农炮武器,包含武器脚本、子弹效果、贴图资源及UI组件 调整TipBox动画参数和Rooster默认武器
This commit is contained in:
@@ -0,0 +1,169 @@
|
|||||||
|
[gd_scene load_steps=24 format=3 uid="uid://c54fnnvip38px"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_0xy1l"]
|
||||||
|
[ext_resource type="Script" uid="uid://dpxfoyb33fo6t" path="res://scripts/Contents/Bullets/OxygenFire.gd" id="2_rnqn2"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://hk7rufcc8vb5" path="res://resources/bullets/oxygen-fire/full-circle.svg" id="3_aagwn"]
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_e772m"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("particle:emitting")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [false]
|
||||||
|
}
|
||||||
|
tracks/1/type = "bezier"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("%texture/..:speed")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(10, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_aagwn"]
|
||||||
|
resource_name = "spawn"
|
||||||
|
length = 2.0
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("particle:emitting")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true]
|
||||||
|
}
|
||||||
|
tracks/1/type = "bezier"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("%texture/..:speed")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0, 2),
|
||||||
|
"points": PackedFloat32Array(10, 0, 0, 2, 0, 0, 0, 0, 0, 0),
|
||||||
|
"times": PackedFloat32Array(0, 2)
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_qhva2"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_e772m"),
|
||||||
|
&"spawn": SubResource("Animation_aagwn")
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_aagwn"]
|
||||||
|
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_e772m"]
|
||||||
|
curve = SubResource("Curve_aagwn")
|
||||||
|
|
||||||
|
[sub_resource type="Gradient" id="Gradient_qhva2"]
|
||||||
|
colors = PackedColorArray(1, 0.88550174, 0, 1, 1, 0, 0, 1)
|
||||||
|
|
||||||
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_7krda"]
|
||||||
|
gradient = SubResource("Gradient_qhva2")
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_qhva2"]
|
||||||
|
_limits = [0.0, 2.0, 0.0, 1.0]
|
||||||
|
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 2), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_7krda"]
|
||||||
|
curve = SubResource("Curve_qhva2")
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_e772m"]
|
||||||
|
particle_flag_disable_z = true
|
||||||
|
emission_shape = 1
|
||||||
|
emission_sphere_radius = 28.0
|
||||||
|
gravity = Vector3(0, 0, 0)
|
||||||
|
scale_min = 0.79999995
|
||||||
|
scale_max = 1.1999999
|
||||||
|
scale_curve = SubResource("CurveTexture_7krda")
|
||||||
|
color_ramp = SubResource("GradientTexture1D_7krda")
|
||||||
|
alpha_curve = SubResource("CurveTexture_e772m")
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_e772m"]
|
||||||
|
_data = [Vector2(0.7, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_qhva2"]
|
||||||
|
curve = SubResource("Curve_e772m")
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_7krda"]
|
||||||
|
_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_yj8uh"]
|
||||||
|
curve = SubResource("Curve_7krda")
|
||||||
|
|
||||||
|
[sub_resource type="Gradient" id="Gradient_aagwn"]
|
||||||
|
offsets = PackedFloat32Array(0.0047393367, 1)
|
||||||
|
colors = PackedColorArray(1, 0.7665578, 0, 1, 1, 0, 0, 1)
|
||||||
|
|
||||||
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_e772m"]
|
||||||
|
gradient = SubResource("Gradient_aagwn")
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_yj8uh"]
|
||||||
|
_data = [Vector2(0.5, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
||||||
|
point_count = 2
|
||||||
|
|
||||||
|
[sub_resource type="CurveTexture" id="CurveTexture_87sv1"]
|
||||||
|
curve = SubResource("Curve_yj8uh")
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_87sv1"]
|
||||||
|
particle_flag_disable_z = true
|
||||||
|
angle_min = 1.0728835e-05
|
||||||
|
angle_max = 360.00003
|
||||||
|
angle_curve = SubResource("CurveTexture_yj8uh")
|
||||||
|
spread = 180.0
|
||||||
|
initial_velocity_max = 200.0
|
||||||
|
gravity = Vector3(0, 0, 0)
|
||||||
|
scale_min = 4.0
|
||||||
|
scale_max = 7.0
|
||||||
|
scale_curve = SubResource("CurveTexture_87sv1")
|
||||||
|
color_initial_ramp = SubResource("GradientTexture1D_e772m")
|
||||||
|
alpha_curve = SubResource("CurveTexture_qhva2")
|
||||||
|
|
||||||
|
[sub_resource type="CircleShape2D" id="CircleShape2D_aagwn"]
|
||||||
|
radius = 27.166155
|
||||||
|
|
||||||
|
[node name="OxygenFire" instance=ExtResource("1_0xy1l")]
|
||||||
|
script = ExtResource("2_rnqn2")
|
||||||
|
penerate = 1.0
|
||||||
|
lifeTime = 1000.0
|
||||||
|
autoSpawnAnimation = true
|
||||||
|
freeAfterSpawn = true
|
||||||
|
|
||||||
|
[node name="animator" parent="texture" index="0"]
|
||||||
|
libraries = {
|
||||||
|
&"": SubResource("AnimationLibrary_qhva2")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="particle" type="GPUParticles2D" parent="texture" index="1"]
|
||||||
|
emitting = false
|
||||||
|
amount = 1
|
||||||
|
texture = ExtResource("3_aagwn")
|
||||||
|
one_shot = true
|
||||||
|
local_coords = true
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_e772m")
|
||||||
|
|
||||||
|
[node name="sender" type="GPUParticles2D" parent="texture" index="2"]
|
||||||
|
amount = 50
|
||||||
|
local_coords = true
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_87sv1")
|
||||||
|
|
||||||
|
[node name="hitbox" parent="." index="1"]
|
||||||
|
shape = SubResource("CircleShape2D_aagwn")
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
[gd_scene load_steps=13 format=3 uid="uid://bm7ymrri6pykb"]
|
[gd_scene load_steps=13 format=3 uid="uid://dky8574uqc18r"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_e5pl8"]
|
[ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_e5pl8"]
|
||||||
[ext_resource type="Script" uid="uid://cthtupc6dtbav" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"]
|
[ext_resource type="Script" uid="uid://cthtupc6dtbav" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"]
|
||||||
[ext_resource type="PackedScene" uid="uid://yq7vmijwvgx1" path="res://components/Weapons/AcidWind.tscn" id="3_da2ca"]
|
[ext_resource type="PackedScene" uid="uid://b5ebx8duvgtt5" path="res://components/Weapons/Oxygener.tscn" id="3_da2ca"]
|
||||||
[ext_resource type="AudioStream" uid="uid://cdrevrq7n6yqa" path="res://resources/sounds/effect/Boing.mp3" id="4_66s6c"]
|
[ext_resource type="AudioStream" uid="uid://cdrevrq7n6yqa" path="res://resources/sounds/effect/Boing.mp3" id="4_66s6c"]
|
||||||
[ext_resource type="AudioStream" uid="uid://benyec5bqni0b" path="res://resources/sounds/effect/Chomp.wav" id="4_k0yme"]
|
[ext_resource type="AudioStream" uid="uid://benyec5bqni0b" path="res://resources/sounds/effect/Chomp.wav" id="4_k0yme"]
|
||||||
[ext_resource type="AudioStream" uid="uid://dmxh3bpk8vyy5" path="res://resources/sounds/effect/Coin.mp3" id="5_xnbhq"]
|
[ext_resource type="AudioStream" uid="uid://dmxh3bpk8vyy5" path="res://resources/sounds/effect/Coin.mp3" id="5_xnbhq"]
|
||||||
@@ -58,7 +58,7 @@ metadata/_edit_vertical_guides_ = [71.0]
|
|||||||
[node name="weaponStore" parent="." index="1"]
|
[node name="weaponStore" parent="." index="1"]
|
||||||
process_mode = 4
|
process_mode = 4
|
||||||
|
|
||||||
[node name="AcidWind" parent="weaponStore" index="0" instance=ExtResource("3_da2ca")]
|
[node name="Oxygener" parent="weaponStore" index="0" instance=ExtResource("3_da2ca")]
|
||||||
debugRebuild = false
|
debugRebuild = false
|
||||||
|
|
||||||
[node name="sprint" parent="sounds" index="0"]
|
[node name="sprint" parent="sounds" index="0"]
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ tracks/0/interp = 1
|
|||||||
tracks/0/loop_wrap = true
|
tracks/0/loop_wrap = true
|
||||||
tracks/0/keys = {
|
tracks/0/keys = {
|
||||||
"handle_modes": PackedInt32Array(0, 0),
|
"handle_modes": PackedInt32Array(0, 0),
|
||||||
"points": PackedFloat32Array(1.0039918, 0, 0, 0.3, 1, 0, 0, 0.205, 0, 0),
|
"points": PackedFloat32Array(1.0039918, 0, 0, 0.3, 1.5, 0, 0, 0.205, 0, 0),
|
||||||
"times": PackedFloat32Array(0, 0.3)
|
"times": PackedFloat32Array(0, 0.3)
|
||||||
}
|
}
|
||||||
tracks/1/type = "value"
|
tracks/1/type = "value"
|
||||||
@@ -60,7 +60,7 @@ tracks/1/path = NodePath(".:modulate")
|
|||||||
tracks/1/interp = 1
|
tracks/1/interp = 1
|
||||||
tracks/1/loop_wrap = true
|
tracks/1/loop_wrap = true
|
||||||
tracks/1/keys = {
|
tracks/1/keys = {
|
||||||
"times": PackedFloat32Array(0.14, 0.3),
|
"times": PackedFloat32Array(0.21, 0.3),
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
||||||
@@ -78,7 +78,7 @@ tracks/0/interp = 1
|
|||||||
tracks/0/loop_wrap = true
|
tracks/0/loop_wrap = true
|
||||||
tracks/0/keys = {
|
tracks/0/keys = {
|
||||||
"handle_modes": PackedInt32Array(0, 0),
|
"handle_modes": PackedInt32Array(0, 0),
|
||||||
"points": PackedFloat32Array(0, 0, 0, 0.2, 0, 1, -0.25, 0.5, 0, 0),
|
"points": PackedFloat32Array(0, 0, 0, 0, 0, 1, -0.2, 1, 0, 0),
|
||||||
"times": PackedFloat32Array(0, 0.3)
|
"times": PackedFloat32Array(0, 0.3)
|
||||||
}
|
}
|
||||||
tracks/1/type = "value"
|
tracks/1/type = "value"
|
||||||
@@ -104,7 +104,6 @@ _data = {
|
|||||||
[node name="TipBox" type="PanelContainer"]
|
[node name="TipBox" type="PanelContainer"]
|
||||||
offset_right = 79.0
|
offset_right = 79.0
|
||||||
offset_bottom = 34.0
|
offset_bottom = 34.0
|
||||||
scale = Vector2(1, 2)
|
|
||||||
theme_override_styles/panel = SubResource("StyleBoxFlat_nooq4")
|
theme_override_styles/panel = SubResource("StyleBoxFlat_nooq4")
|
||||||
script = ExtResource("1_7vuk3")
|
script = ExtResource("1_7vuk3")
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
[gd_scene load_steps=4 format=3 uid="uid://b5ebx8duvgtt5"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://ckq2cq6m23hq3" path="res://components/Abstracts/WeaponCardBase.tscn" id="1_8jd12"]
|
||||||
|
[ext_resource type="Script" uid="uid://bjraoa0lwchon" path="res://scripts/Contents/Weapons/Oxygener.gd" id="2_thqd2"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://gpwxs56alc7m" path="res://resources/weapons/oxygener.png" id="2_xmkcx"]
|
||||||
|
|
||||||
|
[node name="Oxygener" instance=ExtResource("1_8jd12")]
|
||||||
|
script = ExtResource("2_thqd2")
|
||||||
|
avatarTexture = ExtResource("2_xmkcx")
|
||||||
|
displayName = "氧化加农炮"
|
||||||
|
quality = 0
|
||||||
|
typeTopic = 2
|
||||||
|
store = {
|
||||||
|
"atk": 10,
|
||||||
|
"fireatk": 2.0,
|
||||||
|
"max-n": 7.0,
|
||||||
|
"min-n": 3.0
|
||||||
|
}
|
||||||
|
storeType = {
|
||||||
|
"atk": 1,
|
||||||
|
"fireatk": 1,
|
||||||
|
"max-n": 1,
|
||||||
|
"min-n": 1
|
||||||
|
}
|
||||||
|
descriptionTemplate = "大概率高速喷出火焰,造成$fireatk点伤害。小概率喷出$min-n~$max-n滴[b]浓硝酸[/b],每滴造成$atk点伤害。"
|
||||||
|
cooldown = 50.0
|
||||||
|
|
||||||
|
[node name="avatar" parent="container/info" index="0"]
|
||||||
|
texture = ExtResource("2_xmkcx")
|
||||||
|
|
||||||
|
[node name="name" parent="container/info" index="2"]
|
||||||
|
displayName = "氧化加农炮"
|
||||||
|
quality = 0
|
||||||
|
typeTopic = 2
|
||||||
|
|
||||||
|
[node name="description" parent="container" index="2"]
|
||||||
|
text = "[center]大概率高速喷出火焰,造成[color=cyan]2[/color]点伤害。小概率喷出[color=cyan]3[/color]~[color=cyan]7[/color]滴[b]浓硝酸[/b],每滴造成[color=cyan]10[/color]点伤害。[/center]"
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="62" height="62" viewBox="0,0,62,62"><g transform="translate(-209,-149)"><g fill="#ffffff" stroke="none" stroke-width="0" stroke-miterlimit="10"><path d="M209,180c0,-17.12083 13.87917,-31 31,-31c17.12083,0 31,13.87917 31,31c0,17.12083 -13.87917,31 -31,31c-17.12083,0 -31,-13.87917 -31,-31z"/></g></g></svg><!--rotationCenter:31:31-->
|
||||||
|
After Width: | Height: | Size: 436 B |
@@ -0,0 +1,43 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://hk7rufcc8vb5"
|
||||||
|
path="res://.godot/imported/full-circle.svg-27d949e74daf680a66365c8d402bedb2.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://resources/bullets/oxygen-fire/full-circle.svg"
|
||||||
|
dest_files=["res://.godot/imported/full-circle.svg-27d949e74daf680a66365c8d402bedb2.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 471 KiB |
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://gpwxs56alc7m"
|
||||||
|
path="res://.godot/imported/oxygener.png-9562807acaf7863f7d9eadae19d1bc70.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://resources/weapons/oxygener.png"
|
||||||
|
dest_files=["res://.godot/imported/oxygener.png-9562807acaf7863f7d9eadae19d1bc70.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
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/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
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
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
extends BulletBase
|
||||||
|
class_name OxygenFire
|
||||||
|
|
||||||
|
func ai():
|
||||||
|
PresetBulletAI.forward(self, rotation)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://dpxfoyb33fo6t
|
||||||
@@ -22,7 +22,7 @@ func duplicate() -> Wave:
|
|||||||
wave.per = per
|
wave.per = per
|
||||||
return wave
|
return wave
|
||||||
|
|
||||||
static var current: int = startWith(1) if WorldManager.isRelease() else startWith(10)
|
static var current: int = startWith(1) if WorldManager.isRelease() else startWith(1)
|
||||||
static var WAVE_NORMAL = [
|
static var WAVE_NORMAL = [
|
||||||
Wave.create("Hen", 1, 3, false, 0, INF, 1),
|
Wave.create("Hen", 1, 3, false, 0, INF, 1),
|
||||||
Wave.create("Cat", 1, 5, false, 0, INF, 1),
|
Wave.create("Cat", 1, 5, false, 0, INF, 1),
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
@tool
|
||||||
|
extends Weapon
|
||||||
|
|
||||||
|
func update(to: int, origin: Dictionary, _entity: EntityBase):
|
||||||
|
origin["atk"] += 1 * to * soulLevel
|
||||||
|
origin["fireatk"] += 0.5 * to * soulLevel
|
||||||
|
origin["max-n"] *= soulLevel
|
||||||
|
return origin
|
||||||
|
func attack(entity: EntityBase):
|
||||||
|
var bulletName = MathTool.randomChoiceFromWeights(["OxygenFire", "AcidN"], [100, 1])
|
||||||
|
for i in randi_range(readStore("min-n"), readStore("max-n")) if bulletName == "AcidN" else 1:
|
||||||
|
for bullet in BulletBase.generate(
|
||||||
|
ComponentManager.getBullet(bulletName),
|
||||||
|
entity,
|
||||||
|
entity.findWeaponAnchor("normal"),
|
||||||
|
entity.position.angle_to_point(get_global_mouse_position()),
|
||||||
|
):
|
||||||
|
if bullet is OxygenFire:
|
||||||
|
bullet.baseDamage = readStore("fireatk")
|
||||||
|
elif bullet is AcidN:
|
||||||
|
bullet.baseDamage = readStore("atk")
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://bjraoa0lwchon
|
||||||
Reference in New Issue
Block a user