Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void __thiscall MMatchServer__OnRequestSpawn(MMatchServer *this, MUID *uidChar, MVector3 *pos, MVector3 *dir)
- {
- MMatchObject *v4; // eax@1
- MMatchObject *v5; // edi@1
- MMatchServer *v6; // esi@1
- MMatchUserGradeID v7; // eax@2
- std::_Tree_nod<std::_Tmap_traits<MUID,MMatchStage *,std::less<MUID>,std::allocator<std::pair<MUID const ,MMatchStage *> >,0> >::_Node *v8; // eax@6
- unsigned int v9; // ebx@6
- unsigned int v10; // ebp@6
- unsigned int v11; // esi@6
- int v12; // esi@6
- unsigned int v13; // ecx@7
- MUID *v14; // eax@10
- unsigned int v15; // eax@12
- int v16; // esi@13
- unsigned int v17; // eax@15
- int v18; // esi@16
- void *v19; // eax@21
- MCommand *v20; // esi@21
- MCommandParameter *v21; // eax@22
- void *v22; // eax@24
- signed int v23; // ebp@24
- MCommandParameter *v24; // eax@25
- void *v25; // ebx@27
- MCommandParameter *v26; // eax@28
- unsigned int v27; // eax@30
- MMatchServer *v28; // [sp+8h] [bp-20h]@1
- MUID uidStage; // [sp+Ch] [bp-1Ch]@6
- MUID _Keyval; // [sp+14h] [bp-14h]@6
- int v31; // [sp+24h] [bp-4h]@21
- v6 = this;
- v28 = this;
- v4 = MMatchServer__GetObjectA(this, uidChar);
- v5 = v4;
- if ( v4 )
- {
- v7 = v4->m_AccountInfo.m_nUGrade;
- if ( v7 != 252 && v7 != 255 && v7 != 254 || !(v5->m_nPlayerFlags & 1) )
- {
- v9 = v5->m_uidStage.High;
- v10 = v5->m_uidStage.Low;
- v12 = (int)&v6->m_StageMap.baseclass_4;
- _Keyval.High = v5->m_uidStage.High;
- _Keyval.Low = v10;
- v8 = std___Tree_std___Tmap_traits_MUID_MQuestPlayerLogInfo___std__less_MUID__std__allocator_std__pair_MUID_const_MQuestPlayerLogInfo_____0_____Lbound(
- (std::_Tree<std::_Tmap_traits<MUID,MMatchStage *,std::less<MUID>,std::allocator<std::pair<MUID const ,MMatchStage *> >,0> > *)v12,
- &_Keyval);
- v11 = *(_DWORD *)(v12 + 4);
- uidStage.High = (unsigned int)v8;
- if ( v8 == (std::_Tree_nod<std::_Tmap_traits<MUID,MMatchStage *,std::less<MUID>,std::allocator<std::pair<MUID const ,MMatchStage *> >,0> >::_Node *)v11
- || (v13 = v8->_Myval.first.High, v9 < v13)
- || v9 == v13 && v10 < v8->_Myval.first.Low )
- {
- _Keyval.High = v11;
- v14 = &_Keyval;
- }
- else
- {
- v14 = &uidStage;
- }
- v15 = v14->High;
- if ( (std::_Tree_nod<std::_Tmap_traits<MUID,MMatchStage *,std::less<MUID>,std::allocator<std::pair<MUID const ,MMatchStage *> >,0> >::_Node *)v15 != v28->m_StageMap.baseclass_4.baseclass_0._Myhead )
- {
- v16 = *(_DWORD *)(v15 + 20);
- if ( v16 )
- {
- if ( !*(_DWORD *)(*(_DWORD *)(v16 + 472) + 12)
- || (v17 = MMatchServer__GetTickTime(v28), MMatchObject__IsEnabledRespawnDeathTime(v5, v17)) )
- {
- v18 = *(_DWORD *)(v16 + 472);
- if ( (*(int (__thiscall **)(int))(*(_DWORD *)v18 + 80))(v18) == 10
- && (uidChar->Low != *(_DWORD *)(v18 + 152) || uidChar->High != *(_DWORD *)(v18 + 148))
- && operator__(uidChar, (MUID *)(v18 + 156)) )
- {
- MMatchServer__OnDuelSetObserver(v28, uidChar);
- }
- else
- {
- v5->m_bAlive = 1;
- _Keyval.High = 0;
- _Keyval.Low = 0;
- v20 = MCommandCommunicator__CreateCommand(&v28->baseclass_0.baseclass_0, 1516, &_Keyval);
- v19 = CMemPool_MCommandParameterUID___operator new(0x14u);
- v31 = 0;
- if ( v19 )
- MCommandParameterUID__MCommandParameterUID((MCommandParameterUID *)v19, uidChar);
- else
- v21 = 0;
- v23 = -1;
- v31 = -1;
- MCommand__AddParameter(v20, v21);
- v22 = CMemPool_MCommandParameterShortVector___operator new(0x14u);
- v31 = 1;
- if ( v22 )
- MCommandParameterShortVector__MCommandParameterShortVector(
- (MCommandParameterShortVector *)v22,
- pos->___u0._s0.x,
- pos->___u0._s0.y,
- pos->___u0._s0.z);
- else
- v24 = 0;
- v31 = -1;
- MCommand__AddParameter(v20, v24);
- v25 = CMemPool_MCommandParameterShortVector___operator new(0x14u);
- v31 = 2;
- if ( v25 )
- {
- MCommandParameterShortVector__MCommandParameterShortVector(
- (MCommandParameterShortVector *)v25,
- (unsigned __int64)(dir->___u0._s0.x * 32000.0),
- (unsigned __int64)(dir->___u0._s0.y * 32000.0),
- (unsigned __int64)(dir->___u0._s0.z * 32000.0));
- v23 = -1;
- }
- else
- {
- v26 = 0;
- }
- v31 = v23;
- MCommand__AddParameter(v20, v26);
- v27 = v5->m_uidStage.Low;
- uidStage.High = v5->m_uidStage.High;
- uidStage.Low = v27;
- MMatchServer__RouteToBattle(v28, &uidStage, v20);
- }
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement