import betterproto from game_server.net.session import Session from lib.proto import ( GetDLCAvatarReq, GetDLCAvatarRsp, DLCAvatar, DLCAvatarTalent ) async def handle(session: Session, msg: GetDLCAvatarReq) -> betterproto.Message: return GetDLCAvatarRsp( retcode=0, avatar_list=[ DLCAvatar( avatar_id=1203, equip_talent_list=[20304,20322,20327], talent_list=[ DLCAvatarTalent( level=3, talent_id=20300 ), DLCAvatarTalent( level=1, talent_id=20301 ), DLCAvatarTalent( level=3, talent_id=20302 ), DLCAvatarTalent( level=1, talent_id=20303 ), DLCAvatarTalent( level=1, talent_id=20304 ), DLCAvatarTalent( level=2, talent_id=20305 ), DLCAvatarTalent( level=1, talent_id=20306 ), DLCAvatarTalent( level=1, talent_id=20307 ), DLCAvatarTalent( level=3, talent_id=20308 ), DLCAvatarTalent( level=1, talent_id=20309 ), DLCAvatarTalent( level=1, talent_id=20310 ), DLCAvatarTalent( level=1, talent_id=20311 ), DLCAvatarTalent( level=1, talent_id=20312 ), DLCAvatarTalent( level=3, talent_id=20313 ), DLCAvatarTalent( level=3, talent_id=20314 ), DLCAvatarTalent( level=3, talent_id=20315 ), DLCAvatarTalent( level=2, talent_id=20316 ), DLCAvatarTalent( level=2, talent_id=20317 ), DLCAvatarTalent( level=1, talent_id=20318 ), DLCAvatarTalent( level=2, talent_id=20319 ), DLCAvatarTalent( level=1, talent_id=20320 ), DLCAvatarTalent( level=3, talent_id=20321 ), DLCAvatarTalent( level=3, talent_id=20322 ), DLCAvatarTalent( level=4, talent_id=20323 ), DLCAvatarTalent( level=2, talent_id=20324 ), DLCAvatarTalent( level=2, talent_id=20325 ), DLCAvatarTalent( level=1, talent_id=20326 ), DLCAvatarTalent( level=3, talent_id=20327 ), DLCAvatarTalent( level=3, talent_id=20328 ), DLCAvatarTalent( level=8, talent_id=20329, wait_select_affix_set_id=3 ), DLCAvatarTalent( level=8, talent_id=20330, wait_select_affix_set_id=3 ), DLCAvatarTalent( level=8, talent_id=20331, wait_select_affix_set_id=3 ), DLCAvatarTalent( level=8, talent_id=20332, wait_select_affix_set_id=3 ) ] ), DLCAvatar( avatar_id=1304, equip_talent_list=[30403,30423,30430], talent_list=[ DLCAvatarTalent( level=1, talent_id=30401 ), DLCAvatarTalent( level=3, talent_id=30402 ), DLCAvatarTalent( level=1, talent_id=30403 ), DLCAvatarTalent( level=3, talent_id=30404 ), DLCAvatarTalent( level=1, talent_id=30405 ), DLCAvatarTalent( level=1, talent_id=30406 ), DLCAvatarTalent( level=4, talent_id=30407 ), DLCAvatarTalent( level=1, talent_id=30408 ), DLCAvatarTalent( level=3, talent_id=30409 ), DLCAvatarTalent( level=1, talent_id=30410 ), DLCAvatarTalent( level=3, talent_id=30411 ), DLCAvatarTalent( level=1, talent_id=30412 ), DLCAvatarTalent( level=1, talent_id=30413 ), DLCAvatarTalent( level=3, talent_id=30414 ), DLCAvatarTalent( level=3, talent_id=30415 ), DLCAvatarTalent( level=3, talent_id=30416 ), DLCAvatarTalent( level=1, talent_id=30417 ), DLCAvatarTalent( level=3, talent_id=30418 ), DLCAvatarTalent( level=1, talent_id=30420 ), DLCAvatarTalent( level=1, talent_id=30421 ), DLCAvatarTalent( level=3, talent_id=30422 ), DLCAvatarTalent( level=3, talent_id=30423 ), DLCAvatarTalent( level=3, talent_id=30424 ), DLCAvatarTalent( level=4, talent_id=30425 ), DLCAvatarTalent( level=1, talent_id=30426 ), DLCAvatarTalent( level=2, talent_id=30427 ), DLCAvatarTalent( level=1, talent_id=30428 ), DLCAvatarTalent( level=1, talent_id=30429 ), DLCAvatarTalent( level=3, talent_id=30430 ), DLCAvatarTalent( level=8, talent_id=30431, wait_select_affix_set_id=5 ), DLCAvatarTalent( level=8, talent_id=30432, wait_select_affix_set_id=5 ), DLCAvatarTalent( level=8, talent_id=30433, wait_select_affix_set_id=5 ), DLCAvatarTalent( level=8, talent_id=30434, wait_select_affix_set_id=5 ) ] ), DLCAvatar( avatar_id=1411, equip_talent_list=[41101,41123,41124], talent_list=[ DLCAvatarTalent( level=1, talent_id=41100 ), DLCAvatarTalent( level=1, talent_id=41101 ), DLCAvatarTalent( level=3, talent_id=41102 ), DLCAvatarTalent( level=1, talent_id=41103 ), DLCAvatarTalent( level=3, talent_id=41104 ), DLCAvatarTalent( level=1, talent_id=41105 ), DLCAvatarTalent( level=3, talent_id=41106 ), DLCAvatarTalent( level=4, talent_id=41107 ), DLCAvatarTalent( level=3, talent_id=41108 ), DLCAvatarTalent( level=1, talent_id=41109 ), DLCAvatarTalent( level=1, talent_id=41110 ), DLCAvatarTalent( level=1, talent_id=41111 ), DLCAvatarTalent( level=1, talent_id=41112 ), DLCAvatarTalent( level=3, talent_id=41113 ), DLCAvatarTalent( level=3, talent_id=41114 ), DLCAvatarTalent( level=3, talent_id=41115 ), DLCAvatarTalent( level=1, talent_id=41116 ), DLCAvatarTalent( level=2, talent_id=41117 ), DLCAvatarTalent( level=1, talent_id=41118 ), DLCAvatarTalent( level=1, talent_id=41119 ), DLCAvatarTalent( level=2, talent_id=41120 ), DLCAvatarTalent( level=3, talent_id=41122 ), DLCAvatarTalent( level=3, talent_id=41123 ), DLCAvatarTalent( level=3, talent_id=41124 ), DLCAvatarTalent( level=1, talent_id=41125 ), DLCAvatarTalent( level=2, talent_id=41126 ), DLCAvatarTalent( level=1, talent_id=41127 ), DLCAvatarTalent( level=3, talent_id=41128 ), DLCAvatarTalent( level=2, talent_id=41129 ), DLCAvatarTalent( level=8, talent_id=41130, wait_select_affix_set_id=3 ), DLCAvatarTalent( level=8, talent_id=41131, wait_select_affix_set_id=3 ), DLCAvatarTalent( level=8, talent_id=41132, wait_select_affix_set_id=3 ), DLCAvatarTalent( level=8, talent_id=41133, wait_select_affix_set_id=3 ) ] ) ] )