@@ -315,31 +315,31 @@ protected override bool GeneralGCD(out IAction? act)
315
315
{
316
316
if ( WillSwiftEnd )
317
317
{
318
- if ( SwiftskinsDenPvE . CanUse ( out act , skipComboCheck : true , skipAoeCheck : true ) )
318
+ if ( SwiftskinsDenPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true , skipAoeCheck : true ) )
319
319
return true ;
320
320
}
321
321
322
322
if ( WillHunterEnd )
323
323
{
324
- if ( HuntersDenPvE . CanUse ( out act , skipComboCheck : true , skipAoeCheck : true ) )
324
+ if ( HuntersDenPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true , skipAoeCheck : true ) )
325
325
return true ;
326
326
}
327
327
328
328
switch ( HunterOrSwiftEndsFirst )
329
329
{
330
330
case "Hunter" :
331
- if ( HuntersDenPvE . CanUse ( out act , skipComboCheck : true , skipAoeCheck : true ) )
331
+ if ( HuntersDenPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true , skipAoeCheck : true ) )
332
332
return true ;
333
333
break ;
334
334
case "Swift" :
335
- if ( SwiftskinsDenPvE . CanUse ( out act , skipComboCheck : true , skipAoeCheck : true ) )
335
+ if ( SwiftskinsDenPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true , skipAoeCheck : true ) )
336
336
return true ;
337
337
break ;
338
338
case "Equal" :
339
339
case null :
340
- if ( HuntersDenPvE . CanUse ( out act , skipComboCheck : true , skipAoeCheck : true ) )
340
+ if ( HuntersDenPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true , skipAoeCheck : true ) )
341
341
return true ;
342
- if ( SwiftskinsDenPvE . CanUse ( out act , skipComboCheck : true , skipAoeCheck : true ) )
342
+ if ( SwiftskinsDenPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true , skipAoeCheck : true ) )
343
343
return true ;
344
344
break ;
345
345
}
@@ -348,26 +348,26 @@ protected override bool GeneralGCD(out IAction? act)
348
348
{
349
349
if ( ! IsSwift )
350
350
{
351
- if ( SwiftskinsDenPvE . CanUse ( out act , skipComboCheck : true , skipAoeCheck : true ) )
351
+ if ( SwiftskinsDenPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true , skipAoeCheck : true ) )
352
352
return true ;
353
353
}
354
354
355
355
if ( ! IsHunter )
356
356
{
357
- if ( HuntersDenPvE . CanUse ( out act , skipComboCheck : true , skipAoeCheck : true ) )
357
+ if ( HuntersDenPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true , skipAoeCheck : true ) )
358
358
return true ;
359
359
}
360
360
}
361
361
}
362
362
363
363
if ( ! PitActive )
364
364
{
365
- if ( SwiftskinsDenPvE . CanUse ( out act , skipComboCheck : true , skipAoeCheck : true ) )
365
+ if ( SwiftskinsDenPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true , skipAoeCheck : true ) )
366
366
{
367
367
return true ;
368
368
}
369
369
370
- if ( HuntersDenPvE . CanUse ( out act , skipComboCheck : true , skipAoeCheck : true ) )
370
+ if ( HuntersDenPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true , skipAoeCheck : true ) )
371
371
{
372
372
return true ;
373
373
}
@@ -401,41 +401,41 @@ protected override bool GeneralGCD(out IAction? act)
401
401
{
402
402
if ( WillSwiftEnd )
403
403
{
404
- if ( SwiftskinsCoilPvE . CanUse ( out act , skipComboCheck : true ) )
404
+ if ( SwiftskinsCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
405
405
return true ;
406
406
}
407
407
408
408
if ( WillHunterEnd )
409
409
{
410
- if ( HuntersCoilPvE . CanUse ( out act , skipComboCheck : true ) )
410
+ if ( HuntersCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
411
411
return true ;
412
412
}
413
413
414
- if ( HuntersCoilPvE . CanUse ( out act , skipComboCheck : true ) && HuntersCoilPvE . Target . Target != null && CanHitPositional ( EnemyPositional . Flank , HuntersCoilPvE . Target . Target ) )
414
+ if ( HuntersCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) && HuntersCoilPvE . Target . Target != null && CanHitPositional ( EnemyPositional . Flank , HuntersCoilPvE . Target . Target ) )
415
415
{
416
416
return true ;
417
417
}
418
418
419
- if ( SwiftskinsCoilPvE . CanUse ( out act , skipComboCheck : true ) && SwiftskinsCoilPvE . Target . Target != null && CanHitPositional ( EnemyPositional . Rear , SwiftskinsCoilPvE . Target . Target ) )
419
+ if ( SwiftskinsCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) && SwiftskinsCoilPvE . Target . Target != null && CanHitPositional ( EnemyPositional . Rear , SwiftskinsCoilPvE . Target . Target ) )
420
420
{
421
421
return true ;
422
422
}
423
423
424
424
switch ( HunterOrSwiftEndsFirst )
425
425
{
426
426
case "Hunter" :
427
- if ( HuntersCoilPvE . CanUse ( out act , skipComboCheck : true ) )
427
+ if ( HuntersCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
428
428
return true ;
429
429
break ;
430
430
case "Swift" :
431
- if ( SwiftskinsCoilPvE . CanUse ( out act , skipComboCheck : true ) )
431
+ if ( SwiftskinsCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
432
432
return true ;
433
433
break ;
434
434
case "Equal" :
435
435
case null :
436
- if ( HuntersCoilPvE . CanUse ( out act , skipComboCheck : true ) )
436
+ if ( HuntersCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
437
437
return true ;
438
- if ( SwiftskinsCoilPvE . CanUse ( out act , skipComboCheck : true ) )
438
+ if ( SwiftskinsCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
439
439
return true ;
440
440
break ;
441
441
}
@@ -445,39 +445,39 @@ protected override bool GeneralGCD(out IAction? act)
445
445
{
446
446
if ( ! IsHunter && ! IsSwift )
447
447
{
448
- if ( HuntersCoilPvE . CanUse ( out act , skipComboCheck : true ) && HuntersCoilPvE . Target . Target != null && CanHitPositional ( EnemyPositional . Flank , HuntersCoilPvE . Target . Target ) )
448
+ if ( HuntersCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) && HuntersCoilPvE . Target . Target != null && CanHitPositional ( EnemyPositional . Flank , HuntersCoilPvE . Target . Target ) )
449
449
{
450
450
return true ;
451
451
}
452
452
453
- if ( SwiftskinsCoilPvE . CanUse ( out act , skipComboCheck : true ) && SwiftskinsCoilPvE . Target . Target != null && CanHitPositional ( EnemyPositional . Rear , SwiftskinsCoilPvE . Target . Target ) )
453
+ if ( SwiftskinsCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) && SwiftskinsCoilPvE . Target . Target != null && CanHitPositional ( EnemyPositional . Rear , SwiftskinsCoilPvE . Target . Target ) )
454
454
{
455
455
return true ;
456
456
}
457
457
}
458
458
459
459
if ( ! IsSwift )
460
460
{
461
- if ( SwiftskinsCoilPvE . CanUse ( out act , skipComboCheck : true , skipAoeCheck : true ) )
461
+ if ( SwiftskinsCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true , skipAoeCheck : true ) )
462
462
return true ;
463
463
}
464
464
465
465
if ( ! IsHunter )
466
466
{
467
- if ( HuntersCoilPvE . CanUse ( out act , skipComboCheck : true , skipAoeCheck : true ) )
467
+ if ( HuntersCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true , skipAoeCheck : true ) )
468
468
return true ;
469
469
}
470
470
}
471
471
}
472
472
473
473
if ( ! DreadActive )
474
474
{
475
- if ( HuntersCoilPvE . CanUse ( out act , skipComboCheck : true ) )
475
+ if ( HuntersCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
476
476
{
477
477
return true ;
478
478
}
479
479
480
- if ( SwiftskinsCoilPvE . CanUse ( out act , skipComboCheck : true ) )
480
+ if ( SwiftskinsCoilPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
481
481
{
482
482
return true ;
483
483
}
@@ -524,18 +524,18 @@ protected override bool GeneralGCD(out IAction? act)
524
524
switch ( HunterOrSwiftEndsFirst )
525
525
{
526
526
case "Hunter" :
527
- if ( HuntersBitePvE . CanUse ( out act ) )
527
+ if ( HuntersBitePvE . CanUse ( out act , skipStatusProvideCheck : true ) )
528
528
return true ;
529
529
break ;
530
530
case "Swift" :
531
- if ( SwiftskinsBitePvE . CanUse ( out act ) )
531
+ if ( SwiftskinsBitePvE . CanUse ( out act , skipStatusProvideCheck : true ) )
532
532
return true ;
533
533
break ;
534
534
case "Equal" :
535
535
case null :
536
- if ( HuntersBitePvE . CanUse ( out act ) )
536
+ if ( HuntersBitePvE . CanUse ( out act , skipStatusProvideCheck : true ) )
537
537
return true ;
538
- if ( SwiftskinsBitePvE . CanUse ( out act ) )
538
+ if ( SwiftskinsBitePvE . CanUse ( out act , skipStatusProvideCheck : true ) )
539
539
return true ;
540
540
break ;
541
541
}
@@ -563,51 +563,120 @@ protected override bool GeneralGCD(out IAction? act)
563
563
switch ( ( HasHindstung , HasHindsbane , HasFlankstung , HasFlanksbane ) )
564
564
{
565
565
case ( true , _ , _ , _ ) :
566
- if ( HindstingStrikePvE . CanUse ( out act ) )
566
+ if ( HindstingStrikePvE . CanUse ( out act , skipStatusProvideCheck : true ) )
567
567
return true ;
568
568
break ;
569
569
case ( _, true , _, _) :
570
- if ( HindsbaneFangPvE . CanUse ( out act ) )
570
+ if ( HindsbaneFangPvE . CanUse ( out act , skipStatusProvideCheck : true ) )
571
571
return true ;
572
572
break ;
573
573
case ( _, _, true , _) :
574
- if ( FlankstingStrikePvE . CanUse ( out act ) )
574
+ if ( FlankstingStrikePvE . CanUse ( out act , skipStatusProvideCheck : true ) )
575
575
return true ;
576
576
break ;
577
577
case ( _, _, _, true ) :
578
- if ( FlanksbaneFangPvE . CanUse ( out act ) )
578
+ if ( FlanksbaneFangPvE . CanUse ( out act , skipStatusProvideCheck : true ) )
579
579
return true ;
580
580
break ;
581
581
case ( false , false , false , false ) :
582
- if ( HindstingStrikePvE . CanUse ( out act ) )
582
+ if ( HindstingStrikePvE . CanUse ( out act , skipStatusProvideCheck : true ) )
583
583
return true ;
584
- if ( HindsbaneFangPvE . CanUse ( out act ) )
584
+ if ( HindsbaneFangPvE . CanUse ( out act , skipStatusProvideCheck : true ) )
585
585
return true ;
586
- if ( FlankstingStrikePvE . CanUse ( out act ) )
586
+ if ( FlankstingStrikePvE . CanUse ( out act , skipStatusProvideCheck : true ) )
587
587
return true ;
588
- if ( FlanksbaneFangPvE . CanUse ( out act ) )
588
+ if ( FlanksbaneFangPvE . CanUse ( out act , skipStatusProvideCheck : true ) )
589
589
return true ;
590
590
break ;
591
591
}
592
592
593
593
// st 2
594
- switch ( HunterOrSwiftEndsFirst )
594
+ if ( SwiftskinsStingPvE . EnoughLevel )
595
595
{
596
- case "Hunter" :
597
- if ( HuntersStingPvE . CanUse ( out act ) )
598
- return true ;
599
- break ;
600
- case "Swift" :
601
- if ( SwiftskinsStingPvE . CanUse ( out act ) )
602
- return true ;
603
- break ;
604
- case "Equal" :
605
- case null :
606
- if ( SwiftskinsStingPvE . CanUse ( out act ) )
607
- return true ;
608
- if ( HuntersStingPvE . CanUse ( out act ) )
609
- return true ;
610
- break ;
596
+ if ( HasHunterAndSwift )
597
+ {
598
+ if ( HasHind || HasFlank )
599
+ {
600
+ if ( HasHind )
601
+ {
602
+ if ( SwiftskinsStingPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
603
+ return true ;
604
+ }
605
+
606
+ if ( HasFlank )
607
+ {
608
+ if ( HuntersStingPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
609
+ return true ;
610
+ }
611
+ }
612
+
613
+ if ( ! HasHind && ! HasFlank )
614
+ {
615
+ switch ( HunterOrSwiftEndsFirst )
616
+ {
617
+ case "Hunter" :
618
+ if ( HuntersStingPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
619
+ return true ;
620
+ break ;
621
+ case "Swift" :
622
+ if ( SwiftskinsStingPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
623
+ return true ;
624
+ break ;
625
+ case "Equal" :
626
+ if ( SwiftskinsStingPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
627
+ return true ;
628
+ break ;
629
+ }
630
+ }
631
+ }
632
+
633
+ if ( ! HasHunterAndSwift )
634
+ {
635
+ if ( HasHind || HasFlank )
636
+ {
637
+ if ( HasHind )
638
+ {
639
+ if ( SwiftskinsStingPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
640
+ return true ;
641
+ }
642
+
643
+ if ( HasFlank )
644
+ {
645
+ if ( HuntersStingPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
646
+ return true ;
647
+ }
648
+ }
649
+
650
+ if ( ! HasHind && ! HasFlank )
651
+ {
652
+ if ( ! IsHunter && ! IsSwift )
653
+ {
654
+ if ( SwiftskinsStingPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
655
+ {
656
+ return true ;
657
+ }
658
+ }
659
+
660
+ if ( ! IsSwift )
661
+ {
662
+ if ( SwiftskinsStingPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
663
+ {
664
+ return true ;
665
+ }
666
+ }
667
+
668
+ if ( ! IsHunter )
669
+ {
670
+ if ( HuntersStingPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
671
+ return true ;
672
+ }
673
+ }
674
+ }
675
+ }
676
+ if ( ! SwiftskinsStingPvE . EnoughLevel )
677
+ {
678
+ if ( HuntersStingPvE . CanUse ( out act , skipStatusProvideCheck : true , skipComboCheck : true ) )
679
+ return true ;
611
680
}
612
681
613
682
// st 1
0 commit comments