Atrocities

This commit is contained in:
Rendo 2025-06-14 21:20:28 +05:00
commit 9680b21792
90 changed files with 324 additions and 69 deletions

1
scripts/Cursor.cs.uid Normal file
View file

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

View file

@ -7,7 +7,7 @@ namespace Newlon;
// Button that contains level to load
//
public partial class LevelButton : Node
public partial class LevelButton : TextureButton
{
[Export] private Script _levelScript;
[Export] private PackedScene _levelTileset;

View file

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

View file

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

1
scripts/Sun.cs.uid Normal file
View file

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

1
scripts/Utility.cs.uid Normal file
View file

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

View file

@ -0,0 +1,54 @@
using Godot;
namespace Newlon.Components;
[GlobalClass]
public partial class Armor : Node
{
[Signal]
public delegate void ArmorDamagedEventHandler(int hp);
[Signal]
public delegate void ArmorLostEventHandler();
[Export]
private int _maxHP;
private int _hp;
private bool _lost = false;
public override void _Ready()
{
_hp = _maxHP;
}
public int RecieveDamage(int damage)
{
if(_lost)
return damage;
int returnAmount = 0;
_hp -= damage;
if(_hp <= 0)
{
returnAmount = _hp;
_hp = 0;
EmitSignal(SignalName.ArmorLost);
_lost = true;
}
EmitSignal(SignalName.ArmorDamaged,_hp);
return returnAmount;
}
public int Heal(int amount)
{
if(_lost)
return amount;
int returnAmount = 0;
_hp += amount;
if (_hp >= _maxHP)
{
returnAmount = _hp-_maxHP;
_hp = _maxHP;
}
EmitSignal(SignalName.ArmorDamaged,_hp);
return returnAmount;
}
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -25,7 +25,8 @@ public partial class PlantField : Node2D
_slot = slot;
if (plant == null)
{
_plantSetter.GetChild(0).QueueFree();
foreach(var child in _plantSetter.GetChildren())
child.QueueFree();
}
else
{

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1 @@
uid://3dbmgnr7qxee

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -16,14 +16,13 @@ public partial class RuntimeZombieData : Node2D, IEntity, ILocalTimescale, IEffe
[Export]
private int _maxHP;
[Export]
private int _line;
private Armor _armor;
private float _localTimescale = 1.0f;
public int Hp => _hp;
public int MaxHp => _maxHP;
public int Line => _line;
public int MaxHp => _maxHP;
public bool AbleToEat = true;
@ -54,8 +53,14 @@ public partial class RuntimeZombieData : Node2D, IEntity, ILocalTimescale, IEffe
public void Heal(int amount,Node origin)
{
_hp += amount;
if(_armor != null)
{
_hp += _armor.Heal(amount);
}
else
_hp += amount;
EmitSignal(SignalName.OnHPChanged,amount,origin);
if (MaxHp > 0)
{
@ -65,7 +70,12 @@ public partial class RuntimeZombieData : Node2D, IEntity, ILocalTimescale, IEffe
public void TakeDamage(int amount, Node origin, Utility.DamageTypes damageType = Utility.DamageTypes.PHYSICAL)
{
_hp -= amount;
if(_armor != null)
{
_hp -= _armor.RecieveDamage(amount);
}
else
_hp -= amount;
EmitSignal(SignalName.OnHPChanged,-amount, origin);
if (_hp <= 0)

View file

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

View file

@ -0,0 +1 @@
uid://7hdj2k14lfe4

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -47,7 +47,6 @@ public partial class GarlicEffect : Effect
tween.TweenProperty(zombieData,"position:y",zombieData.GlobalPosition.Y + Utility.TileHeight * mult, 1.0);
tween.TweenCallback(Callable.From(() => {zombieData.AbleToEat = true;}));
}
}
public override void Process(Node target)

View file

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

View file

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

View file

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