Пример #1
0
//	// this should work only each casting phase
//	void UpdateFightAttr( )
//	{
//		if (FightAttr == null )
//			return;
//
//		FightAttr.ClearBase (); // clear base attr only
//
//		// cast attr will add in  cast pahse
//
////		if (FightAttr.SkillData != null) {
////			MyTool.AttrSkillEffect( this , FightAttr.SkillData.CastPool , FightAttr.SkillData.CastCond , FightAttr.SkillData.CastCondEffectPool );
////		}
//	}




	cAttrData GetAttrData( int idx )
	{
		cAttrData attr;
		if (Attr.TryGetValue( idx , out attr ) == false ) {
			attr = new cAttrData();
			Attr.Add( idx , attr );
		}
		if (attr == null) {
			Debug.LogErrorFormat( "GetAttrData err! Unit{0} can't get attr{1} , " , n_CharID ,idx );
		}
		return attr;
	}
Пример #2
0
	override public void _Attr( cUnitData Atker , cUnitData Defer, ref cAttrData attr  ){ 
		attr.f_MAR += fValue;
	}
Пример #3
0
	override public void _Attr( cUnitData Atker , cUnitData Defer, ref cAttrData attr  ){ 
		if ((Atker != null) && ( Defer != null)) {
			float fDelt = Defer.GetBaseMar() - Atker.GetBaseMar();
			fDelt *=fValue;
			// this is final
			attr.f_MAR += fDelt;
		}
	}
Пример #4
0
	override public void _Attr( cUnitData Atker , cUnitData Defer, ref cAttrData attr  ){ 
		attr.fMpCostRate += fValue;
	}
Пример #5
0
	public virtual void _Attr( cUnitData Atker , cUnitData Defer, ref cAttrData attr ){ }
Пример #6
0
	override public void _Attr( cUnitData Atker , cUnitData Defer, ref cAttrData attr  ){ 
		attr.n_MOV += nValue;
	}
Пример #7
0
	override public void _Attr( cUnitData Atker , cUnitData Defer, ref cAttrData attr  ){ 
		if ((Atker != null)) {
			attr.n_SP += iValue;
		}
	}
Пример #8
0
	override public void _Attr( cUnitData Atker , cUnitData Defer, ref cAttrData attr  ){ 
		if ((Atker != null) && ( Defer != null)) {
			float fDelt = Defer.GetBaseAttack() - Atker.GetBaseAttack();
			fDelt *=fValue;
			// this is final
			attr.n_ATK += (int)fDelt;
		}
	}
Пример #9
0
	public void UpdateCondAttr( ref cAttrData attr  )
	{
		attr.Reset ();
		if (Pool.Count == 0)
			return;

		cUnitData unit_e = GameDataManager.Instance.GetUnitDateByIdent ( Owner.FightAttr.TarIdent );
		foreach( KeyValuePair< int , cBuffData > pair in Pool )
		{
			cUnitData unit = null ;
			if( pair.Value.nTargetIdent > 0 ){
				unit = GameDataManager.Instance.GetUnitDateByIdent ( pair.Value.nTargetIdent );
			}
			else {
				unit = unit_e;
			}
			//if( MyScript.Instance.CheckSkillCond( pair.Value.tableData.s_BUFF_CONDITON , this.Owner , unit_e ) == true )
			if( pair.Value.Condition.Check( this.Owner , unit , pair.Value.nSkillID , pair.Value.nID ) )
			{
				foreach( cEffect eft in pair.Value.ConditionEffectPool )
				{
					if( eft != null )
					{
						eft._Attr( Owner , unit , ref attr );
					}
				}
			}
		}
	}
Пример #10
0
	public void UpdateAttr( ref cAttrData attr  )
	{
		attr.Reset ();
		if (Pool.Count == 0)
			return;
		cUnitData unit_e = GameDataManager.Instance.GetUnitDateByIdent ( Owner.FightAttr.TarIdent );
		foreach( KeyValuePair< int , cBuffData > pair in Pool )
		{
			cUnitData unit = null ;
			if( pair.Value.nTargetIdent > 0 ){
				unit = GameDataManager.Instance.GetUnitDateByIdent ( pair.Value.nTargetIdent );
			}
			else {
				unit = unit_e;
			}

			foreach( cEffect eft in pair.Value.EffectPool )
			{
				if( eft != null )
				{
					eft._Attr( Owner , unit ,  ref attr );
				}
			}
		}
	}