BOOL NpcCastleGateLever(LPOBJ lpNpc, LPOBJ lpObj) //GS-CS Decompiled 100% { if ( (lpObj->m_IfState.use) > 0 ) { return TRUE; } #if(GS_CASTLE==1) BOOL bControlEnable = 0; BYTE btResult = 0; int iGateIndex = -1; if(g_CastleSiege.GetCastleState() == 7) { if(lpObj->m_btCsJoinSide != TRUE) { btResult = 4; bControlEnable = FALSE; } else { bControlEnable = TRUE; } } else { if(!g_CastleSiege.CheckCastleOwnerMember(lpObj->m_Index)) { if(!g_CastleSiege.CheckCastleOwnerUnionMember(lpObj->m_Index)) { btResult = 4; bControlEnable = FALSE; } else { bControlEnable = TRUE; } } } if(bControlEnable != FALSE) { if(g_CastleSiege.CheckLeverAlive(lpNpc->m_Index) == TRUE) { if(g_CastleSiege.CheckCsGateAlive(lpNpc->m_iCsGateLeverLinkIndex) == TRUE) { btResult = 1; iGateIndex = lpNpc->m_iCsGateLeverLinkIndex; } else { btResult = 2; } } } else { btResult = 3; } GCAnsCsGateState(lpObj->m_Index,btResult,iGateIndex); if(btResult != 1) { return TRUE; } lpObj->m_IfState.use = 1; lpObj->m_IfState.type = 12; #endif return TRUE; }
BOOL NpcCastleGateLever(LPOBJ lpNpc, LPOBJ lpObj) { if ( (lpObj->m_IfState.use) > 0 ) { return TRUE; } #if (GS_CASTLE == 1) int bControlEnable = FALSE; BYTE btResult = NULL; int iGateIndex = -1; if( g_CastleSiege.GetCastleState() == CASTLESIEGE_STATE_STARTSIEGE ) { if(lpObj->m_btCsJoinSide != 1) { btResult = 4; bControlEnable = FALSE; } else { bControlEnable = TRUE; } } else { if(g_CastleSiege.CheckCastleOwnerMember(lpObj->m_Index) == FALSE && g_CastleSiege.CheckCastleOwnerUnionMember(lpObj->m_Index) == FALSE) { btResult = 4; bControlEnable = FALSE; } else { bControlEnable = TRUE; } } if(bControlEnable != FALSE) { if(g_CastleSiege.CheckLeverAlive(lpNpc->m_Index) == TRUE) { if(g_CastleSiege.CheckCsGateAlive(lpNpc->m_iCsGateLeverLinkIndex) == TRUE) { btResult = 1; iGateIndex = lpNpc->m_iCsGateLeverLinkIndex; } else { btResult = 2; } } else { btResult = 3; } } GCAnsCsGateState(lpObj->m_Index,btResult,iGateIndex); if(btResult != 1) { return TRUE; } else { lpObj->m_IfState.use = 1; lpObj->m_IfState.type = 12; } #endif return TRUE; }