From e9f230d4cc8e9afbd9c785623f9e36b54197393a Mon Sep 17 00:00:00 2001 From: Rendo Date: Sat, 26 Jul 2025 04:06:35 +0500 Subject: [PATCH] Statistics done --- project.godot | 1 + scenes/entities/Zombies/bucket_zombie.tscn | 54 ++++++------ scenes/entities/Zombies/cone_zombie.tscn | 19 ++--- scenes/entities/Zombies/hobo.tscn | 45 +++++----- scenes/entities/Zombies/zombie.tscn | 20 +++-- scripts/entities/EatingStatistics.cs | 16 ++++ scripts/entities/EatingStatistics.cs.uid | 1 + scripts/gui/choose_your_seeds/Previewport.cs | 73 ++++++++++++---- translations/plants.csv | 84 +++++++++---------- translations/plants.en.translation | Bin 2974 -> 3230 bytes translations/plants.ru.translation | Bin 4589 -> 4597 bytes translations/rewards.csv | 2 +- translations/rewards.en.translation | Bin 1062 -> 1050 bytes translations/rewards.ru.translation | Bin 1741 -> 1709 bytes translations/zombies.csv | 56 ++++++------- translations/zombies.en.translation | Bin 1842 -> 1974 bytes translations/zombies.ru.translation | Bin 2721 -> 2797 bytes 17 files changed, 218 insertions(+), 153 deletions(-) create mode 100644 scripts/entities/EatingStatistics.cs create mode 100644 scripts/entities/EatingStatistics.cs.uid diff --git a/project.godot b/project.godot index 673bc2e..3aaf06e 100644 --- a/project.godot +++ b/project.godot @@ -127,6 +127,7 @@ cheat_unlock_all={ [internationalization] locale/translations=PackedStringArray("res://translations/plants.en.translation", "res://translations/plants.ru.translation", "res://translations/zombies.en.translation", "res://translations/zombies.ru.translation", "res://translations/gui.en.translation", "res://translations/gui.ru.translation", "res://translations/rewards.en.translation", "res://translations/rewards.ru.translation") +locale/test="en" [layer_names] diff --git a/scenes/entities/Zombies/bucket_zombie.tscn b/scenes/entities/Zombies/bucket_zombie.tscn index d15f225..3db0b72 100644 --- a/scenes/entities/Zombies/bucket_zombie.tscn +++ b/scenes/entities/Zombies/bucket_zombie.tscn @@ -66,56 +66,58 @@ use_parent_material = false [node name="RightUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="1"] use_parent_material = false +scale = Vector2(0.999833, 0.999833) [node name="RightLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg" index="1"] -scale = Vector2(0.999832, 0.999832) +scale = Vector2(0.999837, 0.999837) [node name="RightFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg" index="0"] -scale = Vector2(0.999831, 0.999831) +scale = Vector2(0.999834, 0.999834) [node name="LeftUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="2"] use_parent_material = false -scale = Vector2(0.999833, 0.999833) +scale = Vector2(0.999831, 0.999831) [node name="LeftLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg" index="1"] -scale = Vector2(0.999834, 0.999834) +scale = Vector2(0.999827, 0.999827) [node name="LeftFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg" index="1"] -scale = Vector2(0.999825, 0.999825) +scale = Vector2(0.999829, 0.999829) [node name="Body" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="3"] use_parent_material = false -scale = Vector2(0.999824, 0.999824) +scale = Vector2(0.999826, 0.999826) [node name="RightUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="0"] use_parent_material = false -scale = Vector2(0.999829, 0.999829) +scale = Vector2(0.999823, 0.999823) [node name="RightLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm" index="1"] scale = Vector2(0.999828, 0.999828) +[node name="RightHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm" index="0"] +scale = Vector2(0.99983, 0.99983) + [node name="Tie" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="2"] -rotation = 0.107886 -skew = -0.00020051 +rotation = -0.107529 +skew = -0.000208616 [node name="Head" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="3"] -scale = Vector2(0.999824, 0.999824) +scale = Vector2(0.999828, 0.999828) [node name="Right_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="0"] -position = Vector2(-16, -8) -scale = Vector2(1, 1) +position = Vector2(-16, -8.00001) [node name="Left_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="1"] position = Vector2(-4, -9) -scale = Vector2(1, 1) [node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="2"] -position = Vector2(-3.00133, 2.99776) -rotation = 0.01047 -scale = Vector2(0.999827, 0.999827) +position = Vector2(-2.86646, 2.6777) +rotation = -0.0751099 +scale = Vector2(0.999826, 0.999826) [node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="1"] -scale = Vector2(0.999827, 0.999827) +scale = Vector2(0.999826, 0.999826) [node name="Hat" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="4"] position = Vector2(-6, -8) @@ -127,23 +129,23 @@ texture = ExtResource("3_0nlp0") degradationStages = Array[Texture]([ExtResource("3_0nlp0"), ExtResource("4_xx7fu"), ExtResource("5_v1iwd")]) [node name="LeftUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="4"] -scale = Vector2(0.999829, 0.999829) +scale = Vector2(0.999827, 0.999827) [node name="Left_Lower_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" index="0"] -rotation = 0.101436 -scale = Vector2(0.999999, 0.999999) +rotation = -0.113972 +scale = Vector2(1, 1) [node name="Left_Hand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm" index="0"] show_behind_parent = false -position = Vector2(-0.99983, 12.9978) -rotation = -0.0447677 -scale = Vector2(0.999657, 0.999657) +position = Vector2(-0.999829, 12.9978) +rotation = -0.0939467 +scale = Vector2(0.999653, 0.999653) [node name="LeftLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" index="2"] -scale = Vector2(0.999829, 0.999829) +scale = Vector2(0.999832, 0.999832) [node name="LeftHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm" index="0"] -scale = Vector2(0.999827, 0.999827) +scale = Vector2(0.999823, 0.999823) [node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm/LeftHand" index="0"] texture = SubResource("AtlasTexture_wfem3") @@ -162,7 +164,7 @@ _damage = SubResource("Resource_lea3a") [node name="Mover" parent="." index="4"] _speed = SubResource("Resource_v1iwd") -_speedControlMult = 0.552086 +_speedControlMult = 0.47838 [node name="HitPlayer" parent="." index="5"] playlist = Array[AudioStream]([ExtResource("5_lt6ps"), ExtResource("6_kedip")]) diff --git a/scenes/entities/Zombies/cone_zombie.tscn b/scenes/entities/Zombies/cone_zombie.tscn index ea04334..bb7ddf1 100644 --- a/scenes/entities/Zombies/cone_zombie.tscn +++ b/scenes/entities/Zombies/cone_zombie.tscn @@ -48,7 +48,7 @@ material = SubResource("ShaderMaterial_b8kja") scale = Vector2(0.999835, 0.999835) [node name="RightLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg" index="1"] -scale = Vector2(0.999836, 0.999836) +scale = Vector2(0.999837, 0.999837) [node name="RightFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg" index="0"] scale = Vector2(0.999835, 0.999835) @@ -60,13 +60,13 @@ scale = Vector2(0.999833, 0.999833) scale = Vector2(0.999832, 0.999832) [node name="LeftFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg" index="1"] -scale = Vector2(0.99983, 0.99983) +scale = Vector2(0.999829, 0.999829) [node name="Body" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="3"] scale = Vector2(0.999829, 0.999829) [node name="RightUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="0"] -scale = Vector2(0.999828, 0.999828) +scale = Vector2(0.999827, 0.999827) [node name="RightLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm" index="1"] scale = Vector2(0.999828, 0.999828) @@ -75,21 +75,21 @@ scale = Vector2(0.999828, 0.999828) scale = Vector2(0.999827, 0.999827) [node name="Tie" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="2"] -rotation = 0.126303 +rotation = -0.043512 skew = -0.000153303 [node name="Head" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="3"] scale = Vector2(0.999828, 0.999828) [node name="Right_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="0"] -position = Vector2(-16, -8) +position = Vector2(-16, -8.00001) [node name="Left_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="1"] position = Vector2(-4, -9) [node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="2"] -position = Vector2(-3.00155, 2.99737) -rotation = 0.0122573 +position = Vector2(-2.94596, 2.86958) +rotation = -0.0303934 scale = Vector2(0.999829, 0.999829) [node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="1"] @@ -126,12 +126,12 @@ shape = SubResource("CircleShape2D_67t4t") scale = Vector2(0.999832, 0.999832) [node name="Left_Lower_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" index="0"] -rotation = 0.118753 +rotation = -0.0461189 scale = Vector2(1, 1) [node name="Left_Hand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm" index="0"] position = Vector2(-0.99983, 12.9978) -rotation = -0.0524103 +rotation = -0.0380157 scale = Vector2(0.999658, 0.999658) [node name="LeftLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" index="2"] @@ -145,7 +145,6 @@ _damage = SubResource("Resource_011r0") [node name="Mover" parent="." index="4"] _speed = SubResource("Resource_b6mal") -_speedControlMult = 0.801687 [node name="HitPlayer" parent="." index="5"] playlist = Array[AudioStream]([ExtResource("7_0amn8"), ExtResource("7_67t4t")]) diff --git a/scenes/entities/Zombies/hobo.tscn b/scenes/entities/Zombies/hobo.tscn index ff44005..e001554 100644 --- a/scenes/entities/Zombies/hobo.tscn +++ b/scenes/entities/Zombies/hobo.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=65 format=3 uid="uid://bgqmwsb6ynm81"] +[gd_scene load_steps=66 format=3 uid="uid://bgqmwsb6ynm81"] [ext_resource type="PackedScene" uid="uid://co11v3w8hbwgf" path="res://scenes/entities/Zombies/zombie.tscn" id="1_fnu7s"] +[ext_resource type="Script" uid="uid://bcc7skl7ts6sh" path="res://scripts/systems/effects/Effect.cs" id="2_yb81c"] [ext_resource type="Resource" uid="uid://dsg1vjx76ifgu" path="res://assets/effects/GarlicEffect.tres" id="3_b583s"] [ext_resource type="Script" uid="uid://dt5uj25u0g6y3" path="res://scripts/particles/FallParticle.cs" id="3_tu6af"] [ext_resource type="Script" uid="uid://c5v2og85t7s6j" path="res://scripts/entities/zombies/behaviours/HoboBehaviour.cs" id="4_5selg"] @@ -26,6 +27,7 @@ resource_local_to_scene = true shader = ExtResource("23_nc6p3") shader_parameter/FLASH_COLOR = Color(1, 0.709804, 0.439216, 0.5) +shader_parameter/HIGHLIGHT_COLOR = Color(1, 0.709804, 0.439216, 0.5) shader_parameter/blend = 0.0 shader_parameter/selected = false @@ -759,7 +761,7 @@ mult_value = 1.0 [node name="Hobo" node_paths=PackedStringArray("_armor") instance=ExtResource("1_fnu7s")] _armor = NodePath("CanArmor") MaxHP = 185.0 -_effectImmunities = [ExtResource("3_b583s")] +_effectImmunities = Array[ExtResource("2_yb81c")]([ExtResource("3_b583s")]) [node name="CanvasGroup" parent="." index="0"] material = SubResource("ShaderMaterial_vn3j1") @@ -771,16 +773,16 @@ scale = Vector2(0.999902, 0.999902) texture = SubResource("AtlasTexture_txjqc") [node name="RightUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="1"] -scale = Vector2(0.999826, 0.999826) +scale = Vector2(0.999834, 0.999834) [node name="Right_Upper_Leg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg" index="0"] texture = SubResource("AtlasTexture_b583s") [node name="RightLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg" index="1"] -scale = Vector2(0.99983, 0.99983) +scale = Vector2(0.999833, 0.999833) [node name="RightFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg" index="0"] -scale = Vector2(0.999826, 0.999826) +scale = Vector2(0.999832, 0.999832) [node name="Right_Foot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/RightUpperLeg/RightLowerLeg/RightFoot" index="0"] texture = SubResource("AtlasTexture_uoit3") @@ -789,25 +791,25 @@ texture = SubResource("AtlasTexture_uoit3") texture = SubResource("AtlasTexture_vn3j1") [node name="LeftUpperLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="2"] -scale = Vector2(0.999828, 0.999828) +scale = Vector2(0.999829, 0.999829) [node name="Left_Upper_Leg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg" index="0"] texture = SubResource("AtlasTexture_yb81c") [node name="LeftLowerLeg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg" index="1"] -scale = Vector2(0.999829, 0.999829) +scale = Vector2(0.999832, 0.999832) [node name="Left_Lower_Leg" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg" index="0"] texture = SubResource("AtlasTexture_nlwsb") [node name="LeftFoot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg" index="1"] -scale = Vector2(0.999818, 0.999818) +scale = Vector2(0.999816, 0.999816) [node name="Left_Foot" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/LeftUpperLeg/LeftLowerLeg/LeftFoot" index="0"] texture = SubResource("AtlasTexture_8y6c0") [node name="Body" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt" index="3"] -scale = Vector2(0.999828, 0.999828) +scale = Vector2(0.999826, 0.999826) [node name="RightUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="0"] scale = Vector2(0.999828, 0.999828) @@ -816,7 +818,7 @@ scale = Vector2(0.999828, 0.999828) texture = SubResource("AtlasTexture_nc6p3") [node name="RightLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm" index="1"] -scale = Vector2(0.999814, 0.999814) +scale = Vector2(0.999817, 0.999817) [node name="Right_Hand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/RightUpperArm/RightLowerArm/RightHand" index="0"] texture = SubResource("AtlasTexture_y0p2l") @@ -828,7 +830,7 @@ texture = SubResource("AtlasTexture_op0h6") texture = SubResource("AtlasTexture_0s5wm") [node name="Tie" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="2"] -rotation = 0.0564365 +rotation = 0.0254695 scale = Vector2(1e-05, 1e-05) [node name="Tie" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Tie" index="0"] @@ -873,14 +875,16 @@ texture = SubResource("AtlasTexture_pjhfy") [node name="Right_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="0"] position = Vector2(-16, -8) +scale = Vector2(1, 1) [node name="Left_Eye" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="1"] position = Vector2(-4, -9) +scale = Vector2(1, 1) [node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head" index="2"] position = Vector2(-3, 3) -rotation = -0.0917904 -scale = Vector2(0.999825, 0.999825) +rotation = -0.0414244 +scale = Vector2(0.999831, 0.999831) texture = SubResource("AtlasTexture_7cvmi") offset = Vector2(-14, -2) @@ -912,7 +916,7 @@ _threshold = 0.333 _observedArmor = NodePath("../../../../../../../../../../CanArmor") [node name="Jaw" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="1"] -scale = Vector2(0.999825, 0.999825) +scale = Vector2(0.999831, 0.999831) [node name="TrashcanLid" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head" index="4"] position = Vector2(-0.0022974, -17.0131) @@ -927,24 +931,23 @@ editor_settings/show_bone_gizmo = false remote_path = NodePath("../../HeadParticle/Head/TrashcanLid/Trashcan_lid") [node name="LeftUpperArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body" index="5"] -scale = Vector2(0.999826, 0.999826) +scale = Vector2(0.999823, 0.999823) [node name="Left_Upper_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" index="0"] texture = SubResource("AtlasTexture_tebih") [node name="Left_Lower_Arm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile" index="0"] -rotation = 0.0509104 -scale = Vector2(1, 1) +rotation = 0.0229755 +scale = Vector2(0.999996, 0.999996) texture = SubResource("AtlasTexture_auxav") [node name="Left_Hand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm" index="0"] position = Vector2(-0.99983, 12.9978) -rotation = 3.72659e-09 scale = Vector2(0.999652, 0.999652) texture = SubResource("AtlasTexture_dntsa") [node name="LeftLowerArm" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm" index="2"] -scale = Vector2(0.99983, 0.99983) +scale = Vector2(0.999826, 0.999826) [node name="LeftHand" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/LeftLowerArm" index="0"] scale = Vector2(0.999822, 0.999822) @@ -956,6 +959,9 @@ libraries = { &"hobo": ExtResource("8_yb81c") } +[node name="EatingStatistics" parent="CanvasGroup/basic_zombie_walk/AnimationPlayer" index="0"] +animationName = "hobo/eating_without_arms" + [node name="Eatbox" parent="." index="2"] _damage = SubResource("Resource_n380g") @@ -965,7 +971,6 @@ advance_expression_base_node = NodePath("../Behaviour") [node name="Mover" parent="." index="4"] _speed = SubResource("Resource_4248q") -_speedControlMult = 0.0 [node name="HitPlayer" parent="." index="5"] playlist = Array[AudioStream]([ExtResource("8_4248q"), ExtResource("9_tu6af")]) diff --git a/scenes/entities/Zombies/zombie.tscn b/scenes/entities/Zombies/zombie.tscn index fdb0f60..7f5a54f 100644 --- a/scenes/entities/Zombies/zombie.tscn +++ b/scenes/entities/Zombies/zombie.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=60 format=3 uid="uid://co11v3w8hbwgf"] +[gd_scene load_steps=61 format=3 uid="uid://co11v3w8hbwgf"] [ext_resource type="Script" uid="uid://dildme6epx8l4" path="res://scripts/entities/zombies/RuntimeZombieData.cs" id="1_qq3f1"] [ext_resource type="Material" uid="uid://jr0vpg030jqv" path="res://assets/ZombieMaterial.tres" id="2_b51fx"] @@ -9,6 +9,7 @@ [ext_resource type="Texture2D" uid="uid://dacgbwohpmeed" path="res://assets/sprites/zombies/basic.png" id="6_xnora"] [ext_resource type="Script" uid="uid://c3cfnrmnnuqms" path="res://addons/floatmodifiers/FloatModifiers.cs" id="7_b3p4o"] [ext_resource type="Script" uid="uid://dt5uj25u0g6y3" path="res://scripts/particles/FallParticle.cs" id="7_dn8ha"] +[ext_resource type="Script" uid="uid://dw7v3s4kbu7ma" path="res://scripts/entities/EatingStatistics.cs" id="8_b51fx"] [ext_resource type="AnimationNodeStateMachine" uid="uid://dj0blope85bg7" path="res://assets/animations/zombies/basic_zombie_tree.tres" id="8_ckb7n"] [ext_resource type="Script" uid="uid://dau0tfmlfiqmo" path="res://scripts/entities/EntityHPObserver.cs" id="8_mc1kl"] [ext_resource type="Texture2D" uid="uid://dri70dxyks7xh" path="res://assets/sprites/zombies/hobo.png" id="9_b51fx"] @@ -949,7 +950,6 @@ metadata/_edit_lock_ = true [node name="Tie" type="Bone2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body"] position = Vector2(-9, -21) -rotation = 0.066195 skew = -0.000473261 rest = Transform2D(1, 0, 0, 1, -9, -21) auto_calculate_length_and_angle = false @@ -987,22 +987,21 @@ offset = Vector2(-20, -24) metadata/_edit_lock_ = true [node name="Right_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-16, -8) +position = Vector2(-16.0072, -8.007) texture = SubResource("AtlasTexture_vcc72") centered = false offset = Vector2(-2, -2) metadata/_edit_lock_ = true [node name="Left_Eye" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-4, -9) +position = Vector2(-5.00342, -9.00735) texture = SubResource("AtlasTexture_kto0i") centered = false offset = Vector2(-2, -2) metadata/_edit_lock_ = true [node name="Jaw" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/Head/HeadParticle/Head"] -position = Vector2(-3.00081, 2.99862) -rotation = 0.00642401 +position = Vector2(-3, 3) scale = Vector2(0.999831, 0.999831) texture = SubResource("AtlasTexture_x5uj2") centered = false @@ -1076,7 +1075,7 @@ minTorque = -45.0 maxTorque = 45.0 [node name="Left_Lower_Arm" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile"] -rotation = 0.0622378 +rotation = 1.5708 scale = Vector2(1, 1) texture = SubResource("AtlasTexture_auqeq") centered = false @@ -1085,8 +1084,7 @@ metadata/_edit_lock_ = true [node name="Left_Hand" type="Sprite2D" parent="CanvasGroup/basic_zombie_walk/Zombie/Butt/Body/LeftUpperArm/HandProjectile/Left_Lower_Arm"] show_behind_parent = true -position = Vector2(-0.99983, 12.9978) -rotation = -0.0274679 +position = Vector2(-2.00154, 13.0058) scale = Vector2(0.999663, 0.999663) texture = SubResource("AtlasTexture_vlvtp") centered = false @@ -1129,6 +1127,10 @@ libraries = { &"basic": ExtResource("9_y6afe") } +[node name="EatingStatistics" type="Node" parent="CanvasGroup/basic_zombie_walk/AnimationPlayer"] +script = ExtResource("8_b51fx") +animationName = "basic/eating" + [node name="Hitbox" type="Area2D" parent="."] collision_layer = 8 collision_mask = 0 diff --git a/scripts/entities/EatingStatistics.cs b/scripts/entities/EatingStatistics.cs new file mode 100644 index 0000000..53d638c --- /dev/null +++ b/scripts/entities/EatingStatistics.cs @@ -0,0 +1,16 @@ +using Godot; +using System; + +public partial class EatingStatistics : Node +{ + [Export] + private string animationName; + private float bitesPerSecond; + public override void _Ready() + { + var animation = GetParent().GetAnimation(animationName); + + var track_id = animation.FindTrack("../../Eatbox",Animation.TrackType.Method); + bitesPerSecond = animation.TrackGetKeyCount(track_id)/ animation.Length; + } +} diff --git a/scripts/entities/EatingStatistics.cs.uid b/scripts/entities/EatingStatistics.cs.uid new file mode 100644 index 0000000..35b26bf --- /dev/null +++ b/scripts/entities/EatingStatistics.cs.uid @@ -0,0 +1 @@ +uid://dw7v3s4kbu7ma diff --git a/scripts/gui/choose_your_seeds/Previewport.cs b/scripts/gui/choose_your_seeds/Previewport.cs index fe83db1..aa61ca5 100644 --- a/scripts/gui/choose_your_seeds/Previewport.cs +++ b/scripts/gui/choose_your_seeds/Previewport.cs @@ -53,8 +53,13 @@ public partial class Previewport : SubViewport var keys = GetRequestedKeys(unparsedDescription); FillPlaceholders(keys, resource, current_display); var parsedDescription = ReplaceTextUsingDict(keys, unparsedDescription); + var rwd = Tr("rwd_" + resource.NameKey); + if (rwd == "rwd_" + resource.NameKey) + { + rwd = ""; + } - description.Text = Tr("rwd_" + resource.NameKey) + "\n" + parsedDescription; + description.Text = rwd + "\n" + parsedDescription; } private Dictionary GetRequestedKeys(string text) @@ -105,27 +110,61 @@ public partial class Previewport : SubViewport } foreach (var key in placeholderDictionary.Keys) + { + string modifiers = ""; + string request = key.Split('|')[0]; + if (key.Split('|').Length == 2) { - var namePropertyPair = key.Split('.'); - Variant property; - if (namePropertyPair.Length == 2) - { - if ((namePropertyPair[0] == "?" && lookedObject != searchScene)||(namePropertyPair[0] != "?" && lookedObject is Node node && node.Name != namePropertyPair[0])) - { - continue; - } - property = lookedObject.Get(namePropertyPair[1]); - } - else - { - property = lookedObject.Get(namePropertyPair[0]); - } - if (property.VariantType == Variant.Type.Nil) + modifiers = key.Split('|')[1]; + } + var namePropertyPair = request.Split('.'); + Variant property; + if (namePropertyPair.Length == 2) + { + if ((namePropertyPair[0] == "?" && lookedObject != searchScene)||(namePropertyPair[0] != "?" && lookedObject is Node node && node.Name != namePropertyPair[0])) { continue; } - placeholderDictionary[key] = property.As(); + property = lookedObject.Get(namePropertyPair[1]); } + else + { + property = lookedObject.Get(namePropertyPair[0]); + } + if (property.VariantType == Variant.Type.Nil) + { + continue; + } + + float value = property.As(); + + if (modifiers != "") + { + foreach (var c in modifiers) + { + switch (c) + { + case '%': + value *= 100; + break; + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + value *= c - '0'; + break; + } + } + } + + placeholderDictionary[key] = value; + } } } private string ReplaceTextUsingDict(Dictionary dictionary, string text) diff --git a/translations/plants.csv b/translations/plants.csv index 08cb32b..8726b69 100644 --- a/translations/plants.csv +++ b/translations/plants.csv @@ -1,82 +1,82 @@ keys,en,ru aloe,Aloe,Алоэ -aloe_desc,"Health points: [color=DARK_RED]6 bites[/color] -Reload time: [color=DARK_RED]15 seconds[/color]. -Ability recharge time: [color=DARK_RED]20 seconds[/color]. -Heals plant when it has [color=DARK_RED]third[/color] of its health.","Очки здоровья: [color=dark_red]{MaxHP}[/color]. +aloe_desc,"Health points: [color=DARK_RED]{MaxHP}[/color] +Reload time: [color=DARK_RED]{ReloadTime} seconds[/color]. +Ability recharge time: [color=DARK_RED]{wait_time} seconds[/color]. +Heals plant when it has [color=DARK_RED]{_hpTreshold|%}%[/color] of its health.","Очки здоровья: [color=dark_red]{MaxHP}[/color]. Время перезарядки: [color=dark_red]{ReloadTime} секунд[/color]. Время перезарядки способности: [color=dark_red]{wait_time} секунд[/color]. -Лечит растения [color=DARK_RED] с {_hpTreshold} долей[/color] здоровья." +Лечит растения [color=DARK_RED] с {_hpTreshold|%}% [/color] здоровья." garlic,Garlic,Чеснок -garlic_desc,"Health points: [color=DARK_RED]40 bites[/color] -Reload time: [color=DARK_RED]15 seconds[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color] +garlic_desc,"Health points: [color=DARK_RED]{MaxHP}[/color] +Reload time: [color=DARK_RED]{ReloadTime} seconds[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color] Время перезарядки: [color=DARK_RED]{ReloadTime} секунд[/color]." peashooter,Peashooter,Горохострел -peashooter_desc,"Health points: [color=DARK_RED]6 bites[/color]. -Reload time: [color=DARK_RED]5 seconds[/color]. -Pea damage: [color=DARK_RED]1 pea[/color]. -Firerate: [color=DARK_RED]1.5 seconds[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color]. +peashooter_desc,"Health points: [color=DARK_RED]{MaxHP}[/color]. +Reload time: [color=DARK_RED]{ReloadTime} seconds[/color]. +Pea damage: [color=DARK_RED]{_damage}[/color]. +Firerate: [color=DARK_RED]{FireTimer.wait_time} seconds[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color]. Время перезарядки: [color=DARK_RED]{ReloadTime} секунд[/color]. Урон от гороха: [color=DARK_RED]{_damage}[/color]. Задержка стрельбы: [color=DARK_RED]{FireTimer.wait_time} секунды[/color]." potatomine,Potato mine,Картофельная мина -potatomine_desc,"Health points: [color=DARK_RED]4 bites[/color]. -Reload time: [color=DARK_RED]25 seconds[/color]. -Explosion damage: [color=DARK_RED]600 peas[/color]. -Prime time: [color=DARK_RED]15 seconds[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color]. -Время перезарядки: [color=DARK_RED]{ReloadTime} seconds[/color]. +potatomine_desc,"Health points: [color=DARK_RED]{MaxHP}[/color]. +Reload time: [color=DARK_RED]{ReloadTime} seconds[/color]. +Explosion damage: [color=DARK_RED]{damage}[/color]. +Prime time: [color=DARK_RED]{PrimeTimer.wait_time} seconds[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color]. +Время перезарядки: [color=DARK_RED]{ReloadTime} секунд[/color]. Урон от взрыва: [color=DARK_RED]{damage}[/color]. Время роста: [color=DARK_RED]{PrimeTimer.wait_time} секунд[/color]." snowpea,Snowpea,Снежный горох -snowpea_desc,"Health points: [color=DARK_RED]6 bites[/color]. -Reload time: [color=DARK_RED]5 seconds[/color]. -Pea damage: [color=DARK_RED]1 pea[/color]. -Firerate: [color=DARK_RED]1.5 seconds[/color]. -Slow percentage: [color=STEEL_BLUE]25%[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color]. +snowpea_desc,"Health points: [color=DARK_RED]{MaxHP}[/color]. +Reload time: [color=DARK_RED]{ReloadTime} seconds[/color]. +Pea damage: [color=DARK_RED]{_damage}[/color]. +Firerate: [color=DARK_RED]{FireTimer.wait_time} seconds[/color]. +Slow percentage: [color=STEEL_BLUE]{Multiplier|%}%[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color]. Время перезарядки: [color=DARK_RED]{ReloadTime} секунд[/color]. Урон от гороха: [color=DARK_RED]{_damage}[/color]. Задержка стрельбы: [color=DARK_RED]{FireTimer.wait_time} секунды[/color]. -Доля замедления: [color=STEEL_BLUE]{Multiplier}[/color]." +Процент замедления: [color=STEEL_BLUE]{Multiplier|%}%[/color]." spikeweed,Spikeweed,Колючка -spikeweed_desc,"Health points: [color=DARK_RED]6 bites[/color]. -Reload time: [color=DARK_RED]5 seconds[/color]. -Damage per second: [color=DARK_RED]0.9 peas[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color]. +spikeweed_desc,"Health points: [color=DARK_RED]{MaxHP}[/color]. +Reload time: [color=DARK_RED]{ReloadTime} seconds[/color]. +Damage per second: [color=DARK_RED]{_damage}[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color]. Время перезарядки: [color=DARK_RED]{ReloadTime} секунд[/color]. Урон в секунду: [color=DARK_RED]{_damage}[/color]." sunflower,Sunflower,Подсолнух -sunflower_desc,"Health points: [color=DARK_RED]6 bites[/color] -Reload time: [color=DARK_RED]5 seconds[/color]. -Initial sun production time: [color=DARK_RED]12 seconds[/color]. -Sun production time: [color=DARK_RED]24 seconds[/color](After first sun produced).","Очки здоровья: [color=DARK_RED]{MaxHP}[/color] +sunflower_desc,"Health points: [color=DARK_RED]{MaxHP}[/color] +Reload time: [color=DARK_RED]{ReloadTime} seconds[/color]. +Initial sun production time: [color=DARK_RED]{StartTimer.wait_time} seconds[/color]. +Sun production time: [color=DARK_RED]{Timer.wait_time} seconds[/color](After first sun produced).","Очки здоровья: [color=DARK_RED]{MaxHP}[/color] Время перезарядки: [color=DARK_RED]{ReloadTime} секунд[/color]. Изначальная задержка выработки солнца: [color=DARK_RED]{StartTimer.wait_time} секунд[/color]. Задержка выработки солнца: [color=DARK_RED]{Timer.wait_time} секунды[/color](После первого солнца)." threepeater,Threepeater,Тристрел -threepeater_desc,"Health points: [color=DARK_RED]6 bites[/color]. -Reload time: [color=DARK_RED]5 seconds[/color]. -Pea damage: [color=DARK_RED]1 pea[/color] ([color=DARK_RED]3 pea[/color] when in close quarters). -Firerate: [color=DARK_RED]1.6 seconds[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color]. +threepeater_desc,"Health points: [color=DARK_RED]{MaxHP}[/color]. +Reload time: [color=DARK_RED]{ReloadTime} seconds[/color]. +Pea damage: [color=DARK_RED]{_damage}[/color]. +Firerate: [color=DARK_RED]{FireTimer.wait_time} seconds[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color]. Время перезарядки: [color=DARK_RED]{ReloadTime} секунд[/color]. Урон от гороха: [color=DARK_RED]{_damage}[/color]. Задержка стрельбы: [color=DARK_RED]{FireTimer.wait_time} секунд[/color]." wallnut,Wallnut,Стенорех -wallnut_desc,"Health points: [color=DARK_RED]120 bites[/color] -Reload time: [color=DARK_RED]20 seconds[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color] +wallnut_desc,"Health points: [color=DARK_RED]{MaxHP}[/color] +Reload time: [color=DARK_RED]{ReloadTime} seconds[/color].","Очки здоровья: [color=DARK_RED]{MaxHP}[/color] Время перезарядки: [color=DARK_RED]{ReloadTime} секунд[/color]." nerdus,Pickly cactus,Колкий кактус nerdus_desc,"He is very critical about other’s behaviour. He likes to pay people back in kind. -Health points: [color=darkred] 400 bites[/color]. -Reload time: [color=darkred] 10 seconds[/color]. -Damage conversion: [color=darkred]1 bite = 1.6 peas [/color].","Он очень критичен к поведению других. Ему нравится отплачивать людям добром за добро. +Health points: [color=darkred] {MaxHP}[/color]. +Reload time: [color=darkred] {ReloadTime} seconds[/color]. +Damage conversion: [color=darkred]1 bite = {bitesToPeas} peas [/color].","Он очень критичен к поведению других. Ему нравится отплачивать людям добром за добро. Очки здоровья: [color=darkred] {MaxHP}[/color]. Время перезарядки: [color=darkred]{ReloadTime} секунд[/color]. Конвертация урона: [color=darkred]1 укус = {bitesToPeas} горошин [/color]." cucumber,Cucumber,Огурец cucumber_desc,"He has a little trouble with differentiating left and right, so he doesn't make this choice at all. -Health points: [color=darkred] 6 bites[/color]. -Reload time: [color=darkred] 5 seconds[/color]. -Seed damage: [color=darkred] 4 peas[/color]. -Firerate: [color=darkred] 5 seconds[/color].","Он имеет небольшие проблемы с различением левого и правого, поэтому он не думает об этом вовсе. +Health points: [color=darkred] {MaxHP}[/color]. +Reload time: [color=darkred] {ReloadTime} seconds[/color]. +Seed damage: [color=darkred] {_damage}[/color]. +Firerate: [color=darkred] {FireTimer.wait_time} seconds[/color].","Он имеет небольшие проблемы с различением левого и правого, поэтому он не думает об этом вовсе. Очки здоровья: [color=darkred] {MaxHP}[/color]. Время перезарядки: [color=darkred]{ReloadTime} секунд[/color]. Урон семечка: [color=darkred] {_damage}[/color]. diff --git a/translations/plants.en.translation b/translations/plants.en.translation index 2b07ed44724ccfbd55b9c6ae9aa244cc47d0de2e..0fc6e6473a8345799e2a626099243b9ebf6d8dda 100644 GIT binary patch literal 3230 zcmds4ZERCj7`|&u+qI)}i?%gg*qXusGp&mT;%t%0y2037)0S*@l*?UrS!=tt>22Nk zsEBBSi44%_LPEkvBqjzlfrOY06Jw^R(Yb`FKNLqc$TS+6V3sh+sn6+l@owwD?MHuj zlPBjr@5eds$9d0bU2fL~X8KcLq)-A60Zp+)urs)eZ}-Hxh!Exy!Ds~RsZWk!d)dyP zj(=Kf6M6q-R71%K#Cai_jQe>u9QAWyHW6h7KOf;4om3X#I(a4^oK9X4xDH-mRG4He zct#5{zzG31!L@~XW+|p^Nq>k>Of%?CLLwfFbWE8E{&+B!0Fz=smf~27AYGL zxF_0~)l?VXya^GrRt6;lkd}OyX0l0H1)z(8<$$R280aT~DquZO3pfEP_hJkHH07fH z63}G;je`0`!5(QWZ302lL{lR2U;V4`y9+STfJgTh`4|4Y{IeF-Q-WatsQ*+}``X@d zIrubf6mR~1`o$s$sXfKD;M&5Am`{Q>!{Ci$`);XFj;olfFqdJZ>r5=Wb_4@MeWmD_ zaK#>n@G|I8fa*{j{O}pJ1;ha8A0_;)Umezc0>jz-0&UlO=Oq4!>wMnQ|32O43P1qS zkGF2F?H|FMo*0UO!9PBD8%KKw=obJ{kK0^xz8n)VPuKTex-$j?nokO(B;#-8lA@ts zL5udJb?8hF)}w3Fe0eNS75t4k&9x2?{X5m8c+dpDd%-&?;cHc^z8;5h0TkB*Fl9=C zJ6Nnb9OW6Zv0FcCQx?iKq>3S}N&O>ft-Yq&wV8D}YJ9sJ6_aWCMrW$^Gf0T9lDN(( zf6R#jJg6i{EWXfi7tFp||M67dw9 zWrNoXa@LQzx@VeW`TYwGYH@|dF3$ZVbgATq{9U@EHZfLL60a|5dDz=(8Qztajl6u+ zu(hr8@H;yp>?NU>p0_FL29>tvZ8u2hIfjG^jkr_iT=T?kY$74Ek@%Q&-t4Dy?ma(K zeg4OjcFD>7v7u72OGLwTp09G7RZHv)+3mHiAs!`tgGegXjkj{@!N!5vkn|@z+cG_) zZ9DUgRo<)<%Dv6EM)y@zoN%fK{LK{>)yL|mi{;DDZ_yf+Yx2oT%UKdS*08B>|3ynI lhmpE}TPD5s#W<((Ir}=8^{CBMzTc}xe^1fhPA>d2`3G8zZ`S|- delta 1167 zcmbVLT}TvB7`;30&d$tEuJ+@umWsdWX1cS@tQcsTt{589Y6RJ~7z9bVR#5pOi&0ci z5M6o+F$kg_Orszo=q0o$q(qdc2$ryj%E-*8^4gin#mRh-9uD)}bHDF=e|LIQdtJ95 zThekYgouO?2LRK+sUO?NKU-AolJR!rdX9%t1GPX@1)jb@CfOysm16#sHIP`;iVB+^YyO=lw zxwqh^OuXzkal=UmxV6!TU}FGkGSukz(!oct?elm(^0oh!jgS_c_W^Og*7};euaQwN zS_a-npZt;$q|ZYKdNTABTk_ab*t>yNfVGVEjY3b?#{hWJoKq&Nv@yY@oM)O zibkgr@@PBn;Cx={v1TWU3*O0s>}K?URa>EYmk1oU79}m#rjxcb*+gpemYC@@5lUAl zqcPF_7Z+g~?Xzt(tEqZIsO51!ji&RtE9Hf{{9bQYr^IM8pQ|@;j^AL8GPoG zr?b4NIS^{8f3wRYplhCI$v^1_)*Z(jeUO#rNu|$?q7&Jy)?XFf;*$Kp4mb%euAJf0zK| zNCEjEJn7BSG95Ms27VwLgr8)Z^UJd{FsugZ0pXrGjh~NC_G40)%wc9=Pyvd7Fc5)p z?|S=qiOGFT;*z&H7#IwI!XONj<>4-0&NF!*leB6SPzZ#9&IQX({$ze68OY}a@30w4@j!XOXCj(iLZ7baZTePQ3l z-pK(R%9}4ROE9w5sMe|~Z2rQsfN8P=o9gB*>=zh$=U;39Dr&p1^}^nZO_RGhO;|vx UHXqFjNACKp4mb%euAJf0zX1 zNCEjEJn7BSGF3JP27VwLgr8)Z^GmQZFsugZ0pXrGjh_!p_G40)EM{h4kOzu@Fc5)p z?|S=q`N@4u;*wW57#IwI!XONj<>4-0&N_J?leB6gPzZ#9&IQX({$ze63&`gM@30w4@j!XOXCR(uQ$7baZTePQ3l z-pK;&%9}4ROEB`(DqPrdVINR*>xG@0-?A)VVlPfj&d*CJ-aM22B_sP3kle-o$^D!r VjJ2DOb1HK100R$fPf&1>GXU#cU4;Mu diff --git a/translations/rewards.csv b/translations/rewards.csv index 5b21923..4e77c62 100644 --- a/translations/rewards.csv +++ b/translations/rewards.csv @@ -1,5 +1,5 @@ key,en,ru -rwd_aloe,Heals plants right in front of him that have third of hp.,"Лечит растения спереди от него, если у них треть здоровья." +rwd_aloe,Heals damaged plants in front of him.,Лечит раненые растения спереди от него. rwd_cucumber,Shoots deadly projectiles up and down.,Стреляет смертоносными снарядами вверх и вниз. rwd_garlic,Redirects zombies on another lanes.,Перенаправляет зомби на другие линии. rwd_nerdus,Returns taken damage and redirects zombies that get hit.,Возвращает полученный урон и перенаправляет зомби на другие линии. diff --git a/translations/rewards.en.translation b/translations/rewards.en.translation index dcc6bfe40eb1d801c7fa55f9515c53898d7486c4..2283c31a6e34312ee5ae31978d7c76e121af7640 100644 GIT binary patch delta 253 zcmZ3+F^glvF-A!qMg|5E1_lOsAO^0e+NnA4@C@KxaIzS9Fi}^m| zG>|zUadjXrsEhw_X>vc%EMp)~9Eeqb7-m+!*RtEsC+}wx*IfV<1(EtoLC-4?9o^$e^I$AZGwOQ!9J` delta 265 zcmbQmv5aHGF-A#IMg|5E1_lOsAOue?0WnC$j?H4l zK#D;Th^>J5h4sYA$0o}&iA(+j@??Nm8;D_M-OD(CIC!!@lelIDP*fU-b$}RV7V~|^ zX&`ez;_5(LP#6E<_T+w`SvEkPI1sA-jF*E)PD#jSGcz+cBR^0nI}n2m4GIo&1^}MO BEgS#< diff --git a/translations/rewards.ru.translation b/translations/rewards.ru.translation index 03ce23328fd056c89314d0d4c66652c42112cb37..214dd3fa34bf53d30ff558c1825d2860e8e7e3ca 100644 GIT binary patch delta 263 zcmX@hyOwvuRYu8JW(Ecq1_)*Z(jeUT=|hO&bGeKo{Y!)j9G8sIf z_=WYv$#IkQn8c-i1C=BJML`&5*1e4Lho3P_j%O0nOah9<0Hr_}W*GB*#%Umf!lAgJ zF8;&B$@7@RB^Lli+@Kg{SiaY?+jl0PV-h#y0vezWlm%fnAeIN>g+Q-dn0;aE#r6w3 rE;cD#Y`C!D!rlv8FYLY8ePQclc4ocJsmw9VybSC>wICCNf`gm^(&jq* delta 296 zcmZ3>dzN>@RYu7=W(Ecq1_)*Z(jeUT=|f1+bGeKo{Y!)j9G8wX< z_=WYv$@P=F6oA~u3%f7uP`KEvaA7Y{qE+Ey)5Qj$aMQ&eg$vs+Y`L%x$lZ5g)5V^P V{hM8wW0-l^frf#s3g0FoXiJlGWeST1=B4Fp7m4GBGgd0EN7O7>K~Q z^-9jH9A*ZF4?qDopga(P#ji)?e&7MJ9|Q4!AYR*2Y4{#Ub3-v3kd_DH7}m)?OitWP zvDLmTzy33O1k_H}XH((;@`Eop{i~h)kwuTMI!fQ{Ux4(#;Op`dAR#6#E}*;%%i5p+ z8EYpiF~`XOx%PSgU?xN#Efv%H7h7rg&yh!W!{i1QF+rdLAX^KehE!V|Siy?~Yip&fQ+kpZCKzSeni(ik({lEicUjpJcK)kl4((oRT=7wT6AT1BXH&`b7FgdX^ z#+uhwaQ&Oy!=}W>7;BLC&uFqCs~($C-hW0j^U432w16rMYCyylzpE-ucM4GdZb-5@+F>%h>#-;)Bp&8JJQj?k4 TB^eDTYq1+LTA+Ay0lOFg^(Azh diff --git a/translations/zombies.ru.translation b/translations/zombies.ru.translation index 0efed47e44c18ca433c8208474e8f8b40bb867d5..376f7e36b3ba71c88c6305f4b907203dbea24368 100644 GIT binary patch delta 288 zcmZ1|`c`zqT1G~<$?F*P1!plbFr0#7C9A)uQzpM-6c4RuW?(oD6a`@*0^`;zIkS>k z85rb&av;nE6~7*l`#}oGP6sLk;k7N5hK)d45-0}3Y(Ojz#7&!{n6wxLs*^HHQi}sp zi-J>=^Yc<_C&#mTZ@$djfhn^&p7j!@C|G?1yAspn2W)IiHO7+#Smh>{af(b<;NqM7 ogi{LBg8!VJLTI+u7}rkrR