Skip to content

Commit 275513e

Browse files
committed
misc fixes
1 parent 22a135d commit 275513e

File tree

6 files changed

+48
-65
lines changed

6 files changed

+48
-65
lines changed

fighters/common/src/function_hooks/set_fighter_status_data.rs

+2
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ unsafe fn set_fighter_status_data_hook(boma: &mut BattleObjectModuleAccessor, ar
7070
|| (WorkModule::get_int(boma, *FIGHTER_INSTANCE_WORK_ID_INT_WAZA_CUSTOMIZE_TO) == *FIGHTER_WAZA_CUSTOMIZE_TO_SPECIAL_LW_3 && boma.is_status(*FIGHTER_STATUS_KIND_SPECIAL_LW))))
7171
|| (boma.kind() == *FIGHTER_KIND_MIISWORDSMAN
7272
&& (WorkModule::get_int(boma, *FIGHTER_INSTANCE_WORK_ID_INT_WAZA_CUSTOMIZE_TO) == *FIGHTER_WAZA_CUSTOMIZE_TO_SPECIAL_LW_3 && boma.is_status(*FIGHTER_STATUS_KIND_SPECIAL_LW)))
73+
|| (boma.kind() == *FIGHTER_KIND_TRAIL
74+
&& boma.is_status_one_of(&[*FIGHTER_TRAIL_STATUS_KIND_SPECIAL_N2, *FIGHTER_STATUS_KIND_SPECIAL_LW]))
7375
{
7476
// if b-reverse flag does not already exist in status_attr bitmask
7577
if status_attr & *FIGHTER_STATUS_ATTR_START_TURN as u32 == 0 {

fighters/trail/src/acmd/aerials.rs

+19-31
Original file line numberDiff line numberDiff line change
@@ -117,20 +117,15 @@ unsafe fn sora_attack_air_f_game(fighter: &mut L2CAgentBase) {
117117
frame(lua_state, 8.0);
118118
if is_excute(fighter) {
119119
MotionModule::set_rate(boma, (1.0));
120-
ATTACK(fighter, 0, 0, Hash40::new("haver"), 4.0, 64, 4, 0, 60, 3.5, 0.0, -1.2, 0.0, None, None, None, 0.5, 0.8, *ATTACK_SETOFF_KIND_ON, *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_M, *COLLISION_SOUND_ATTR_TRAIL_SLASH, *ATTACK_REGION_SWORD);
121-
ATTACK(fighter, 1, 0, Hash40::new("haver"), 4.0, 68, 4, 0, 55, 3.5, 0.0, 4.5, 0.0, None, None, None, 0.5, 0.8, *ATTACK_SETOFF_KIND_ON, *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_M, *COLLISION_SOUND_ATTR_TRAIL_SLASH, *ATTACK_REGION_SWORD);
122-
ATTACK(fighter, 2, 0, Hash40::new("haver"), 4.0, 72, 4, 0, 55, 3.5, 0.0, 9.0, 0.0, None, None, None, 0.5, 0.8, *ATTACK_SETOFF_KIND_ON, *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_M, *COLLISION_SOUND_ATTR_TRAIL_SLASH, *ATTACK_REGION_SWORD);
123-
AttackModule::set_add_reaction_frame_revised(boma, 0, 3.0, false);
124-
AttackModule::set_add_reaction_frame_revised(boma, 1, 6.0, false);
125-
AttackModule::set_add_reaction_frame_revised(boma, 2, 10.0, false);
120+
ATTACK(fighter, 0, 0, Hash40::new("haver"), 4.5, 75, 4, 0, 60, 4.0, 0.0, 9.0, 0.0, None, None, None, 0.5, 1.0, *ATTACK_SETOFF_KIND_ON, *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_M, *COLLISION_SOUND_ATTR_TRAIL_SLASH, *ATTACK_REGION_SWORD);
121+
ATTACK(fighter, 1, 0, Hash40::new("haver"), 4.5, 82, 4, 0, 55, 4.0, 0.0, 4.5, 0.0, None, None, None, 0.5, 1.0, *ATTACK_SETOFF_KIND_ON, *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_M, *COLLISION_SOUND_ATTR_TRAIL_SLASH, *ATTACK_REGION_SWORD);
122+
ATTACK(fighter, 2, 0, Hash40::new("haver"), 4.5, 82, 4, 0, 55, 4.0, 0.0, -1.2, 0.0, None, None, None, 0.5, 1.0, *ATTACK_SETOFF_KIND_ON, *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_M, *COLLISION_SOUND_ATTR_TRAIL_SLASH, *ATTACK_REGION_SWORD);
123+
AttackModule::set_add_reaction_frame_revised(boma, 0, 8.0, false);
124+
AttackModule::set_add_reaction_frame_revised(boma, 1, 4.0, false);
125+
AttackModule::set_add_reaction_frame_revised(boma, 2, 4.0, false);
126126
}
127127
wait(lua_state, 2.0);
128-
FT_MOTION_RATE(fighter, 1.3);
129-
if is_excute(fighter) {
130-
ATTACK(fighter, 0, 0, Hash40::new("haver"), 4.0, 58, 4, 0, 68, 3.5, 0.0, -1.2, 0.0, None, None, None, 0.5, 0.8, *ATTACK_SETOFF_KIND_ON, *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_M, *COLLISION_SOUND_ATTR_TRAIL_SLASH, *ATTACK_REGION_SWORD);
131-
ATTACK(fighter, 1, 0, Hash40::new("haver"), 4.0, 76, 4, 0, 68, 3.5, 0.0, 4.5, 0.0, None, None, None, 0.5, 0.8, *ATTACK_SETOFF_KIND_ON, *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_M, *COLLISION_SOUND_ATTR_TRAIL_SLASH, *ATTACK_REGION_SWORD);
132-
ATTACK(fighter, 2, 0, Hash40::new("haver"), 4.0, 92, 4, 0, 68, 3.5, 0.0, 9.0, 0.0, None, None, None, 0.5, 0.8, *ATTACK_SETOFF_KIND_ON, *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_M, *COLLISION_SOUND_ATTR_TRAIL_SLASH, *ATTACK_REGION_SWORD);
133-
}
128+
FT_MOTION_RATE(fighter, 1.4);
134129
wait(lua_state, 5.0);
135130
FT_MOTION_RATE(fighter, 1.0);
136131
if is_excute(fighter) {
@@ -181,22 +176,16 @@ unsafe fn sora_attack_air_f2_game(fighter: &mut L2CAgentBase) {
181176
frame(lua_state, 7.0);
182177
FT_MOTION_RATE(fighter, 1.0);
183178
if is_excute(fighter) {
184-
ATTACK(fighter, 0, 0, Hash40::new("haver"), 4.0, 84, 8, 0, 64, 3.8, 0.0, 0.0, 0.0, None, None, None, 0.5, 0.8, *ATTACK_SETOFF_KIND_OFF, *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_M, *COLLISION_SOUND_ATTR_TRAIL_CLEAVE, *ATTACK_REGION_SWORD);
185-
ATTACK(fighter, 1, 0, Hash40::new("haver"), 4.0, 86, 8, 0, 68, 3.8, 0.0, 4.5, 0.0, None, None, None, 0.5, 0.8, *ATTACK_SETOFF_KIND_OFF, *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_M, *COLLISION_SOUND_ATTR_TRAIL_CLEAVE, *ATTACK_REGION_SWORD);
186-
ATTACK(fighter, 2, 0, Hash40::new("haver"), 4.0, 90, 8, 0, 76, 3.8, 0.0, 9.0, 0.0, None, None, None, 0.5, 0.8, *ATTACK_SETOFF_KIND_OFF, *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_M, *COLLISION_SOUND_ATTR_TRAIL_CLEAVE, *ATTACK_REGION_SWORD);
187-
}
188-
wait(lua_state, 4.0);
189-
if is_excute(fighter) {
190-
ATTACK(fighter, 0, 0, Hash40::new("haver"), 4.0, 48, 10, 0, 42, 3.8, 0.0, 0.0, 0.0, None, None, None, 0.5, 0.8, *ATTACK_SETOFF_KIND_OFF, *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_M, *COLLISION_SOUND_ATTR_TRAIL_CLEAVE, *ATTACK_REGION_SWORD);
191-
ATTACK(fighter, 1, 0, Hash40::new("haver"), 4.0, 64, 10, 0, 44, 3.8, 0.0, 4.5, 0.0, None, None, None, 0.5, 0.8, *ATTACK_SETOFF_KIND_OFF, *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_M, *COLLISION_SOUND_ATTR_TRAIL_CLEAVE, *ATTACK_REGION_SWORD);
192-
ATTACK(fighter, 2, 0, Hash40::new("haver"), 4.0, 92, 10, 0, 46, 3.8, 0.0, 9.0, 0.0, None, None, None, 0.5, 0.8, *ATTACK_SETOFF_KIND_OFF, *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_M, *COLLISION_SOUND_ATTR_TRAIL_CLEAVE, *ATTACK_REGION_SWORD);
193-
}
194-
frame(lua_state, 13.0);
195-
if is_excute(fighter) {
196-
AttackModule::clear_all(boma);
179+
ATTACK(fighter, 0, 0, Hash40::new("haver"), 4.5, 78, 8, 0, 75, 4.0, 0.0, 9.0, 0.0, None, None, None, 0.5, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_M, *COLLISION_SOUND_ATTR_TRAIL_CLEAVE, *ATTACK_REGION_SWORD);
180+
ATTACK(fighter, 1, 0, Hash40::new("haver"), 4.5, 85, 8, 0, 65, 4.0, 0.0, 4.5, 0.0, None, None, None, 0.5, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_M, *COLLISION_SOUND_ATTR_TRAIL_CLEAVE, *ATTACK_REGION_SWORD);
181+
ATTACK(fighter, 2, 0, Hash40::new("haver"), 4.5, 85, 8, 0, 65, 4.0, 0.0, 0.0, 0.0, None, None, None, 0.5, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_M, *COLLISION_SOUND_ATTR_TRAIL_CLEAVE, *ATTACK_REGION_SWORD);
182+
AttackModule::set_add_reaction_frame_revised(boma, 0, -1.0, false);
183+
AttackModule::set_add_reaction_frame_revised(boma, 1, -5.0, false);
184+
AttackModule::set_add_reaction_frame_revised(boma, 2, -5.0, false);
197185
}
198186
frame(lua_state, 15.0);
199187
if is_excute(fighter) {
188+
AttackModule::clear_all(boma);
200189
MotionModule::set_rate(boma, 1.0);
201190
}
202191
frame(lua_state, 18.0);
@@ -230,12 +219,11 @@ unsafe fn sora_attack_air_f3_game(fighter: &mut L2CAgentBase) {
230219
frame(lua_state, 5.0);
231220
FT_MOTION_RATE(fighter, 0.7);
232221
if is_excute(fighter) {
233-
ATTACK(fighter, 0, 0, Hash40::new("haver"), 5.5, 40, 110, 0, 50, 4.6, 0.0, 0.0, -1.8, None, None, None, 1.5, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_TRAIL_SLASH, *ATTACK_REGION_SWORD);
234-
ATTACK(fighter, 1, 0, Hash40::new("haver"), 5.5, 40, 110, 0, 50, 4.6, 0.0, 4.5, -1.8, None, None, None, 1.5, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_TRAIL_SLASH, *ATTACK_REGION_SWORD);
235-
ATTACK(fighter, 2, 0, Hash40::new("haver"), 5.5, 40, 110, 0, 50, 4.6, 0.0, 9.5, -1.8, None, None, None, 1.5, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_TRAIL_SLASH, *ATTACK_REGION_SWORD);
236-
ATTACK(fighter, 3, 0, Hash40::new("shoulderr"), 5.5, 50, 110, 0, 50, 3.5, 0.0, 0.0, 0.0, None, None, None, 1.5, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_TRAIL_SLASH, *ATTACK_REGION_SWORD);
222+
ATTACK(fighter, 2, 0, Hash40::new("haver"), 4.5, 40, 110, 0, 50, 4.6, 0.0, 0.0, -1.8, None, None, None, 1.5, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_TRAIL_SLASH, *ATTACK_REGION_SWORD);
223+
ATTACK(fighter, 1, 0, Hash40::new("haver"), 4.5, 40, 110, 0, 50, 4.6, 0.0, 4.5, -1.8, None, None, None, 1.5, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_TRAIL_SLASH, *ATTACK_REGION_SWORD);
224+
ATTACK(fighter, 0, 0, Hash40::new("haver"), 5.5, 40, 110, 0, 50, 4.6, 0.0, 9.5, -1.8, None, None, None, 1.5, 1.0, *ATTACK_SETOFF_KIND_OFF, *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_TRAIL_SLASH, *ATTACK_REGION_SWORD);
237225
}
238-
frame(lua_state, 15.0);
226+
frame(lua_state, 16.0);
239227
FT_MOTION_RATE(fighter, 1.0);
240228
if is_excute(fighter) {
241229
AttackModule::clear_all(boma);
@@ -250,7 +238,7 @@ unsafe fn sora_attack_air_f3_game(fighter: &mut L2CAgentBase) {
250238
unsafe fn sora_attack_air_f3_effect(fighter: &mut L2CAgentBase) {
251239
let lua_state = fighter.lua_state_agent;
252240
let boma = fighter.boma();
253-
frame(lua_state, 5.0);
241+
frame(lua_state, 4.0);
254242
if is_excute(fighter) {
255243
EFFECT_FOLLOW(fighter, Hash40::new("trail_keyblade_flare"), Hash40::new("haver"), 0, 0, 0, 0, 0, 0, 1, true);
256244
AFTER_IMAGE4_ON_arg29(fighter, Hash40::new("tex_trail_keyblade1"), Hash40::new("tex_trail_keyblade2"), 7, Hash40::new("haver"), 0.0, 2.0, 0.0, Hash40::new("haver"), 0.0, 13.8, 0.0, true, Hash40::new("null"), Hash40::new("haver"), 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0, *EFFECT_AXIS_X, 0, *TRAIL_BLEND_ALPHA, 101, *TRAIL_CULL_NONE, 1.4, 0.2);

fighters/trail/src/acmd/smashes.rs

+1
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ unsafe fn effect_attacklw4(fighter: &mut L2CAgentBase) {
144144
}
145145
frame(lua_state, 21.0);
146146
if is_excute(fighter) {
147+
EFFECT_OFF_KIND(fighter, Hash40::new("trail_smash_lw_flash"), false, true);
147148
EFFECT(fighter, Hash40::new("trail_smash_lw_impact"), Hash40::new("top"), 0, 0, 0, 0, 0, 0, 0.8, 0, 0, 0, 0, 0, 0, false);
148149
EFFECT_FOLLOW_ALPHA(fighter, Hash40::new("trail_keyblade_flare"), Hash40::new("haver"), 0, 0, 0, 0, 0, 0, 1, true, 0.4);
149150
EFFECT(fighter, Hash40::new("trail_smash_lw_attack"), Hash40::new("haver"), 0, -2, 0, 90, 0, 0, 1.2, 0, 0, 0, 0, 0, 0, false);

fighters/trail/src/acmd/specials.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ unsafe fn expression_specialn2(fighter: &mut L2CAgentBase) {
271271
unsafe fn game_specials_start(fighter: &mut L2CAgentBase) {
272272
let lua_state = fighter.lua_state_agent;
273273
let boma = fighter.boma();
274-
FT_MOTION_RATE(fighter, 0.875);
274+
FT_MOTION_RATE(fighter, 0.8);
275275
frame(lua_state, 16.0);
276276
FT_MOTION_RATE(fighter, 1.0);
277277
}

0 commit comments

Comments
 (0)