Skip to content

Commit a517bfc

Browse files
USmash fix + Jabs
1 parent 4bdeeec commit a517bfc

File tree

2 files changed

+10
-141
lines changed

2 files changed

+10
-141
lines changed

fighters/duckhunt/src/acmd/ground.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ unsafe fn duckhunt_attack_11_game(fighter: &mut L2CAgentBase) {
3535

3636
frame(lua_state, 4.0);
3737
if is_excute(fighter) {
38-
ATTACK(fighter, 0, 0, Hash40::new("top"), 2.0, 361, 30, 0, 20, 3.0, 0.0, 4.0, 6.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA_d, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
39-
ATTACK(fighter, 1, 0, Hash40::new("top"), 2.0, 361, 30, 0, 20, 3.0, 0.0, 4.0, 8.5, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA_d, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
40-
ATTACK(fighter, 2, 0, Hash40::new("top"), 2.0, 361, 30, 0, 20, 3.0, 0.0, 4.0, 11.5, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA_d, *COLLISION_CATEGORY_MASK_FIGHTER, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
38+
ATTACK(fighter, 0, 0, Hash40::new("top"), 2.0, 70, 30, 0, 20, 3.0, 0.0, 4.0, 6.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA_d, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
39+
ATTACK(fighter, 1, 0, Hash40::new("top"), 2.0, 70, 30, 0, 20, 3.0, 0.0, 4.0, 8.5, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA_d, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
40+
ATTACK(fighter, 2, 0, Hash40::new("top"), 2.0, 70, 30, 0, 20, 3.0, 0.0, 4.0, 11.5, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA_d, *COLLISION_CATEGORY_MASK_FIGHTER, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
4141
//Locking hitboxes
4242
ATTACK(fighter, 3, 0, Hash40::new("top"), 2.0, 361, 30, 0, 20, 3.0, 0.0, 4.0, 6.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_POS, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
4343
ATTACK(fighter, 4, 0, Hash40::new("top"), 2.0, 361, 20, 0, 15, 3.0, 0.0, 4.0, 8.5, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_POS, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_FIGHTER, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
@@ -61,8 +61,8 @@ unsafe fn duckhunt_attack_12_game(fighter: &mut L2CAgentBase) {
6161
let boma = fighter.boma();
6262
frame(lua_state, 5.0);
6363
if is_excute(fighter) {
64-
ATTACK(fighter, 0, 0, Hash40::new("top"), 2.0, 361, 30, 0, 30, 3.0, 0.0, 3.5, 2.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA_d, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_HEAD);
65-
ATTACK(fighter, 1, 0, Hash40::new("top"), 2.0, 361, 25, 0, 25, 5.0, 0.0, 7.5, 5.5, None, None, None, 1.2, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA_d, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_HEAD);
64+
ATTACK(fighter, 0, 0, Hash40::new("top"), 2.0, 70, 30, 0, 30, 3.0, 0.0, 3.5, 2.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA_d, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_HEAD);
65+
ATTACK(fighter, 1, 0, Hash40::new("top"), 2.0, 70, 25, 0, 25, 5.0, 0.0, 7.5, 5.5, None, None, None, 1.2, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_F, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_GA_d, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_HEAD);
6666
//Locking hitboxes
6767
ATTACK(fighter, 2, 0, Hash40::new("top"), 2.0, 361, 30, 0, 20, 3.0, 0.0, 3.5, 2.0, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_POS, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_ALL, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);
6868
ATTACK(fighter, 3, 0, Hash40::new("top"), 2.0, 361, 20, 0, 15, 5.0, 0.0, 7.5, 5.5, None, None, None, 1.0, 1.0, *ATTACK_SETOFF_KIND_ON, *ATTACK_LR_CHECK_POS, false, 0, 0.0, 0, false, false, false, false, true, *COLLISION_SITUATION_MASK_G, *COLLISION_CATEGORY_MASK_FIGHTER, *COLLISION_PART_MASK_ALL, false, Hash40::new("collision_attr_normal"), *ATTACK_SOUND_LEVEL_S, *COLLISION_SOUND_ATTR_PUNCH, *ATTACK_REGION_PUNCH);

fighters/duckhunt/src/acmd/smashes.rs

+5-136
Original file line numberDiff line numberDiff line change
@@ -10,145 +10,14 @@ unsafe fn duckhunt_attack_hi4_game(fighter: &mut L2CAgentBase) {
1010
}
1111
frame(lua_state, 7.0);
1212
if is_excute(fighter) {
13-
WorkModule::set_int(
14-
boma,
15-
5,
16-
*FIGHTER_DUCKHUNT_STATUS_ATTACK_INT_SMASH_DELAY_FRAME,
17-
);
18-
WorkModule::set_int(
19-
boma,
20-
6,
21-
*FIGHTER_DUCKHUNT_STATUS_ATTACK_INT_SMASH_RETICLE_DISPLAY_FRAME,
22-
);
23-
// FT_MOTION_RATE_RANGE(fighter, 7.0, 23.0, 10.0);
24-
FT_MOTION_RATE_RANGE(fighter, 27.0, 57.0, 24.0);
25-
ATTACK(
26-
fighter,
27-
/*ID*/ 0,
28-
/*Part*/ 0,
29-
/*Bone*/ Hash40::new("top"),
30-
/*Damage*/ 2.5,
31-
/*Angle*/ 135,
32-
/*KBG*/ 0,
33-
/*FKB*/ 0,
34-
/*BKB*/ 120,
35-
/*Size*/ 5.3,
36-
/*X*/ 0.0,
37-
/*Y*/ 11.0,
38-
/*Z*/ 9.0,
39-
/*X2*/ None,
40-
/*Y2*/ None,
41-
/*Z2*/ None,
42-
/*Hitlag*/ 1.0,
43-
/*SDI*/ 1.0,
44-
/*Clang_Rebound*/ *ATTACK_SETOFF_KIND_THRU,
45-
/*FacingRestrict*/ *ATTACK_LR_CHECK_POS,
46-
/*SetWeight*/ false,
47-
/*ShieldDamage*/ 0,
48-
/*Trip*/ 0.0,
49-
/*Rehit*/ 0,
50-
/*Reflectable*/ false,
51-
/*Absorbable*/ false,
52-
/*Flinchless*/ false,
53-
/*DisableHitlag*/ false,
54-
/*Direct_Hitbox*/ true,
55-
/*Ground_or_Air*/ *COLLISION_SITUATION_MASK_GA,
56-
/*Hitbits*/ *COLLISION_CATEGORY_MASK_ALL,
57-
/*CollisionPart*/ *COLLISION_PART_MASK_ALL,
58-
/*FriendlyFire*/ false,
59-
/*Effect*/ Hash40::new("collision_attr_fire"),
60-
/*SFXLevel*/ *ATTACK_SOUND_LEVEL_M,
61-
/*SFXType*/ *COLLISION_SOUND_ATTR_PUNCH,
62-
/*Type*/ *ATTACK_REGION_NONE,
63-
);
64-
// let hit1 = smash::phx::Vector2f { x: -18.0, y: 18.0 };
65-
// AttackModule::set_vec_target_pos(boma, 0, smash::phx::Hash40::new("top"), &hit1, 8, false);
13+
WorkModule::set_int(boma, 5, *FIGHTER_DUCKHUNT_STATUS_ATTACK_INT_SMASH_DELAY_FRAME,);
14+
WorkModule::set_int(boma, 6, *FIGHTER_DUCKHUNT_STATUS_ATTACK_INT_SMASH_RETICLE_DISPLAY_FRAME,);
15+
FT_MOTION_RATE_RANGE(fighter, 17.0, 57.0, 28.0);
16+
ATTACK(fighter, /*ID*/ 0, /*Part*/ 0, /*Bone*/ Hash40::new("top"), /*Damage*/ 5.0, /*Angle*/ 100, /*KBG*/ 145, /*FKB*/ 0, /*BKB*/ 70, /*Size*/ 5.3, /*X*/ 0.0, /*Y*/ 6.0, /*Z*/ 9.0, /*X2*/ None, /*Y2*/ None, /*Z2*/ None, /*Hitlag*/ 1.0, /*SDI*/ 0.5, /*Clang_Rebound*/ *ATTACK_SETOFF_KIND_THRU, /*FacingRestrict*/ *ATTACK_LR_CHECK_POS, /*SetWeight*/ false, /*ShieldDamage*/ 0, /*Trip*/ 0.0, /*Rehit*/ 0, /*Reflectable*/ false, /*Absorbable*/ false, /*Flinchless*/ false, /*DisableHitlag*/ false, /*Direct_Hitbox*/ true, /*Ground_or_Air*/ *COLLISION_SITUATION_MASK_GA, /*Hitbits*/ *COLLISION_CATEGORY_MASK_ALL, /*CollisionPart*/ *COLLISION_PART_MASK_ALL, /*FriendlyFire*/ false, /*Effect*/ Hash40::new("collision_attr_fire"), /*SFXLevel*/ *ATTACK_SOUND_LEVEL_M, /*SFXType*/ *COLLISION_SOUND_ATTR_PUNCH, /*Type*/ *ATTACK_REGION_NONE,);
6617
}
6718
frame(lua_state, 15.0);
6819
if is_excute(fighter) {
69-
ATTACK(
70-
fighter,
71-
/*ID*/ 1,
72-
/*Part*/ 0,
73-
/*Bone*/ Hash40::new("top"),
74-
/*Damage*/ 2.5,
75-
/*Angle*/ 45,
76-
/*KBG*/ 0,
77-
/*FKB*/ 0,
78-
/*BKB*/ 120,
79-
/*Size*/ 6.3,
80-
/*X*/ 0.0,
81-
/*Y*/ 15.0,
82-
/*Z*/ -8.0,
83-
/*X2*/ None,
84-
/*Y2*/ None,
85-
/*Z2*/ None,
86-
/*Hitlag*/ 1.0,
87-
/*SDI*/ 1.0,
88-
/*Clang_Rebound*/ *ATTACK_SETOFF_KIND_THRU,
89-
/*FacingRestrict*/ *ATTACK_LR_CHECK_F,
90-
/*SetWeight*/ false,
91-
/*ShieldDamage*/ 0,
92-
/*Trip*/ 0.0,
93-
/*Rehit*/ 0,
94-
/*Reflectable*/ false,
95-
/*Absorbable*/ false,
96-
/*Flinchless*/ false,
97-
/*DisableHitlag*/ false,
98-
/*Direct_Hitbox*/ true,
99-
/*Ground_or_Air*/ *COLLISION_SITUATION_MASK_GA,
100-
/*Hitbits*/ *COLLISION_CATEGORY_MASK_ALL,
101-
/*CollisionPart*/ *COLLISION_PART_MASK_ALL,
102-
/*FriendlyFire*/ false,
103-
/*Effect*/ Hash40::new("collision_attr_fire"),
104-
/*SFXLevel*/ *ATTACK_SOUND_LEVEL_M,
105-
/*SFXType*/ *COLLISION_SOUND_ATTR_PUNCH,
106-
/*Type*/ *ATTACK_REGION_NONE,
107-
);
108-
// let hit1 = smash::phx::Vector2f { x: 18.0, y: 18.0 };
109-
// AttackModule::set_vec_target_pos(boma, 0, smash::phx::Hash40::new("top"), &hit1, 8, false);
110-
}
111-
frame(lua_state, 23.0);
112-
if is_excute(fighter) {
113-
ATTACK(
114-
fighter,
115-
/*ID*/ 2,
116-
/*Part*/ 0,
117-
/*Bone*/ Hash40::new("top"),
118-
/*Damage*/ 11.5,
119-
/*Angle*/ 85,
120-
/*KBG*/ 120,
121-
/*FKB*/ 0,
122-
/*BKB*/ 50,
123-
/*Size*/ 7.8,
124-
/*X*/ 0.0,
125-
/*Y*/ 21.0,
126-
/*Z*/ 0.0,
127-
/*X2*/ None,
128-
/*Y2*/ None,
129-
/*Z2*/ None,
130-
/*Hitlag*/ 1.0,
131-
/*SDI*/ 1.0,
132-
/*Clang_Rebound*/ *ATTACK_SETOFF_KIND_THRU,
133-
/*FacingRestrict*/ *ATTACK_LR_CHECK_POS,
134-
/*SetWeight*/ false,
135-
/*ShieldDamage*/ 0,
136-
/*Trip*/ 0.0,
137-
/*Rehit*/ 0,
138-
/*Reflectable*/ false,
139-
/*Absorbable*/ false,
140-
/*Flinchless*/ false,
141-
/*DisableHitlag*/ false,
142-
/*Direct_Hitbox*/ true,
143-
/*Ground_or_Air*/ *COLLISION_SITUATION_MASK_GA,
144-
/*Hitbits*/ *COLLISION_CATEGORY_MASK_ALL,
145-
/*CollisionPart*/ *COLLISION_PART_MASK_ALL,
146-
/*FriendlyFire*/ false,
147-
/*Effect*/ Hash40::new("collision_attr_fire"),
148-
/*SFXLevel*/ *ATTACK_SOUND_LEVEL_L,
149-
/*SFXType*/ *COLLISION_SOUND_ATTR_KICK,
150-
/*Type*/ *ATTACK_REGION_NONE,
151-
);
20+
ATTACK(fighter, /*ID*/ 2, /*Part*/ 0, /*Bone*/ Hash40::new("top"), /*Damage*/ 11.5, /*Angle*/ 85, /*KBG*/ 120, /*FKB*/ 0, /*BKB*/ 50, /*Size*/ 8.3, /*X*/ 0.0, /*Y*/ 21.0, /*Z*/ 0.0, /*X2*/ None, /*Y2*/ None, /*Z2*/ None, /*Hitlag*/ 1.0, /*SDI*/ 1.0, /*Clang_Rebound*/ *ATTACK_SETOFF_KIND_THRU, /*FacingRestrict*/ *ATTACK_LR_CHECK_POS, /*SetWeight*/ false, /*ShieldDamage*/ 0, /*Trip*/ 0.0, /*Rehit*/ 0, /*Reflectable*/ false, /*Absorbable*/ false, /*Flinchless*/ false, /*DisableHitlag*/ false, /*Direct_Hitbox*/ true, /*Ground_or_Air*/ *COLLISION_SITUATION_MASK_GA, /*Hitbits*/ *COLLISION_CATEGORY_MASK_ALL, /*CollisionPart*/ *COLLISION_PART_MASK_ALL, /*FriendlyFire*/ false, /*Effect*/ Hash40::new("collision_attr_fire"), /*SFXLevel*/ *ATTACK_SOUND_LEVEL_L, /*SFXType*/ *COLLISION_SOUND_ATTR_KICK, /*Type*/ *ATTACK_REGION_NONE,);
15221
}
15322
}
15423

0 commit comments

Comments
 (0)