@@ -3,6 +3,7 @@ use globals::*;
3
3
use std:: arch:: asm;
4
4
// Addresses, offsets, and inline hooking
5
5
use skyline:: hooks:: { getRegionAddress, Region , InlineCtx } ;
6
+ use utils:: game_modes:: CustomMode ;
6
7
7
8
pub fn install ( ) {
8
9
skyline:: install_hooks!(
@@ -47,6 +48,19 @@ pub unsafe fn get_param_int_hook(x0: u64, x1: u64, x2 :u64) -> i32 {
47
48
48
49
if boma_reference. is_fighter ( ) {
49
50
51
+
52
+
53
+ match utils:: game_modes:: get_custom_mode ( ) {
54
+ Some ( modes) => {
55
+ if modes. contains ( & CustomMode :: Smash64Mode ) {
56
+ if x1 == hash40 ( "landing_heavy_frame" ) {
57
+ return 4 ;
58
+ }
59
+ }
60
+ } ,
61
+ _ => { }
62
+ }
63
+
50
64
if x2 == hash40 ( "just_shield_precede_extension" ) {
51
65
return 1000 ;
52
66
}
@@ -117,6 +131,65 @@ pub unsafe fn get_param_float_hook(x0 /*boma*/: u64, x1 /*param_type*/: u64, x2
117
131
118
132
if boma_reference. is_fighter ( ) {
119
133
134
+ match utils:: game_modes:: get_custom_mode ( ) {
135
+ Some ( modes) => {
136
+ if modes. contains ( & CustomMode :: Smash64Mode ) {
137
+ if x2 == hash40 ( "shield_setoff_add" ) {
138
+ return 4.0 ;
139
+ }
140
+
141
+ if x2 == hash40 ( "shield_setoff_mul" ) {
142
+ return 1.62 ;
143
+ }
144
+
145
+ if x1 == hash40 ( "air_speed_y_stable" ) {
146
+ return original ! ( ) ( x0, x1, x2) * 0.8 ;
147
+ }
148
+
149
+ if x1 == hash40 ( "air_accel_y" ) {
150
+ return original ! ( ) ( x0, x1, x2) * 0.8 ;
151
+ }
152
+
153
+ if x1 == hash40 ( "damage_fly_top_air_accel_y" ) {
154
+ return original ! ( ) ( x0, x1, x2) * 0.8 ;
155
+ }
156
+
157
+ if x1 == hash40 ( "damage_fly_top_speed_y_stable" ) {
158
+ return original ! ( ) ( x0, x1, x2) * 0.8 ;
159
+ }
160
+
161
+ if x1 == hash40 ( "dive_speed_y" ) {
162
+ return original ! ( ) ( x0, x1, x2) * 0.8 ;
163
+ }
164
+
165
+ if x1 == hash40 ( "landing_frame" ) {
166
+ return 4.0 ;
167
+ }
168
+
169
+ if x1 == hash40 ( "landing_attack_air_frame_n" ) {
170
+ return 4.0 ;
171
+ }
172
+
173
+ if x1 == hash40 ( "landing_attack_air_frame_f" ) {
174
+ return 4.0 ;
175
+ }
176
+
177
+ if x1 == hash40 ( "landing_attack_air_frame_b" ) {
178
+ return 4.0 ;
179
+ }
180
+
181
+ if x1 == hash40 ( "landing_attack_air_frame_hi" ) {
182
+ return 4.0 ;
183
+ }
184
+
185
+ if x1 == hash40 ( "landing_attack_air_frame_lw" ) {
186
+ return 4.0 ;
187
+ }
188
+ }
189
+ } ,
190
+ _ => { }
191
+ }
192
+
120
193
/*if x1 == hash40("air_speed_x_stable") {
121
194
if StatusModule::status_kind(boma) == *FIGHTER_STATUS_KIND_JUMP_SQUAT {
122
195
if StatusModule::prev_status_kind(boma, 0) == *FIGHTER_STATUS_KIND_RUN {
0 commit comments