Medium - Verse - Storm Controller not working correctly

There seems to be an issue with storm_controller_device (Fortnite API Line 1438), as referenced by the advanced storm controller and the basic storm controller.

GenerateStrom - works as expected
DestoryStorm - does not work in VERSE, however it works via direct event linking

Example Code Follows

using { /Verse.org/Native }
using { /Verse.org/Verse }
using { /Verse.org/Simulation }
using { /Fortnite.com/Devices}
using { /EpicGames.com/Temporary/Diagnostics }

log_VRS_Advanced_Storm:=class(log_channel){}

# This is a Verse-authored creative device that can be placed in a level
# 
# Getting started:
#   https://www.epicgames.com/fortnite/en-US/creative/docs/uefn/programming-with-verse-in-unreal-editor-for-fortnite
#
VRS_Advanced_Storm := class<concrete>(creative_device):
    Logger:log = log{Channel:=log_VRS_Advanced_Storm}

    
    @editable
    AdvancedStormController:storm_controller_device := advanced_storm_controller_device{}

    @editable
    BananaCannon: item_spawner_device := item_spawner_device{}

    @editable
    StartStorm: button_device := button_device{}

    @editable
    StopStorm: button_device := button_device{}

    OnBegin<override>()<suspends>:void=
        Logger.Print("Verse Advanced Storm device started!")

        # Advanced Storm Controller Testing

        StartStorm.InteractedWithEvent.Subscribe(StartStormPressed)
        StopStorm.InteractedWithEvent.Subscribe(StopStormPressed)
        AdvancedStormController.PhaseEndedEvent.Subscribe(StormPhaseEnd)
        
    StartStormPressed(Player:player):void=
        Logger.Print("About to generate a storm")
        AdvancedStormController.GenerateStrom()
        Logger.Print("Just generated a storm")
    
    StopStormPressed(Player:player):void=        
        Logger.Print("About to destroy a storm")
        AdvancedStormController.DestoryStorm()
        Logger.Print("Storm Destroyed")

Thank you so much for the detailed reports, Cardin!

1 Like