randomoption.h+ C& s j- x3 p% |
" |2 A; p; C$ v1 g8 U& }
于:9 ~# p- H% }5 X( ^/ o6 C
PHP代码:
public:
bool IsCheckedSafeFlag( __int64 n64RandomeOption );
void SetSafeFlag( __int64* pn64RandomOption );
void ResetSafeFlag( __int64* pn64RandomOption ); ; H/ q7 R! i- @
// mulcom END100405 °¢¼º º¸È£ÀÇ µÎ·ç¸¶¸® & d5 P( ~0 M6 y8 O1 i9 V" A
6 c' n6 L3 {. m1 @/ d) u! c) a
认为:" K- J, u. s$ + }1 c
PHP代码:
#ifdef __FASHION_COMBINE ; K* g0 c4 N X5 ]
public: G: G! d9 d4 N7 E" n9 P, L# L
int MergeRandomOption( CItemElem* pItemElemMain, CItemElem* pItemElemDestroy, int nMaxCombinedSize = 3 );
#endif // __FASHION_COMBINE
# K; q1 @' X* ~0 E6 f
---------------------------------------------------------------------------------------------------------------------
randomoption.cpp
下功能:
PHP代码:
bool CRandomOptionProperty::IsCheckedSafeFlag( __int64 n64RandomeOption ) 0 e% }- T$ ], W+ b# T8 Z3 ?( V
0 N' _2 { M3 I
认为:
PHP代码:
#ifdef __FASHION_COMBINE & J) o$ _0 S, b& a! x
int CRandomOptionProperty::MergeRandomOption( CItemElem* pItemElemMain, CItemElem* pItemElemDestroy, int nMaxCombinedSize )
{
int nMainSize = g_xRandomOptionProperty->GetRandomOptionSize( pItemElemMain->GetRandomOptItemId() ); + Q/ C& i: H7 V
int nDestroySize = g_xRandomOptionProperty->GetRandomOptionSize( pItemElemDestroy->GetRandomOptItemId() );
if( nMainSize + nDestroySize > nMaxCombinedSize )
return 1; 3 g! b8 j$ }: f+ C1 F7 + H% c
% E3 k, V* L: A' d2 H
for( int i = 0; i < nDestroySize; i++ )
{ ! h+ x6 W' L- a& |; y3 I2 f' o9 D
int nDst, nAdj; 5 d- s* g# G1 y& l- O4 I
if( g_xRandomOptionProperty->GetParam( pItemElemDestroy->GetRandomOptItemId(), i, &nDst, &nAdj ) ) ; c2 _5 K. A8 [; g
g_xRandomOptionProperty->SetParam( pItemElemMain->GetRandomOptItemIdPtr(), nDst, nAdj );
}
return 0;
} 0 v/ I) C1 K$ Z7 c: b1 C( F
#endif // __FASHION_COMBINE ( H8 v" D; O# @1 ' [' `7 k
-----------------------------------------------------------------------------------------------------------------------
MsgHdr.h
前的快照:) ]1 C7 e2 I3 f/ E% z/ [
PHP代码:
#ifdef __FASHION_COMBINE / S& x- U& q$ {/ n9 ]% I: Y) s
#define PACKETTYPE_COMBINE_FASHION (DWORD)0x88100299 2 w+ B9 U$ }6 }$ p
#endif // __FASHION_COMBINE 7 D' R6 E3 ?: O+ H9 a
' L1 u4 1 G# h3 e
-------------------------------------------------------------------------------------------------------------------------9 `; e8 u, p: L, q6 E
DPSrvr.h# }7 X2 n' w" ' V" B* M0 U
于:
PHP代码:
#ifdef __GUILD_HOUSE_MIDDLE $ q& r. P. d3 Y9 U: ^
void OnGuildHouseTenderMainWnd( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long ); $ Z0 P: Z+ Y" R4 J$ r
void OnGuildHouseTenderInfoWnd( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
void OnGuildHouseTenderJoin( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
#endif // __GUILD_HOUSE_MIDDLE
$ V" w) p; Y) z . t8 |+ ! I
认为:& o+ @0 y( Q$ g/ W% @$ r @! [& c
PHP代码:
#ifdef __FASHION_COMBINE 2 `) ^: B0 |) a# I0 g
void OnFashionCombine( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long ); ! m& M" W. t0 V4 d7 ( I
#endif // __FASHION_COMBINE
' o7 U5 c! z! }* t L
------------------------------------------------------------------------------------------------------------------------- v) V6 v( R8 w3 Y. K; b
DPSrvr.cpp1 n( a* O: f, v C2 Q @/ p! r. }
于:7 [: f% ]! ?+ G7 q0 D1 N1 c" f
PHP代码:
#ifdef __GUILD_HOUSE_MIDDLE
ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_MAINWND, OnGuildHouseTenderMainWnd ); & h+ {* D' J1 q; N) l0 c
ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_INFOWND, OnGuildHouseTenderInfoWnd );
ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_JOIN, OnGuildHouseTenderJoin );
#endif // __GUILD_HOUSE_MIDDLE 7 v, L' @6 c9 p2 Y7 x
认为:4 O" C+ A) x, ^& X
PHP代码:
#ifdef __FASHION_COMBINE
ON_MSG( PACKETTYPE_COMBINE_FASHION, OnFashionCombine );
#endif // __FASHION_COMBINE
就在最后:
PHP代码:
#ifdef __FASHION_COMBINE
void CDPSrvr::OnFashionCombine( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long ) 1 A' f7 K( }) X& r9 P9 {
{ 4 a3 f& W( j" e6 _: r
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
if( IsValidObj( pUser ) )
{ % c; A" E( @! r% t- y
DWORD dwItem = NULL_ID; 7 J$ ^8 ?7 X5 _4 v' C
CItemElem* pItemElem[8];
for( int i = 0; i < 8; i++ )
{ 5 A& l" @% J2 ?2 ]. C
ar >> dwItem; 0 q% ]% X& G, q! r2 q
pItemElem = pUser->m_Inventory.GetAtId( dwItem );
if( !IsUsableItem( pItemElem)) " j% e0 _2 B1 G5 W0 m# L. {$ a
return;
} 2 ~% x$ h: V" ?" j6 b" a
if( xRandom( 10000 ) < 10000 ) ; G s% X# U+ U2 R! A; a# G2 y# N8 v
{
int nResult = 0; 1 f1 S6 X7 D5 P7 n( ~" ^9 L
nResult = g_xRandomOptionProperty->MergeRandomOption( pItemElem[0], pItemElem[1] ); ! p5 B, S2 T o$ K
nResult += g_xRandomOptionProperty->MergeRandomOption( pItemElem[2], pItemElem[3] ); 5 ^1 C+ 3 ^6 U6 }
nResult += g_xRandomOptionProperty->MergeRandomOption( pItemElem[4], pItemElem[5] ); $ K3 x/ {4 P; ?8 @0 R# ) J" S2 P( [
nResult += g_xRandomOptionProperty->MergeRandomOption( pItemElem[6], pItemElem[7] ); , h; h, s" @: P( y* p, C) Y
if( nResult > 0 ) 4 A# R1 ~; W$ E$ k7 v
{
Error( "packet editor detected. tried to combine more then 3 awakening on one item. User: %s", pUser->GetName() );
} ( B' b. |, J2 j
for( int i = 1; i < 8; i += 2 ) 1 ?* S3 f+ ]6 f; Y$ _& K
{ ) ?7 [& K) j) V7 T3 y/ E( ?( Q
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_NUM, 0 );
}
for( int i = 0; i < 8; i += 2 )
{ 5 w, Z$ X8 E4 j2 J
pUser->UpdateItemEx( (BYTE)( pItemElem->m_dwObjId ), UI_RANDOMOPTITEMID, pItemElem->GetRandomOptItemId() );
} 7 {8 O7 A p9 r/ j
8 ]) r( b- M9 _+ a/ ~3 l
pUser->AddDefinedText( TID_COSTUME_COSTUMEMIXCOMPLETE );
}else : j+ K2 }1 k8 i6 o, D) L- b
{
pUser->AddPlaySound( SND_INF_UPGRADEFAIL );
if( pUser->IsMode( TRANSPARENT_MODE ) == 0 )
g_UserMng.AddCreateSfxObj( (CMover *)pUser, XI_INT_FAIL, pUser->GetPos().x, pUser->GetPos().y, pUser->GetPos().z ); ! X& I7 E/ K5 S* Z/ a p2 M$ O
if( pUser->HasBuff( BUFF_ITEM, II_SYS_SYS_SCR_COSTUMEDEFENDER ) ) + v! J( O/ E2 Y4 l- S
{
pUser->RemoveBuff( BUFF_ITEM , II_SYS_SYS_SCR_COSTUMEDEFENDER );2 X+ n- D5 U: L, D6 & f4 G8 [" k
pUser->AddDefinedText( TID_MMI_COSTUME_SAFEMIXITEM03 ); ' l- }+ ]% j6 q4 x5 z
}else ; T$ x. K) ^. w2 D1 L+ X
{
pUser->AddDefinedText( TID_MMI_COSTUME_COSTUMEMIXFAILED );
for( int i = 0; i < 8; i++ ) % P" V# a; t1 y, A; _
{
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_NUM, 0 );
}
} ) S6 s) b. V) x8 J( Q
} 0 `5 @! |: C5 b' T3 @" k
}
}
#endif // __FASHION_COMBINE
----------------------------------------------------------------------------------------------------------------------------
WndField.h( o+ z0 W4 g2 b9 l( O
下功能:
PHP代码:
class CWndCampusSeveranceConfirm : public CWndNeuz 0 l( S: @7 r/ m( C(
+ r: G9 `: L: p4 l
认为:- T; Y* r9 _+ _- d$ j
PHP代码:
#ifdef __FASHION_COMBINE 4 t' b8 c0 t/ F; q' K& w
class CWndFashionCombine : public CWndNeuz
{ ( G% U3 ^5 T; x: d8 V! n
public: 5 n) S6 H7 j5 n* O( d. ]4 p
CItemElem* m_pItemElem[12]; 5 E b# ?. y9 s
CTexture* m_pTexture[12];
$ I7 t* r( o9 E- y+ @*
public: 8 w" `) z$ _) e( Z* [4 a( |
CWndFashionCombine(); % z; $ b5 j1 W1 T1 H
virtual ~CWndFashionCombine();
virtual void OnDraw( C2DRender* p2DRender );
virtual void OnInitialUpdate();
virtual BOOL Initialize( CWndBase* pWndParent = NULL, DWORD nType = MB_OK ); 3 N& s4 Y: a. V2 C% V
virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ); 6 p* b, k; R9 m! s: @# R
virtual BOOL OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase );
virtual void OnSize( UINT nType, int cx, int cy );
virtual BOOL OnDropIcon( LPSHORTCUT pShortcut, CPoint point );
};
#endif // __FASHION_COMBINE
. H! 6 l6 C) [, W
----------------------------------------------------------------------------------------------------------------------------' M( X+ M$ q. D5 Z- R& |, S- X0 t1 @
WndField.cpp" y4 E/ q5 W* z# j) R7 M ]% c
0 Y# _' k6 w2 g
于:
PHP代码:
#include "wndwebbox.h"
认为:
PHP代码:
#ifdef __FASHION_COMBINE ; q9 [! R: i: {0 c: X
#include "randomoption.h"
#endif // __FASHION_COMBINE
就在最后:
PHP代码:
#ifdef __FASHION_COMBINE 7 F" q" h( j0 ] s. N
CWndFashionCombine::CWndFashionCombine() $ ]6 d( {8 p9 w0 A# V0 a2 P' m
{ 5 G% t2 q8 R) X! E( y& w
for( int i = 0; i < 12; i++ ) 4 c8 X) P& D; [' s
{
m_pItemElem = NULL; ; C7 K$ n+ Z* l" z, Q$ P6 o4 k
m_pTexture = NULL; ' O+ z# Z+ H0 y8 z3 k/ H0 `3 ^
//ZeroMemory( m_pItemElem, sizeof( m_pItemElem ));
//ZeroMemory( m_pTexture, sizeof( m_pTexture ));
}
}
CWndFashionCombine::~CWndFashionCombine() 9 ~. f! U# c: O* P! E; Z
{
for( int i = 0; i < 8; i++ ) ; I: D' r( e6 |: }! s) t$ I
{
if( m_pItemElem != NULL )
{
if( !g_pPlayer->m_vtInfo.IsTrading( m_pItemElem ))
m_pItemElem->SetExtra(0); # o. x" - H9 O, u+ s4 K) X
}
}
}
void CWndFashionCombine::OnDraw( C2DRender* p2DRender ) & m3 E0 T, I8 W- g; m
{
LPWNDCTRL wndCtrl[12];
) `- J3 D) L% K4 w
wndCtrl[0] = GetWndCtrl( WIDC_ST_HAT_A );
wndCtrl[1] = GetWndCtrl( WIDC_ST_CLOTH_A );
wndCtrl[2] = GetWndCtrl( WIDC_ST_GLOVE_A ); 9 @( w5 N1 C7 r) X4 a* . }
wndCtrl[3] = GetWndCtrl( WIDC_ST_SHOES_A ); 1 B- |1 l- c; J. f- R
wndCtrl[4] = GetWndCtrl( WIDC_ST_HAT_B ); * P3 e/ Q$ s6 O
wndCtrl[5] = GetWndCtrl( WIDC_ST_CLOTH_B );
wndCtrl[6] = GetWndCtrl( WIDC_ST_GLOVE_B );
wndCtrl[7] = GetWndCtrl( WIDC_ST_SHOES_B ); / }4 U) I* I* o* O# d& s4 V
wndCtrl[8] = GetWndCtrl( WIDC_ST_RESULT_HAT );
wndCtrl[9] = GetWndCtrl( WIDC_ST_RESULT_CLOTH ); 6 E0 J S% b4 u, p2 W1 / I
wndCtrl[10]= GetWndCtrl( WIDC_ST_RESULT_GLOVE ); 0 q* b; v, x) w) m- S& n- B
wndCtrl[11]= GetWndCtrl( WIDC_ST_RESULT_SHOES ); 7 m B( P. Q0 z: @; b$ o( B$ z0 W
for( int i = 0; i < 12; i++ ) 4 h( S' w3 U6 U) Z) x
{
if( m_pItemElem != NULL && m_pTexture != NULL ) 6 Q0 v" K1 e* i2 p5 w
{
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top));
}
}
} * d$ }3 _' m/ i% t y4 B$ C# w. T
void CWndFashionCombine::OnInitialUpdate()
{
CWndNeuz::OnInitialUpdate(); , }2 d$ T, {2 ^
; ^3 E- s; a+ e' G* s, Q4 p
CWndButton* pButton = (CWndButton*)GetDlgItem(WIDC_BT_START);
pButton->EnableWindow(FALSE);
MoveParentCenter(); - o& s. c+ G1 s- t4 L5 I# b
}
BOOL CWndFashionCombine::Initialize( CWndBase* pWndParent, DWORD /*dwWndId*/ ) * q+ O( M; m6 ?7 z) B
{
return CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_COSTUME_MIXMENU, 0, CPoint( 0, 0 ), pWndParent ); 8 M# _: e% Q# ]% q& M1 U# s
} 2 Y4 A( W) I3 c- {, i
BOOL CWndFashionCombine::OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase )
{ / k- J9 t* X+ w
return CWndNeuz::OnCommand( nID, dwMessage, pWndBase );
} / m& k3 u/ i% u% W3 z- c, L
void CWndFashionCombine::OnSize( UINT nType, int cx, int cy )
{
CWndNeuz::OnSize( nType, cx, cy );
} 7 ?8 H; ~1 B" n, m5 S' k. ^( f
2 F' ?. G. d7 A' ( x
BOOL CWndFashionCombine::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
{
CRect rect[8];
LPWNDCTRL wndCtrl[8];
wndCtrl[0] = GetWndCtrl( WIDC_ST_HAT_A ); / e& f. $ E9 M( U) O4 x5 F
wndCtrl[1] = GetWndCtrl( WIDC_ST_CLOTH_A );
wndCtrl[2] = GetWndCtrl( WIDC_ST_GLOVE_A );
wndCtrl[3] = GetWndCtrl( WIDC_ST_SHOES_A );
wndCtrl[4] = GetWndCtrl( WIDC_ST_HAT_B ); + a0 K# @/ ?3 u9 N( D# E. y
wndCtrl[5] = GetWndCtrl( WIDC_ST_CLOTH_B );
wndCtrl[6] = GetWndCtrl( WIDC_ST_GLOVE_B ); + I. n9 ?! b4 ]" X- U$ U, _
wndCtrl[7] = GetWndCtrl( WIDC_ST_SHOES_B );
4 , J* t! n1 U6 M( u0 c
BOOL bUpdate = FALSE; ( e% a* E9 o& z! h. `
for( int i = 0; i < 8; i++ )
{
rect = wndCtrl->rect;
if( rect.PtInRect( point )) * b/ j) W) C8 T
{
CItemElem* pTempElem;
pTempElem = (CItemElem*) g_pPlayer->GetItemId( pShortcut->m_dwId );
if( pTempElem != NULL ) 1 N3 @0 w7 W9 N# f
{
if( 0 < CRandomOptionProperty::GetInstance()->GetRandomOptionSize( pTempElem->GetRandomOptItemId() )) 8 d/ C$ b2 ?# K$ M* b# O
{
ItemProp* pItemProp = pTempElem->GetProp();
if(( i == 0 || i == 4 ) && ( pItemProp->dwItemKind3 == IK3_HAT )) & j) t( i# {3 I
{
if( i == 0 )
{ ; ~$ Y8 a& c ]& q4 ^
if( m_pItemElem[4] != NULL )
{ ' V0 J' A+ E, X3 t) p7 ]
int nSize = 0; ) X. [; a+ U% ^
nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() ); 8 ?; t3 g2 X" ^- r$ P% T
nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[4]->GetRandomOptItemId() );
if( nSize > 3 )
{
g_WndMng.OpenMessageBox( "oversize" ); 6 Y( O5 r% @" @1 u8 U7 d
return TRUE; / R; I# T2 H& N3 x7 j+ j7 e! d) X
}else - G0 S$ a X" _- l$ N) o2 e7 d
{ 5 X$ ?2 G1 o5 N$ A! ?) V c
bUpdate = TRUE; - Z2 V0 h/ M) d- ^( J
}
}
if(m_pItemElem != NULL) 2 l0 S' T u! `) g( J/ G
m_pItemElem->SetExtra(0);
2 7 y k9 @* Z$ I) }5 q
m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff ); 1 K7 f0 p4 g. z4 D
m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);
- {6 D+ N. A2 S" p
if( bUpdate == TRUE ) ( g3 }7 E3 z# Z. w$ ~3 d8 6 ^1 Z. p
{
m_pItemElem[8] = m_pItemElem[0]; 9 B5 ^; H3 K7 V) ^1 x
m_pTexture[8] = m_pTexture[0]; _% ]2 l. l! {) e& y
// g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[8], m_pItemElem[4] ); ! |6 O, ^3 o0 l1 y0 ?: _
}
} - o3 I2 `' X+ t. @5 } p
if( i == 4 )
{ 6 a. Y+ ~# C D; |
if( m_pItemElem[0] != NULL )
{ . V! b; p9 u0 N; I% M% N7 C
int nSize = 0;
nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() );
nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[0]->GetRandomOptItemId() );
if( nSize > 3 ) / L$ V! {; V' ~* {+ m2 S- H, I
{ 4 c" r0 U, _. @) n ?, Z
g_WndMng.OpenMessageBox( "oversize" ); ; v& {) T# d( t+ R. X4 V* _8 d! k
return TRUE;
}else 8 o& n; c! S0 Q/ R. D$ c# a
{
bUpdate = TRUE;
}
} 9 H+ U2 ]4 n
if(m_pItemElem != NULL) + d7 m, l* d" j$ e& X! I
m_pItemElem->SetExtra(0); ; }/ q7 ?' O/ P c# ?. f
m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff );
m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);
if( bUpdate == TRUE )
{
m_pItemElem[8] = m_pItemElem[0];
m_pTexture[8] = m_pTexture[0];
// g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[8], m_pItemElem[4] );
}
}
}else : , U6 F4 P/ O* x* J
if(( i == 1 || i == 5 ) && ( pItemProp->dwItemKind3 == IK3_CLOTH ))
{ " q4 p3 O. b4 T1 I
if( i == 1 )
{
if( m_pItemElem[5] != NULL )
{
int nSize = 0; ( c9 i ]9 e% c1 b" K% d0 O8 L
nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() ); 8 g1 D: v+ f! o2 p! C$ F7 w( i8 T
nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[5]->GetRandomOptItemId() ); & n) ~9 r: L2 _. c' b! l
if( nSize > 3 )
{ 4 I N2 a/ v: p* g$ ]
g_WndMng.OpenMessageBox( "oversize" );
return TRUE; 1 A6 x+ ]0 e: D
}else 7 M. i# I) |9 A9 B
{ k6 b9 G4 R: K2 I( ) d
bUpdate = TRUE;
}
}
if(m_pItemElem != NULL) " W( W8 Z- d- [
m_pItemElem->SetExtra(0); 0 y* G, i$ f) D% V
m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff );
m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1); 4 N* W7 W8 y5 q- d! B& `& A
if( bUpdate == TRUE ) ) } v* V$ _- x# H2 ?
{
m_pItemElem[9] = m_pItemElem[1]; / c- G n8 I/ F- E/ Q
m_pTexture[9] = m_pTexture[1];
// g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[9], m_pItemElem[5] );
}
} . L& R. N9 P5 G, W
if( i == 5 )
{ + 9 K5 d) s) P) A8 ) h- ]' T
if( m_pItemElem[1] != NULL )
{
int nSize = 0; : I# f! r5 p2 K8 x+ u+ N- N
nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() ); ; m$ s3 m, J4 G8 ~$ J
nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[1]->GetRandomOptItemId() );
if( nSize > 3 ) . w' E/ ^0 z. n/ . M
{ ; v7 ` A# G( _
g_WndMng.OpenMessageBox( "oversize" );
return TRUE;
}else
{ Z9 W1 }8 @4 g+ O/ ~" s
bUpdate = TRUE;
} 7 O v) p. y5 G* I K. v
} * V, O8 x' b, x9 @. ^1 V" e
if(m_pItemElem != NULL) {; l/ V5 q8 O# M S8 o
m_pItemElem->SetExtra(0);
m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId ); " v) r1 [8 Q, A' q# S
m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff ); ; m2 p6 R# s. v9 e5 s5 K
m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1); , u. l2 O1 w5 i1 c' K
# n5 ?- d7 k; }8 A: _3 ^# s
if( bUpdate == TRUE )
{ 7 }* V# w$ O9 P3 ^
m_pItemElem[9] = m_pItemElem[1]; , L4 G. r1 G# V: N: Z$ P* Z
m_pTexture[9] = m_pTexture[1]; 3 w$ z/ x9 l& B3 x( S- z
//g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[9], m_pItemElem[5] );
} " c8 Q* G, V- ?6 v9 C7 y7 G
}
}else
if(( i == 2 || i == 6 ) && ( pItemProp->dwItemKind3 == IK3_GLOVE ))
{
if( i == 2 ) , C2 H9 ~8 V; y4 C* z" M
{ + Q2 j8 g1 M) I" A; p
if( m_pItemElem[6] != NULL )
{ 0 l1 t* g' [4 M5 e" v2 }3 d# f) X1 z
int nSize = 0;
nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() );
nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[6]->GetRandomOptItemId() );
if( nSize > 3 )
{ / O) 7 ^, j) r; E
g_WndMng.OpenMessageBox( "oversize" ); . l0 X: x9 o* c
return TRUE; 0 S9 [; Q$ d4 G7 t
}else 5 K# a: h' o- k2 q" m9 G
{
bUpdate = TRUE; - S, ~! r! M# M5 W
} 7 , I/ F- u- V- v4 ?
}
if(m_pItemElem != NULL) 4 T5 T% F; ^& O
m_pItemElem->SetExtra(0); 5 Z5 V+ ?6 b4 b4 W# D
m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId ); ( }4 Y- W0 L1 r* g* y
m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff );
m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1); 8 _) z1 r/ J& `4 X- p& C
if( bUpdate == TRUE ) ! |6 [" B3 X) K }8 l9 x( M
{
m_pItemElem[10] = m_pItemElem[2]; 3 B) V! v: F4 S) N! N: K+ U
m_pTexture[10] = m_pTexture[2]; * N) _. A" s) m E
// g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[10], m_pItemElem[6] );
}
}
if( i == 6 )
{
if( m_pItemElem[2] != NULL ) 4 2 K3 ^% 2 h, C8 ~3 B7 Z
{
int nSize = 0;
nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() ); . E) ]0 f" Y+ c. X
nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[2]->GetRandomOptItemId() ); % J- w5 f/ n0 Q
if( nSize > 3 )
{
g_WndMng.OpenMessageBox( "oversize" );
return TRUE; 3 Y I! k& C; E- D
}else ) E$ K; l, d& I5 {+ T
{
bUpdate = TRUE; 9 Y' Q k! ?& x3 r# u5 ^
} / m& , B( c1 E" Q# x- |) ^) b8 q
} ( . r' Y- c# o& H6 u& ^
if(m_pItemElem != NULL) & o0 S& x5 E+ j6 _% A# Y9 U# `
m_pItemElem->SetExtra(0);
2 W4 p1 a+ x( o# G" n. Y
m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId ); - }; e" F; v9 w; C
m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff );
m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);
if( bUpdate == TRUE )
{
m_pItemElem[10] = m_pItemElem[2]; . _8 s$ U$ Y! D2 s5 C, h
m_pTexture[10] = m_pTexture[2];
// g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[10], m_pItemElem[6] ); ; k Q' j# Y8 K" I T
}
}
}else 9 s, X' R$ d. w& p
if(( i == 3 || i == 7 ) && ( pItemProp->dwItemKind3 == IK3_SHOES ))
{
if( i == 3 )
{
if( m_pItemElem[7] != NULL ) , T$ F3 F# a0 g1 v1 ~% Q# C7 [% w
{
int nSize = 0; 8 c6 F. `" H" ^$ x: Z
nSize += g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() ); % w4 F9 X. z8 e! ~8 u+ f
nSize += g_xRandomOptionProperty->GetRandomOptionSize( m_pItemElem[7]->GetRandomOptItemId() ); ; Q8 i2 ~) l; k% E$ ^) F3 H
if( nSize > 3 ) $ X; H- q% m/ j7 R' ?# Y5 L
{ 8 T+ T) ?5 $ ! P( y
g_WndMng.OpenMessageBox( "oversize" );
return TRUE; ) G, R2 K9 J) Y
}else
{ . Q4 `1 I8 M$ ]7 m
bUpdate = TRUE;
} ( l/ f& R3 }. y
}
if(m_pItemElem != NULL) & d% h6 T, a! m' b4 _4 D
m_pItemElem->SetExtra(0);
m_pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pItemProp->szIcon), 0xffff00ff ); - t! ]2 P3 W4 y, L2 _
m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1); ; m8 P: q) d6 Y- O
6 H: c r r$ c* s
if( bUpdate == TRUE ) 9 i8 v4 C- j- B4 F3 K) Z) G4 H7 X
{ 1 T3 l6 @& Q0 Q: ]& X; V# R; t
m_pItemElem[11] = m_pItemElem[3];
m_pTexture[11] = m_pTexture[3]; ( s/ A" J0 b8 h
// g_xRandomOptionProperty->MergeRandomOption( m_pItemElem[11], m_pItemElem[7] );
} : R3 e2 A( _5 J; M a' a" U: ]
} ; z' T t# H6 W: Y& J
if( i == 7 )
{
if( m_pItemElem[3] != NULL ) ( n6 Q5 Y- P0 F$ ? J: {
{ , G8 U" q1 X- a9 A, F6 ^3 U$ J
int nSize = 0; % C