@@ -541,10 +541,10 @@ pub unsafe extern "C" fn game_specialhi1(agent: &mut L2CAgentBase) {
541
541
ATTACK ( agent, 1 , 0 , Hash40 :: new ( "top" ) , 6.0 , 89 , 100 , 150 , 0 , 4.8 , 0.0 , 5.0 , 8.0 , None , None , None , 1.2 , 2.0 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_POS , true , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
542
542
ATTACK ( agent, 2 , 0 , Hash40 :: new ( "top" ) , 6.0 , 90 , 100 , 145 , 0 , 4.8 , 0.0 , 12.5 , 8.0 , None , None , None , 1.2 , 2.0 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_POS , true , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
543
543
ATTACK ( agent, 3 , 0 , Hash40 :: new ( "top" ) , 6.0 , 91 , 100 , 145 , 0 , 4.8 , 0.0 , 12.5 , 16.0 , None , None , None , 1.2 , 2.0 , * ATTACK_SETOFF_KIND_ON , * ATTACK_LR_CHECK_POS , true , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
544
- AttackModule :: set_vec_target_pos ( boma, 0 , Hash40 :: new ( "top" ) , & Vector2f :: new ( 5 .0, 60 .0) , 15 , false ) ;
545
- AttackModule :: set_vec_target_pos ( boma, 1 , Hash40 :: new ( "top" ) , & Vector2f :: new ( 5 .0, 60 .0) , 15 , false ) ;
546
- AttackModule :: set_vec_target_pos ( boma, 2 , Hash40 :: new ( "top" ) , & Vector2f :: new ( 5 .0, 60 .0) , 15 , false ) ;
547
- AttackModule :: set_vec_target_pos ( boma, 3 , Hash40 :: new ( "top" ) , & Vector2f :: new ( 5 .0, 60 .0) , 15 , false ) ;
544
+ AttackModule :: set_vec_target_pos ( boma, 0 , Hash40 :: new ( "top" ) , & Vector2f :: new ( 10 .0, 55 .0) , 15 , false ) ;
545
+ AttackModule :: set_vec_target_pos ( boma, 1 , Hash40 :: new ( "top" ) , & Vector2f :: new ( 10 .0, 55 .0) , 15 , false ) ;
546
+ AttackModule :: set_vec_target_pos ( boma, 2 , Hash40 :: new ( "top" ) , & Vector2f :: new ( 10 .0, 55 .0) , 15 , false ) ;
547
+ AttackModule :: set_vec_target_pos ( boma, 3 , Hash40 :: new ( "top" ) , & Vector2f :: new ( 10 .0, 55 .0) , 15 , false ) ;
548
548
AttackModule :: set_no_damage_fly_smoke_all ( boma, true , false ) ;
549
549
}
550
550
frame ( lua_state, 18.0 ) ;
@@ -657,11 +657,7 @@ pub unsafe extern "C" fn expression_specialhi2(agent: &mut L2CAgentBase) {
657
657
}
658
658
659
659
pub unsafe extern "C" fn game_specialhi3start ( agent : & mut L2CAgentBase ) {
660
- let lua_state = agent. lua_state_agent ;
661
- let boma = agent. boma ( ) ;
662
- if is_excute ( agent) {
663
- notify_event_msc_cmd ! ( agent, Hash40 :: new_raw( 0x2127e37c07 ) , * GROUND_CLIFF_CHECK_KIND_NONE ) ;
664
- }
660
+
665
661
}
666
662
667
663
pub unsafe extern "C" fn effect_specialhi3start ( agent : & mut L2CAgentBase ) {
@@ -695,10 +691,8 @@ pub unsafe extern "C" fn game_specialhi3(agent: &mut L2CAgentBase) {
695
691
let lua_state = agent. lua_state_agent ;
696
692
let boma = agent. boma ( ) ;
697
693
if is_excute ( agent) {
698
- ATTACK ( agent, 0 , 0 , Hash40 :: new ( "rot" ) , 1.1 , 365 , 50 , 85 , 50 , 10.0 , 0.0 , 2.0 , 2.25 , None , None , None , 0.5 , 1.0 , * ATTACK_SETOFF_KIND_THRU , * ATTACK_LR_CHECK_F , true , 0 , 0.0 , 7 , false , false , false , false , true , * COLLISION_SITUATION_MASK_A , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_S , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
694
+ ATTACK ( agent, 0 , 0 , Hash40 :: new ( "rot" ) , 1.1 , 366 , 100 , 85 , 0 , 10.0 , 0.0 , 2.0 , 2.25 , None , None , None , 0.5 , 1.0 , * ATTACK_SETOFF_KIND_THRU , * ATTACK_LR_CHECK_F , true , 0 , 0.0 , 7 , false , false , false , false , true , * COLLISION_SITUATION_MASK_A , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_S , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
699
695
ATTACK ( agent, 1 , 0 , Hash40 :: new ( "rot" ) , 1.1 , 20 , 50 , 125 , 50 , 10.0 , 0.0 , 2.0 , 2.25 , None , None , None , 0.5 , 1.0 , * ATTACK_SETOFF_KIND_THRU , * ATTACK_LR_CHECK_F , true , 0 , 0.0 , 7 , false , false , false , false , true , * COLLISION_SITUATION_MASK_G , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_S , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
700
- AttackModule :: set_add_reaction_frame ( boma, 0 , 3.0 , false ) ;
701
- AttackModule :: set_add_reaction_frame ( boma, 1 , 3.0 , false ) ;
702
696
AttackModule :: set_no_damage_fly_smoke_all ( boma, true , false ) ;
703
697
}
704
698
frame ( lua_state, 5.0 ) ;
@@ -756,11 +750,15 @@ pub unsafe extern "C" fn game_specialhi3_attack(agent: &mut L2CAgentBase) {
756
750
if is_excute ( agent) {
757
751
AttackModule :: clear_all ( boma) ;
758
752
}
753
+ frame ( lua_state, 2.0 ) ;
754
+ if is_excute ( agent) {
755
+ ATTACK ( agent, 0 , 0 , Hash40 :: new ( "sword1" ) , 10.0 , 361 , 85 , 0 , 70 , 3.8 , 0.0 , 0.0 , 1.5 , None , None , None , 1.0 , 1.0 , * ATTACK_SETOFF_KIND_THRU , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
756
+ ATTACK ( agent, 1 , 0 , Hash40 :: new ( "sword1" ) , 10.0 , 361 , 85 , 0 , 70 , 3.2 , 0.0 , 0.0 , 7.4 , None , None , None , 1.0 , 1.0 , * ATTACK_SETOFF_KIND_THRU , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
757
+ ATTACK ( agent, 2 , 0 , Hash40 :: new ( "hip" ) , 10.0 , 361 , 85 , 0 , 70 , 5.0 , 0.0 , 0.0 , 0.0 , None , None , None , 1.0 , 1.0 , * ATTACK_SETOFF_KIND_THRU , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
758
+ }
759
759
frame ( lua_state, 3.0 ) ;
760
760
if is_excute ( agent) {
761
- ATTACK ( agent, 0 , 0 , Hash40 :: new ( "top" ) , 10.0 , 361 , 85 , 0 , 70 , 9.0 , 0.0 , 10.0 , 10.2 , None , None , None , 1.0 , 1.0 , * ATTACK_SETOFF_KIND_THRU , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
762
- ATTACK ( agent, 1 , 0 , Hash40 :: new ( "sword1" ) , 10.0 , 361 , 85 , 0 , 70 , 3.8 , 0.0 , 0.0 , 1.5 , None , None , None , 1.0 , 1.0 , * ATTACK_SETOFF_KIND_THRU , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
763
- ATTACK ( agent, 2 , 0 , Hash40 :: new ( "sword1" ) , 10.0 , 361 , 85 , 0 , 70 , 3.2 , 0.0 , 0.0 , 7.4 , None , None , None , 1.0 , 1.0 , * ATTACK_SETOFF_KIND_THRU , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
761
+ ATTACK ( agent, 3 , 0 , Hash40 :: new ( "top" ) , 10.0 , 361 , 85 , 0 , 70 , 9.0 , 0.0 , 10.0 , 10.2 , None , None , None , 1.0 , 1.0 , * ATTACK_SETOFF_KIND_THRU , * ATTACK_LR_CHECK_F , false , 0 , 0.0 , 0 , false , false , false , false , true , * COLLISION_SITUATION_MASK_GA , * COLLISION_CATEGORY_MASK_ALL , * COLLISION_PART_MASK_ALL , false , Hash40 :: new ( "collision_attr_cutup" ) , * ATTACK_SOUND_LEVEL_L , * COLLISION_SOUND_ATTR_CHROM_HIT , * ATTACK_REGION_SWORD ) ;
764
762
}
765
763
frame ( lua_state, 6.0 ) ;
766
764
if is_excute ( agent) {
@@ -806,7 +804,7 @@ pub unsafe extern "C" fn expression_specialhi3_attack(agent: &mut L2CAgentBase)
806
804
if is_excute ( agent) {
807
805
ItemModule :: set_have_item_visibility ( boma, false , 0 ) ;
808
806
}
809
- frame ( lua_state, 3 .0) ;
807
+ frame ( lua_state, 2 .0) ;
810
808
if is_excute ( agent) {
811
809
RUMBLE_HIT ( agent, Hash40 :: new ( "rbkind_slashm" ) , 8 ) ;
812
810
ControlModule :: set_rumble ( boma, Hash40 :: new ( "rbkind_nohitm" ) , 5 , false , * BATTLE_OBJECT_ID_INVALID as u32 ) ;
0 commit comments