RedHairedHero Posted August 13, 2017 Share Posted August 13, 2017 Hello, I'm running into an issue where my character will teleport where the mouse cursor is when I perform his transform ability. Any help resolving this would be appreciated. Spoiler local transform = State( { name = "transforming", tags = { "busy", "pausepredict", "transform", "nomorph" }, onenter = function(inst) inst.Physics:Stop() if inst.components.inventory:IsHeavyLifting() then inst.components.inventory:DropItem( inst.components.inventory:Unequip(EQUIPSLOTS.BODY), true, true ) end inst.AnimState:OverrideSymbol("shadow_hands", "shadow_skinchangefx", "shadow_hands") inst.AnimState:OverrideSymbol("shadow_ball", "shadow_skinchangefx", "shadow_ball") inst.AnimState:OverrideSymbol("splode", "shadow_skinchangefx", "splode") if inst.components.rider:IsRiding() then inst.AnimState:PlayAnimation("fall_off") inst.SoundEmitter:PlaySound("dontstarve/beefalo/saddle/dismount") else inst.AnimState:PlayAnimation("skin_change", false) end inst.components.inventory:Close() inst:PushEvent("ms_closepopups") if inst.components.playercontroller ~= nil then inst.components.playercontroller:RemotePausePrediction() inst.components.playercontroller:Enable(false) end end, events = { EventHandler("animover", function(inst) if inst.AnimState:AnimDone() then if inst.sg:HasStateTag("dismounting") then inst.sg:RemoveStateTag("dismounting") inst.components.rider:ActualDismount() inst.AnimState:PlayAnimation("skin_change", false) inst.sg:GoToState("idle") else inst.AnimState:PlayAnimation("skin_change", false) inst.sg:GoToState("idle") end end end), }, onexit = function(inst) if inst.sg:HasStateTag("dismounting") then --interrupted inst.components.rider:ActualDismount() end if inst:HasTag("DARK") then inst.AnimState:SetBuild("whisper_dark") else inst.AnimState:SetBuild("whisper") end if inst:HasTag("DARK") then inst.components.combat.damagemultiplier = 1.15 inst.components.health:SetAbsorptionAmount(0.25) inst.components.locomotor:SetExternalSpeedMultiplier(inst, "whisper_speed_mod", 1 ) else inst.components.combat.damagemultiplier = 0.75 inst.components.health:SetAbsorptionAmount(-0.25) inst.components.locomotor:SetExternalSpeedMultiplier(inst, "whisper_speed_mod", 1 + .25) end inst.AnimState:OverrideSymbol("shadow_hands", "shadow_hands", "shadow_hands") if inst.components.playercontroller ~= nil then inst.components.playercontroller:Enable(true) end end, } ) AddStategraphState("wilson", transform) Link to comment https://forums.kleientertainment.com/forums/topic/81184-solved-teleport-while-transforming/ Share on other sites More sharing options...
RedHairedHero Posted August 13, 2017 Author Share Posted August 13, 2017 4 hours ago, RedHairedHero said: Hello, I'm running into an issue where my character will teleport where the mouse cursor is when I perform his transform ability. Any help resolving this would be appreciated. Reveal hidden contents local transform = State( { name = "transforming", tags = { "busy", "pausepredict", "transform", "nomorph" }, onenter = function(inst) inst.Physics:Stop() if inst.components.inventory:IsHeavyLifting() then inst.components.inventory:DropItem( inst.components.inventory:Unequip(EQUIPSLOTS.BODY), true, true ) end inst.AnimState:OverrideSymbol("shadow_hands", "shadow_skinchangefx", "shadow_hands") inst.AnimState:OverrideSymbol("shadow_ball", "shadow_skinchangefx", "shadow_ball") inst.AnimState:OverrideSymbol("splode", "shadow_skinchangefx", "splode") if inst.components.rider:IsRiding() then inst.AnimState:PlayAnimation("fall_off") inst.SoundEmitter:PlaySound("dontstarve/beefalo/saddle/dismount") else inst.AnimState:PlayAnimation("skin_change", false) end inst.components.inventory:Close() inst:PushEvent("ms_closepopups") if inst.components.playercontroller ~= nil then inst.components.playercontroller:RemotePausePrediction() inst.components.playercontroller:Enable(false) end end, events = { EventHandler("animover", function(inst) if inst.AnimState:AnimDone() then if inst.sg:HasStateTag("dismounting") then inst.sg:RemoveStateTag("dismounting") inst.components.rider:ActualDismount() inst.AnimState:PlayAnimation("skin_change", false) inst.sg:GoToState("idle") else inst.AnimState:PlayAnimation("skin_change", false) inst.sg:GoToState("idle") end end end), }, onexit = function(inst) if inst.sg:HasStateTag("dismounting") then --interrupted inst.components.rider:ActualDismount() end if inst:HasTag("DARK") then inst.AnimState:SetBuild("whisper_dark") else inst.AnimState:SetBuild("whisper") end if inst:HasTag("DARK") then inst.components.combat.damagemultiplier = 1.15 inst.components.health:SetAbsorptionAmount(0.25) inst.components.locomotor:SetExternalSpeedMultiplier(inst, "whisper_speed_mod", 1 ) else inst.components.combat.damagemultiplier = 0.75 inst.components.health:SetAbsorptionAmount(-0.25) inst.components.locomotor:SetExternalSpeedMultiplier(inst, "whisper_speed_mod", 1 + .25) end inst.AnimState:OverrideSymbol("shadow_hands", "shadow_hands", "shadow_hands") if inst.components.playercontroller ~= nil then inst.components.playercontroller:Enable(true) end end, } ) AddStategraphState("wilson", transform) This issue has been resolved, it's an odd issue that only seems to occur while using the Debug mode. Link to comment https://forums.kleientertainment.com/forums/topic/81184-solved-teleport-while-transforming/#findComment-945603 Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now