public override void InitBuff(BuffInfoRecord buffRecord, FightObj_Player sender, FightObj_Player reciver) { _ImpactRecord = TableReader.BuffImpact_ModifyValueLast.GetRecord(buffRecord.Impact.ID); if (_ImpactRecord == null) { return; } if (_ImpactRecord.TargetValue == PLAYER_VALUE_TYPE.EVALUATION) { ErrorManager.PushAndDisplayError("BuffImpact_ModifyValueLast TargetValue Cant modify last!! " + _ImpactRecord.TargetValue.ToString()); return; } int sourceValue = 0; if (_ImpactRecord.SourceType == SKILL_TARGET_TYPE.Self) { sourceValue = sender.GetValue(_ImpactRecord.SourceValue); } else if (_ImpactRecord.SourceType == SKILL_TARGET_TYPE.Enemy) { sourceValue = sender.GetValue(_ImpactRecord.SourceValue); } else if (_ImpactRecord.ModifyType == IMPACT_MODIFY_TYPE.FIXED) { sourceValue = (int)_ImpactRecord.ModifyValue; } if (_ImpactRecord.ModifyType == IMPACT_MODIFY_TYPE.PERSEND) { sourceValue = (int)(sourceValue * _ImpactRecord.ModifyValue); } if (_ImpactRecord.TargetValue != PLAYER_VALUE_TYPE.EVALUATION) { _ModifiedValue = reciver.AddValue(_ImpactRecord.TargetValue, sourceValue); } }
public override void Calculate(GirlMemberInfo girl, GuestInfoRecord guest, BuffInfoRecord buff, int orgAttract, int orgPoint, out int outAttract, out int outPoint) { Impact_ModifyCulRecord impactRecord = TableReader.Impact_ModifyCul.GetRecord(buff.Impact.ID); int valueAttract = 0; int valuePoint = 0; outAttract = orgAttract; outPoint = orgPoint; switch (impactRecord.ActTarget) { case IMPACT_MODIFY_TARGET.ATTR1A: valueAttract = (int)(girl.Attr1A * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr1AAttract); valuePoint = (int)(girl.Attr1A * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr1APoint); outAttract += valueAttract; outPoint += valuePoint; break; case IMPACT_MODIFY_TARGET.ATTR1B: valueAttract = (int)(girl.Attr1B * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr1BAttract); valuePoint = (int)(girl.Attr1B * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr1BPoint); outAttract += valueAttract; outPoint += valuePoint; break; case IMPACT_MODIFY_TARGET.ATTR2A: valueAttract = (int)(girl.Attr2A * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr2AAttract); valuePoint = (int)(girl.Attr2A * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr2APoint); outAttract += valueAttract; outPoint += valuePoint; break; case IMPACT_MODIFY_TARGET.ATTR2B: valueAttract = (int)(girl.Attr2B * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr2BAttract); valuePoint = (int)(girl.Attr2B * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr2BPoint); outAttract += valueAttract; outPoint += valuePoint; break; case IMPACT_MODIFY_TARGET.ATTR3A: valueAttract = (int)(girl.Attr2A * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr2AAttract); valuePoint = (int)(girl.Attr2A * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr2APoint); outAttract += valueAttract; outPoint += valuePoint; break; case IMPACT_MODIFY_TARGET.ATTR3B: valueAttract = (int)(girl.Attr3B * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr3BAttract); valuePoint = (int)(girl.Attr3B * ((impactRecord.ActPersent) * 0.0001f) * guest.Attr3BPoint); outAttract += valueAttract; outPoint += valuePoint; break; case IMPACT_MODIFY_TARGET.ATTRACK: valueAttract = (int)(orgAttract * ((impactRecord.ActPersent + 10000) * 0.0001f)); outAttract = valueAttract; break; case IMPACT_MODIFY_TARGET.POINT: valuePoint = (int)(orgPoint * ((impactRecord.ActPersent + 10000) * 0.0001f)); outPoint = valuePoint; break; } }
public void Calculate(GirlMemberInfo girl, GuestInfoRecord guest, BuffInfoRecord buffRecord, int orgAttract, int orgPoint, out int outAttract, out int outPoint) { var buffBase = (BuffImpact_Base)System.Activator.CreateInstance(System.Type.GetType("GameLogic." + buffRecord.Impact.TableName)); buffBase.Calculate(girl, guest, buffRecord, orgAttract, orgPoint, out outAttract, out outPoint); }
public virtual void Calculate(GirlMemberInfo girl, GuestInfoRecord guest, BuffInfoRecord buff, int orgAttract, int orgPoint, out int outAttract, out int outPoint) { outAttract = orgAttract; outPoint = orgPoint; }
public override void InitBuff(BuffInfoRecord buffRecord, FightObj_Player sender, FightObj_Player reciver) { _ImpactRecord = TableReader.BuffImpact_ModifyAttract.GetRecord(buffRecord.Impact.ID); }