diff --git a/mods/arena/arena-proj-bobomb.lua b/mods/arena/arena-proj-bobomb.lua index 43ff53f1e..d1635625a 100644 --- a/mods/arena/arena-proj-bobomb.lua +++ b/mods/arena/arena-proj-bobomb.lua @@ -29,7 +29,7 @@ function bhv_arena_bobomb_intersects_player(obj, m, pos, radius) return ret end -function bhv_arena_bobomb_expode(obj) +function bhv_arena_bobomb_expode(obj, directHitLocal) obj.oAction = 1 obj.oFlags = OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE obj_set_billboard(obj) @@ -48,7 +48,10 @@ function bhv_arena_bobomb_expode(obj) local radius = 500 if np.globalIndex == obj.oArenaBobombGlobalOwner then radius = 300 end if validAttack and bhv_arena_bobomb_intersects_player(obj, m, a, radius) and mario_health_float(m) > 0 then - obj.oDamageOrCoinValue = 3 + obj.oDamageOrCoinValue = 2 + if directHitLocal then + obj.oDamageOrCoinValue = 3 + end interact_damage(m, INTERACT_DAMAGE, obj) e.lastDamagedByGlobal = obj.oArenaBobombGlobalOwner @@ -90,7 +93,7 @@ function bhv_arena_bobomb_thrown_loop(obj) local m = gMarioStates[i] if active_player(m) and global_index_hurts_mario_state(obj.oArenaBobombGlobalOwner, m) and not is_invuln_or_intang(m) then if bhv_arena_bobomb_intersects_player(obj, m, a, 100) then - bhv_arena_bobomb_expode(obj) + bhv_arena_bobomb_expode(obj, (i == 0)) return end end @@ -105,7 +108,7 @@ function bhv_arena_bobomb_thrown_loop(obj) local floorHeight = find_floor_height(obj.oPosX, obj.oPosY + 100, obj.oPosZ) if obj.oTimer > 30 * 1 or info.surface ~= nil or obj.oPosY < floorHeight then - bhv_arena_bobomb_expode(obj) + bhv_arena_bobomb_expode(obj, false) return else obj.oPosX = obj.oPosX + dir.x diff --git a/mods/arena/arena-proj-flame.lua b/mods/arena/arena-proj-flame.lua index 6f06d814f..537f69023 100644 --- a/mods/arena/arena-proj-flame.lua +++ b/mods/arena/arena-proj-flame.lua @@ -2,7 +2,7 @@ define_custom_obj_fields({ oArenaFlameGlobalOwner = 'u32', }) -local sArenaChildFlameLife = 30 * 1.5 +local sArenaChildFlameLife = 30 * 1.8 function bhv_arena_child_flame_init(obj) obj.oFlags = OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE @@ -14,11 +14,11 @@ function bhv_arena_child_flame_init(obj) obj.oGraphYOffset = 30 obj.hitboxRadius = 30 - obj.hitboxHeight = 10 + obj.hitboxHeight = 30 obj.hitboxDownOffset = 0 obj.hurtboxRadius = 30 - obj.hurtboxHeight = 10 + obj.hurtboxHeight = 30 obj.oWallHitboxRadius = 50 obj.oGravity = -400 / 100 @@ -48,7 +48,7 @@ function bhv_arena_child_flame_loop(obj) local lifeRemain = (sArenaChildFlameLife - obj.oTimer) / sArenaChildFlameLife local size = 3 * (1 - (1 - lifeRemain) ^ 3) obj_scale(obj, size) - if size < 1.5 then + if size < 0.5 then obj.oInteractType = 0 end @@ -77,12 +77,12 @@ function bhv_arena_flame_init(obj) end obj.oGraphYOffset = 30 - obj.hitboxRadius = 75 - obj.hitboxHeight = 30 + obj.hitboxRadius = 100 + obj.hitboxHeight = 50 obj.hitboxDownOffset = 25 - obj.hurtboxRadius = 75 - obj.hurtboxHeight = 30 + obj.hurtboxRadius = 100 + obj.hurtboxHeight = 50 obj.oWallHitboxRadius = 100 obj.oGravity = -400 / 100