//CHECK THE PATHFINDER void AddStuffToPlayer(TroopScript player,int faction,muhClasses muhclass,Chief leader, int Attack,int Defence,int HitPoints,int Speed,int NumberOfSoldiers, Weaponry _weapon, Armory _armor) { // Classes ClassToSet = Classes.fromList(muhclass); player.Faction = faction; player.SetClassDONTUSETHISAREYOUSUREYOUWANTTOUSETHISYOUREALLYSHOULDNT(muhclass); player.SetChief(leader); player.SetBaseAttack(Attack); player.SetBaseDefence(Defence); player.SetBaseHitpoints(HitPoints); player.SetBaseSpeed(Speed); player.SetNumber(NumberOfSoldiers); player.SetWeapon(_weapon); player.SetArmor(_armor); }
int Speed; //A = 30, B = 20, C = 10 #endregion Fields #region Methods // List<muhSkills> ClassSkills = new List<muhSkills>(); // List<muhSkills> ClassAdvancedSkills = new List<muhSkills>(); public static Classes fromList(muhClasses _class) { Classes meinClass = new Classes(); switch (_class){ case muhClasses.Animal: meinClass = new Classes(){ Attack = 38, Defense = 0, Intelligence = 1, Speed = 20, HealCost = 4, MaxTroopRatio = 1, RecruitCost = 72, LayoffSaving = 4, isPhysical = true }; //no skills, they can't attack, they can only be slaughtered. Animals have no god. break; case muhClasses.Archer: meinClass = new Classes(){ Attack = 40, Defense = 15, Intelligence = 30, Speed = 20, HealCost = 4, MaxTroopRatio = 1.5f, RecruitCost = 36, LayoffSaving = 3, isPhysical = true }; //ClassSkills.Add(muhSkills.AccurateShots); // ClassSkills.Add(muhSkills.AccurateShots); // ClassSkills.Add(muhSkills.BowAttack); // ClassSkills.Add(muhSkills.StrongBowAttack); // ClassAdvancedSkills.Add(muhSkills.SweepingFire); // ClassAdvancedSkills.Add(muhSkills.Volley); // ClassAdvancedSkills.Add(muhSkills.Sharpshoot); // ClassAdvancedSkills.Add(muhSkills.BowAttackPlus); break; case muhClasses.Cannon: meinClass = new Classes(){ Attack = 110, Defense = 0, Intelligence = 20, Speed = 10, HealCost = 4, MaxTroopRatio = 1, RecruitCost = 120, LayoffSaving = 4, isPhysical = true, }; // ClassSkills.Add(muhSkills.CannonNormalAttack); // ClassSkills.Add(muhSkills.CannonStrongAttack); break; case muhClasses.Cavalry: meinClass = new Classes(){ Attack = 80, Defense = 35, Intelligence = 10, Speed = 30, HealCost = 1, MaxTroopRatio = 1, RecruitCost = 56, LayoffSaving = 3, isPhysical = true, }; // ClassSkills.Add(muhSkills.MuhFlags); // ClassSkills.Add(muhSkills.CounterRange); // ClassSkills.Add(muhSkills.Carry); // ClassSkills.Add(muhSkills.CavalryCharge); // ClassAdvancedSkills.Add(muhSkills.MuhFlags2); // ClassAdvancedSkills.Add(muhSkills.CavalryCharge2); // ClassAdvancedSkills.Add(muhSkills.OnRush); // ClassAdvancedSkills.Add(muhSkills.FollowThrough); break; case muhClasses.Diviner: meinClass = new Classes(){ Attack = 35, Defense = 10, Intelligence = 40, Speed = 20, HealCost = 4, MaxTroopRatio = 0.7f, RecruitCost = 60, LayoffSaving = 4, isPhysical = false, }; // ClassSkills.Add(muhSkills.MagicGuard); // ClassSkills.Add(muhSkills.Shikigami); // ClassAdvancedSkills.Add(muhSkills.Shikigami2); // ClassAdvancedSkills.Add(muhSkills.MagicGuardAround); // ClassAdvancedSkills.Add(muhSkills.SummonTrash); // ClassAdvancedSkills.Add(muhSkills.Lightning); break; case muhClasses.FootSoldier: meinClass = new Classes(){ Attack = 45, Defense = 20, Intelligence = 20, Speed = 20, HealCost = 1, MaxTroopRatio = 1.5f, RecruitCost = 24, LayoffSaving = 2, isPhysical = true, }; // ClassSkills.Add(muhSkills.AllyGuard); // ClassSkills.Add(muhSkills.FootSoldierAttack); // ClassSkills.Add(muhSkills.StrongFootAttack); // ClassAdvancedSkills.Add(muhSkills.AllyGuardPlus); // ClassAdvancedSkills.Add(muhSkills.AllGuard); // ClassAdvancedSkills.Add(muhSkills.Phalanx); // ClassAdvancedSkills.Add(muhSkills.FootSoldierAttack2); // ClassAdvancedSkills.Add(muhSkills.Loot); // ClassAdvancedSkills.Add(muhSkills.StrongFootAttack2); // ClassAdvancedSkills.Add(muhSkills.FellowTroopsRevenge); break; case muhClasses.Ice: meinClass = new Classes(){ Attack = 0, Defense = 40, Intelligence = 20, Speed = 0, HealCost = 0, MaxTroopRatio = 999, RecruitCost = 0, LayoffSaving = 0, isPhysical = true, }; break; case muhClasses.Knight: meinClass = new Classes(){ Attack = 60, Defense = 30, Intelligence = 20, Speed = 30, HealCost = 1, MaxTroopRatio = 1, RecruitCost = 56, LayoffSaving = 3, isPhysical = true, }; // ClassSkills.Add(muhSkills.KnightAttack); // ClassSkills.Add(muhSkills.KnightCharge); // ClassAdvancedSkills.Add(muhSkills.KnightAttack2); // ClassAdvancedSkills.Add(muhSkills.CleanUp); // ClassAdvancedSkills.Add(muhSkills.Maim); break; case muhClasses.Mage: meinClass = new Classes(){ Attack = 35, Defense = 10, Intelligence = 45, Speed = 10, HealCost = 4, MaxTroopRatio = 1, RecruitCost = 72, LayoffSaving = 4, isPhysical = false, }; // ClassSkills.Add(muhSkills.FrostDiver); // ClassSkills.Add(muhSkills.FireBlast); // ClassAdvancedSkills.Add(muhSkills.Icewall); // // ClassAdvancedSkills.Add(muhSkills.EnchantWeapon); // ClassAdvancedSkills.Add(muhSkills.WhiteDestructionBeam); // ClassAdvancedSkills.Add(muhSkills.StormGust); break; case muhClasses.Miko: meinClass = new Classes(){ Attack = 35, Defense = 10, Intelligence = 10, Speed = 10, HealCost = 4, MaxTroopRatio = 0.7f, RecruitCost = 72, LayoffSaving = 4, isPhysical = true, }; // ClassSkills.Add(muhSkills.BowAttackMiko); // ClassSkills.Add(muhSkills.MikoDance); // ClassAdvancedSkills.Add(muhSkills.HealingMist); // ClassAdvancedSkills.Add(muhSkills.MikoDancePlus); // ClassAdvancedSkills.Add(muhSkills.MikoDanceQuick); // ClassAdvancedSkills.Add(muhSkills.MikoStorm2); // ClassAdvancedSkills.Add(muhSkills.MikoStorm); break; case muhClasses.Monk: meinClass = new Classes(){ Attack = 50, Defense = 30, Intelligence = 20, Speed = 10, HealCost = 4, MaxTroopRatio = 1f, RecruitCost = 36, LayoffSaving = 3, isPhysical = true, }; // ClassSkills.Add(muhSkills.GuardCancel); // ClassSkills.Add(muhSkills.MonkCharge); // ClassSkills.Add(muhSkills.TenshiDivineTrash); // ClassSkills.Add(muhSkills.Meditate); // ClassSkills.Add(muhSkills.Depoison); // ClassAdvancedSkills.Add(muhSkills.TenshiDivineTrash2); // ClassAdvancedSkills.Add(muhSkills.Meditate2); // ClassAdvancedSkills.Add(muhSkills.ConvertAction); // ClassAdvancedSkills.Add(muhSkills.ConvertAction2); // ClassAdvancedSkills.Add(muhSkills.MonkChargePlus); // ClassAdvancedSkills.Add(muhSkills.Overtime); // ClassAdvancedSkills.Add(muhSkills.Overtime2); break; case muhClasses.Musketeer: meinClass = new Classes(){ Attack = 130, Defense = 0, Intelligence = 10, Speed = 30, HealCost = 4, MaxTroopRatio = 0.7f, RecruitCost = 120, LayoffSaving = 4, isPhysical = true, }; // ClassSkills.Add(muhSkills.Bait); // ClassSkills.Add(muhSkills.Shoot); // ClassSkills.Add(muhSkills.PenetrationShoot); // ClassAdvancedSkills.Add(muhSkills.AimAndShoot); // ClassAdvancedSkills.Add(muhSkills.PenetrationShoot2); // break; case muhClasses.Ninja: meinClass = new Classes(){ Attack = 38, Defense = 15, Intelligence = 20, Speed = 40, HealCost = 4, MaxTroopRatio = 0.7f, RecruitCost = 60, LayoffSaving = 4, isPhysical = true, }; // ClassSkills.Add(muhSkills.Shuriken); // ClassSkills.Add(muhSkills.Poison); // ClassSkills.Add(muhSkills.AnkleSnare); // ClassAdvancedSkills.Add(muhSkills.BattlegroundPreparation); // ClassAdvancedSkills.Add(muhSkills.HalveEnergy); // ClassAdvancedSkills.Add(muhSkills.Shuriken2); // ClassAdvancedSkills.Add(muhSkills.ChinkChinkShuriken); // ClassAdvancedSkills.Add(muhSkills.SonicShuriken); // ClassAdvancedSkills.Add(muhSkills.Assassinate); break; case muhClasses.Tactician: meinClass = new Classes(){ Attack = 38, Defense = 10, Intelligence = 20, Speed = 10, HealCost = 4, MaxTroopRatio = 1, RecruitCost = 48, LayoffSaving = 4, isPhysical = true, }; // ClassSkills.Add(muhSkills.BattleStrategy); // ClassSkills.Add(muhSkills.CrossbowAttack); // ClassSkills.Add(muhSkills.RemoveBuffs); // ClassAdvancedSkills.Add(muhSkills.BattleStrategy2) ; // ClassAdvancedSkills.Add(muhSkills.BattleStrategy3) ; // ClassAdvancedSkills.Add(muhSkills.CrossbowAttackPlus) ; // ClassAdvancedSkills.Add(muhSkills.RemoveBuffsAround) ; // ClassAdvancedSkills.Add(muhSkills.RemoveBuffsRanged) ; // ClassAdvancedSkills.Add(muhSkills.AdvanceTime) ; // ClassAdvancedSkills.Add(muhSkills.AdvanceTime2) ; // ClassAdvancedSkills.Add(muhSkills.BattleRatingDown) ; // ClassAdvancedSkills.Add(muhSkills.BattleRatingDown2) ; // ClassAdvancedSkills.Add(muhSkills.AccurateShots) ; break; case muhClasses.Warrior: meinClass = new Classes(){ Attack = 60, Defense = 30, Intelligence = 20, Speed = 20, HealCost = 4, MaxTroopRatio = 1, RecruitCost = 48, LayoffSaving = 4, isPhysical = true, //add a method to upgrade skills, add a list of skills they can learn, add the loop in troop to add the class skills }; // ClassSkills.Add(muhSkills.Charge); // ClassSkills.Add(muhSkills.WarriorAttack); // ClassSkills.Add(muhSkills.FullPowerCharge); // ClassAdvancedSkills.Add(muhSkills.WarriorAttack2); // ClassAdvancedSkills.Add(muhSkills.GuardBreak); // ClassAdvancedSkills.Add(muhSkills.ShoutingCharge); // ClassAdvancedSkills.Add(muhSkills.SideAttack); // ClassAdvancedSkills.Add(muhSkills.CarefulAttack); // ClassAdvancedSkills.Add(muhSkills.QuickAttack); // ClassAdvancedSkills.Add(muhSkills.LightAttack); // ClassAdvancedSkills.Add(muhSkills.FullPowerCharge2); // ClassAdvancedSkills.Add(muhSkills.GambleCharge); // ClassAdvancedSkills.Add(muhSkills.GambleChargeLove); break; case muhClasses.Yogurt: meinClass = new Classes(){ Attack = 60, Defense = 30, Intelligence = 20, Speed = 20, HealCost = 4, MaxTroopRatio = 1, RecruitCost = 48, LayoffSaving = 4, isPhysical = true, //add a method to upgrade skills, add a list of skills they can learn, add the loop in troop to add the class skills }; break; } return meinClass; }
public void SetClassDONTUSETHISAREYOUSUREYOUWANTTOUSETHISYOUREALLYSHOULDNT(muhClasses classy) { myClass = classy; }
public static List<muhSkills> GetBaseClassSkills(muhClasses _class) { List<muhSkills> ClassSkills = new List<muhSkills>(); // Debug.LogError (GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex]); // Debug.Log("player:"+GameManager.instance.playerTurns[GameManager.instance.PlayerTurnIndex].GetChief().GetName()+"has the class"+_class); switch (_class) { case muhClasses.Animal: ClassSkills.Add(muhSkills.AnimalBite); break; case muhClasses.Archer: ClassSkills.Add(muhSkills.AccurateShots); ClassSkills.Add(muhSkills.BowAttack); ClassSkills.Add(muhSkills.StrongBowAttack); ClassSkills.Add(muhSkills.Carry); break; case muhClasses.Cannon: ClassSkills.Add(muhSkills.CannonNormalAttack); ClassSkills.Add(muhSkills.CannonStrongAttack); break; case muhClasses.Cavalry: ClassSkills.Add(muhSkills.MuhFlags); ClassSkills.Add(muhSkills.CounterRange); ClassSkills.Add(muhSkills.Carry); ClassSkills.Add(muhSkills.CavalryCharge); break; case muhClasses.Diviner: ClassSkills.Add(muhSkills.MagicGuard); ClassSkills.Add(muhSkills.Shikigami); break; case muhClasses.FootSoldier: ClassSkills.Add(muhSkills.AllyGuard); ClassSkills.Add(muhSkills.FootSoldierAttack); ClassSkills.Add(muhSkills.StrongFootAttack); break; case muhClasses.Knight: ClassSkills.Add(muhSkills.KnightAttack); ClassSkills.Add(muhSkills.KnightCharge); break; case muhClasses.Mage: ClassSkills.Add(muhSkills.FrostDiver); ClassSkills.Add(muhSkills.FireBlast); break; case muhClasses.Miko: ClassSkills.Add(muhSkills.BowAttackMiko); ClassSkills.Add(muhSkills.MikoDance); break; case muhClasses.Monk: ClassSkills.Add(muhSkills.GuardCancel); ClassSkills.Add(muhSkills.MonkCharge); ClassSkills.Add(muhSkills.TenshiDivineTrash); ClassSkills.Add(muhSkills.Meditate); ClassSkills.Add(muhSkills.Depoison); break; case muhClasses.Musketeer: ClassSkills.Add(muhSkills.Bait); ClassSkills.Add(muhSkills.Shoot); ClassSkills.Add(muhSkills.PenetrationShoot); break; case muhClasses.Ninja: ClassSkills.Add(muhSkills.Shuriken); ClassSkills.Add(muhSkills.Poison); ClassSkills.Add(muhSkills.AnkleSnare); break; case muhClasses.Tactician: ClassSkills.Add(muhSkills.BattleStrategy); ClassSkills.Add(muhSkills.CrossbowAttack); ClassSkills.Add(muhSkills.RemoveBuffs); break; case muhClasses.Warrior: ClassSkills.Add(muhSkills.Charge); ClassSkills.Add(muhSkills.WarriorAttack); ClassSkills.Add(muhSkills.FullPowerCharge); ClassSkills.Add(muhSkills.Carry); ClassSkills.Add(muhSkills.Icewall); ClassSkills.Add (muhSkills.Sharpshoot); break; default: break; } return ClassSkills; }