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; }
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; }