/// <summary>
        /// Creates the balloon, the dwarves, and the initial balloon port.
        /// </summary>
        public void CreateInitialEmbarkment()
        {
            // If no file exists, we have to create the balloon and balloon port.
            if (!string.IsNullOrEmpty(ExistingFile))
            {
                return;
            }

            BalloonPort port = GenerateInitialBalloonPort(Master.Faction.RoomBuilder, ChunkManager,
                                                          Camera.Position.X, Camera.Position.Z, 3);

            CreateInitialDwarves();
            PlayerFaction.AddMoney(InitialEmbark.Money);

            foreach (var res in InitialEmbark.Resources)
            {
                PlayerFaction.AddResources(new ResourceAmount(res.Key, res.Value));
            }
            var portBox = port.GetBoundingBox();

            ComponentManager.RootComponent.AddChild(Balloon.CreateBalloon(
                                                        portBox.Center() + new Vector3(0, 100, 0),
                                                        portBox.Center() + new Vector3(0, 10, 0), ComponentManager,
                                                        new ShipmentOrder(0, null), Master.Faction));

            Camera.Target   = portBox.Center();
            Camera.Position = Camera.Target + new Vector3(0, 15, -15);

            GenerateInitialObjects();
        }
    // Use this for initialization
    void Start()
    {
        playerFactionSpec = (PlayerFaction)Faction.GetComponent("PlayerFaction");
        UnitBody          = (GameObject)Instantiate(unitPrefab);
        UnitBodySpec      = ((UnitSpec)UnitBody.GetComponent("UnitSpec"));
        UnitBodySpec.paintUnit(playerFactionSpec.FactionColor);
        UnitBodySpec.GenerateBody();
        UnitBody.transform.parent   = this.transform;
        UnitBody.transform.position = this.transform.position;
        switch (UnitBodySpec.getUnitClassSize())
        {
        case UnitSpec.UnitSize.M:
            UnitBody.transform.localScale = new Vector3(3.5f, 3.5f, 3.5f);
            break;

        default:
            break;
        }
        SetRotation();
        health = UnitBodySpec.getMaxHealth();
        supply = UnitBodySpec.getMaxSupply();
        ammo   = new int[UnitBodySpec.turrets.Length];
        for (int i = 0; i < ammo.Length; i++)
        {
            ammo[i] = ((TurretSpec)UnitBodySpec.turrets[i].GetComponent("TurretSpec")).getMaxAmmo();
        }
    }
    GameObject SelectUnitPrefab(int faction, int unitid)
    {
        GameObject    playerFaction     = Factions.transform.GetChild(faction).gameObject;
        PlayerFaction playerFactionSpec = (PlayerFaction)playerFaction.GetComponent("PlayerFaction");

        return(playerFactionSpec.getUnitPrefab(unitid));
    }
예제 #4
0
    void botsetup(PlayerFaction faction)
    {
        string _name = Utils.RandomString(8);

        _bot = new BotClass {
            faction = faction, _name = _name
        };
    }
 public void EndTurn()
 {
     if (_playerFaction == null)
     {
         _playerFaction = Locator.Instance.Find <IFactionManager>().GetPlayerFaction() as PlayerFaction;
     }
     _playerFaction.EndTurn();
 }
 public bool HasEnemyUnit(int x, int y, PlayerFaction unitFaction)
 {
     if (UnitPlacement [x, y] != null)
     {
         GameUnit unit = (GameUnit)UnitPlacement [x, y].GetComponent("GameUnit");
         return(!unitFaction.isAlliedWith(unit.playerFactionSpec));
     }
     return(false);
 }
예제 #7
0
        private void RegisterFactions(IFactionManager factionManager)
        {
            var locator = GetLocator();

            var player = new PlayerFaction("Player", locator);
            var nature = new NatureFaction("Nature", locator);
            var enemy  = new AIFaction("Enemy", locator);

            factionManager.AddFaction(nature);
            factionManager.AddFaction(enemy);
            factionManager.AddFaction(player);
        }
예제 #8
0
    public static AttributesManager[] GetFactionAllAttrManager(PlayerFaction faction)
    {
        List <AttributesManager> factionAttrManager = new List <AttributesManager>();

        foreach (AttributesManager tempAttrManager in allAttrManager)
        {
            if (tempAttrManager.faction == faction)
            {
                factionAttrManager.Add(tempAttrManager);
            }
        }
        return(factionAttrManager.ToArray());
    }
예제 #9
0
 public void capture(GameUnit unit)
 {
     if (Owner != unit.playerFactionSpec)
     {
         ConquerorImage.color = unit.playerFactionSpec.FactionColor;
         Points += controlStrength(unit);
         if (Points >= MaxPoints)
         {
             Owner  = unit.playerFactionSpec;
             Points = 0;
         }
         updateTile();
     }
 }
예제 #10
0
 protected override void ReadData(ESPReader reader)
 {
     using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
         using (ESPReader subReader = new ESPReader(stream, reader.Plugin))
         {
             try
             {
                 Stimpack.ReadBinary(subReader);
                 SuperStimpack.ReadBinary(subReader);
                 RadX.ReadBinary(subReader);
                 RadAway.ReadBinary(subReader);
                 MedX.ReadBinary(subReader);
                 PerkParalysis.ReadBinary(subReader);
                 PlayerFaction.ReadBinary(subReader);
                 MysteriousStrangerNPC.ReadBinary(subReader);
                 MysteriousStrangerFaction.ReadBinary(subReader);
                 DefaultMusic.ReadBinary(subReader);
                 BattleMusic.ReadBinary(subReader);
                 DeathMusic.ReadBinary(subReader);
                 SuccessMusic.ReadBinary(subReader);
                 LevelUpMusic.ReadBinary(subReader);
                 PlayerVoiceMale.ReadBinary(subReader);
                 PlayerVoiceMaleChild.ReadBinary(subReader);
                 PlayerVoiceFemale.ReadBinary(subReader);
                 PlayerVoiceFemaleChild.ReadBinary(subReader);
                 EatPackageDefaultFood.ReadBinary(subReader);
                 EveryActorAbility.ReadBinary(subReader);
                 DrugWearsOffImageSpace.ReadBinary(subReader);
                 DoctorsBag.ReadBinary(subReader);
                 MissFortuneNPC.ReadBinary(subReader);
                 MissFortuneFaction.ReadBinary(subReader);
                 MeltdownExplosion.ReadBinary(subReader);
                 UnarmedPowerAttackForward.ReadBinary(subReader);
                 UnarmedPowerAttackBackward.ReadBinary(subReader);
                 UnarmedPowerAttackLeft.ReadBinary(subReader);
                 UnarmedPowerAttackRight.ReadBinary(subReader);
                 UnarmedPowerAttackCrouch.ReadBinary(subReader);
                 UnarmedPowerAttackCounter.ReadBinary(subReader);
                 SpotterEffect.ReadBinary(subReader);
                 ItemDetectedEffect.ReadBinary(subReader);
                 CateyeMobileEffect.ReadBinary(subReader);
             }
             catch
             {
                 return;
             }
         }
 }
예제 #11
0
    public List <GameObject> getWaypoint(PlayerFaction f)
    {
        List <GameObject> waypoints = new List <GameObject>();

        switch (f)
        {
        case PlayerFaction.Orc:
            waypoints = orcWaypoints;
            break;

        case PlayerFaction.Warrior:
            waypoints = knightWaypoints;
            break;
        }
        return(waypoints);
    }
예제 #12
0
    public static PlayerFaction GetEnemyFaction(PlayerFaction myFaction)
    {
        PlayerFaction enemyFaction = PlayerFaction.Ghost;

        switch (myFaction)
        {
        case PlayerFaction.People:
            enemyFaction = PlayerFaction.Ghost;
            break;

        case PlayerFaction.Ghost:
            enemyFaction = PlayerFaction.People;
            break;
        }
        return(enemyFaction);
    }
    void SpawnUnit(int x, int y, int faction, int unitid)
    {
        GameObject    prefab            = SelectUnitPrefab(faction, unitid);
        GameObject    playerFaction     = Factions.transform.GetChild(faction).gameObject;
        PlayerFaction playerFactionSpec = (PlayerFaction)playerFaction.GetComponent("PlayerFaction");

        //var unit = (GameObject)Instantiate (prefab, new Vector3(x + 0.5f, 0.2f, y + 0.5f), Quaternion.identity);
        var      unit     = GameUnit.InstantiateUnit(prefab, playerFaction);
        GameUnit gameUnit = (GameUnit)unit.GetComponent("GameUnit");

        unit.transform.position = new Vector3(x + 0.5f, PlayMap.Grid.getFloorHeight(x, y), y + 0.5f);
        unit.transform.parent   = this.transform.FindChild("Units").transform;
        UnitPlacement [x, y]    = unit;
        gameUnit.x = x;
        gameUnit.y = y;
    }
예제 #14
0
    private void Update()
    {
        PlayerFaction faction = attrManager.faction;

        //if (faction == PlayerFaction.People && Input.GetKeyDown(KeyCode.Mouse0))
        if (faction == PlayerFaction.People && networkInput.GetKeyDown(KeyCode.Mouse0))
        {
            backpack.TryUse(0);
        }
        else if (faction == PlayerFaction.Ghost)
        {
            if (!backpack.TryUse(0))
            {
                backpack.Destroy(0, -1);
            }
        }
    }
예제 #15
0
    public static AttributesManager[] FindRangePlayer(PlayerFaction targetFaction, Vector3 center, float radius)
    {
        List <AttributesManager> rangeTeammateList = new List <AttributesManager>();

        AttributesManager[] teammateAttrManager = AttributesManager.GetFactionAllAttrManager(targetFaction);
        float sqrRadius = Mathf.Sqrt(radius);

        foreach (AttributesManager tempTeammate in teammateAttrManager)
        {
            Vector3 centerToTeammate = tempTeammate.transform.position - center;
            float   sqrMagnitude     = centerToTeammate.sqrMagnitude;
            if (sqrMagnitude <= sqrRadius)
            {
                rangeTeammateList.Add(tempTeammate);
            }
        }
        return(rangeTeammateList.ToArray());
    }
예제 #16
0
 public Guild(string _Name, RealmDatabase _DatabasePointer)
 {
     Name = _Name;
     foreach (var player in _DatabasePointer.Players)
     {
         if (player.Value.Guild.GuildName == Name)
         {
             if ((DateTime.UtcNow - player.Value.Uploader.GetTime()).Days < 31)
             {
                 Players.Add(player.Value);
                 if (Faction == PlayerFaction.Unknown)
                 {
                     Faction = StaticValues.GetFaction(player.Value.Character.Race);
                 }
             }
         }
     }
 }
예제 #17
0
        public DateTime Hire(Applicant currentApplicant, int delay)
        {
            var startDate = Time.CurrentDate;

            if (PersistentData.NewArrivals.Count > 0)
            {
                startDate = PersistentData.NewArrivals.Last().ArrivalTime;
            }

            PersistentData.NewArrivals.Add(new PersistentWorldData.ApplicantArrival()
            {
                Applicant   = currentApplicant,
                ArrivalTime = startDate + new TimeSpan(0, delay, 0, 0, 0)
            });

            PlayerFaction.AddMoney(-(decimal)(currentApplicant.Level.Pay * 4));
            return(PersistentData.NewArrivals.Last().ArrivalTime);
        }
 public bool isAlliedWith(PlayerFaction player)
 {
     if (player.ID == ID)
     {
         return(true);
     }
     if (allies != null && allies.Length > 0)
     {
         foreach (int allyId in allies)
         {
             if (allyId == player.ID)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
    public static GameObject InstantiateUnit(GameObject prefabUnit, GameObject f)
    {
        GameObject unit     = (GameObject)Instantiate(Resources.Load("Prefabs/Units/Unit") as GameObject);
        GameUnit   unitData = (GameUnit)unit.GetComponent("GameUnit");

        unitData.unitPrefab = prefabUnit;
        unitData.Faction    = f;
        PlayerFaction faction = (PlayerFaction)unitData.Faction.GetComponent("PlayerFaction");

        unitData.playerFactionSpec = faction;
        faction.ActiveUnits.Add(unit);

        UnityEngine.UI.Image UIPanel = (UnityEngine.UI.Image)unit.transform.FindChild("UI").GetChild(0).GetChild(0).gameObject.GetComponent("Image");
        Color panelColor             = faction.FactionColor * Menus.ColorLim;

        panelColor.a  = 1;
        UIPanel.color = panelColor;

        return(unit);
    }
예제 #20
0
 private void OnTouch(Part sender, TouchEventData eventDate)
 {
     // 如果是服务器则正常做处理
     if (Server.ins.enabled)
     {
         PlayerFaction onwerFaction  = attrManager.faction;
         Part          otherPart     = eventDate.otherPart;
         PartType      otherPartType = otherPart.partType;
         if (onwerFaction == PlayerFaction.Ghost && otherPartType == PartType.Body && !otherPart.partManager.IsOwnerBinging)
         {
             //GameControler.ins.SwitchFaction(attrManager, otherPart.partManager.attrManager);
             Server.ins.SwitchFaction(attrManager, otherPart.partManager.attrManager);
         }
         else if (onwerFaction == PlayerFaction.People && !IsOwnerBinging && otherPartType == PartType.RightHand)
         {
             //GameControler.ins.SwitchFaction(otherPart.partManager.attrManager, attrManager);
             Server.ins.SwitchFaction(otherPart.partManager.attrManager, attrManager);
         }
     }
 }
예제 #21
0
    public bool CanUse(AttributesManager userAttrManager)
    {
        bool canUse = false;

        if (!isEmpty)
        {
            Vector3       position  = userAttrManager.transform.position;
            PlayerFaction myFaction = userAttrManager.faction;
            switch (myItemGroup.itemInfo.effectGroup)
            {
            case EffectGroup.MySelf:
            case EffectGroup.RandomTeammate:
            case EffectGroup.AllTeammate:
            case EffectGroup.RandomEnemy:
            case EffectGroup.AllEnemy:
                canUse = true;
                break;

            case EffectGroup.OneNearbyTeammate:
                canUse = AttributesManager.FindNearbyPlayer(myFaction, position, myItemGroup.itemInfo.radius) != null;
                break;

            case EffectGroup.RangeRandomTeammate:
            case EffectGroup.RangeTeammate:
                canUse = AttributesManager.FindRangePlayer(myFaction, position, myItemGroup.itemInfo.radius).Length > 0;
                break;

            case EffectGroup.OneNearbyEnemy:
                canUse = AttributesManager.FindNearbyPlayer(AttributesManager.GetEnemyFaction(myFaction), position, myItemGroup.itemInfo.radius) != null;
                break;

            case EffectGroup.RangeRandomEnemy:
            case EffectGroup.RangeEnemy:
                canUse = AttributesManager.FindRangePlayer(AttributesManager.GetEnemyFaction(myFaction), position, myItemGroup.itemInfo.radius).Length > 0;
                break;
            }
        }
        return(canUse);
    }
예제 #22
0
    public static void nextPlayer()
    {
        PlayerFaction faction = PlayMap.getFaction(player);

        if (faction != null)
        {
            faction.SleepAllUnits();
        }

        player++;
        faction = PlayMap.getFaction(player);
        if (faction == null)
        {
            player = 0;
            nextTurn();
            faction = PlayMap.getFaction(player);
        }
        if (faction != null)
        {
            faction.WakeAllUnits();
            PlayMap.Menu.Paint(faction.FactionColor);
        }
    }
예제 #23
0
 protected override void WriteData(ESPWriter writer)
 {
     Stimpack.WriteBinary(writer);
     SuperStimpack.WriteBinary(writer);
     RadX.WriteBinary(writer);
     RadAway.WriteBinary(writer);
     MedX.WriteBinary(writer);
     PerkParalysis.WriteBinary(writer);
     PlayerFaction.WriteBinary(writer);
     MysteriousStrangerNPC.WriteBinary(writer);
     MysteriousStrangerFaction.WriteBinary(writer);
     DefaultMusic.WriteBinary(writer);
     BattleMusic.WriteBinary(writer);
     DeathMusic.WriteBinary(writer);
     SuccessMusic.WriteBinary(writer);
     LevelUpMusic.WriteBinary(writer);
     PlayerVoiceMale.WriteBinary(writer);
     PlayerVoiceMaleChild.WriteBinary(writer);
     PlayerVoiceFemale.WriteBinary(writer);
     PlayerVoiceFemaleChild.WriteBinary(writer);
     EatPackageDefaultFood.WriteBinary(writer);
     EveryActorAbility.WriteBinary(writer);
     DrugWearsOffImageSpace.WriteBinary(writer);
     DoctorsBag.WriteBinary(writer);
     MissFortuneNPC.WriteBinary(writer);
     MissFortuneFaction.WriteBinary(writer);
     MeltdownExplosion.WriteBinary(writer);
     UnarmedPowerAttackForward.WriteBinary(writer);
     UnarmedPowerAttackBackward.WriteBinary(writer);
     UnarmedPowerAttackLeft.WriteBinary(writer);
     UnarmedPowerAttackRight.WriteBinary(writer);
     UnarmedPowerAttackCrouch.WriteBinary(writer);
     UnarmedPowerAttackCounter.WriteBinary(writer);
     SpotterEffect.WriteBinary(writer);
     ItemDetectedEffect.WriteBinary(writer);
     CateyeMobileEffect.WriteBinary(writer);
 }
예제 #24
0
    public static AttributesManager FindNearbyPlayer(PlayerFaction targetFaction, Vector3 center, float radius)
    {
        AttributesManager resultAttrManager = null;

        AttributesManager[] teammateAttrManager = GetFactionAllAttrManager(targetFaction);
        bool  onePeopleFaction = teammateAttrManager.Length <= 1;
        float currentSqrRadius = Mathf.Sqrt(radius);

        foreach (AttributesManager tempTeammate in teammateAttrManager)
        {
            Vector3 centerToTeammate = tempTeammate.transform.position - center;
            float   sqrMagnitude     = centerToTeammate.sqrMagnitude;
            if (!onePeopleFaction && sqrMagnitude != 0 && sqrMagnitude <= currentSqrRadius)
            {
                resultAttrManager = tempTeammate;
                currentSqrRadius  = sqrMagnitude;
            }
            else if (onePeopleFaction)
            {
                resultAttrManager = tempTeammate;
            }
        }
        return(resultAttrManager);
    }
예제 #25
0
        public Guard(GuardType type, PlayerFaction a)
            : base(AIType.AI_Melee, FightMode.Aggressor, 18, 1, 0.2, 0.4)
        {
            Faction = a;
            Faction.guardCount++;

            m_Type = type;
            Title  = GetTitle(type);

            if (m_Type == GuardType.Wizard)
            {
                ChangeAIType(AIType.AI_Mage);
            }

            if (m_Type == GuardType.Archer)
            {
                ChangeAIType(AIType.AI_Archer);
            }

            if (m_Type == GuardType.Medic)
            {
                ChangeAIType(AIType.AI_Healer);
            }


            Hue   = Utility.RandomSkinHue();
            Karma = 12000;

            if (0.50 >= Utility.RandomDouble())
            {
                Name   = NameList.RandomName("female") + ",";
                Female = true;
                Body   = 0x191;
            }
            else
            {
                Name             = NameList.RandomName("male") + ",";
                Body             = 0x190;
                FacialHairItemID = Utility.RandomList
                                       (0x203E, 0x203F, 0x2040, 0x2041, 0x204B, 0x204C, 0x204D);
            }

            SetStatsAndSkills(type);

            SetDamage(7, 13);
            SetDamageType(ResistanceType.Physical, 100);

            SetResistance(ResistanceType.Physical, 55, 65);
            SetResistance(ResistanceType.Fire, 40, 50);
            SetResistance(ResistanceType.Cold, 30, 45);
            SetResistance(ResistanceType.Poison, 40, 50);
            SetResistance(ResistanceType.Energy, 50, 60);

            HairItemID = Utility.RandomList(0x203B, 0x203C, 0x203D, 0x2048);
            HairHue    = FacialHairHue = Utility.RandomHairHue();

            Backpack pack = new Backpack();

            pack.AddItem(new Bandage(Utility.RandomMinMax(100, 200)));

            this.AddItem(pack);

            AddEquipment(type);

            if (type == GuardType.Cavalry)
            {
                WarHorse horse = new WarHorse();
                horse.Body          = 0xE4;
                horse.Controlled    = true;
                horse.ControlMaster = this;
                horse.ControlOrder  = OrderType.Come;
                horse.RawName       = "a War Horse";
                horse.Hue           = Faction.primaryHue;
                horse.ItemID        = 16033;
                horse.Rider         = this;

                //Veteran Warhorse
                int techBonus = (Utility.RandomMinMax(50, 75) * Faction.MilitaryLevel);
                horse.SetHits(HitsMax + techBonus);

                horse.RawStr += Utility.RandomMinMax(45, 60);
                horse.RawDex += Utility.RandomMinMax(25, 30);
                horse.RawInt += Utility.RandomMinMax(15, 20);

                horse.SetSkill(SkillName.Wrestling, horse.Skills.Wrestling.Value + Utility.RandomMinMax(15, 20));
                horse.SetSkill(SkillName.Tactics, horse.Skills.Tactics.Value + Utility.RandomMinMax(20, 25));
                horse.SetSkill(SkillName.MagicResist, horse.Skills.MagicResist.Value + Utility.RandomMinMax(30, 40));

                horse.Tamable = false;
            }
        }
예제 #26
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Stimpack", false, out subEle))
            {
                Stimpack.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("SuperStimpack", false, out subEle))
            {
                SuperStimpack.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("RadX", false, out subEle))
            {
                RadX.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("RadAway", false, out subEle))
            {
                RadAway.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("MedX", false, out subEle))
            {
                MedX.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("PerkParalysis", false, out subEle))
            {
                PerkParalysis.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("PlayerFaction", false, out subEle))
            {
                PlayerFaction.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("MysteriousStrangerNPC", false, out subEle))
            {
                MysteriousStrangerNPC.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("MysteriousStrangerFaction", false, out subEle))
            {
                MysteriousStrangerFaction.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("DefaultMusic", false, out subEle))
            {
                DefaultMusic.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("BattleMusic", false, out subEle))
            {
                BattleMusic.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("DeathMusic", false, out subEle))
            {
                DeathMusic.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("SuccessMusic", false, out subEle))
            {
                SuccessMusic.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("LevelUpMusic", false, out subEle))
            {
                LevelUpMusic.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("PlayerVoice/Male", false, out subEle))
            {
                PlayerVoiceMale.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("PlayerVoice/MaleChild", false, out subEle))
            {
                PlayerVoiceMaleChild.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("PlayerVoice/Female", false, out subEle))
            {
                PlayerVoiceFemale.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("PlayerVoice/FemaleChild", false, out subEle))
            {
                PlayerVoiceFemaleChild.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("EatPackageDefaultFood", false, out subEle))
            {
                EatPackageDefaultFood.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("EveryActorAbility", false, out subEle))
            {
                EveryActorAbility.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("DrugWearsOffImageSpace", false, out subEle))
            {
                DrugWearsOffImageSpace.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("DoctorsBag", false, out subEle))
            {
                DoctorsBag.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("MissFortuneNPC", false, out subEle))
            {
                MissFortuneNPC.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("MissFortuneFaction", false, out subEle))
            {
                MissFortuneFaction.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("MeltdownExplosion", false, out subEle))
            {
                MeltdownExplosion.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("UnarmedPowerAttack/Forward", false, out subEle))
            {
                UnarmedPowerAttackForward.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("UnarmedPowerAttack/Backward", false, out subEle))
            {
                UnarmedPowerAttackBackward.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("UnarmedPowerAttack/Left", false, out subEle))
            {
                UnarmedPowerAttackLeft.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("UnarmedPowerAttack/Right", false, out subEle))
            {
                UnarmedPowerAttackRight.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("UnarmedPowerAttack/Crouch", false, out subEle))
            {
                UnarmedPowerAttackCrouch.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("UnarmedPowerAttack/Counter", false, out subEle))
            {
                UnarmedPowerAttackCounter.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("SpotterEffect", false, out subEle))
            {
                SpotterEffect.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("ItemDetectedEffect", false, out subEle))
            {
                ItemDetectedEffect.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("CateyeMobileEffect", false, out subEle))
            {
                CateyeMobileEffect.ReadXML(subEle, master);
            }
        }
예제 #27
0
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Stimpack", true, out subEle);
            Stimpack.WriteXML(subEle, master);

            ele.TryPathTo("SuperStimpack", true, out subEle);
            SuperStimpack.WriteXML(subEle, master);

            ele.TryPathTo("RadX", true, out subEle);
            RadX.WriteXML(subEle, master);

            ele.TryPathTo("RadAway", true, out subEle);
            RadAway.WriteXML(subEle, master);

            ele.TryPathTo("MedX", true, out subEle);
            MedX.WriteXML(subEle, master);

            ele.TryPathTo("PerkParalysis", true, out subEle);
            PerkParalysis.WriteXML(subEle, master);

            ele.TryPathTo("PlayerFaction", true, out subEle);
            PlayerFaction.WriteXML(subEle, master);

            ele.TryPathTo("MysteriousStrangerNPC", true, out subEle);
            MysteriousStrangerNPC.WriteXML(subEle, master);

            ele.TryPathTo("MysteriousStrangerFaction", true, out subEle);
            MysteriousStrangerFaction.WriteXML(subEle, master);

            ele.TryPathTo("DefaultMusic", true, out subEle);
            DefaultMusic.WriteXML(subEle, master);

            ele.TryPathTo("BattleMusic", true, out subEle);
            BattleMusic.WriteXML(subEle, master);

            ele.TryPathTo("DeathMusic", true, out subEle);
            DeathMusic.WriteXML(subEle, master);

            ele.TryPathTo("SuccessMusic", true, out subEle);
            SuccessMusic.WriteXML(subEle, master);

            ele.TryPathTo("LevelUpMusic", true, out subEle);
            LevelUpMusic.WriteXML(subEle, master);

            ele.TryPathTo("PlayerVoice/Male", true, out subEle);
            PlayerVoiceMale.WriteXML(subEle, master);

            ele.TryPathTo("PlayerVoice/MaleChild", true, out subEle);
            PlayerVoiceMaleChild.WriteXML(subEle, master);

            ele.TryPathTo("PlayerVoice/Female", true, out subEle);
            PlayerVoiceFemale.WriteXML(subEle, master);

            ele.TryPathTo("PlayerVoice/FemaleChild", true, out subEle);
            PlayerVoiceFemaleChild.WriteXML(subEle, master);

            ele.TryPathTo("EatPackageDefaultFood", true, out subEle);
            EatPackageDefaultFood.WriteXML(subEle, master);

            ele.TryPathTo("EveryActorAbility", true, out subEle);
            EveryActorAbility.WriteXML(subEle, master);

            ele.TryPathTo("DrugWearsOffImageSpace", true, out subEle);
            DrugWearsOffImageSpace.WriteXML(subEle, master);

            ele.TryPathTo("DoctorsBag", true, out subEle);
            DoctorsBag.WriteXML(subEle, master);

            ele.TryPathTo("MissFortuneNPC", true, out subEle);
            MissFortuneNPC.WriteXML(subEle, master);

            ele.TryPathTo("MissFortuneFaction", true, out subEle);
            MissFortuneFaction.WriteXML(subEle, master);

            ele.TryPathTo("MeltdownExplosion", true, out subEle);
            MeltdownExplosion.WriteXML(subEle, master);

            ele.TryPathTo("UnarmedPowerAttack/Forward", true, out subEle);
            UnarmedPowerAttackForward.WriteXML(subEle, master);

            ele.TryPathTo("UnarmedPowerAttack/Backward", true, out subEle);
            UnarmedPowerAttackBackward.WriteXML(subEle, master);

            ele.TryPathTo("UnarmedPowerAttack/Left", true, out subEle);
            UnarmedPowerAttackLeft.WriteXML(subEle, master);

            ele.TryPathTo("UnarmedPowerAttack/Right", true, out subEle);
            UnarmedPowerAttackRight.WriteXML(subEle, master);

            ele.TryPathTo("UnarmedPowerAttack/Crouch", true, out subEle);
            UnarmedPowerAttackCrouch.WriteXML(subEle, master);

            ele.TryPathTo("UnarmedPowerAttack/Counter", true, out subEle);
            UnarmedPowerAttackCounter.WriteXML(subEle, master);

            ele.TryPathTo("SpotterEffect", true, out subEle);
            SpotterEffect.WriteXML(subEle, master);

            ele.TryPathTo("ItemDetectedEffect", true, out subEle);
            ItemDetectedEffect.WriteXML(subEle, master);

            ele.TryPathTo("CateyeMobileEffect", true, out subEle);
            CateyeMobileEffect.WriteXML(subEle, master);
        }
예제 #28
0
 public override int GetHashCode()
 {
     unchecked
     {
         return(((AiFaction != null ? AiFaction.GetHashCode() : 0) * 397) ^ (PlayerFaction != null ? PlayerFaction.GetHashCode() : 0));
     }
 }
예제 #29
0
 public PickUpEventDate(PickUp pickUpItem, PlayerFaction pickerFaction)
 {
     this.pickUpItem    = pickUpItem;
     this.pickerFaction = pickerFaction;
 }
예제 #30
0
 public void FireEmployee(CreatureAI Employee)
 {
     PlayerFaction.Minions.Remove(Employee);
     PersistentData.SelectedMinions.Remove(Employee);
     PlayerFaction.AddMoney(-(decimal)(Employee.Stats.CurrentLevel.Pay * 4));
 }