44using Darkages . Enums ;
55using Darkages . Network . Client ;
66using Darkages . Network . Server ;
7+ using Darkages . Object ;
78using Darkages . ScriptingBase ;
89using Darkages . Sprites ;
910using Darkages . Sprites . Entity ;
@@ -49,7 +50,9 @@ public override void Update(TimeSpan elapsedTime)
4950 if ( Monster . IsVulnerable || Monster . IsPoisoned )
5051 {
5152 var pos = Monster . Pos ;
52- Monster . SendAnimationNearby ( 75 , new Position ( pos ) ) ;
53+ var diceRoll = Generator . RandNumGen100 ( ) ;
54+ if ( diceRoll >= 80 )
55+ Monster . SendAnimationNearby ( 75 , new Position ( pos ) ) ;
5356
5457 foreach ( var debuff in Monster . Debuffs . Values )
5558 debuff ? . OnEnded ( Monster , debuff ) ;
@@ -344,7 +347,9 @@ public override void Update(TimeSpan elapsedTime)
344347 if ( Monster . IsVulnerable || Monster . IsPoisoned )
345348 {
346349 var pos = Monster . Pos ;
347- Monster . SendAnimationNearby ( 75 , new Position ( pos ) ) ;
350+ var diceRoll = Generator . RandNumGen100 ( ) ;
351+ if ( diceRoll >= 80 )
352+ Monster . SendAnimationNearby ( 75 , new Position ( pos ) ) ;
348353
349354 foreach ( var debuff in Monster . Debuffs . Values )
350355 debuff ? . OnEnded ( Monster , debuff ) ;
@@ -643,7 +648,9 @@ public override void Update(TimeSpan elapsedTime)
643648 if ( Monster . IsVulnerable || Monster . IsPoisoned )
644649 {
645650 var pos = Monster . Pos ;
646- Monster . SendAnimationNearby ( 75 , new Position ( pos ) ) ;
651+ var diceRoll = Generator . RandNumGen100 ( ) ;
652+ if ( diceRoll >= 80 )
653+ Monster . SendAnimationNearby ( 75 , new Position ( pos ) ) ;
647654
648655 foreach ( var debuff in Monster . Debuffs . Values )
649656 debuff ? . OnEnded ( Monster , debuff ) ;
@@ -669,9 +676,24 @@ private void UpdatePhases()
669676 var foundB = templates . TryGetValue ( t => t . Name == "SnowmanB" , out var templateB ) ;
670677 var foundC = templates . TryGetValue ( t => t . Name == "SnowmanC" , out var templateC ) ;
671678
672- if ( foundA ) Monster . CreateFromTemplate ( templateA , Monster . Map ) ;
673- if ( foundB ) Monster . CreateFromTemplate ( templateB , Monster . Map ) ;
674- if ( foundC ) Monster . CreateFromTemplate ( templateC , Monster . Map ) ;
679+ if ( foundA )
680+ {
681+ var mob1 = Monster . Create ( templateA , Monster . Map ) ;
682+ if ( mob1 is not null )
683+ ObjectManager . AddObject ( mob1 ) ;
684+ }
685+ if ( foundB )
686+ {
687+ var mob2 = Monster . Create ( templateB , Monster . Map ) ;
688+ if ( mob2 is not null )
689+ ObjectManager . AddObject ( mob2 ) ;
690+ }
691+ if ( foundC )
692+ {
693+ var mob3 = Monster . Create ( templateC , Monster . Map ) ;
694+ if ( mob3 is not null )
695+ ObjectManager . AddObject ( mob3 ) ;
696+ }
675697
676698 _phaseOne = true ;
677699 }
@@ -687,11 +709,36 @@ private void UpdatePhases()
687709 var foundD = templates . TryGetValue ( t => t . Name == "SnowmanD" , out var templateD ) ;
688710 var foundE = templates . TryGetValue ( t => t . Name == "SnowmanE" , out var templateE ) ;
689711
690- if ( foundA ) Monster . CreateFromTemplate ( templateA , Monster . Map ) ;
691- if ( foundB ) Monster . CreateFromTemplate ( templateB , Monster . Map ) ;
692- if ( foundC ) Monster . CreateFromTemplate ( templateC , Monster . Map ) ;
693- if ( foundD ) Monster . CreateFromTemplate ( templateD , Monster . Map ) ;
694- if ( foundE ) Monster . CreateFromTemplate ( templateE , Monster . Map ) ;
712+ if ( foundA )
713+ {
714+ var mob1 = Monster . Create ( templateA , Monster . Map ) ;
715+ if ( mob1 is not null )
716+ ObjectManager . AddObject ( mob1 ) ;
717+ }
718+ if ( foundB )
719+ {
720+ var mob2 = Monster . Create ( templateB , Monster . Map ) ;
721+ if ( mob2 is not null )
722+ ObjectManager . AddObject ( mob2 ) ;
723+ }
724+ if ( foundC )
725+ {
726+ var mob3 = Monster . Create ( templateC , Monster . Map ) ;
727+ if ( mob3 is not null )
728+ ObjectManager . AddObject ( mob3 ) ;
729+ }
730+ if ( foundD )
731+ {
732+ var mob4 = Monster . Create ( templateD , Monster . Map ) ;
733+ if ( mob4 is not null )
734+ ObjectManager . AddObject ( mob4 ) ;
735+ }
736+ if ( foundE )
737+ {
738+ var mob5 = Monster . Create ( templateE , Monster . Map ) ;
739+ if ( mob5 is not null )
740+ ObjectManager . AddObject ( mob5 ) ;
741+ }
695742
696743 _phaseTwo = true ;
697744 }
@@ -709,13 +756,48 @@ private void UpdatePhases()
709756 var foundF = templates . TryGetValue ( t => t . Name == "SnowmanF" , out var templateF ) ;
710757 var foundG = templates . TryGetValue ( t => t . Name == "SnowmanG" , out var templateG ) ;
711758
712- if ( foundA ) Monster . CreateFromTemplate ( templateA , Monster . Map ) ;
713- if ( foundB ) Monster . CreateFromTemplate ( templateB , Monster . Map ) ;
714- if ( foundC ) Monster . CreateFromTemplate ( templateC , Monster . Map ) ;
715- if ( foundD ) Monster . CreateFromTemplate ( templateD , Monster . Map ) ;
716- if ( foundE ) Monster . CreateFromTemplate ( templateE , Monster . Map ) ;
717- if ( foundF ) Monster . CreateFromTemplate ( templateF , Monster . Map ) ;
718- if ( foundG ) Monster . CreateFromTemplate ( templateG , Monster . Map ) ;
759+ if ( foundA )
760+ {
761+ var mob1 = Monster . Create ( templateA , Monster . Map ) ;
762+ if ( mob1 is not null )
763+ ObjectManager . AddObject ( mob1 ) ;
764+ }
765+ if ( foundB )
766+ {
767+ var mob2 = Monster . Create ( templateB , Monster . Map ) ;
768+ if ( mob2 is not null )
769+ ObjectManager . AddObject ( mob2 ) ;
770+ }
771+ if ( foundC )
772+ {
773+ var mob3 = Monster . Create ( templateC , Monster . Map ) ;
774+ if ( mob3 is not null )
775+ ObjectManager . AddObject ( mob3 ) ;
776+ }
777+ if ( foundD )
778+ {
779+ var mob4 = Monster . Create ( templateD , Monster . Map ) ;
780+ if ( mob4 is not null )
781+ ObjectManager . AddObject ( mob4 ) ;
782+ }
783+ if ( foundE )
784+ {
785+ var mob5 = Monster . Create ( templateE , Monster . Map ) ;
786+ if ( mob5 is not null )
787+ ObjectManager . AddObject ( mob5 ) ;
788+ }
789+ if ( foundF )
790+ {
791+ var mob6 = Monster . Create ( templateF , Monster . Map ) ;
792+ if ( mob6 is not null )
793+ ObjectManager . AddObject ( mob6 ) ;
794+ }
795+ if ( foundG )
796+ {
797+ var mob7 = Monster . Create ( templateG , Monster . Map ) ;
798+ if ( mob7 is not null )
799+ ObjectManager . AddObject ( mob7 ) ;
800+ }
719801
720802 _phaseThree = true ;
721803 }
@@ -1001,7 +1083,9 @@ public override void Update(TimeSpan elapsedTime)
10011083 if ( Monster . IsVulnerable || Monster . IsPoisoned )
10021084 {
10031085 var pos = Monster . Pos ;
1004- Monster . SendAnimationNearby ( 75 , new Position ( pos ) ) ;
1086+ var diceRoll = Generator . RandNumGen100 ( ) ;
1087+ if ( diceRoll >= 80 )
1088+ Monster . SendAnimationNearby ( 75 , new Position ( pos ) ) ;
10051089
10061090 foreach ( var debuff in Monster . Debuffs . Values )
10071091 debuff ? . OnEnded ( Monster , debuff ) ;
0 commit comments