When the posts do not have a valid hitched beefalo (I managed to cause this by using a pan flute during the selection process), YOTB_STAGER:GetBeefScore(...) is called on the nil beefalo and the game crashes.
This is due to YOTB_STAGER:DeclareWinner() attempting to assign the beef score to member "candidate_values" to the beefalo BEFORE checking that the beefalo actually exists.
Please let me know if additional information is required.
Picture of the flawed game code:
Error:
Spoiler
[00:06:43]: [string "scripts/components/yotb_stager.lua"]:696: attempt to index local 'beef' (a nil value) LUA ERROR stack traceback: scripts/components/yotb_stager.lua:696 in (method) GetBeefScore (Lua) <695-718> self = choice = far temp_trainers = table: 9363E678 tasks = table: 91ED20F0 voice = 160486 - yotb_stage_voice (valid:true) queue = table: 91ED22A8 temp_beefalo = table: A70AD010 inst = 105204 - yotb_stage (valid:true) target_values = table: 9617F640 posts = table: 9617EC90 current_post = 0 starter = 107354 - wilson (valid:true) beef = nil scripts/components/yotb_stager.lua:877 in (method) DeclareWinner (Lua) <863-971> self = choice = far temp_trainers = table: 9363E678 tasks = table: 91ED20F0 voice = 160486 - yotb_stage_voice (valid:true) queue = table: 91ED22A8 temp_beefalo = table: A70AD010 inst = 105204 - yotb_stage (valid:true) target_values = table: 9617F640 posts = table: 9617EC90 current_post = 0 starter = 107354 - wilson (valid:true) time = 0 scores = table: 126AB740 lowest_score = 9999 lowest_index = 0 index = 1 v = 104025 - yotb_post (valid:true) beefalo = nil scripts/components/yotb_stager.lua:841 in (field) fn (Lua) <840-842> scripts/scheduler.lua:177 in (method) OnTick (Lua) <155-207> self = running = table: 17253E58 waitingfortick = table: 17253E80 tasks = table: 17253CA0 waking = table: 879C3CC8 attime = table: 17253D18 hibernating = table: 17253C28 tick = 2667 k = PERIODIC 105204: 25.000000 v = true already_dead = false scripts/scheduler.lua:371 in (global) RunScheduler (Lua) <369-377> tick = 2667 scripts/update.lua:185 in () ? (Lua) <164-243> dt = 0.033333335071802 tick = 2667 i = 2667
Steps to Reproduce
1) Start a contest
2) During selection phase, use a pan flute
3) Crash, if you timed it properly.
There are no comments to display.
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