コード例 #1
0
 public Deck(HeroClass hero, bool allowNDR, bool allowNMR, bool allowNNR)
 {
     this.hero     = hero;
     this.allowNDR = allowNDR;
     this.allowNMR = allowNMR;
     this.allowNNR = allowNNR;
 }
コード例 #2
0
ファイル: Hero.cs プロジェクト: JakubCisowski/ClickQuest
    public Hero(HeroClass heroClass, HeroRace heroRace, string heroName)
    {
        Materials         = new List <Material>();
        Recipes           = new List <Recipe>();
        Artifacts         = new List <Artifact>();
        EquippedArtifacts = new List <Artifact>();
        Quests            = new List <Quest>();

        Specializations = new Specializations();

        ArtifactSets = new List <ArtifactSet>
        {
            new ArtifactSet
            {
                Id   = 0,
                Name = "Default set"
            }
        };

        HeroClass           = heroClass;
        HeroRace            = heroRace;
        Experience          = 0;
        Level               = 0;
        Name                = heroName;
        ClickDamagePerLevel = 1;
        AuraDamage          = 0.084;
        CritDamage          = 2.0;
        AuraAttackSpeed     = AuraSpeedBase;

        Id = ++User.Instance.LastHeroId;

        SetClassSpecificValues();
        RefreshHeroExperience();
    }
コード例 #3
0
        public ItemAttributesFromLevel(Follower follower, HeroClass heroClass)
        {
            switch (heroClass)
            {
            case HeroClass.ScoundrelFollower:
                dexterityItem    = new ItemValueRange(8 + 3 * follower.Level);
                intelligenceItem = new ItemValueRange(8 + 1 * follower.Level);
                strengthItem     = new ItemValueRange(9 + 1 * follower.Level);
                vitalityItem     = new ItemValueRange(7 + 2 * follower.Level);
                break;

            case HeroClass.EnchantressFollower:
                dexterityItem    = new ItemValueRange(9 + 1 * follower.Level);
                intelligenceItem = new ItemValueRange(5 + 3 * follower.Level);
                strengthItem     = new ItemValueRange(9 + 1 * follower.Level);
                vitalityItem     = new ItemValueRange(7 + 2 * follower.Level);
                break;

            case HeroClass.TemplarFollower:
                dexterityItem    = new ItemValueRange(8 + 1 * follower.Level);
                intelligenceItem = new ItemValueRange(10 + 1 * follower.Level);
                strengthItem     = new ItemValueRange(7 + 3 * follower.Level);
                vitalityItem     = new ItemValueRange(9 + 2 * follower.Level);
                break;
            }

            critDamagePercent = new ItemValueRange(0.5);
        }
コード例 #4
0
    private static List <Spell> ParseSpellList(HeroClass heroClass)
    {
        //Parsing Stats
        string       csv       = "/Assets/Data/Heroes.csv";
        string       path      = Path.GetFullPath(dir + csv);
        StreamReader strReader = new StreamReader(path);

        List <Spell> baseSpells = new List <Spell>();

        string fileString = strReader.ReadToEnd();

        string[] lines = fileString.Split('\n');

        int heroClassId = (int)heroClass;

        string[] fields = lines[heroClassId + 1].Split(';');

        if (fields[1].Equals(heroClass.ToString()))
        {
            baseSpells.Add(ParseSpell(Int32.Parse(fields[4])));
            baseSpells.Add(ParseSpell(Int32.Parse(fields[5])));
        }
        else
        {
            throw new Exception(" Invalid Hero class Id given in builder, table might be wrong");
        }
        return(baseSpells);
    }
コード例 #5
0
ファイル: Hero.cs プロジェクト: Quarterback16/DeckDetector
 public Hero(
     string name)
 {
     Name = name;
     Enum.TryParse(name, out HeroClass heroClass);
     HeroClass = heroClass;
 }
コード例 #6
0
ファイル: NewHeroScene.cs プロジェクト: pfthroaway/GD_Sulimn
 private void _on_ItemList_item_selected(int index)
 {
     _compareClass  = new HeroClass(GameState.AllClasses[index]);
     _selectedClass = new HeroClass(GameState.AllClasses[index]);
     CheckSkillPoints();
     TxtDescription.Text = _selectedClass.Description;
 }
コード例 #7
0
 /***FROM UI***/
 public void PreviousHeroClass()
 {
     int heroClassId = (int)currHeroClass - 1;
     if (heroClassId < 0) heroClassId = (int) HeroClass.LAST;
     currHeroClass = (HeroClass)heroClassId;
     UpdateWithNewClass();
 }
コード例 #8
0
    public void RefreshDataFromDatabase()
    {
        DBManager dbm = new DBManager();

        theHero  = dbm.GetHero(1);
        theEvent = dbm.GetEvent(1);
    }
コード例 #9
0
 public Hero(int id, HeroClass heroClass, Race race, string heroName)
 {
     this.id        = id;
     this._hClass   = heroClass;
     this._race     = race;
     this._heroName = heroName;
 }
コード例 #10
0
 public void NextHeroClass()
 {
     int heroClassId = (int)currHeroClass + 1;
     if (heroClassId > (int)HeroClass.LAST) heroClassId = 0;
     currHeroClass = (HeroClass)heroClassId;
     UpdateWithNewClass();
 }
コード例 #11
0
        public ItemAttributesFromLevel(Follower follower, HeroClass heroClass)
        {
            switch (heroClass)
            {
                case HeroClass.ScoundrelFollower:
                    dexterityItem = new ItemValueRange(8 + 3 * follower.Level);
                    intelligenceItem = new ItemValueRange(8 + 1 * follower.Level);
                    strengthItem = new ItemValueRange(9 + 1 * follower.Level);
                    vitalityItem = new ItemValueRange(7 + 2 * follower.Level);
                    break;
                case HeroClass.EnchantressFollower:
                    dexterityItem = new ItemValueRange(9 + 1 * follower.Level);
                    intelligenceItem = new ItemValueRange(5 + 3 * follower.Level);
                    strengthItem = new ItemValueRange(9 + 1 * follower.Level);
                    vitalityItem = new ItemValueRange(7 + 2 * follower.Level);
                    break;
                case HeroClass.TemplarFollower:
                    dexterityItem = new ItemValueRange(8 + 1 * follower.Level);
                    intelligenceItem = new ItemValueRange(10 + 1 * follower.Level);
                    strengthItem = new ItemValueRange(7 + 3 * follower.Level);
                    vitalityItem = new ItemValueRange(9 + 2 * follower.Level);
                    break;
            }

            critDamagePercent = new ItemValueRange(0.5);
        }
コード例 #12
0
        /// <summary>
        /// Computes the hit points per vitality factor.
        /// </summary>
        /// <param name="heroClass">Class of the hero (can be a follower).</param>
        /// <param name="heroLevel">Level of the hero.</param>
        /// <returns></returns>
        public static int GetHitpointsPerVitalityFactor(HeroClass heroClass, int heroLevel)
        {
            switch (heroClass)
            {
            case HeroClass.Barbarian:
            case HeroClass.Crusader:
            case HeroClass.DemonHunter:
            case HeroClass.Monk:
            case HeroClass.WitchDoctor:
            case HeroClass.Wizard:
                if (heroLevel <= 35)
                {
                    return(10);
                }
                if (heroLevel <= 60)
                {
                    return(heroLevel - 25);
                }
                if (heroLevel <= 65)
                {
                    return(35 + 4 * (heroLevel - 60));
                }
                return(50 + 10 * (heroLevel - 65));

            case HeroClass.EnchantressFollower:
            case HeroClass.ScoundrelFollower:
            case HeroClass.TemplarFollower:
                // Missing leveling
                return(35 + 5 * (heroLevel - 61));

            default:
                return(0);
            }
        }
コード例 #13
0
ファイル: HeroData.cs プロジェクト: rickymm3/explorers-mobile
    public HeroData(int ID, string Identity, string Name, HeroClass Class, HeroType Type, ElementalTypes elementalType,
                    int Strength, int Vitality, int Intelligence, int Speed,
                    float StrengthScale, float VitalityScale, float IntelligenceScale, float SpeedScale,
                    float StrengthQualityScale, float VitalityQualityScale, float IntelligenceQualityScale, float SpeedQualityScale,
                    float StrengthQualityBase, float VitalityQualityBase, float IntelligenceQualityBase, float SpeedQualityBase,
                    LeaderSkill leaderSkill, string defaultWeapon, string awakenReference, List <Skill> Skills, int order, int rarity) : base(Identity, Name)
    {
        this.ID                   = ID;
        _class                    = Class;
        _type                     = Type;
        _elementalType            = elementalType;
        _strength                 = Strength;
        _vitality                 = Vitality;
        _intelligence             = Intelligence;
        _speed                    = Speed;
        _strengthScale            = StrengthScale;
        _vitalityScale            = VitalityScale;
        _intelligenceScale        = IntelligenceScale;
        _speedScale               = SpeedScale;
        _strengthQualityScale     = StrengthQualityScale;
        _vitalityQualityScale     = VitalityQualityScale;
        _intelligenceQualityScale = IntelligenceQualityScale;
        _speedQualityScale        = SpeedQualityScale;
        _strengthQualityBase      = StrengthQualityBase;
        _vitalityQualityBase      = VitalityQualityBase;
        _intelligenceQualityBase  = IntelligenceQualityBase;
        _speedQualityBase         = SpeedQualityBase;
        _leaderSkill              = leaderSkill;
        _defaultWeapon            = defaultWeapon;
        _awakenReference          = DataManager.Instance.heroDataList.GetByIdentity(awakenReference);
        _order                    = order;
        _rarity                   = rarity;

        this.Skills = Skills;
    }
コード例 #14
0
ファイル: HeroHelper.cs プロジェクト: torybash/DungeonRaiders
    public Hero CreateHero(HeroClass heroClass)
    {
        Hero hero = new Hero();
        hero.heroName = Strings.RandomNameForClass(heroClass);
        hero.heroClass = heroClass;

        switch (heroClass) {
        case HeroClass.WARRIOR:
            hero.strength = 10;
            hero.dexterity = 5;
            hero.intelligence = 3;
            hero.vitality = 8;

            hero.weapon = GameManager.I.weaponLib.GetWeapon("Sword_Rusty");
            break;
        case HeroClass.BARBARIAN:
            hero.strength = 12;
            hero.dexterity = 4;
            hero.intelligence = 2;
            hero.vitality = 8;

            hero.weapon = GameManager.I.weaponLib.GetWeapon("Hammer_Rusty");
            break;
        case HeroClass.ASSASSIN:
            hero.strength = 6;
            hero.dexterity = 9;
            hero.intelligence = 3;
            hero.vitality = 5;
            break;
        case HeroClass.RANGER:
            hero.strength = 2;
            hero.dexterity = 12;
            hero.intelligence = 4;
            hero.vitality = 2;
            break;
        case HeroClass.WIZARD:
            hero.strength = 1;
            hero.dexterity = 6;
            hero.intelligence = 12;
            hero.vitality = 3;
            break;
        case HeroClass.PRIEST:
            hero.strength = 5;
            hero.dexterity = 2;
            hero.intelligence = 10;
            hero.vitality = 4;
            break;
        default:
            break;
        }

        hero.level = 1;
        hero.maxMana = CalculateMaxMana(hero.intelligence);
        hero.maxHP = CalculateMaxHP(hero.vitality);

        hero.position = GameManager.I.status.heroes.Count;
        hero.id = GameManager.I.status.heroes.Count;

        return hero;
    }
コード例 #15
0
        public int GetIndexOffset(HeroClass heroClass)
        {
            switch (heroClass)
            {
            case HeroClass.Hunter:
                return(0);

            case HeroClass.Mage:
                if (DisplayedClasses.Contains(HeroClass.Hunter))
                {
                    return(SecretHelper.GetMaxSecretCount(HeroClass.Hunter));
                }
                return(0);

            case HeroClass.Paladin:
                if (DisplayedClasses.Contains(HeroClass.Hunter) && DisplayedClasses.Contains(HeroClass.Mage))
                {
                    return(SecretHelper.GetMaxSecretCount(HeroClass.Hunter) + SecretHelper.GetMaxSecretCount(HeroClass.Mage));
                }
                if (DisplayedClasses.Contains(HeroClass.Hunter))
                {
                    return(SecretHelper.GetMaxSecretCount(HeroClass.Hunter));
                }
                if (DisplayedClasses.Contains(HeroClass.Mage))
                {
                    return(SecretHelper.GetMaxSecretCount(HeroClass.Mage));
                }
                return(0);
            }
            return(0);
        }
コード例 #16
0
ファイル: CharacterBaseModel.cs プロジェクト: tcape/stc_game
 public CharacterBaseModel(string name, HeroClass heroClass, bool isActive)
 {
     Name      = name;
     HeroClass = heroClass;
     GameState = new GameState();
     IsActive  = isActive;
 }
コード例 #17
0
ファイル: Program.cs プロジェクト: dsgrozev/pairReader
        private static void PrintPairs(List <CardPair> cardPairs, HeroClass hero, int oldPairs = 0, int oldWins = 0, int oldLoses = 0)
        {
            var pairs = cardPairs.FindAll(x => x.Hero == hero);
            int wins  = 0;
            int loses = 0;

            foreach (var pair in pairs)
            {
                wins  += pair.Wins;
                loses += pair.Losses;
            }
            if (oldPairs == 0)
            {
                Console.WriteLine(
                    string.Format("{0:n0}", pairs.Count) + " -> " +
                    string.Format("{0:n0}", (wins + loses)) +
                    " : " +
                    (wins + loses > 0 ? string.Format("{0:0.00}", 100.0 * wins / (wins + loses)) : "0") +
                    "%");
            }
            else
            {
                Console.WriteLine(
                    string.Format("{0:n0}", pairs.Count) +
                    " (" + string.Format("{0:+#;-#;0}", pairs.Count - oldPairs) + ")" +
                    " -> " +
                    string.Format("{0:n0}", (wins + loses)) +
                    " (" + string.Format("{0:+#;-#;0}", wins + loses - oldWins - oldLoses) + ")" +
                    " : " +
                    (wins + loses > 0 ? string.Format("{0:0.00}", 100.0 * wins / (wins + loses)) : "0") +
                    "% (" + string.Format("{0:+#.00;-#.00;0}", 100.0 * wins / (wins + loses) - 100.0 * oldWins / (oldWins + oldLoses)) + ")");
            }
        }
コード例 #18
0
    public void CopyHero(HeroClass target, HeroClass template)
    {
        target.uniqueID = template.uniqueID;

        target.name   = template.name;
        target.sprite = template.sprite;

        target.Health        = template.Health;
        target.currentHealth = template.currentHealth;
        target.Attack        = template.Attack;
        target.Defense       = template.Defense;
        target.Speed         = template.Speed;

        target.Level     = template.Level;
        target.XP        = template.XP;
        target.maxSP     = template.maxSP;
        target.currentSP = template.currentSP;
        target.Skill     = template.Skill;
        target.role      = template.role;

        target.SpecialAbility = template.SpecialAbility;
        target.PassiveAbility = template.PassiveAbility;
        target.PrimaryStat    = template.PrimaryStat;
        target.currentElement = template.currentElement;

        target.weaponSlot    = template.weaponSlot;
        target.armorSlot     = template.armorSlot;
        target.accessorySlot = template.accessorySlot;

        target.attackAnimations = template.attackAnimations;
        target.healingAnimation = template.healingAnimation;

        target.isDead = template.isDead;
    }
コード例 #19
0
ファイル: WndClass.cs プロジェクト: zvinch/SharpDungeon
        public WndClass(HeroClass cl)
        {
            var tabPerks = new PerksTab(cl);

            Add(tabPerks);

            Tab tab = new RankingTab(this, Utils.Capitalize(cl.Title()), tabPerks);

            tab.SetSize(TabWidth, TabHeight());
            Add(tab);

            if (Badge.IsUnlocked(cl.MasteryBadge()))
            {
                var tabMastery = new MasteryTab(cl);
                Add(tabMastery);

                tab = new RankingTab(this, TxtMastery, tabMastery);
                tab.SetSize(TabWidth, TabHeight());
                Add(tab);

                Resize((int)Math.Max(tabPerks.Width, tabMastery.Width), (int)Math.Max(tabPerks.Height, tabMastery.Height));
            }
            else
            {
                Resize((int)tabPerks.Width, (int)tabPerks.Height);
            }

            Select(0);
        }
コード例 #20
0
ファイル: ShopManager.cs プロジェクト: w546296781/SimpleGame
    // Start is called before the first frame update
    void Start()
    {
        canvas = transform.parent.gameObject;
        mm     = canvas.transform.GetComponent <MainManager>();

        DBManager dbm = new DBManager();

        equipList  = dbm.GetAllEquipment();
        theHero    = dbm.GetHero(1);
        thePackage = dbm.GetPackage(1);

        Init_SlotList();

        foreach (EquipmentClass i in equipList)
        {
            i.price = i.price * 2;
        }

        for (int i = 0; i < 6; i++)
        {
            EquipmentClass thisEquip = equipList[Random.Range(0, equipList.Count)];
            PutItemToSlot(thisEquip, slotList[i]);
            equipList.Remove(thisEquip);
        }

        Refresh();
    }
コード例 #21
0
ファイル: D3HeroControl.cs プロジェクト: djtms/D3-API-by-ZTn
        private void UpdateHeroPicture(HeroClass heroClass, HeroGender gender)
        {
            Image picture;
            switch (heroClass)
            {
                case HeroClass.Barbarian:
                    picture = (gender == HeroGender.Female ? Resources.barbarian_female : Resources.barbarian_male);
                    break;
                case HeroClass.Crusader:
                    picture = (gender == HeroGender.Female ? Resources.crusader_female : Resources.crusader_male);
                    break;
                case HeroClass.DemonHunter:
                    picture = (gender == HeroGender.Female ? Resources.demonhunter_female : Resources.demonhunter_male);
                    break;
                case HeroClass.Monk:
                    picture = (gender == HeroGender.Female ? Resources.monk_female : Resources.monk_male);
                    break;
                case HeroClass.WitchDoctor:
                    picture = (gender == HeroGender.Female ? Resources.witchdoctor_female : Resources.witchdoctor_male);
                    break;
                case HeroClass.Wizard:
                    picture = (gender == HeroGender.Female ? Resources.wizard_female : Resources.wizard_male);
                    break;
                default:
                    return;
            }

            if (picture == null)
            {
                return;
            }

            guiHeroPicture.Image = picture;
        }
コード例 #22
0
ファイル: MainMenu.cs プロジェクト: MaciejSzpakowski/mu
            private void DisplayCharSprite(HeroClass c)
            {
                zHeroClass = c;
                Sprite s1 = null;

                if (c == HeroClass.Elf)
                {
                    s1 = Functions.AddSpriteFromAchx(Path.Make(Path.Hero, "elf.achx"));
                    zCharSprite.Text = "Elf";
                }
                else if (c == HeroClass.Knight)
                {
                    s1 = Functions.AddSpriteFromAchx(Path.Make(Path.Hero, "knight.achx"));
                    zCharSprite.Text = "Knight";
                }
                else if (c == HeroClass.Wizard)
                {
                    s1 = Functions.AddSpriteFromAchx(Path.Make(Path.Hero, "wizard.achx"));
                    zCharSprite.Text = "Wizard";
                }
                SpriteManager.RemoveSprite(s1);
                zCharSprite.zSprite.Texture = s1.Texture;
                zCharSprite.zSprite.LeftTextureCoordinate  = 0.333f;
                zCharSprite.zSprite.RightTextureCoordinate = 0.667f;
                zCharSprite.zSprite.ColorOperation         = ColorOperation.Texture;
                zCharSprite.Visible = true;
                zCharSprite.Size    = new Vector2(8, 8);
                zCharSprite.zText.RelativePosition.X  = 0;
                zCharSprite.zText.HorizontalAlignment = HorizontalAlignment.Center;
            }
コード例 #23
0
ファイル: Hero.cs プロジェクト: MaciejSzpakowski/mu
        public Hero(string name, HeroClass heroClass)
        {
            Collect = false;
            Online = TimeSpan.Zero;
            Target = Position;
            AcceptArrows = true;
            zLastPosition = Position;
            Netid = 0;
            Name = name;
            Class = heroClass;
            Position.Z = ZLayer.Npc;
            WalkingSpeed = 10;

            SpriteManager.AddPositionedObject(this);

            Collider = ShapeManager.AddCircle();
            Collider.AttachTo(this, false);
            Collider.Visible = false;

            Sprite = LoadSprite();
            Sprite.AttachTo(this, false);
            Sprite.Resize(4);
            Sprite.AnimationSpeed = 0.1f;            

            Label = TextManager.AddText(name, Globals.Font);
            Label.AttachTo(this, false);
            Label.HorizontalAlignment = HorizontalAlignment.Center;
            Label.RelativePosition = new Vector3(0, 4, ZLayer.NpcLabel - Position.Z);            

            InitStats();
        }
コード例 #24
0
        public Hero(string name, HeroClass heroClass)
        {
            Collect       = false;
            Online        = TimeSpan.Zero;
            Target        = Position;
            AcceptArrows  = true;
            zLastPosition = Position;
            Netid         = 0;
            Name          = name;
            Class         = heroClass;
            Position.Z    = ZLayer.Npc;
            WalkingSpeed  = 10;

            SpriteManager.AddPositionedObject(this);

            Collider = ShapeManager.AddCircle();
            Collider.AttachTo(this, false);
            Collider.Visible = false;

            Sprite = LoadSprite();
            Sprite.AttachTo(this, false);
            Sprite.Resize(4);
            Sprite.AnimationSpeed = 0.1f;

            Label = TextManager.AddText(name, Globals.Font);
            Label.AttachTo(this, false);
            Label.HorizontalAlignment = HorizontalAlignment.Center;
            Label.RelativePosition    = new Vector3(0, 4, ZLayer.NpcLabel - Position.Z);

            InitStats();
        }
コード例 #25
0
 public ClientHero()
 {
     Position = Vector3.Zero;
     Class    = HeroClass.Invalid;
     Name     = string.Empty;
     Netid    = 0;
 }
コード例 #26
0
ファイル: CharacterBaseModel.cs プロジェクト: tcape/stc_game
 public CharacterBaseModel()
 {
     HeroClass = HeroClass.Warrior;
     Name      = HeroClass.ToString();
     GameState = new GameState();
     IsActive  = true;
 }
コード例 #27
0
        private IEnumerable <BuffRule> GetCurrentRules(HeroClass heroClass)
        {
            for (var i = 1; i <= 7; i++)
            {
                switch (heroClass)
                {
                case HeroClass.Barbarian:
                    if (i == 1 || i == 4 || i == 7)
                    {
                        continue;
                    }
                    break;

                case HeroClass.Crusader:
                    if (i == 1 || i == 2 || i == 7)
                    {
                        continue;
                    }
                    break;

                case HeroClass.DemonHunter:
                    if (i == 1 || i == 4 || i == 7)
                    {
                        continue;
                    }
                    break;

                case HeroClass.Monk:
                    if (i == 1 || i == 7)
                    {
                        continue;
                    }
                    break;

                case HeroClass.Necromancer:
                    if (i == 1 || i == 3 || i == 4 || i == 5)
                    {
                        continue;
                    }
                    break;

                case HeroClass.WitchDoctor:
                    if (i == 1 || i == 4 || i == 5)
                    {
                        continue;
                    }
                    break;

                case HeroClass.Wizard:
                    if (i == 4 || i == 6 || i == 7)
                    {
                        continue;
                    }
                    break;
                }

                yield return(_ruleCalculator.Rules[i - 1]);
            }
        }
コード例 #28
0
ファイル: TotalWindow.cs プロジェクト: jwvg0425/Hmmo
    public void OnPickData(bool isMine, HeroClass heroType)
    {
        if (isMine)
            return;

        PickWindow pickedWindow = isMine ? MyWindow : EnemyWindow;
        pickedWindow.PickHero(heroType);
    }
コード例 #29
0
ファイル: Ability.cs プロジェクト: ivanovg94/Team-8
 public Ability(string name, int cd, HeroClass heroClass, EffectType type, int abilityPower)
 {
     this.Name         = name;
     this.Cd           = cd;
     this.HeroClass    = heroClass;
     this.AbilityPower = abilityPower;
     this.Type         = type;
 }
コード例 #30
0
        private void SetValueText(HeroAnyValue value, int indent, ListViewItem item)
        {
            string text = "";

            item.Tag = value;
            switch (value.Type.Type)
            {
            case HeroTypes.Id:
            {
                text = (value as HeroID).ValueText;
                HeroID oid = value as HeroID;
                if (GOM.Instance.Definitions.ContainsKey(oid.Id))
                {
                    object obj2 = text;
                    text = string.Concat(new object[] { obj2, " (", GOM.Instance.Definitions[oid.Id], ")" });
                }
                break;
            }

            case HeroTypes.Integer:
            {
                text = (value as HeroInt).ValueText;
                HeroInt num = value as HeroInt;
                if (GOM.Instance.Definitions.ContainsKey((ulong)num.Value))
                {
                    object obj3 = text;
                    text = string.Concat(new object[] { obj3, " (", GOM.Instance.Definitions[(ulong)num.Value], ")" });
                }
                break;
            }

            case HeroTypes.List:
            {
                HeroList list = value as HeroList;
                this.AddList(list, indent + 1);
                break;
            }

            case HeroTypes.LookupList:
            {
                HeroLookupList list2 = value as HeroLookupList;
                this.AddLookupList(list2, indent + 1);
                break;
            }

            case HeroTypes.Class:
            {
                HeroClass class2 = value as HeroClass;
                this.AddVariables(class2.Variables, indent + 1);
                break;
            }

            default:
                text = value.ValueText;
                break;
            }
            item.SubItems.Add(text);
        }
コード例 #31
0
ファイル: Program.cs プロジェクト: vladisvit/studynet
    static void Main()
    {
        var hero = new HeroClass(100, 150, 0); // third counter - initial position horizontally

        Console.Write($"Velocity = {hero.Velocity}; H-Position = {hero.MovePosition}");
        Console.Write("\r");
        var keyInfo = Console.ReadKey();

        while (keyInfo.Key != ConsoleKey.Escape)
        {
            keyInfo = Console.ReadKey();
            switch (keyInfo.Key)
            {
            case ConsoleKey.UpArrow:
                hero.UpSpeed();
                break;

            case ConsoleKey.DownArrow:
                hero.DownSpeed();
                break;

            case ConsoleKey.RightArrow:
                hero.MoveRight();
                if (hero.MovePosition != 4)
                {
                    break;
                }
                else
                {
                    hero.MoveLeft();
                    break;
                }

            case ConsoleKey.LeftArrow:
                hero.MoveLeft();
                if (hero.MovePosition != -1)
                {
                    break;
                }
                else
                {
                    hero.MoveRight();
                    break;
                }

            default:
                break;
            }
            Console.Write($"Velocity = {hero.Velocity}; H-Position = {hero.MovePosition}");
            Console.Write("\r");
        }
        //IPoint p = new Point(2, 3);
        //Idoublepoint pp = new Point(3, 4);
        //Point ppp = new Point(2, 6, 6);
        //pp.XYdoublepoint = 10;
        //Console.Write("My Point: ");
        //PrintPoint(ppp);
    }
コード例 #32
0
 public HeroInfo(HeroDeath hd)
 {
     this.@class     = hd.HeroClass;
     this.name       = hd.HeroName;
     this.level      = hd.HeroLevel;
     this.deathCause = hd.CauseOfDeath;
     this.affliction = hd.Affliction == null ? global::Affliction.None : hd.Affliction.GetValueOrDefault();
     this.virtue     = hd.Virtue == null ? global::Virtue.None : hd.Virtue.GetValueOrDefault();
 }
コード例 #33
0
 public Player()
 {
     Level         = 1;
     Experience    = 0;
     ExperienceCap = 300;
     Position      = new Position(0, 0);
     Class         = new HeroClass(SetClass());
     ShowClassInfo();
 }
コード例 #34
0
ファイル: HeroWindow.cs プロジェクト: jwvg0425/Hmmo
    void ShowModel(HeroClass heroType)
    {
        foreach(var model in HeroModels)
        {
            model.SetActive(false);
        }

        HeroModels[(int)heroType].SetActive(true);
    }
コード例 #35
0
		public SecretHelper(HeroClass heroClass, int id, bool stolen)
		{
			Id = id;
			Stolen = stolen;
			PossibleSecrets = new bool[GetMaxSecretCount(heroClass)];

			for(var i = 0; i < PossibleSecrets.Length; i++)
				PossibleSecrets[i] = true;
		}
コード例 #36
0
        private void Awake()
        {
            heroClass = PersistentScene.Instance.GameCharacter.HeroClass;

            // will need to check if first time playing the game with character
            SetStartingItems();
            RefreshUI();
            Start();
        }
コード例 #37
0
		public SecretHelper(HeroClass heroClass, int id, int turnPlayed)
		{
			Id = id;
			TurnPlayed = turnPlayed;
			HeroClass = heroClass;
			PossibleSecrets = new Dictionary<string, bool>();

			foreach(var cardId in GetSecretIds(heroClass))
				PossibleSecrets[cardId] = true;
		}
コード例 #38
0
ファイル: Hero.cs プロジェクト: oinant/Blog.RolePlayingGame
 public Hero(HeroClass @class, string name, int level, int health, int strength, int spirit, int speed)
 {
     Class = @class;
     Name = name;
     Level = level;
     Health = health;
     Strength = strength;
     Spirit = spirit;
     Speed = speed;
 }
コード例 #39
0
    private void generateButton(HeroClass heroClass)
    {
        GameObject newButton = (GameObject)GameObject.Instantiate(prefab);

        newButton.transform.SetParent(contentPanel);

        ClassSelectionButton button = newButton.GetComponent <ClassSelectionButton>();

        button.Setup(heroClass, this);
    }
コード例 #40
0
ファイル: ItemHelper.cs プロジェクト: Xenophik/WContact
        /// <summary>
        /// Gets whether a class can equip an item
        /// </summary>
        /// <param name="heroClass">class</param>
        /// <param name="type">item type</param>
        /// <returns>true if the class can equip an item</returns>
        public static bool CanEquip(HeroClass heroClass, ItemType type)
        {
            int typeInt = (int)type;

            if ((typeInt & EquipmentSlotMask) == 0)
            {
                return(false);
            }
            return(((1 << ((int)heroClass + ClassesShift)) & typeInt) != 0);
        }
コード例 #41
0
 public Hero(string name, HeroClass heroClass, int healthPoints, int dmgStartOfRange, int dmgEndOfRange)
 {
     this.Name            = name;
     this.HeroClass       = heroClass;
     this.HealthPoints    = healthPoints;
     this.DmgStartOfRange = dmgStartOfRange;
     this.DmgEndOfRange   = dmgEndOfRange;
     this.Abilities       = new List <IAbility>();
     this.AppliedEffects  = new List <IEffect>();
 }
コード例 #42
0
		public void NewSecretPlayed(HeroClass heroClass, int id, int turn, string knownCardId = null)
		{
			var helper = new SecretHelper(heroClass, id, turn);
			if(knownCardId != null)
			{
				foreach(var cardId in SecretHelper.GetSecretIds(heroClass))
					helper.TrySetSecret(cardId, cardId == knownCardId);
			}
			Secrets.Add(helper);
			Log.Info("Added secret with id:" + id);
		}
コード例 #43
0
		public void NewSecretPlayed(HeroClass heroClass, int id, int turn, string knownCardId = null)
		{
			var helper = new SecretHelper(heroClass, id, turn);
			if(knownCardId != null)
			{
				foreach(var cardId in SecretHelper.GetSecretIds(heroClass))
					helper.PossibleSecrets[cardId] = cardId == knownCardId;
			}
			Secrets.Add(helper);
			Logger.WriteLine("Added secret with id:" + id, "OpponentSecrets");
		}
コード例 #44
0
        public D3Calculator(Hero hero, Item mainHand, Item offHand, IEnumerable<Item> items)
        {
            HeroClass = hero.heroClass;
            HeroLevel = hero.level;

            // Build unique item equivalent to items worn
            HeroStatsItem = new StatsItem(mainHand, offHand, items);

            levelAttributes = new ItemAttributesFromLevel(hero);
            paragonLevelAttributes = new ItemAttributesFromParagonLevel(hero);

            Update();
        }
コード例 #45
0
		public static int GetSecretIndex(HeroClass heroClass, string cardId)
		{
			switch(heroClass)
			{
				case HeroClass.Hunter:
					return CardIds.SecretIdsHunter.IndexOf(cardId);
				case HeroClass.Mage:
					return CardIds.SecretIdsMage.IndexOf(cardId);
				case HeroClass.Paladin:
					return CardIds.SecretIdsPaladin.IndexOf(cardId);
			}
			return -1;
		}
コード例 #46
0
		public static int GetMaxSecretCount(HeroClass heroClass)
		{
			switch(heroClass)
			{
				case HeroClass.Hunter:
					return CardIds.SecretIdsHunter.Count;
				case HeroClass.Mage:
					return CardIds.SecretIdsMage.Count;
				case HeroClass.Paladin:
					return CardIds.SecretIdsPaladin.Count;
				default:
					return 0;
			}
		}
コード例 #47
0
		public static List<string> GetSecretIds(HeroClass heroClass)
		{
			switch(heroClass)
			{
				case HeroClass.Hunter:
					return CardIds.SecretIdsHunter;
				case HeroClass.Mage:
					return CardIds.SecretIdsMage;
				case HeroClass.Paladin:
					return CardIds.SecretIdsPaladin;
				default:
					return new List<string>();
			}
		}
コード例 #48
0
		public static List<string> GetSecretIds(HeroClass heroClass)
		{
			var standardOnly = Core.Game.CurrentFormat == Format.Standard;
			switch(heroClass)
			{
				case HeroClass.Hunter:
					return CardIds.Secrets.Hunter.GetCards(standardOnly);
				case HeroClass.Mage:
					return CardIds.Secrets.Mage.GetCards(standardOnly);
				case HeroClass.Paladin:
					return CardIds.Secrets.Paladin.GetCards(standardOnly);
				default:
					return new List<string>();
			}
		}
コード例 #49
0
ファイル: MainMenu.cs プロジェクト: MaciejSzpakowski/mu
            public NewCharacterWindow():base(null,true)
            {
                zHeroClass = HeroClass.Invalid;
                InitProps(new Vector2(-11, 5), new Vector2(22, 15), new Color(0.3f, 0.3f, 0.3f, 0.75f), "", Color.White);
                CloseWithEscape = true;

                zNametextbox = new TextBox(this);
                zNametextbox.InitProps(Position + new Vector2(1, -7), new Vector2(14, 1.5f), new Color(0.1f, 0.1f, 0.1f, 1), "", Color.White);
                zNametextbox.MaxLength = 18;

                Window elfbutton = new Button(this);
                elfbutton.InitProps(Position + new Vector2(1, -1), new Vector2(4, 2), new Color(0.1f, 0.1f, 0.1f, 1), "Elf", Color.White);
                elfbutton.OnClick = delegate ()
                {
                    DisplayCharSprite(HeroClass.Elf);
                };

                Window knightbutton = new Button(this);
                knightbutton.InitProps(elfbutton.Position + new Vector2(5, 0), new Vector2(4, 2), new Color(0.1f, 0.1f, 0.1f, 1), "Knight", Color.White);
                knightbutton.OnClick = delegate ()
                {
                    DisplayCharSprite(HeroClass.Knight);
                };

                Window wizardbutton = new Button(this);
                wizardbutton.InitProps(knightbutton.Position + new Vector2(5, -0), new Vector2(4, 2), new Color(0.1f, 0.1f, 0.1f, 1), "Wizard", Color.White);
                wizardbutton.OnClick = delegate ()
                {
                    DisplayCharSprite(HeroClass.Wizard);
                };

                Window createbutton = new Button(this);
                createbutton.InitProps(Position + new Vector2(16.5f, -7), new Vector2(4, 2), new Color(0.1f, 0.1f, 0.1f, 1), "Create", Color.White);
                createbutton.OnClick = CreateNewCharacter;

                Window backbutton = new Button(this);
                backbutton.InitProps(createbutton.Position + new Vector2(0, -3), new Vector2(4, 2), new Color(0.1f, 0.1f, 0.1f, 1), "Back", Color.White);
                backbutton.OnClick = Destroy;

                zCharSprite = new Window(this);
                zCharSprite.InitProps(Position + new Vector2(15, -1), new Vector2(4, 4), Color.White, "", Color.White);
                zCharSprite.Visible = false;
            }
コード例 #50
0
		public int GetIndexOffset(HeroClass heroClass)
		{
			switch(heroClass)
			{
				case HeroClass.Hunter:
					return 0;
				case HeroClass.Mage:
					if(DisplayedClasses.Contains(HeroClass.Hunter))
						return SecretHelper.GetMaxSecretCount(HeroClass.Hunter);
					return 0;
				case HeroClass.Paladin:
					if(DisplayedClasses.Contains(HeroClass.Hunter) && DisplayedClasses.Contains(HeroClass.Mage))
						return SecretHelper.GetMaxSecretCount(HeroClass.Hunter) + SecretHelper.GetMaxSecretCount(HeroClass.Mage);
					if(DisplayedClasses.Contains(HeroClass.Hunter))
						return SecretHelper.GetMaxSecretCount(HeroClass.Hunter);
					if(DisplayedClasses.Contains(HeroClass.Mage))
						return SecretHelper.GetMaxSecretCount(HeroClass.Mage);
					return 0;
			}
			return 0;
		}
コード例 #51
0
        public D3Calculator(Follower follower, HeroClass heroClass, Item mainHand, Item offHand, IEnumerable<Item> items)
        {
            HeroClass = heroClass;
            HeroLevel = follower.level;

            foreach (var item in items.Union(new[] { mainHand, offHand }))
            {
                ApplyFollowersBonusMalusOnItemAttributes(item.AttributesRaw, heroClass);
                if (item.Gems != null)
                {
                    foreach (var gem in item.Gems)
                    {
                        ApplyFollowersBonusMalusOnItemAttributes(gem.AttributesRaw, heroClass);
                    }
                }
            }

            // Build unique item equivalent to items worn
            HeroStatsItem = new StatsItem(mainHand, offHand, items);

            levelAttributes = new Followers.ItemAttributesFromLevel(follower, heroClass);

            Update();
        }
コード例 #52
0
		public List<Secret> GetDefaultSecrets(HeroClass heroClass)
		{
			return SecretHelper.GetSecretIds(heroClass).Select(cardId => new Secret(cardId, 1)).ToList();
		}
コード例 #53
0
		public static int GetMaxSecretCount(HeroClass heroClass)
		{
			return GetSecretIds(heroClass).Count;
		}
コード例 #54
0
 public AttributeListItem(String name, HeroClass value)
 {
     Name = name;
     Value = value.Translate();
 }
コード例 #55
0
			public HeroClassWrapper(HeroClass heroClass)
			{
				Class = heroClass.ToString();
			}
コード例 #56
0
        public D3CalculatorForm(Follower follower, HeroClass heroClass)
            : this()
        {
            Item offHand;
            Item mainHand;
            Text += " [ " + follower.slug + " ]";

            guiHeroClass.SelectedItem = heroClass.ToString();
            guiHeroLevel.Text = follower.level.ToString();
            guiHeroParagonLevel.Text = "0";

            if (follower.items.special != null)
            {
                special = follower.items.special.GetFullItem();
            }
            if (follower.items.leftFinger != null)
            {
                leftFinger = follower.items.leftFinger.GetFullItem();
            }
            if (follower.items.neck != null)
            {
                neck = follower.items.neck.GetFullItem();
            }
            if (follower.items.rightFinger != null)
            {
                rightFinger = follower.items.rightFinger.GetFullItem();
            }

            // If no weapon is set in mainHand, use "naked hand" weapon
            if (follower.items.mainHand != null)
            {
                mainHand = follower.items.mainHand.GetFullItem();
            }
            else
            {
                mainHand = D3Calculator.NakedHandWeapon;
            }

            // If no item is set in offHand, use a blank item
            if (follower.items.offHand != null)
            {
                offHand = follower.items.offHand.GetFullItem();
            }
            else
            {
                offHand = D3Calculator.BlankWeapon;
            }

            var allRawItems = new List<Item> { special, leftFinger, neck, rightFinger, mainHand, offHand };

            guiSpecialEditor.SetEditedItem(special);
            guiMainHandEditor.SetEditedItem(mainHand);
            guiOffHandEditor.SetEditedItem(offHand);
            guiLeftFingerEditor.SetEditedItem(leftFinger);
            guiNeckEditor.SetEditedItem(neck);
            guiRightFingerEditor.SetEditedItem(rightFinger);

            guiSetBonusEditor.SetEditedItem(new Item(allRawItems.Where(i => i != null).ToList().GetActivatedSetBonus()));

            //populatePassiveSkills();
            //populateActiveSkills();
        }
コード例 #57
0
		public void SetMax(string cardId, HeroClass? heroClass)
		{
			if(heroClass == null)
			{
				heroClass = GetHeroClass(cardId);
				if(!heroClass.HasValue)
					return;
			}
			var index = SecretHelper.GetSecretIndex(heroClass.Value, cardId);
			if(index != -1)
				SetMax(index, heroClass.Value);
		}
コード例 #58
0
        public void ShowSecrets(bool force = false, HeroClass? heroClass = null)
        {
            if (Config.Instance.HideSecrets && !force)
                return;

            StackPanelSecrets.Children.Clear();
            var secrets = heroClass == null ? _game.OpponentSecrets.GetSecrets() : _game.OpponentSecrets.GetDefaultSecrets(heroClass.Value);
            foreach (var id in secrets)
            {
                var cardObj = new Controls.Card();
                var card = Database.GetCardFromId(id.CardId);
                card.Count = id.AdjustedCount(_game);
                cardObj.SetValue(DataContextProperty, card);
                StackPanelSecrets.Children.Add(cardObj);
            }

            StackPanelSecrets.Visibility = Visibility.Visible;
        }
コード例 #59
0
 public AttributeListItem(int id, HeroClass value) :
     this(Application.Context.Resources.GetString(id), value)
 {
 }
コード例 #60
0
 public static string RandomNameForClass(HeroClass heroClass)
 {
     int rndNameId = Random.Range(0, heroNamesDict[heroClass].Count);
     return heroNamesDict[heroClass][rndNameId];
 }