Example #1
0
 public Actor
 (
     short cardId,
     string origin,
     string @class,
     string name,
     Attribute health,
     Attribute defense,
     Attribute attack,
     Attribute speed,
     Attribute precision,
     Attribute manaCost,
     string rarity,
     ActorAction2 actorAction,
     short characterId
 )
 {
     CardId      = cardId;
     Origin      = origin;
     Class       = @class;
     Name        = name;
     Health      = health;
     Defense     = defense;
     Attack      = attack;
     Speed       = speed;
     Precision   = precision;
     ManaCost    = manaCost;
     Rarity      = rarity;
     ActorAction = actorAction;
     CharacterId = characterId;
 }
Example #2
0
        public static Actor Build(Characters cardChoice, short cardId)
        {
            // gathering character information
            var associations = CharacterLegend[cardChoice];
            var originStats  = OriginStats[associations.origin];
            var classStats   = ClassStats[associations.@class];
            var rarityStats  = RarityStats[associations.rarity];

            Attribute health    = new Attribute();
            Attribute defense   = new Attribute();
            Attribute attack    = new Attribute();
            Attribute speed     = new Attribute();
            Attribute precision = new Attribute();
            Attribute manaCost  = new Attribute();

            // attaching stats
            string name   = associations.name;
            string origin = originStats.origin;
            string @class = classStats.@class;
            string rarity = rarityStats.rarity;

            health.BaseValue       = (short)(originStats.health + classStats.health + rarityStats.health);
            health.CurrentValue    = (short)(originStats.health + classStats.health + rarityStats.health);
            defense.BaseValue      = (short)(originStats.defense + classStats.defense + rarityStats.defense);
            defense.CurrentValue   = (short)(originStats.defense + classStats.defense + rarityStats.defense);
            attack.BaseValue       = (short)(originStats.attack + classStats.attack + rarityStats.attack);
            attack.CurrentValue    = (short)(originStats.attack + classStats.attack + rarityStats.attack);
            speed.BaseValue        = (short)(originStats.speed + classStats.speed + rarityStats.speed);
            speed.CurrentValue     = (short)(originStats.speed + classStats.speed + rarityStats.speed);
            precision.BaseValue    = (short)(originStats.precision + classStats.precision + rarityStats.precision);
            precision.CurrentValue = (short)(originStats.precision + classStats.precision + rarityStats.precision);
            manaCost.BaseValue     = rarityStats.manaCost;
            manaCost.CurrentValue  = rarityStats.manaCost;
            short characterId = (short)cardChoice;

            // attaching effects
            List <Effect> actorEffects = new List <Effect>();
            var           characterEffectDetailsList = CharacterEffects[cardChoice];

            foreach (var effectDetailsReference in characterEffectDetailsList)
            {
                var           effectDetails = Effects[effectDetailsReference];
                Targeter      targeter      = effectDetails.targeter;
                AppliedEffect appliedEffect = effectDetails.appliedEffect;
                string        animation     = effectDetails.animation;
                Effect        effect        = new Effect(targeter, appliedEffect, animation);
                actorEffects.Add(effect);
            }
            Effect[]     effectArray = actorEffects.ToArray();
            ActorAction2 actorAction = new ActorAction2(effectArray);

            Actor actor = new Actor(cardId, origin, @class, name, health, defense, attack, speed, precision, manaCost, rarity, actorAction, characterId);

            return(actor);
        }
        private static void AssignEffects(List <Actor> party)
        {
            foreach (var actor in party)
            {
                // attaching effects
                List <Effect> actorEffects = new List <Effect>();
                var           characterEffectDetailsList = CharacterEffects[(Characters)actor.CharacterId];
                foreach (var effectDetailsReference in characterEffectDetailsList)
                {
                    var           effectDetails = Effects[effectDetailsReference];
                    Targeter      targeter      = effectDetails.targeter;
                    AppliedEffect appliedEffect = effectDetails.appliedEffect;
                    string        animation     = effectDetails.animation;
                    Effect        effect        = new Effect(targeter, appliedEffect, animation);
                    actorEffects.Add(effect);
                }
                Effect[]     effectArray = actorEffects.ToArray();
                ActorAction2 actorAction = new ActorAction2(effectArray);

                actor.ActorAction = actorAction;
            }
        }