public virtual void AddFighter(Mobile fighter) { if (!Fighters.Contains(fighter)) { Fighters.Add(fighter); } }
public static Fighter GetOrCreateFighter(string fullName) { if (fullName.Equals("Unknown") || fullName.Equals("Uknown")) { return(null); } var index = fullName.LastIndexOf(' '); if (index < 0) { return(null); } var firstname = fullName.Substring(0, index); var lastname = fullName.Substring(index + 1); var fighter = Fighters .FirstOrDefault(f => f.LastName.Equals(lastname) && (f.FirstName.Contains(firstname) || firstname.Contains(f.FirstName))); if (fighter == null) { fighter = new Fighter(NextFighterId++, firstname, lastname, null); Fighters.Add(fighter); } return(fighter); }
private void Awake() { // Setup dictionary from ScriptableObject data foreach (FighterData data in FighterDataList) { data.SetupDictionary(); } Fighter1 = new Fighter(); Fighter2 = new Fighter(); Fighters.Add(Fighter1); Fighters.Add(Fighter2); debugP2Attack = false; debugP2Guard = false; if (roundUI != null) { RoundUIAnimator = roundUI.GetComponent <Animator>(); } stateMachine = new StateMachine(); stateMachine.AddState(new StopState(this)); stateMachine.AddState(new IntroState(this)); FightState fightState = new FightState(this); fightState.DamageOccurred += (damaged, damagePos, damageResult) => DamageOccurred?.Invoke(damaged, damagePos, damageResult); // TODO refactor this stateMachine.AddState(new FightState(this)); stateMachine.AddState(new KOState(this)); stateMachine.AddState(new EndState(this)); stateMachine.SetState <StopState>(); }
public StationData(StationDesignData data) { designData = data; DisplayName = designData.Design.Name; //Add Fighters foreach (KeyValuePair <FighterDefinition, int> keyVal in designData.Fighters) { Fighters.Add(new FighterComplement(keyVal.Key, keyVal.Value)); } foreach (KeyValuePair <FighterDefinition, int> keyVal in designData.HeavyFighters) { HeavyFighters.Add(new FighterComplement(keyVal.Key, keyVal.Value)); } foreach (KeyValuePair <FighterDefinition, int> keyVal in designData.AssaultPods) { AssaultPods.Add(new FighterComplement(keyVal.Key, keyVal.Value)); } ammo = designData.Ammo; ammoMax = designData.Ammo; power = designData.PowerStorage; powerMax = designData.PowerStorage; crew = designData.Crew; crewMax = designData.Crew; troops = designData.Troops; troopsMax = designData.Troops; powerGenerated = designData.PowerGenerated; research = designData.Research; mining = designData.Mining; repair = designData.Repair; ammoGenerated = designData.AmmoGenerated; transporter = designData.Transporter; medical = designData.Medical; boardingDefense = designData.BoardingDefense; diplomacy = designData.Diplomacy; sensor = designData.Sensor; longRangeSensor = designData.LongRangeSensor; advancedSensor = designData.AdvancedSensor; health = designData.Health; healthMax = designData.Health; armorHealth = designData.ArmorHealth; armorHealthMax = designData.ArmorHealth; armorRating = designData.ArmorRating; shieldHealth = designData.ShieldHealth; shieldHealthMax = designData.ShieldHealth; shieldRating = designData.ShieldRating; shieldRechargeRate = designData.ShieldRechargeRate; shieldRechargeDelay = designData.ShieldRechargeDelay; SetCrewEffeciency(); foreach (SavedWeapon savedWeapon in designData.Weapons) { Weapons.Add(new AttachedWeapon(savedWeapon.weapon)); } }
public void InitialSetup(Fighter firstFighter, Fighter secondFighter) { Fighters.Clear(); Fighters.Add(firstFighter); Fighters.Add(secondFighter); PickInitialActor(); WindowController.Hit.Add("Game started!"); WindowController.Hit.Add("FIGHTING STAGE: " + Stage + " - " + GetActor().Name + " goes first!"); OutputFighterStatus(); // Creates the fighter status blocks (HP/Mana/Stamina) OutputFighterStats(); // Creates the fighter stat blocks (STR/DEX/END/INT/WIL) WindowController.Info.Add("[url=http://www.f-list.net/c/rendezvous%20fight/]Visit this page for game information[/url]"); IsActive = true; WindowController.UpdateOutput(this); }
protected void AddFighter(GameFightFighterInformations infos) { if (infos is GameFightMonsterInformations monsterInfo) { Monsters.Add(new Monster(monsterInfo.ContextualId, monsterInfo.Disposition.CellId, monsterInfo.Stats, monsterInfo.TeamId, monsterInfo.Alive, monsterInfo.CreatureGenericId, monsterInfo.CreatureGrade)); } else if (infos is GameFightCompanionInformations companionInfo) { Companions.Add(new Companion(companionInfo.ContextualId, companionInfo.Disposition.CellId, companionInfo.Stats, companionInfo.TeamId, companionInfo.Alive, companionInfo.CompanionGenericId, companionInfo.Level, companionInfo.MasterId)); } else { Fighters.Add(new Fighter(infos.ContextualId, infos.Disposition.CellId, infos.Stats, infos.TeamId, infos.Alive)); } }
public void Add(IFighter newFighter, bool setupDisplayNamesAfterAdd = true) { newFighter.Killed += _onFighterKilled; newFighter.SetTeam(this); Fighters.Add(newFighter); if (setupDisplayNamesAfterAdd) { SetupDisplayNames(); } Shade fighterAsShade = newFighter as Shade; if (fighterAsShade != null) { fighterAsShade.FighterSealed += _onFighterSealed; } FighterAddedEventArgs e = new FighterAddedEventArgs(newFighter); OnFighterAdded(e); }
protected void AddFighter(GameFightFighterInformations infos) { lock (CheckLock) { if (infos is GameFightMonsterInformations monsterInfo) { Monsters.Add(new Monster(monsterInfo.ContextualId, monsterInfo.Disposition.CellId, monsterInfo.Stats, (uint)monsterInfo.TeamId, monsterInfo.Alive, monsterInfo.CreatureGenericId, (byte)monsterInfo.CreatureGrade)); } //else if (infos is GameFightCompanion companionInfo) // Companions.Add(new Companion(companionInfo.ContextualId, companionInfo.Disposition.CellId, // companionInfo.Stats, companionInfo.TeamId, companionInfo.Alive, companionInfo.CompanionGenericId, // companionInfo.Level, companionInfo.MasterId)); else if (infos is GameFightCharacterInformations) { Fighters.Add(new Fighter(infos.ContextualId, infos.Disposition.CellId, infos.Stats, (uint)infos.TeamId, infos.Alive)); } else { throw new Exception($"Typeof({infos.TypeID}) [{infos.GetType()}] type is missing on AddFighter()"); } } }
public ShipData(ShipDesignData shipDesignData) { designData = shipDesignData; DisplayName = designData.Design.Name; ForeSection = new ShipQuadrant(this, designData.ForeQuadrant, QuadrantTypes.Fore); AftSection = new ShipQuadrant(this, designData.AftQuadrant, QuadrantTypes.Aft); StarboardSection = new ShipQuadrant(this, designData.StarboardQuadrant, QuadrantTypes.Starboard); PortSection = new ShipQuadrant(this, designData.PortQuadrant, QuadrantTypes.Port); CenterSection = new ShipQuadrant(this, designData.CenterQuadrant, QuadrantTypes.Center); //Add Fighters foreach (KeyValuePair <FighterDefinition, int> keyVal in shipDesignData.Fighters) { Fighters.Add(new FighterComplement(keyVal.Key, keyVal.Value)); } foreach (KeyValuePair <FighterDefinition, int> keyVal in shipDesignData.HeavyFighters) { HeavyFighters.Add(new FighterComplement(keyVal.Key, keyVal.Value)); } foreach (KeyValuePair <FighterDefinition, int> keyVal in shipDesignData.AssaultPods) { AssaultPods.Add(new FighterComplement(keyVal.Key, keyVal.Value)); } fuelMax = designData.Fuel; fuel = fuelMax; ammo = designData.Ammo; ammoMax = designData.Ammo; power = designData.PowerStorage; powerMax = designData.PowerStorage; crew = designData.Crew; crewMax = designData.Crew; supplies = designData.Supplies; suppliesMax = designData.Supplies; troops = designData.Troops; troopsMax = designData.Troops; commandPoints = designData.CommandPoints; mass = designData.Mass; powerGenerated = designData.PowerGenerated; FTLSpeed = designData.FTLSpeed; research = designData.Research; mining = designData.Mining; repair = designData.Repair; ammoGenerated = designData.AmmoGenerated; transporter = designData.Transporter; medical = designData.Medical; cloakingPower = designData.CloakingPower; stealth = designData.Stealth; boardingDefense = designData.BoardingDefense; colonies = designData.Colonies; diplomacy = designData.Diplomacy; sensor = designData.Sensor; longRangeSensor = designData.LongRangeSensor; advancedSensor = designData.AdvancedSensor; CalculateEngines(); AttackDirection = designData.Design.attackDirection; AttackStyle = designData.Design.attackStyle; if (designData.Design.attackRange != -1) { attackRange = designData.Design.attackRange; } else { attackRange = designData.maxRange; } SetCrewEffeciency(); }