Skip to content

Commit b6f6458

Browse files
authored
Merge pull request #2286 from SirTanknSpank/dev
Various Dedede Bugfixes
2 parents 9309957 + d8ff427 commit b6f6458

File tree

3 files changed

+31
-2
lines changed

3 files changed

+31
-2
lines changed

fighters/dedede/src/acmd/other.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,8 @@ unsafe extern "C" fn dedede_gordo_special_s_attack_game(fighter: &mut L2CAgentBa
291291
WorkModule::set_int(boma, 300, *WEAPON_INSTANCE_WORK_ID_INT_LIFE);
292292
/* below grabs the boma of the opponent hitting gordo, the attack data of that hit, and adjusts the speed accordingly */
293293
let num_players = Fighter::get_fighter_entry_count();
294-
if StopModule::is_hit(boma){
294+
if StopModule::is_hit(boma)
295+
&& !StopModule::is_hit(owner_module_accessor) {
295296
for i in 0..num_players{
296297
let opponent_boma = sv_battle_object::module_accessor(Fighter::get_id_from_entry_id(i));
297298

fighters/dedede/src/acmd/specials.rs

+28
Original file line numberDiff line numberDiff line change
@@ -307,6 +307,32 @@ unsafe extern "C" fn dedede_special_air_s_get_effect(fighter: &mut L2CAgentBase)
307307
}
308308
}
309309

310+
unsafe extern "C" fn dedede_special_s_get_expression(fighter: &mut L2CAgentBase) {
311+
let lua_state = fighter.lua_state_agent;
312+
let boma = fighter.boma();
313+
if is_excute(fighter) {
314+
ItemModule::set_have_item_visibility(boma, false, 0);
315+
slope!(fighter, *MA_MSC_CMD_SLOPE_SLOPE, *SLOPE_STATUS_LR);
316+
}
317+
frame(lua_state, 18.0);
318+
if is_excute(fighter) {
319+
ControlModule::set_rumble(boma, Hash40::new("rbkind_attackl"), 0, false, *BATTLE_OBJECT_ID_INVALID as u32);
320+
}
321+
}
322+
323+
unsafe extern "C" fn dedede_special_air_s_get_expression(fighter: &mut L2CAgentBase) {
324+
let lua_state = fighter.lua_state_agent;
325+
let boma = fighter.boma();
326+
if is_excute(fighter) {
327+
ItemModule::set_have_item_visibility(boma, false, 0);
328+
slope!(fighter, *MA_MSC_CMD_SLOPE_SLOPE, *SLOPE_STATUS_LR);
329+
}
330+
frame(lua_state, 18.0);
331+
if is_excute(fighter) {
332+
ControlModule::set_rumble(boma, Hash40::new("rbkind_attackl"), 0, false, *BATTLE_OBJECT_ID_INVALID as u32);
333+
}
334+
}
335+
310336
unsafe extern "C" fn dedede_special_lw_start_game(fighter: &mut L2CAgentBase) {
311337
let lua_state = fighter.lua_state_agent;
312338
let boma = fighter.boma();
@@ -569,6 +595,8 @@ pub fn install() {
569595
.acmd("game_specialairsget", dedede_special_air_s_get_game)
570596
.acmd("effect_specialsget", dedede_special_s_get_effect)
571597
.acmd("effect_specialairsget", dedede_special_air_s_get_effect)
598+
.acmd("expression_specialsget", dedede_special_s_get_expression)
599+
.acmd("expression_specialairsget", dedede_special_air_s_get_expression)
572600
.acmd("game_speciallwstart", dedede_special_lw_start_game)
573601
.acmd("game_specialairlwstart", dedede_special_lw_start_game)
574602
.acmd("game_specialairlwstart", dedede_special_air_lw_start_game)

fighters/dedede/src/opff.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ unsafe fn gordo_recatch(boma: &mut BattleObjectModuleAccessor, frame: f32, fight
116116
//Prevents B reversing when we are in the dash
117117
if StatusModule::status_kind(boma) == *FIGHTER_STATUS_KIND_SPECIAL_S
118118
&& VarModule::is_flag(fighter.battle_object, vars::dedede::instance::IS_DASH_GORDO){
119-
if fighter.status_frame() < 5{
119+
if fighter.status_frame() > 1 && fighter.status_frame() < 4{
120120
ControlModule::reset_main_stick(boma);
121121
}
122122
}

0 commit comments

Comments
 (0)