# Model_Story_StoryData_220.luac
; fn @StoryData.lua  line 0-0 np=0 va=1 ms=2 code=24 consts=9 upvals=1 protos=6
;   K[0]='StoryData'
;   K[1]='__index'
;   K[2]='Create'
;   K[3]='StoryData'
;   K[4]='Init'
;   K[5]='IsAvatarFlip'
;   K[6]='GetRoleName'
;   K[7]='GetContentText'
;   K[8]='GetCompType'
;   upvals: _ENV
0000  NEWTABLE  R0 = {} (0 items)
0001  SETTABUP  _ENV[K0('StoryData')] = R0
0002  GETTABUP  R0 = _ENV[K0('StoryData')]
0003  GETTABUP  R1 = _ENV[K0('StoryData')]
0004  SETTABLE  R0[K1('__index')] = R1
0005  GETTABUP  R0 = _ENV[K0('StoryData')]
0006  CLOSURE   R1 = closure proto0
0007  SETTABLE  R0[K2('Create')] = R1
0008  GETTABUP  R0 = _ENV[K3('StoryData')]
0009  CLOSURE   R1 = closure proto1
0010  SETTABLE  R0[K4('Init')] = R1
0011  GETTABUP  R0 = _ENV[K3('StoryData')]
0012  CLOSURE   R1 = closure proto2
0013  SETTABLE  R0[K5('IsAvatarFlip')] = R1
0014  GETTABUP  R0 = _ENV[K3('StoryData')]
0015  CLOSURE   R1 = closure proto3
0016  SETTABLE  R0[K6('GetRoleName')] = R1
0017  GETTABUP  R0 = _ENV[K3('StoryData')]
0018  CLOSURE   R1 = closure proto4
0019  SETTABLE  R0[K7('GetContentText')] = R1
0020  GETTABUP  R0 = _ENV[K3('StoryData')]
0021  CLOSURE   R1 = closure proto5
0022  SETTABLE  R0[K8('GetCompType')] = R1
0023  RETURN    return R0..R-1
; ---------- proto0 [Create] ----------
  ; fn ?  line 18-23 np=2 va=0 ms=5 code=9 consts=4 upvals=1 protos=0
  ;   K[0]='setmetatable'
  ;   K[1]='StoryData'
  ;   K[2]='specialPrefix'
  ;   K[3]='Init'
  ;   upvals: _ENV
  ;   locals: tbData(0-9), specialPrefix(0-9), data(4-9)
  0000  GETTABUP  R2 = _ENV[K0('setmetatable')]
  0001  MOVE      R3 = R0
  0002  GETTABUP  R4 = _ENV[K1('StoryData')]
  0003  CALL      R2 = call(R2, 1 args, 2 rets)
  0004  SETTABLE  R2[K2('specialPrefix')] = R1
  0005  SELF      R4 = R2[K3('Init')] (self)
  0006  CALL      R3 = call(R3, 0 args, 1 rets)
  0007  RETURN    return R2..R1
  0008  RETURN    return R0..R-1
; ---------- proto1 [Init] ----------
  ; fn ?  line 25-31 np=1 va=0 ms=5 code=23 consts=11 upvals=1 protos=0
  ;   K[0]='animationName'
  ;   K[1]='animation'
  ;   K[2]='StringUtil'
  ;   K[3]='EndWith'
  ;   K[4]='-loop'
  ;   K[5]='string'
  ;   K[6]='sub'
  ;   K[7]=0
  ;   K[8]=5
  ;   K[9]='bLoopAnimation'
  ;   K[10]=true
  ;   upvals: _ENV
  ;   locals: self(0-23)
  0000  GETTABLE  R1 = R0[K1('animation')]
  0001  SETTABLE  R0[K0('animationName')] = R1
  0002  GETTABLE  R1 = R0[K1('animation')]
  0003  TEST      if not R1 then   -> -131067
  0004  JMP       (jump)   -> 22
  0005  GETTABUP  R1 = _ENV[K2('StringUtil')]
  0006  GETTABLE  R1 = R1[K3('EndWith')]
  0007  GETTABLE  R2 = R0[K1('animation')]
  0008  LOADK     R3 = K4 '-loop'
  0009  CALL      R1 = call(R1, 1 args, 2 rets)
  0010  TEST      if not R1 then   -> -131060
  0011  JMP       (jump)   -> 22
  0012  GETTABUP  R1 = _ENV[K5('string')]
  0013  GETTABLE  R1 = R1[K6('sub')]
  0014  GETTABLE  R2 = R0[K1('animation')]
  0015  LOADK     R3 = K7 0
  0016  GETTABLE  R4 = R0[K1('animation')]
  0017  LEN       R4 = len R0
  0018  SUB       R4 = K8(5) sub R4
  0019  CALL      R1 = call(R1, 1 args, 3 rets)
  0020  SETTABLE  R0[K0('animationName')] = R1
  0021  SETTABLE  R0[K9('bLoopAnimation')] = K10(true)
  0022  RETURN    return R0..R-1
; ---------- proto2 [IsAvatarFlip] ----------
  ; fn ?  line 33-35 np=1 va=0 ms=2 code=7 consts=2 upvals=0 protos=0
  ;   K[0]='res'
  ;   K[1]=1
  ;   locals: self(0-7)
  0000  GETTABLE  R1 = R0[K0('res')]
  0001  EQ        if R1 eq K1(1)   -> -130300
  0002  JMP       (jump)   -> 4
  0003  LOADBOOL  R1 = false
  0004  LOADBOOL  R1 = true
  0005  RETURN    return R1..R0
  0006  RETURN    return R0..R-1
; ---------- proto3 [GetRoleName] ----------
  ; fn ?  line 37-45 np=1 va=0 ms=5 code=36 consts=15 upvals=1 protos=0
  ;   K[0]='speaker'
  ;   K[1]='StringUtil'
  ;   K[2]='Split'
  ;   K[3]='_'
  ;   K[4]='Log'
  ;   K[5]='Assert'
  ;   K[6]=2
  ;   K[7]='剧情配置中 speaker 格式错误！'
  ;   K[8]='GM'
  ;   K[9]='StoryDataModel'
  ;   K[10]='GetRoleName'
  ;   K[11]=1
  ;   K[12]=''
  ;   K[13]='ChapterManager'
  ;   K[14]='curActiveChapterName'
  ;   upvals: _ENV
  ;   locals: self(0-36), splits(8-26), curActiveChapterName(29-36)
  0000  GETTABLE  R1 = R0[K0('speaker')]
  0001  TEST      if not R1 then   -> -131069
  0002  JMP       (jump)   -> 26
  0003  GETTABUP  R1 = _ENV[K1('StringUtil')]
  0004  GETTABLE  R1 = R1[K2('Split')]
  0005  GETTABLE  R2 = R0[K0('speaker')]
  0006  LOADK     R3 = K3 '_'
  0007  CALL      R1 = call(R1, 1 args, 2 rets)
  0008  GETTABUP  R2 = _ENV[K4('Log')]
  0009  GETTABLE  R2 = R2[K5('Assert')]
  0010  LEN       R3 = len R0
  0011  LE        if R1 le R3   -> 3088
  0012  JMP       (jump)   -> 14
  0013  LOADBOOL  R3 = false
  0014  LOADBOOL  R3 = true
  0015  LOADK     R4 = K7 '剧情配置中 speaker 格式错误！'
  0016  CALL      R2 = call(R2, 0 args, 2 rets)
  0017  GETTABUP  R2 = _ENV[K8('GM')]
  0018  GETTABLE  R2 = R2[K9('StoryDataModel')]
  0019  SELF      R3 = R2[K10('GetRoleName')] (self)
  0020  GETTABLE  R4 = R1[K11(1)]
  0021  TEST      if not R4 then   -> -131048
  0022  JMP       (jump)   -> 24
  0023  LOADK     R4 = K12 ''
  0024  TAILCALL  tailcall(R2, 0)
  0025  RETURN    return R2..R1
  0026  GETTABUP  R1 = _ENV[K8('GM')]
  0027  GETTABLE  R1 = R1[K13('ChapterManager')]
  0028  GETTABLE  R1 = R1[K14('curActiveChapterName')]
  0029  GETTABUP  R2 = _ENV[K8('GM')]
  0030  GETTABLE  R2 = R2[K9('StoryDataModel')]
  0031  SELF      R3 = R2[K10('GetRoleName')] (self)
  0032  MOVE      R4 = R0
  0033  TAILCALL  tailcall(R2, 0)
  0034  RETURN    return R2..R1
  0035  RETURN    return R0..R-1
; ---------- proto4 [GetContentText] ----------
  ; fn ?  line 47-65 np=1 va=0 ms=7 code=31 consts=9 upvals=1 protos=1
  ;   K[0]='specialPrefix'
  ;   K[1]='GM'
  ;   K[2]='GameTextModel'
  ;   K[3]='GetSpecialText'
  ;   K[4]='content'
  ;   K[5]='MakeoverManager'
  ;   K[6]='curActiveChapterId'
  ;   K[7]='GetChapterText'
  ;   K[8]='SafeCall'
  ;   upvals: _ENV
  ;   locals: self(0-31), text(1-31), activeChapterId(15-22), result(25-31), ret(25-31)
  0000  LOADNIL   R1..R1 = nil
  0001  GETTABLE  R2 = R0[K0('specialPrefix')]
  0002  TEST      if not R2 then   -> -131068
  0003  JMP       (jump)   -> 12
  0004  GETTABUP  R2 = _ENV[K1('GM')]
  0005  GETTABLE  R2 = R2[K2('GameTextModel')]
  0006  SELF      R3 = R2[K3('GetSpecialText')] (self)
  0007  GETTABLE  R4 = R0[K0('specialPrefix')]
  0008  GETTABLE  R5 = R0[K4('content')]
  0009  CALL      R2 = call(R2, 1 args, 3 rets)
  0010  MOVE      R1 = R0
  0011  JMP       (jump)   -> 22
  0012  GETTABUP  R2 = _ENV[K1('GM')]
  0013  GETTABLE  R2 = R2[K5('MakeoverManager')]
  0014  GETTABLE  R2 = R2[K6('curActiveChapterId')]
  0015  GETTABUP  R3 = _ENV[K1('GM')]
  0016  GETTABLE  R3 = R3[K2('GameTextModel')]
  0017  SELF      R4 = R3[K7('GetChapterText')] (self)
  0018  MOVE      R5 = R0
  0019  GETTABLE  R6 = R0[K4('content')]
  0020  CALL      R3 = call(R3, 1 args, 3 rets)
  0021  MOVE      R1 = R0
  0022  GETTABUP  R2 = _ENV[K8('SafeCall')]
  0023  CLOSURE   R3 = closure proto0
  0024  CALL      R2 = call(R2, 2 args, 1 rets)
  0025  TEST      if not R2 then   -> -131045
  0026  JMP       (jump)   -> 29
  0027  RETURN    return R3..R2
  0028  JMP       (jump)   -> 30
  0029  RETURN    return R1..R0
  0030  RETURN    return R0..R-1
  ; ---------- proto0 [] ----------
    ; fn ?  line 57-59 np=0 va=0 ms=5 code=11 consts=6 upvals=2 protos=0
    ;   K[0]='StringUtil'
    ;   K[1]='Replace'
    ;   K[2]='PLAYER_NAME'
    ;   K[3]='GM'
    ;   K[4]='UserProfileModel'
    ;   K[5]='GetName'
    ;   upvals: _ENV, text
    0000  GETTABUP  R0 = _ENV[K0('StringUtil')]
    0001  GETTABLE  R0 = R0[K1('Replace')]
    0002  GETUPVAL  R1 = _ENV
    0003  LOADK     R2 = K2 'PLAYER_NAME'
    0004  GETTABUP  R3 = _ENV[K3('GM')]
    0005  GETTABLE  R3 = R3[K4('UserProfileModel')]
    0006  SELF      R4 = R3[K5('GetName')] (self)
    0007  CALL      R3 = call(R3, -1 args, 1 rets)
    0008  TAILCALL  tailcall(R0, 0)
    0009  RETURN    return R0..R-1
    0010  RETURN    return R0..R-1
; ---------- proto5 [GetCompType] ----------
  ; fn ?  line 67-69 np=1 va=0 ms=3 code=12 consts=4 upvals=1 protos=0
  ;   K[0]='IsAvatarFlip'
  ;   K[1]='EStoryComponentType'
  ;   K[2]='Right'
  ;   K[3]='Left'
  ;   upvals: _ENV
  ;   locals: self(0-12)
  0000  SELF      R2 = R0[K0('IsAvatarFlip')] (self)
  0001  CALL      R1 = call(R1, 1 args, 1 rets)
  0002  TEST      if not R1 then   -> -131068
  0003  JMP       (jump)   -> 8
  0004  GETTABUP  R1 = _ENV[K1('EStoryComponentType')]
  0005  GETTABLE  R1 = R1[K2('Right')]
  0006  TEST      if not R1 then   -> -131063
  0007  JMP       (jump)   -> 10
  0008  GETTABUP  R1 = _ENV[K1('EStoryComponentType')]
  0009  GETTABLE  R1 = R1[K3('Left')]
  0010  RETURN    return R1..R0
  0011  RETURN    return R0..R-1
