Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const unsigned __int32 __thiscall CNWSCreature__AIActionTaunt(void *this, int a2)
- {
- int v2; // esi@1
- int v3; // eax@3
- int v4; // edi@3
- void *v5; // eax@9
- int v6; // edi@10
- int v7; // edx@12
- int v9; // edi@16
- int v10; // edx@18
- int v11; // ST64_4@18
- __int16 v12; // dx@18
- int v13; // ebx@19
- int v14; // ebp@19
- int v15; // ebp@19
- int v16; // eax@19
- int v17; // ebx@19
- int v18; // ebx@19
- int v19; // eax@19
- int v20; // ebx@19
- void *v21; // eax@28
- int v22; // ebx@29
- int v23; // eax@31
- __int16 v24; // cx@31
- __int16 v25; // cx@31
- void *v26; // eax@34
- int v27; // ST60_4@34
- int v28; // ST5C_4@34
- int v29; // ST58_4@34
- void *v30; // eax@34
- int v31; // edi@35
- int v32; // ST64_4@37
- int v33; // [sp-4h] [bp-48h]@38
- char v34[4]; // [sp+10h] [bp-34h]@3
- char v35[4]; // [sp+14h] [bp-30h]@16
- int v36; // [sp+18h] [bp-2Ch]@18
- int v37; // [sp+1Ch] [bp-28h]@19
- int v38; // [sp+20h] [bp-24h]@18
- void *v39; // [sp+24h] [bp-20h]@18
- int v40; // [sp+28h] [bp-1Ch]@18
- int v41; // [sp+2Ch] [bp-18h]@1
- int v42; // [sp+30h] [bp-14h]@1
- int v43; // [sp+34h] [bp-10h]@1
- int v44; // [sp+40h] [bp-4h]@9
- signed int v45; // [sp+48h] [bp+4h]@19
- v2 = (int)this;
- v41 = 0;
- v42 = 0;
- v43 = 0;
- if ( CNWSObject__GetDead(this) == 1 && CNWSObject__GetIsPCDying((void *)v2) == 1
- || (CNWSCreature__ActivityManager(v2, 1),
- *(_DWORD *)v34 = *(_DWORD *)(a2 + 52),
- v3 = CServerExoApp__GetCreatureByGameObjectID(*(_DWORD *)(g_pAppManager + 4), *(unsigned int *)v34),
- v4 = v3,
- !v3)
- || CNWSObject__GetDead((void *)v3)
- || CNWSObject__GetIsPCDying((void *)v4) )
- {
- *(_DWORD *)(v2 + 2720) = 0;
- return CNWSObject__ACTION_FAILED;
- }
- if ( *(_DWORD *)(v4 + 208) == 1 )
- {
- *(_DWORD *)(v2 + 2720) = 0;
- CNWSCreature__SendFeedbackMessage(v2, 0xDFu, 0, 0);
- return CNWSObject__ACTION_FAILED;
- }
- if ( *(_DWORD *)(*(_DWORD *)(v2 + 2756) + 72) )
- {
- v5 = operator new(0x34u);
- v44 = 0;
- if ( v5 )
- v6 = CNWCCMessageData__CNWCCMessageData(v5);
- else
- v6 = 0;
- v7 = *(_DWORD *)(*(_DWORD *)(v2 + 2756) + 72) / 0x3E8u;
- v44 = -1;
- if ( (unsigned int)v7 < 1 )
- v7 = 1;
- CScriptEvent__SetInteger(v6, 0, v7);
- CNWSCreature__SendFeedbackMessage(v2, 1u, v6, 0);
- return CNWSObject__ACTION_FAILED;
- }
- if ( !CNWSCreature__GetIsInUseRange((void *)v2, *(unsigned int *)v34, 1.0, 0) )
- {
- CNWSCreature__GetUseRange((void *)v2, *(unsigned int *)v34, (int)&v41, (int)v35);
- *(float *)v35 = *(float *)v35 + 1.0;
- v9 = *(_DWORD *)(v4 + 116);
- CNWSObject__AddActionToFront(
- (void *)v2,
- 43,
- *(_WORD *)(a2 + 100),
- 3,
- (const char **)v34,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0);
- CNWSCreature__AddMoveToPointActionToFront(
- (void *)v2,
- *(_WORD *)(a2 + 100),
- v41,
- v42,
- v43,
- v9,
- v34[0],
- 1,
- v35[0],
- 0.0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0);
- return CNWSObject__ACTION_COMPLETE;
- }
- if ( !*(_DWORD *)(v2 + 2720) )
- {
- CNWSCreature__BroadcastVoiceChat((void *)v2, 8u);
- v10 = *(_DWORD *)v2;
- v11 = *(_DWORD *)v34;
- *(_DWORD *)(v2 + 2720) = 1;
- (*(void (__thiscall **)(int, int))(v10 + 196))(v2, v11);
- v12 = *(_WORD *)(a2 + 100);
- v36 = 1;
- v40 = 28;
- v38 = 1073741824;
- v39 = (void *)1065353216;
- CNWSObject__AddActionToFront(
- (void *)v2,
- 43,
- v12,
- 3,
- (const char **)v34,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0);
- CNWSObject__AddActionToFront(
- (void *)v2,
- 6,
- *(_WORD *)(a2 + 100),
- 1,
- (const char **)&v40,
- 2,
- (const char **)&v39,
- 2,
- (const char **)&v38,
- 1,
- (const char **)&v36,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0);
- return CNWSObject__ACTION_COMPLETE;
- }
- v15 = *(_DWORD *)(v2 + 3172);
- v16 = (*(int (__thiscall **)(int))(*(_DWORD *)v4 + 16))(v4);
- v17 = CNWSCreatureStats__GetSkillRank(v15, 0x12u, v16, 0);
- v37 = CNWSCreatureStats__GetFavoredEnemyBonus(*(_DWORD *)(v2 + 3172), v4) + v17;
- v18 = *(_DWORD *)(v4 + 3172);
- v14 = rand() % 20 + 1;
- v19 = (*(int (__thiscall **)(int))(*(_DWORD *)v2 + 16))(v2);
- v20 = CNWSCreatureStats__GetSkillRank(v18, 1u, v19, 0);
- v13 = v20 + rand() % 20 + 1;
- v45 = v13;
- if ( CNWSCreatureStats__HasFeat(*(_DWORD *)(v4 + 3172), 380) )
- {
- v13 += 2;
- v45 = v13;
- }
- if ( v13 < 1 )
- {
- v45 = 1;
- v13 = 1;
- }
- if ( !(unsigned __int8)CNWSCreatureStats__GetINTStat(*(_DWORD *)(v4 + 3172)) )
- {
- *(_DWORD *)(v2 + 2720) = 0;
- CNWSCreature__SendFeedbackMessage(v2, 3u, 0, 0);
- return CNWSObject__ACTION_FAILED;
- }
- v40 = v37 + v14;
- if ( v37 + v14 >= v13 )
- {
- if ( !*(_DWORD *)(v4 + 2516) )
- {
- v36 = 1;
- if ( v14 - v13 + v37 >= 1 )
- v36 = v14 - v13 + v37;
- v21 = operator new(0x90u);
- v39 = v21;
- v44 = 1;
- if ( v21 )
- v22 = (int)CGameEffect__CGameEffect(v21, 1);
- else
- v22 = 0;
- v24 = *(_WORD *)(v22 + 10);
- *(_WORD *)(v22 + 8) = CNWSEffectListHandler__EFFECT_TAUNT;
- v44 = -1;
- v25 = CGameEffect__DURATION_TYPE_TEMPORARY | v24 & 0xFFF8;
- *(_DWORD *)(v22 + 12) = 1106247680;
- *(_WORD *)(v22 + 10) = v25;
- CGameEffect__SetCreator((void *)v22, *(_DWORD *)(v2 + 4));
- v23 = v36;
- if ( v36 > 6 )
- v23 = 6;
- CGameEffect__SetInteger(v22, 0, v23);
- CNWSObject__ApplyEffect((void *)v4, (void *)v22, 0, 0);
- v13 = v45;
- }
- }
- CNWSCreature__ClearPersonalReputation((void *)v2, *(_DWORD *)(v4 + 4));
- CNWSCreature__AddToPersonalReputationList((void *)v2, *(_DWORD *)(v4 + 4), -100, 1, 180.0);
- v27 = *(_DWORD *)CServerAIMaster__EVENT_ON_MELEE_ATTACKED;
- v28 = *(_DWORD *)(v4 + 4);
- v29 = *(_DWORD *)(v2 + 4);
- v30 = (void *)CServerExoApp__GetServerAIMaster(*(_DWORD *)(g_pAppManager + 4));
- CServerAIMaster__AddEventDeltaTime(v30, 0, 0, v29, v28, v27, 0);
- v26 = operator new(0x34u);
- v44 = 2;
- if ( v26 )
- v31 = CNWCCMessageData__CNWCCMessageData(v26);
- else
- v31 = 0;
- v32 = *(_DWORD *)(v2 + 4);
- v44 = -1;
- CNWCCMessageData__SetObjectID(v31, 0, v32);
- CScriptEvent__SetInteger(v31, 0, 342);
- CScriptEvent__SetInteger(v31, 1, v14);
- CScriptEvent__SetInteger(v31, 2, v37);
- CScriptEvent__SetInteger(v31, 3, v13);
- CScriptEvent__SetInteger(v31, 4, 0);
- CScriptEvent__SetInteger(v31, 6, 1);
- v33 = v40 >= v13;
- CScriptEvent__SetInteger(v31, 5, v33);
- CNWSCreature__BroadcastSkillData(v2, v31);
- CNWSCreature__SetCombatMode(v2, 0, 1);
- *(_DWORD *)(*(_DWORD *)(v2 + 2756) + 72) = 6000;
- *(_DWORD *)(v2 + 2720) = 0;
- return CNWSObject__ACTION_COMPLETE;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement