Esempio n. 1
0
	private bool CheckCond( cUnitData data_I , cUnitData data_E , List<cTextFunc> funcList, int nSkillID, int  nBuffID   )
	{
		if (funcList == null)
			return false;
		
		foreach( cTextFunc func in funcList )
		{
			if( func.sFunc == "GO" )
			{
				
				return true;		// always true
			}
			else if( func.sFunc == "NULL" || func.sFunc == "0" )
			{
				return   false;		// always fail
			}
			if( func.sFunc == "HP_I"  )
			{
				return   false;		// always fail
			}
			else if( func.sFunc == "HP_E"  )
			{
				return   false;		// always fail
			}
			else if( func.sFunc == "MAR_I"  )
			{
				float f1 = data_I.GetMar();
				float f2 = 0.0f;
				if( func.S( 1 ) == "E" )
				{
					if( data_E != null ){
						f2 = data_E.GetMar();
					}else{
						return false; // no enemy is false
					}
				}
				else{
					f2 = func.F( 1 );
				}
				
				if( MyScript.Instance.ConditionFloat( f1 , func.S(0) ,f2  ) == false  ){
					return   false;		// always fail
				}
			}
			else if( func.sFunc == "MAR_E"  )
			{					
				return   false;		// always fail
			}
			else if( func.sFunc == "BUFF_I"  )
			{
				return   false;		// always fail
			}
			else if( func.sFunc == "BUFF_E"  )
			{
				return   false;		// always fail
			}
			else if( func.sFunc == "SCHOOL_I"  )
			{
				
				return false;
			}
			else if( func.sFunc == "SCHOOL_E"  )
			{
				
				return false;
			}
			else if( func.sFunc == "SKILL_I"  )
			{
				
				return false;
			}
			else if( func.sFunc == "SKILL_E"  )
			{
				
				return false;
			}
			else if( func.sFunc == "RANGE_E"  )
			{
				
				return false;
			}

			// Fight stat check
			else if( func.sFunc == "FST_ATKER"  )
			{				
				return data_I.IsStates( _UNITSTATE._ATKER );
			}
			else if( func.sFunc == "FST_DEFER"  )
			{				
				return data_I.IsStates( _UNITSTATE._ATKER )==false;
			}
			else if( func.sFunc == "FST_DAMAGE"  )
			{
				return data_I.IsStates( _UNITSTATE._DAMAGE );
			}
			else if( func.sFunc == "FST_KILL"  )
			{
				return data_I.IsStates( _UNITSTATE._KILL );
			}
			else if( func.sFunc == "FST_DEAD"  )
			{
				return data_I.IsStates( _UNITSTATE._DEAD );
			}
			else if( func.sFunc == "FST_DODGE"  )
			{
				return data_I.IsStates( _UNITSTATE._DODGE );
			}
			else{
				Debug.LogError( string.Format( "Error-Can't find script cond func '{0}'" , func.sFunc ) );
			}
		}
		return true;
	}
Esempio n. 2
0
	public void CalDropResult( cUnitData Atker , cUnitData Defer , ref int nExp , ref int nMoney )
	{
		if( Atker == null ) return ;
		int exp 	= 1; // base exp
		int money 	= 0;
		if( Defer != null ){
			int nDiffLv = Defer.n_Lv-Atker.n_Lv;
			if( nDiffLv > 3  ){
				exp +=3;
			}
			else if( nDiffLv > -3  ){
				exp +=1;
			}
			//
			// kill
			if( Defer.IsStates( _UNITSTATE._DEAD ) ){

				exp = (exp*4)+20;
				money  = 1000;

				// check drop item
				if( Defer.cCharData.n_ITEM_DROP  > 0 ){
					nDropItemPool.Add( Defer.cCharData.n_ITEM_DROP );
				}

			}
		}
		nExp 	+= exp ; 
		nMoney 	+= money;



	}