예제 #1
0
 public CombatReport(EntityModel attacker, EnumSkill skill, EntityModel target, float damage)
 {
     AttackerObjectInstanceId = attacker.Id;
     TargetObjectInstanceId = target == null ? 0 : target.Id;
     Skill = skill;
     Damage = damage;
 }
예제 #2
0
 public CombatantModel StartSkill(EnumSkill skill, EntityModel target, DateTime when, TimeSpan leadTime)
 {
     var r = (CombatantModel)MemberwiseClone();
     r.ActivatingSkill = skill;
     r.Target = target;
     r.ActivatingSkillTimestamp = when;
     r.ActivatingSkillLeadTime = leadTime;
     return r;
 }
예제 #3
0
 public SkillEvent(EntityModel source, EnumSkill skill, EntityModel target, bool succeeds, bool hits, bool avoided, string description)
 {
     Source = source;
     Skill = skill;
     Target = target;
     Succeeds = succeeds;
     Hits = hits;
     Avoided = avoided;
     Description = description;
 }
예제 #4
0
 public float GetCompetancy(EnumSkill skill)
 {
     Schema.MobileHasSkillRow mhs = Global.ModelSchema.MobileHasSkill.FindByTemplateObjectIDEnumSkillID(
         TemplateObjectId, (int)skill);
     if (mhs != null)
     {
         return((float)mhs.Rating);
     }
     return(0);
 }
예제 #5
0
 public CombatantModel EnqueueSkill(EnumSkill skill, EntityModel target)
 {
     var r = (CombatantModel)MemberwiseClone();
     // TODO: zomg surely there is a simpler expression
     r.SkillQueue = ListModule.Append(
         SkillQueue,
         new FSharpList<Tuple<EnumSkill, EntityModel>>(new Tuple<EnumSkill, EntityModel>(skill, target),
             ListModule.Empty<Tuple<EnumSkill, EntityModel>>()));
     return r;
 }
예제 #6
0
 public CharacterState(EnumCharacter enumCharacter, float hp, float pdmg, float mdmg, float pdef, float mdef,
                       EnumSkill enumSkill)
 {
     EnumCharacter = enumCharacter;
     Hp            = hp;
     Pdmg          = pdmg;
     Mdmg          = mdmg;
     Pdef          = pdef;
     Mdef          = mdef;
     EnumSkill     = enumSkill;
 }
예제 #7
0
        public Skill(EnumSkill enumName)
        {
            switch (enumName)
            {
            case EnumSkill.Fireball:
                name         = "Fireball";
                ID           = EnumSkill.Fireball;
                cost         = 3;
                damageAmount = 10;
                healAmount   = 0;

                effect = new List <EnumSkillEffect>();
                effect.Add(EnumSkillEffect.DamageOther);

                break;

            case EnumSkill.SelfHealing:
                name         = "Self Healing";
                ID           = EnumSkill.SelfHealing;
                cost         = 2;
                damageAmount = 0;
                healAmount   = 10;

                effect = new List <EnumSkillEffect>();
                effect.Add(EnumSkillEffect.HealSelf);

                break;

            case EnumSkill.Immolation:
                name         = "Immolation";
                ID           = EnumSkill.Immolation;
                cost         = 0;
                damageAmount = 100;
                healAmount   = 0;

                effect = new List <EnumSkillEffect>();
                effect.Add(EnumSkillEffect.DamageSelf);
                effect.Add(EnumSkillEffect.DamageOther);

                break;

            default:
                name         = "None";
                ID           = EnumSkill.None;
                cost         = 0;
                damageAmount = 0;
                healAmount   = 0;
                effect       = new List <EnumSkillEffect>();
                break;
            }
        }
예제 #8
0
        public void ShowEffect(EnumSkill _enum)
        {
            switch (_enum)
            {
            case EnumSkill.Attack:
                effect1.gameObject.SetActive(true);
                effect1.GetComponent <Animator>().Play("play", 0, 0);
                effect1.GetComponent <Effect>().EndTime = 1;
                effect1.GetComponent <Effect>().IsStart = true;
                break;

            case EnumSkill.Cure:
                effect2.gameObject.SetActive(true);
                effect2.GetComponent <Animator>().Play("play", 0, 0);
                effect2.GetComponent <Effect>().EndTime = 1;
                effect2.GetComponent <Effect>().IsStart = true;
                break;
            }
        }
예제 #9
0
 public void UseSkill(EnumSkill skill, int invokationId, int[] targets)
 {
     Send(new UseSkill(skill, invokationId, targets));
 }
예제 #10
0
 public void UseSkill(EnumSkill skill, int invokationId)
 {
     Send(new UseSkill(skill, invokationId));
 }
예제 #11
0
 public void UseSkill(EnumSkill skill, int invokationId, int[] targets)
 {
     Send(new UseSkill(skill, invokationId, targets));
 }
예제 #12
0
 public void UseSkill(EnumSkill skill, int invokationId)
 {
     Send(new UseSkill(skill, invokationId));
 }
예제 #13
0
 public UseSkill(EnumSkill skill, int invokationId, int[] targetPhysicalObjectIDs)
 {
     Skill = skill;
     InvokationId = invokationId;
     TargetPhysicalObjectIDs = targetPhysicalObjectIDs;
 }
예제 #14
0
 public UseSkill(EnumSkill skill, int invokationId)
 {
     Skill = skill;
     InvokationId = invokationId;
     TargetPhysicalObjectIDs = new int[0];
 }
예제 #15
0
 public UseSkill(EnumSkill skillId, int invokationId, int[] targetPhysicalObjectIDs)
 {
     SkillId                 = (int)skillId;
     InvokationId            = invokationId;
     TargetPhysicalObjectIDs = targetPhysicalObjectIDs;
 }
예제 #16
0
 public UseSkill(EnumSkill skillId, int invokationId)
 {
     SkillId                 = (int)skillId;
     InvokationId            = invokationId;
     TargetPhysicalObjectIDs = new int[0];
 }