public CrewMember(CrewMember baseCrewMember) { _id = baseCrewMember.Id; Pilot = baseCrewMember.Pilot; Fighter = baseCrewMember.Fighter; Trader = baseCrewMember.Trader; Engineer = baseCrewMember.Engineer; _curSystemId = baseCrewMember.CurrentSystemId; }
public CrewMember(CrewMemberId id, int pilot, int fighter, int trader, int engineer, StarSystemId curSystemId) { Id = id; Pilot = pilot; Fighter = fighter; Trader = trader; Engineer = engineer; CurrentSystemId = curSystemId; }
public CrewMember(CrewMemberId id, int pilot, int fighter, int trader, int engineer, StarSystemId curSystemId) { _id = id; Pilot = pilot; Fighter = fighter; Trader = trader; Engineer = engineer; _curSystemId = curSystemId; }
public bool HasCrew(CrewMemberId id) { bool found = false; for (int i = 0; i < Crew.Length && !found; i++) { if (Crew[i] != null && Crew[i].Id == id) { found = true; } } return(found); }
public Ship(Hashtable hash) : base(hash) { _fuel = (int)GetValueFromHash(hash, "_fuel"); _hull = (int)GetValueFromHash(hash, "_hull"); _tribbles = (int)GetValueFromHash(hash, "_tribbles", _tribbles); _cargo = (int[])GetValueFromHash(hash, "_cargo", _cargo); _weapons = (Weapon[])ArrayListToArray((ArrayList)GetValueFromHash(hash, "_weapons"), "Weapon"); _shields = (Shield[])ArrayListToArray((ArrayList)GetValueFromHash(hash, "_shields"), "Shield"); _gadgets = (Gadget[])ArrayListToArray((ArrayList)GetValueFromHash(hash, "_gadgets"), "Gadget"); _pod = (bool)GetValueFromHash(hash, "_pod", _pod); int[] crewIds = (int[])GetValueFromHash(hash, "_crewIds"); _crew = new CrewMember[crewIds.Length]; for (int index = 0; index < _crew.Length; index++) { CrewMemberId id = (CrewMemberId)crewIds[index]; _crew[index] = (id == CrewMemberId.NA ? null : Game.CurrentGame.Mercenaries[(int)id]); } }
public void Fire(CrewMemberId crewId) { int skill = Trader; bool found = false; CrewMember merc = null; for (int i = 0; i < Crew.Length; i++) { if (Crew[i] != null && Crew[i].Id == crewId) { found = true; merc = Crew[i]; } if (found) { Crew[i] = (i < Crew.Length - 1) ? Crew[i + 1] : null; } } if (Trader != skill) { Game.CurrentGame.RecalculateBuyPrices(Game.CurrentGame.Commander.CurrentSystem); } if (merc != null && !Consts.SpecialCrewMemberIds.Contains(merc.Id)) { StarSystem[] universe = Game.CurrentGame.Universe; // The leaving Mercenary travels to a nearby random system. merc.CurrentSystemId = StarSystemId.NA; while (merc.CurrentSystemId == StarSystemId.NA) { StarSystem system = universe[Functions.GetRandom(universe.Length)]; if (Functions.Distance(system, Game.CurrentGame.Commander.CurrentSystem) < Consts.MaxRange) { merc.CurrentSystemId = system.Id; } } } }
public CrewMember(Hashtable hash) : base(hash) { _id = (CrewMemberId)GetValueFromHash(hash, "_id"); _skills = (int[])GetValueFromHash(hash, "_skills", _skills); _curSystemId = (StarSystemId)GetValueFromHash(hash, "_curSystemId", _curSystemId); }
public bool HasCrew(CrewMemberId id) { bool found = false; for (int i = 0; i < Crew.Length && !found; i++) { if (Crew[i] != null && Crew[i].Id == id) found = true; } return found; }
public void Fire(CrewMemberId crewId) { int skill = Trader; bool found = false; CrewMember merc = null; for (int i = 0; i < Crew.Length; i++) { if (Crew[i] != null && Crew[i].Id == crewId) { found = true; merc = Crew[i]; } if (found) Crew[i] = (i < Crew.Length - 1) ? Crew[i + 1] : null; } if (Trader != skill) Game.CurrentGame.RecalculateBuyPrices(Game.CurrentGame.Commander.CurrentSystem); if (merc != null && !Consts.SpecialCrewMemberIds.Contains(merc.Id)) { StarSystem[] universe = Game.CurrentGame.Universe; // The leaving Mercenary travels to a nearby random system. merc.CurrentSystemId = StarSystemId.Na; while (merc.CurrentSystemId == StarSystemId.Na) { StarSystem system = universe[Functions.GetRandom(universe.Length)]; if (Functions.Distance(system, Game.CurrentGame.Commander.CurrentSystem) < Consts.MaxRange) merc.CurrentSystemId = system.Id; } } }