public static bool IsAttrLarge(GirlMemberInfo girl1, GirlMemberInfo girl2, List <int> attrs) { int AFiltNum = 0; int BFiltNum = 0; int AValue = 0; int BValue = 0; foreach (int attr in attrs) { if (girl1.GetAttr(attr) > girl1.GetInverseAttr(attr)) { ++AFiltNum; } AValue += girl1.GetAttr(attr); if (girl2.GetAttr(attr) > girl2.GetInverseAttr(attr)) { ++BFiltNum; } BValue += girl2.GetAttr(attr); } if (AFiltNum == BFiltNum) { return(AValue > BValue); } return(AFiltNum > BFiltNum); }
public static bool CanGirlSkillUse(GirlMemberInfo useSkillGirl, SkillInfoRecord skillInfo, List <GirlMemberInfo> fightGirls) { switch (skillInfo.ActTerm) { case SKILL_ACT_TERM.NEED_LARGE1: return(IsFightGirlLarge1(useSkillGirl, fightGirls)); case SKILL_ACT_TERM.NEED_LARGE2: return(IsFightGirlLarge2(useSkillGirl, fightGirls)); case SKILL_ACT_TERM.NEED_SMALL1: return(IsFightGirlSmall1(useSkillGirl, fightGirls)); case SKILL_ACT_TERM.NEED_SMALL2: return(IsFightGirlSmall2(useSkillGirl, fightGirls)); case SKILL_ACT_TERM.NEED_SAME1: return(IsFightGirlSame1(useSkillGirl, fightGirls)); case SKILL_ACT_TERM.NEED_SAME2: return(IsFightGirlSame2(useSkillGirl, fightGirls)); case SKILL_ACT_TERM.NEED_SERIES: return(IsFightGirlSeries(useSkillGirl, fightGirls)); } return(false); }
public bool TryCaptureGirl(GirlMemberInfo girlInfo, int gold, int luxury, int diamond) { if (!PlayerData.Instance.TryDecAll(new int[] { gold, luxury, diamond })) { ErrorManager.PushAndDisplayError("resource not enough"); return(false); } int captureRate = CulCaptureGirlRate(girlInfo, gold, luxury, diamond); int randomRate = Random.Range(0, 10001); Hashtable hash = new Hashtable(); if (randomRate < captureRate) { GirlMemberPack.Instance.AddNewGirl(girlInfo); hash.Add("Sucess", true); GameCore.PushEvent(EVENT_TYPE.EVENT_LOGIC_CAPTURE_GIRL, hash); return(true); } else { hash.Add("Sucess", false); GameCore.PushEvent(EVENT_TYPE.EVENT_LOGIC_CAPTURE_GIRL, hash); return(false); } }
public void Calculate(GirlMemberInfo girl, GuestInfoRecord guest, SkillInfoRecord skill, int orgAttract, int orgPoint, out int outAttract, out int outPoint) { outAttract = orgAttract; outPoint = orgPoint; //foreach (var buff in skill.Buffs) { _BuffManager.Calculate(girl, guest, skill.Buffs[0], orgAttract, orgPoint, out outAttract, out outPoint); } }
public bool SwapGroupGirl(GirlMemberInfo orgGirl, GirlMemberInfo newGirl) { if (_NormalFightGroup.Remove(orgGirl)) { _NormalFightGroup.Add(newGirl); return(true); } return(false); }
public override List <GirlMemberInfo> GetEnemyGirl() { var girls = GirlMemberPack.Instance.GetRandomGirlInStar(_ObjRecord.GirlStar, 1); GirlMemberInfo fightGirl = new GirlMemberInfo(girls[0].Id); List <GirlMemberInfo> fightgirls = new List <GirlMemberInfo>(); fightgirls.Add(fightGirl); return(fightgirls); }
public bool AddToNormalFightGroup(GirlMemberInfo girlInfo) { if (_NormalFightGroup.Contains(girlInfo)) { ErrorManager.PushAndDisplayError("Girl already in group!"); return(false); } _NormalFightGroup.Add(girlInfo); return(true); }
public override List <GirlMemberInfo> GetEnemyGirl() { var randomIds = GameBase.GameRandom.GetIndependentRandoms(0, TableReader.GirlInfo.Records.Count, 3); List <GirlMemberInfo> fightgirls = new List <GirlMemberInfo>(); foreach (var randomID in randomIds) { GirlMemberInfo fightGirl = new GirlMemberInfo(randomID.ToString()); fightgirls.Add(fightGirl); } return(fightgirls); }
public static bool IsFightGirlLarge1(GirlMemberInfo useSkillGirl, List <GirlMemberInfo> fightGirls) { int star = useSkillGirl.GirlInfoRecord.Star; int conditionCount = 0; foreach (var girl in fightGirls) { if (girl == useSkillGirl) { continue; } if (girl.GirlInfoRecord.Star > star) { ++conditionCount; } } if (conditionCount >= 1) { return(true); } return(false); }
public static bool IsFightGirlSeries(GirlMemberInfo useSkillGirl, List <GirlMemberInfo> fightGirls) { if (fightGirls.Count != 3) { return(false); } List <int> stars = new List <int>(); foreach (var girl in fightGirls) { stars.Add(girl.GirlInfoRecord.Star); } stars.Sort(); for (int i = 1; i < stars.Count; ++i) { if (stars[i] - stars[i - 1] > 1) { return(false); } } return(true); }
public bool IsGirlInSpecilFight(GirlMemberInfo girl) { return(FightingGirls.Contains(girl)); }
public bool AddGroupGirl(GirlMemberInfo orgGirl) { _NormalFightGroup.Add(orgGirl); return(true); }
public void AddNewGirl(GirlMemberInfo girlInfo) { GirlList.Add(girlInfo); LogManager.Log("AddNewGirl:" + girlInfo.GirlInfoRecord.Id); }
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 virtual void Calculate(GirlMemberInfo girl, GuestInfoRecord guest, BuffInfoRecord buff, int orgAttract, int orgPoint, out int outAttract, out int outPoint) { outAttract = orgAttract; outPoint = orgPoint; }
public bool IsGirlInWebcamFight(GirlMemberInfo girl) { return(WebcamGirls.Contains(girl)); }
public int CulCaptureGirlRate(GirlMemberInfo girlInfo, int gold, int luxury, int diamond) { int captureRate = 0; if (girlInfo.GirlInfoRecord.Star == 1) { captureRate += luxury * 50; captureRate += gold * 10; if (captureRate > 9999) { captureRate = 9999; } captureRate += diamond * 1000; } else if (girlInfo.GirlInfoRecord.Star == 2) { captureRate += luxury * 50; captureRate += gold * 10; if (captureRate > 8888) { captureRate = 8888; } captureRate += diamond * 500; } else if (girlInfo.GirlInfoRecord.Star == 3) { captureRate += luxury * 50; captureRate += gold * 10; if (captureRate > 5555) { captureRate = 5555; } captureRate += diamond * 200; } else if (girlInfo.GirlInfoRecord.Star == 4) { captureRate += luxury * 50; captureRate += gold * 10; if (captureRate > 3333) { captureRate = 3333; } captureRate += diamond * 150; } else if (girlInfo.GirlInfoRecord.Star == 5) { captureRate += luxury * 50; captureRate += gold * 10; if (captureRate > 1111) { captureRate = 1111; } captureRate += diamond * 100; } return(captureRate); }
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); }