SirMilkToast

  • Content Count

    13
  • Joined

  • Last visited

Community Reputation

7 Neutral

About SirMilkToast

  • Rank
    Junior Member
...
  1. The anim folder cave_ferns_potted.zip contains HD versions of the ferns, while cave_ferns.zip does not. This results in potted ferns being HD but regular ferns not being HD.
  2. Explanation for why this occurs: Like many things in the Moonstorm, Wagstaff's tools cannot spawn on the Grub or Memory Cawnival games. This is achieved by picking an initial location for these entities then applying an offset that is calculated using the FindWalkableOffset function, then teleporting the entities to this location. In moonstormManager.lua, the FindWalkableOffset function always takes in the customcheckfn as an input. The customcheckfn is what actually prevents the entities from spawning within 1 turf tile of these two specific Cawnival games. HOWEVER, the FindWalkableOffset function has a default return value of nil. So if that function doesn't find any offsets based on its inputs, then it will output nil. This is normally not an issue, as moonstormManager.lua usually has checks to make sure this value isn't nil before using it. However, when spawning Wagstaff's tools, this check is not performed. Below are lines 657-659 of moonstormManager.lua. These lines are from the spawnTool() function. Notice that "pos" is set to the output of the FindWalkableOffset function; however, no check is performed to make sure that "pos" does not equal nil before the game attempts to add it to "currentpos". 657 local currentpos = Vector3(self.wagstaff.Transform:GetWorldPosition()) 658 local pos = FindWalkableOffset(currentpos, math.random()*2*PI, 6+ (math.random()* 4), 16, nil, nil, customcheckfn, nil, nil) 659 local newpos = currentpos + pos At the end of this post, I have included the error and stack traceback from the server log. The error occurs in line 10 of vector3.lua (this line is the "__add( rhs )" function). The error occurs when a vector3 instance goes to add "rhs" to itself. It tries to index "rhs", but you can't index a nil value. The traceback reveals that this function was called from line 659 of the spawnTool() function in moonstormmanager.lua. This line is shown above to be the line where the offset is added to Wagstaff's position. The rest of the traceback isn't really useful, but I included it anyways. Here is a simple fix. Just check that "pos" isn't nil before adding it to "currentpos", then have the Transform set the position to "currentpos" (instead of "newpos"). This may not be the fix you want to implement, but I figured I throw it in here. 657 local currentpos = Vector3(self.wagstaff.Transform:GetWorldPosition()) 658 local pos = FindWalkableOffset(currentpos, math.random()*2*PI, 6+ (math.random()* 4), 16, nil, nil, customcheckfn, nil, nil) --begin changes 659 if pos then 660 currentpos = currentpos + pos 661 end 662 tool.Transform:SetPosition(currentpos.x,0,currentpos.z) --end changes 663 table.insert(self.wagstaff_tools,tool) Error and Traceback: [00:03:02]: [string "scripts/vector3.lua"]:10: attempt to index local 'rhs' (a nil value) LUA ERROR stack traceback: scripts/vector3.lua:10 in () ? (Lua) <9-11> self = y = 6.7687944138584e-009 x = 406.54754638672 z = -45.137607574463 rhs = nil scripts/components/moonstormmanager.lua:659 in (method) spawnTool (Lua) <634-673> self = tools_need = PERIODIC 100026: 10.154455 TestMoonAltarLinkPositionValid = function - scripts/components/moonstormmanager.lua:734 AdvanceWagstaff = function - scripts/components/moonstormmanager.lua:506 beginWagstaffDefence = function - scripts/components/moonstormmanager.lua:562 DoTestForSparks = function - scripts/components/moonstormmanager.lua:697 startNeedTool = function - scripts/components/moonstormmanager.lua:541 FindUnmetCharacter = function - scripts/components/moonstormmanager.lua:516 foundTool = function - scripts/components/moonstormmanager.lua:548 moonstorm_lightning_task = PERIODIC 100026: 27.420275 StartMoonstorm = function - scripts/components/moonstormmanager.lua:302 FailExperiment = function - scripts/components/moonstormmanager.lua:442 CalcNewMoonstormBaseNodeIndex = function - scripts/components/moonstormmanager.lua:272 DoTestForLightning = function - scripts/components/moonstormmanager.lua:713 moonstorm_spark_task = PERIODIC 100026: 30.000000 StopExperiment = function - scripts/components/moonstormmanager.lua:425 defence_task = PERIODIC 100026: 7.000000 AddMetplayer = function - scripts/components/moonstormmanager.lua:558 GetNewWagstaffLocation = function - scripts/components/moonstormmanager.lua:535 DoTestForWagstaff = function - scripts/components/moonstormmanager.lua:675 StopExperimentTasks = function - scripts/components/moonstormmanager.lua:400 MoonStorm_Ending = true wagstaff_tools_original = table: 0CCFD8D0 spawnTool = function - scripts/components/moonstormmanager.lua:634 inst = 100026 - world (valid:true) stormdays = 0 spawnGestaltWave = function - scripts/components/moonstormmanager.lua:607 TestAltarTriangleValid = function - scripts/components/moonstormmanager.lua:755 OnSave = function - scripts/components/moonstormmanager.lua:797 OnLoad = function - scripts/components/moonstormmanager.lua:810 tools_task = PERIODIC 100026: 8.000000 SpawnGestalt = function - scripts/components/moonstormmanager.lua:586 wagstaff_tools = table: 0CCFDBA0 wagstaff = 117850 - wagstaff_npc (valid:true) GetDebugString = function - scripts/components/moonstormmanager.lua:856 spawn_wagstaff_test_task = PERIODIC 100026: 10.000000 lastnodes = table: 11AF1038 StopCurrentMoonstorm = function - scripts/components/moonstormmanager.lua:375 metplayers = table: 0A33D2F0 EndExperiment = function - scripts/components/moonstormmanager.lua:462 beginWagstaffHunt = function - scripts/components/moonstormmanager.lua:490 idx = 2 toolname = wagstaff_tool_5 tool = 118212 - wagstaff_tool_5 (valid:true) currentpos = (406.55, 0.00, -45.14) pos = nil scripts/components/moonstormmanager.lua:672 in (field) fn (Lua) <672-672> scripts/scheduler.lua:177 in (method) OnTick (Lua) <155-207> self = running = table: 0B2EC4B0 waitingfortick = table: 0B2EC230 tasks = table: 0B2EC410 waking = table: 25A64C00 attime = table: 0B2EC2F8 hibernating = table: 0B2EC528 tick = 3693 k = PERIODIC 100026: 8.000000 v = true already_dead = false scripts/scheduler.lua:371 in (global) RunScheduler (Lua) <369-377> tick = 3693 scripts/update.lua:185 in () ? (Lua) <164-243> dt = 0.033333335071802 tick = 3693 i = 3693 [00:03:02]: [string "scripts/vector3.lua"]:10: attempt to index local 'rhs' (a nil value) LUA ERROR stack traceback: scripts/vector3.lua:10 in () ? (Lua) <9-11> scripts/components/moonstormmanager.lua:659 in (method) spawnTool (Lua) <634-673> scripts/components/moonstormmanager.lua:672 in (field) fn (Lua) <672-672> scripts/scheduler.lua:177 in (method) OnTick (Lua) <155-207> scripts/scheduler.lua:371 in (global) RunScheduler (Lua) <369-377> scripts/update.lua:185 in () ? (Lua) <164-243> [00:03:02]: Warning: Widget:SetFocusFromChild is happening on a widget outside of the screen/widget hierachy. This will cause focus moves to fail. Is ScriptErrorWidget not a screen? [00:03:02]: stack traceback: scripts/widgets/widget.lua:604 in (method) SetFocusFromChild (Lua) <601-626> scripts/widgets/widget.lua:623 in (method) SetFocusFromChild (Lua) <601-626> scripts/widgets/widget.lua:623 in (method) SetFocusFromChild (Lua) <601-626> scripts/widgets/widget.lua:648 in (method) SetFocus (Lua) <628-657> scripts/widgets/menu.lua:83 in (method) SetFocus (Lua) <74-85> scripts/widgets/scripterrorwidget.lua:109 in (method) OnUpdate (Lua) <102-119> scripts/update.lua:95 in () ? (Lua) <33-134>
  3. Here are some various mutant bird issues I found mostly related to the recent mutant bird changes (link to video showing issues in the "Steps to Reproduce" section) 1. Mutant birds cannot be frozen. 2. Mutant birds that are on fire will have a misplaced fire animation. 3. Mutant birds cannot be put to sleep. If they are targeting Wagstaff when you attempt to put them to sleep they will magically become friendly (to both Wagstaff and you). If they are not targeting Wagstaff they will not become friendly. The panflute seems to make them peaceful for a long time, while the napsack has varying results. In the video at one point you can see that the napsack made them friendly to me for a long period of time, but at the very end of the video a bird that was hit with the napsack proceeds to hit Wagstaff so idk what's really going on. 4. (bonus bug not shown in video) If a mutant bird is targeting Wagstaff and you capture it and then release it. It will no longer target Wagstaff. I believe this is because they only target Wagstaff when they initially spawn. I think this also means that mutant birds that hang around after the Wagstaff minigame is completed will also never target any future Wagstaffs.
  4. If you have a winged sail that you placed on land and raised (for decoration). Then it will be lowered when you reload the world. This makes winged sails annoying to use as decoration as you need to raise them up every time you launch the world.
  5. If Wanda is taking damage over time she will not be able to heal properly. The damage over time stops the heal before it is able to complete. This means she cannot heal properly while taking damage from any of the following sources: Fire damage, Overheating damage, freezing damage, starving damage. Trying to heal during most of these just causes the healing pocketwatch to go on cooldown without any health being restored. Sometimes the heal will restore a little bit of health before being canceled by the damage over time. I was occasionally able to restore a little bit of health when taking fire or starving damage, but wasn't able to with the other damage sources. I'm guessing this happens due to the logic in the OnTakeDamage function in the OldAger component. It looks like this function handles both healing and damage for Wanda. It has logic that stops current damage over time if a heal over time starts (or vice versa). This means that damage will cancel healing and healing will cancel damage.
  6. LOL 10/10 bug right here! Made even more amazing by the fact that relogging doesn't fix it! LMAO
  7. When a fig vine is burning, its animation doesn't change. It produces light, but other than that it looks identical to when it is not burning. This is true regardless of whether or not there is a fig on the vine.
  8. When you chop down an Above-Average tree it destroys all the fig vines within a 24 unit radius, regardless if whether or not they were created by that tree. Below is the removecanopy function. This function is called when the Above-Average tree is removed, chopped down, or burnt. As you can see ALL fig vines that are within 24 units of the tree get removed regardless of which tree spawned them. local OCEANVINES_MUST = {"oceanvine"} local function removecanopy(inst) if inst.roots then inst.roots:Remove() end if inst._ripples then inst._ripples:Remove() end for player in pairs(inst.players) do if player:IsValid() then if player.canopytrees then OnFar(inst, player) end end end local point = inst:GetPosition() local oceanvines = TheSim:FindEntities(point.x, point.y, point.z, MAX+1, OCEANVINES_MUST) if #oceanvines > 0 then for i, ent in ipairs(oceanvines) do ent.fall(ent) end end inst._hascanopy:set(false) end
  9. FYI it also doesn't protect from the sea anenemy.
  10. Explanation for why this occurs: Like many things in the Moonstorm, Wagstaff's tools cannot spawn on the Grub or Memory Cawnival games. This is achieved by picking an initial location for these entities then applying an offset that is calculated using the FindWalkableOffset function, then teleporting the entities to this location. In moonstormManager.lua, the FindWalkableOffset function always takes in the customcheckfn as an input. The customcheckfn is what actually prevents the entities from spawning within 1 turf tile of these two specific Cawnival games. HOWEVER, the FindWalkableOffset function has a default return value of nil. So if that function doesn't find any offsets based on its inputs, then it will output nil. This is normally not an issue, as moonstormManager.lua usually has checks to make sure this value isn't nil before using it. However, when spawning Wagstaff's tools, this check is not performed. Below are lines 657-659 of moonstormManager.lua. These lines are from the spawnTool() function. Notice that "pos" is set to the output of the FindWalkableOffset function; however, no check is performed to make sure that "pos" does not equal nil before the game attempts to add it to "currentpos". 657 local currentpos = Vector3(self.wagstaff.Transform:GetWorldPosition()) 658 local pos = FindWalkableOffset(currentpos, math.random()*2*PI, 6+ (math.random()* 4), 16, nil, nil, customcheckfn, nil, nil) 659 local newpos = currentpos + pos At the end of this post, I have included the error and stack traceback from the server log. The error occurs in line 10 of vector3.lua (this line is the "__add( rhs )" function). The error occurs when a vector3 instance goes to add "rhs" to itself. It tries to index "rhs", but you can't index a nil value. The traceback reveals that this function was called from line 659 of the spawnTool() function in moonstormmanager.lua. This line is shown above to be the line where the offset is added to Wagstaff's position. The rest of the traceback isn't really useful, but I included it anyways. Here is a simple fix. Just check that "pos" isn't nil before adding it to "currentpos", then have the Transform set the position to "currentpos" (instead of "newpos"). This may not be the fix you want to implement, but I figured I throw it in here. 657 local currentpos = Vector3(self.wagstaff.Transform:GetWorldPosition()) 658 local pos = FindWalkableOffset(currentpos, math.random()*2*PI, 6+ (math.random()* 4), 16, nil, nil, customcheckfn, nil, nil) --begin changes 659 if pos then 660 currentpos = currentpos + pos 661 end 662 tool.Transform:SetPosition(currentpos.x,0,currentpos.z) --end changes 663 table.insert(self.wagstaff_tools,tool) Error and Traceback: [00:03:02]: [string "scripts/vector3.lua"]:10: attempt to index local 'rhs' (a nil value) LUA ERROR stack traceback: scripts/vector3.lua:10 in () ? (Lua) <9-11> self = y = 6.7687944138584e-009 x = 406.54754638672 z = -45.137607574463 rhs = nil scripts/components/moonstormmanager.lua:659 in (method) spawnTool (Lua) <634-673> self = tools_need = PERIODIC 100026: 10.154455 TestMoonAltarLinkPositionValid = function - scripts/components/moonstormmanager.lua:734 AdvanceWagstaff = function - scripts/components/moonstormmanager.lua:506 beginWagstaffDefence = function - scripts/components/moonstormmanager.lua:562 DoTestForSparks = function - scripts/components/moonstormmanager.lua:697 startNeedTool = function - scripts/components/moonstormmanager.lua:541 FindUnmetCharacter = function - scripts/components/moonstormmanager.lua:516 foundTool = function - scripts/components/moonstormmanager.lua:548 moonstorm_lightning_task = PERIODIC 100026: 27.420275 StartMoonstorm = function - scripts/components/moonstormmanager.lua:302 FailExperiment = function - scripts/components/moonstormmanager.lua:442 CalcNewMoonstormBaseNodeIndex = function - scripts/components/moonstormmanager.lua:272 DoTestForLightning = function - scripts/components/moonstormmanager.lua:713 moonstorm_spark_task = PERIODIC 100026: 30.000000 StopExperiment = function - scripts/components/moonstormmanager.lua:425 defence_task = PERIODIC 100026: 7.000000 AddMetplayer = function - scripts/components/moonstormmanager.lua:558 GetNewWagstaffLocation = function - scripts/components/moonstormmanager.lua:535 DoTestForWagstaff = function - scripts/components/moonstormmanager.lua:675 StopExperimentTasks = function - scripts/components/moonstormmanager.lua:400 MoonStorm_Ending = true wagstaff_tools_original = table: 0CCFD8D0 spawnTool = function - scripts/components/moonstormmanager.lua:634 inst = 100026 - world (valid:true) stormdays = 0 spawnGestaltWave = function - scripts/components/moonstormmanager.lua:607 TestAltarTriangleValid = function - scripts/components/moonstormmanager.lua:755 OnSave = function - scripts/components/moonstormmanager.lua:797 OnLoad = function - scripts/components/moonstormmanager.lua:810 tools_task = PERIODIC 100026: 8.000000 SpawnGestalt = function - scripts/components/moonstormmanager.lua:586 wagstaff_tools = table: 0CCFDBA0 wagstaff = 117850 - wagstaff_npc (valid:true) GetDebugString = function - scripts/components/moonstormmanager.lua:856 spawn_wagstaff_test_task = PERIODIC 100026: 10.000000 lastnodes = table: 11AF1038 StopCurrentMoonstorm = function - scripts/components/moonstormmanager.lua:375 metplayers = table: 0A33D2F0 EndExperiment = function - scripts/components/moonstormmanager.lua:462 beginWagstaffHunt = function - scripts/components/moonstormmanager.lua:490 idx = 2 toolname = wagstaff_tool_5 tool = 118212 - wagstaff_tool_5 (valid:true) currentpos = (406.55, 0.00, -45.14) pos = nil scripts/components/moonstormmanager.lua:672 in (field) fn (Lua) <672-672> scripts/scheduler.lua:177 in (method) OnTick (Lua) <155-207> self = running = table: 0B2EC4B0 waitingfortick = table: 0B2EC230 tasks = table: 0B2EC410 waking = table: 25A64C00 attime = table: 0B2EC2F8 hibernating = table: 0B2EC528 tick = 3693 k = PERIODIC 100026: 8.000000 v = true already_dead = false scripts/scheduler.lua:371 in (global) RunScheduler (Lua) <369-377> tick = 3693 scripts/update.lua:185 in () ? (Lua) <164-243> dt = 0.033333335071802 tick = 3693 i = 3693 [00:03:02]: [string "scripts/vector3.lua"]:10: attempt to index local 'rhs' (a nil value) LUA ERROR stack traceback: scripts/vector3.lua:10 in () ? (Lua) <9-11> scripts/components/moonstormmanager.lua:659 in (method) spawnTool (Lua) <634-673> scripts/components/moonstormmanager.lua:672 in (field) fn (Lua) <672-672> scripts/scheduler.lua:177 in (method) OnTick (Lua) <155-207> scripts/scheduler.lua:371 in (global) RunScheduler (Lua) <369-377> scripts/update.lua:185 in () ? (Lua) <164-243> [00:03:02]: Warning: Widget:SetFocusFromChild is happening on a widget outside of the screen/widget hierachy. This will cause focus moves to fail. Is ScriptErrorWidget not a screen? [00:03:02]: stack traceback: scripts/widgets/widget.lua:604 in (method) SetFocusFromChild (Lua) <601-626> scripts/widgets/widget.lua:623 in (method) SetFocusFromChild (Lua) <601-626> scripts/widgets/widget.lua:623 in (method) SetFocusFromChild (Lua) <601-626> scripts/widgets/widget.lua:648 in (method) SetFocus (Lua) <628-657> scripts/widgets/menu.lua:83 in (method) SetFocus (Lua) <74-85> scripts/widgets/scripterrorwidget.lua:109 in (method) OnUpdate (Lua) <102-119> scripts/update.lua:95 in () ? (Lua) <33-134>
  11. The third phase of the Celestial champion will occasionally fly off the lunar island into the ocean. It will not come back on its own and the only way to get it back to land is to get on a boat, maneuver the boat underneath the Champion, and chase it back onto land.
  12. The darkness that happens as a result of killing the Celestial Champion lasts forever, unless you relog. Relogging will cause the normal day/night cycle to resume (even if less than a day has passed since killing the Celestial Champion).