@@ -19,11 +19,13 @@ public override void _ExitTree()
1919 Scribe . NoteDictionary [ 0 ] . Texture = null ;
2020 BattleDirector . AutoPlay = false ;
2121 BattleDirector . PlayerDisabled = false ;
22+ Conductor . BeatSpawnOffsetModifier = 0 ;
2223 }
2324
2425 public override void _Ready ( )
2526 {
26- MaxHealth = 150 ;
27+ Conductor . BeatSpawnOffsetModifier = 1 ;
28+ MaxHealth = 3 ;
2729 CurrentHealth = MaxHealth ;
2830 BaseMoney = 20 ;
2931 base . _Ready ( ) ;
@@ -37,19 +39,18 @@ public override void _Ready()
3739 this ,
3840 BattleEffectTrigger . OnBattleStart ,
3941 - 1 ,
40- ( e , eff , val ) =>
42+ ( e , _ , _ ) =>
4143 {
4244 BattleDirector . AutoPlay = true ;
4345 BattleDirector . PlayerDisabled = true ;
4446 e . BD . AddStatus ( Targetting . Player , StatusEffect . Disable ) ;
45- e . BD . AddStatus ( Targetting . Player , StatusEffect . Block , 999 ) ;
4647 }
4748 ) ,
4849 new EnemyEffect (
4950 this ,
5051 BattleEffectTrigger . OnLoop ,
5152 1 ,
52- ( e , eff , val ) =>
53+ ( e , _ , _ ) =>
5354 {
5455 TweenLoop ( ) ;
5556 if ( e is not BattleDirector . Harbinger . LoopEventArgs lArgs )
@@ -72,14 +73,32 @@ public override void _Ready()
7273 this ,
7374 BattleEffectTrigger . NoteHit ,
7475 1 ,
75- ( e , eff , val ) =>
76+ ( e , _ , _ ) =>
7677 {
7778 if ( e is BattleDirector . Harbinger . NoteHitArgs nArgs )
7879 {
7980 TweenDir ( nArgs . Type ) ;
8081 }
8182 }
8283 ) ,
84+ new EnemyEffect (
85+ this ,
86+ BattleEffectTrigger . OnDamageInstance ,
87+ 3 ,
88+ ( e , eff , val ) =>
89+ {
90+ if (
91+ e is not BattleDirector . Harbinger . OnDamageInstanceArgs dArgs
92+ || dArgs . Dmg . Target != eff . Owner
93+ || dArgs . Dmg . Source != dArgs . BD . Player
94+ )
95+ return ;
96+ if ( dArgs . Dmg . Damage < val )
97+ {
98+ dArgs . Dmg . ModifyDamage ( 0 , 0 ) ;
99+ }
100+ }
101+ ) ,
83102 } ;
84103 }
85104
@@ -106,7 +125,7 @@ private void TweenLoop()
106125
107126 private Node2D [ ] _hands = new Node2D [ 2 ] ;
108127
109- private int [ ] _dirToAngle = [ 270 , 90 , 180 , 0 ] ; //ArrowType to angle in deg
128+ private int [ ] _dirToAngle = [ 270 , 450 , 180 , 360 ] ; //ArrowType to angle in deg
110129
111130 private void TweenDir ( ArrowType dir )
112131 {
@@ -125,7 +144,10 @@ private void TweenDir(ArrowType dir)
125144 _curTween . TweenCallback (
126145 Callable . From ( ( ) =>
127146 {
128- _hands [ handIdx ] . RotationDegrees = _dirToAngle [ ( int ) dir ] ;
147+ int offset = 0 ;
148+ if ( _dirToAngle [ ( int ) dir ] >= 360 )
149+ offset = 360 ;
150+ _hands [ handIdx ] . RotationDegrees = _dirToAngle [ ( int ) dir ] - offset ;
129151 } )
130152 ) ;
131153 }
0 commit comments