コード例 #1
0
ファイル: Rules.cs プロジェクト: TquilaBabz/GameEngine
        public Tuple<bool, string> IsCharacterIllegal(Character c)
        {
            if (c.CharBase.TurnPoints.MaxVal > allowedTurnPoints)
                return new Tuple<bool, string>(true, "The character " + c.CharBase.Name + " was illegal. The maximum allowed amount of turn points is " + allowedTurnPoints.ToString() + " the character had " + c.CharBase.TurnPoints.ToString() + ".");
            else if (c.CharBase.Health.MaxVal > 100 * scale)
                return new Tuple<bool, string>(true, "The character " + c.CharBase.Name + " was illegal. The maximum allowed amount of health points is " + (100*scale).ToString() + " the character had " + c.CharBase.Health.MaxVal.ToString() + ".");

            return new Tuple<bool, string>(false, "");
        }
コード例 #2
0
ファイル: Rules.cs プロジェクト: TquilaBabz/GameEngine
        public Tuple<bool, Ability> IsAbilityIlligal(Character c)
        {
            foreach (Ability a in c.CharBase.Abilities)
            {
                if (a.Cost > baseCost * scale)
                    return new Tuple<bool, Ability>(true, a);
            }

            return new Tuple<bool,Ability>(false, null);
        }
コード例 #3
0
 public CharacterEditorViewModel(Character character)
 {
     Character = character;
     _originalCharacter = new Character()
         {
             Background = character.Background,
             FactionName = character.FactionName,
             FirstName = character.FirstName,
             Gender = character.Gender,
             LastName = character.LastName
         };
     CharacterViewModel = new CharacterViewModel(Character);
 }
コード例 #4
0
ファイル: Character.cs プロジェクト: CloverClub/BlackDragon
 public bool Collision(Character attacker)
 {
     if (this is Enemy && attacker is Enemy)
     {
         return false;
     }
     int attack = attacker.damagePoints;
     if (attacker is Hero)
     {
         attack += (attacker as Hero).Weapon.Damage;
     }
     LoseHealthPoints(attack);
     return this.IsDead;
 }
コード例 #5
0
 public static ColoredString CharacterName(Character Char)
 {
     Color charColor;
       switch (Char.CharBase.Team)
       {
     case 1:
       charColor = Color.Red;
       break;
     case 2:
       charColor = Color.Blue;
       break;
     default:
       charColor = Color.Black;
       break;
       }
       return new ColoredString(charColor, Char.CharBase.Name);
 }
コード例 #6
0
ファイル: Card.cs プロジェクト: Frezc/CardRPG
 /// <summary>
 /// 武器牌所能造成的伤害
 /// </summary>
 /// <returns></returns>
 public abstract float Damage(Character character);
コード例 #7
0
ファイル: Skill.cs プロジェクト: Frezc/CardRPG
 public SkillBattleState(PositiveSkill skill, Character owner, int level = 1)
 {
     this.skill = skill;
     this.owner = owner;
     IsActive = true;
     cooldown = skill.Cooldown;
     this.level = level;
 }
コード例 #8
0
ファイル: Skill.cs プロジェクト: Frezc/CardRPG
 /// <summary>
 /// 创建该技能的战斗状态,如果是被动技能则返回null
 /// </summary>
 /// <returns></returns>
 public virtual SkillBattleState CreateBattleState(Character owner, SkillData data)
 {
     return null;
 }
コード例 #9
0
ファイル: Skill.cs プロジェクト: Frezc/CardRPG
 public override SkillBattleState CreateBattleState(Character owner, SkillData data)
 {
     var state = new SkillBattleState(this, owner, data.Level);
     return state;
 }
コード例 #10
0
ファイル: Ability.cs プロジェクト: TquilaBabz/GameEngine
 /// <summary>
 /// Uses an ability.
 /// </summary>
 /// <param name="Source">The Character who uses the ability.</param>
 /// <param name="Target">The Character that is the target of the ability.</param>
 public void Use(Character Source, List<Character> Targets)
 {
     OnAbilityFired(this, new AbilityEventArgs(Source, Targets, this));
 }
コード例 #11
0
ファイル: AIpis.cs プロジェクト: TquilaBabz/GameEngine
 private void GetSelf()
 {
     //Get me
     if (listOfCharacters.Where(x => x.CharAI.Equals(this)).FirstOrDefault() != null)
     {
         Self = listOfCharacters.Where(x => x.CharAI.Equals(this)).FirstOrDefault();
     }
     else
     {
         throw new Exception("Something went very wrong. I dont exist :(");
     }
 }
コード例 #12
0
 public void AddNewCharacter()
 {
     var character = _ssproj.AddNewCharacter();
     NotifyOfPropertyChange(() => Characters);
     SelectedCharacter = character;
 }
コード例 #13
0
ファイル: Character.cs プロジェクト: CloverClub/BlackDragon
 public virtual bool Attack(Character target)
 {
     return  target.Collision(this);
 }
コード例 #14
0
 public void Cancel()
 {
     FactionName = null;
     SelectedCharacter = null;
 }
コード例 #15
0
ファイル: Ability.cs プロジェクト: TquilaBabz/GameEngine
 public AbilityEventArgs(Character source, List<Character> targets, Ability ability)
 {
     this.Source = source;
     this.Targets = targets;
     this.Ability = ability;
 }
コード例 #16
0
ファイル: Card.cs プロジェクト: Frezc/CardRPG
 /// <summary>
 /// 卡片装备需求
 /// </summary>
 /// <param name="character">装备者</param>
 /// <returns></returns>
 public virtual bool MeetRequirement(Character character)
 {
     return true;
 }
コード例 #17
0
ファイル: Character.cs プロジェクト: Frezc/CardRPG
 /// <summary>
 /// 构造函数,初始化参数
 /// </summary>
 /// <param name="character"></param>
 public BattleState(Character character)
 {
     this.character = character;
     deck = new List<int>(character.Deck);
 }
コード例 #18
0
 public CharacterViewModel(Character character)
 {
     _character = character;
 }
コード例 #19
0
ファイル: Hero.cs プロジェクト: CloverClub/BlackDragon
 public override bool Attack(Character target)
 {
     bool attackResult = base.Attack(target);
     if (attackResult)
     {
         this.Experience += 10;
     }
     return attackResult;
 }
コード例 #20
0
 protected CharacterViewModel()
 {
     _character = new Character();
 }
コード例 #21
0
ファイル: AIpis.cs プロジェクト: TquilaBabz/GameEngine
        //1
        private void GetEnemies()
        {
            listOfCharacters.Sort((Character char1, Character char2) => char1.CharBase.Health.Current.CompareTo(char2.CharBase.Health.Current));

            //Implementation of the loop structure in our own language
            if (FocusTarget == null)
            {
                FocusTarget = listOfCharacters.Where(x => x.CharBase.Team != Self.CharBase.Team).FirstOrDefault();
            }

            if(SecondaryTarget == null)
            {
                SecondaryTarget = listOfCharacters.Where(x => x.CharBase.Team != Self.CharBase.Team && x != FocusTarget).FirstOrDefault();

                if (SecondaryTarget == null)
                    SecondaryTarget = FocusTarget;
            }
        }
コード例 #22
0
ファイル: SkillManager.cs プロジェクト: Frezc/CardRPG
 /// <summary>
 /// 获得技能的战斗状态
 /// </summary>
 /// <param name="character">技能所有者</param>
 /// <param name="data">技能数据</param>
 /// <returns></returns>
 public static SkillBattleState CreateSkillBattleStateByData(Character character, SkillData data)
 {
     var skill = GetSkillById(data.Id);
     return skill.CreateBattleState(character, data);
 }