コード例 #1
0
        private int getBonus(List <HabilidadeNode> habilidadesNode, HabilidadeTipo tipo, ResistanceType type)
        {
            int        bonus      = 0;
            Habilidade habilidade = null;

            foreach (HabilidadeNode node in habilidadesNode)
            {
                habilidade = Habilidade.getHabilidade(node.Id, tipo);
                bonus     += habilidade.resistenciaBonus(node, type);
            }

            return(bonus);
        }
コード例 #2
0
ファイル: SkillUtil.cs プロジェクト: zerodowned/kaltar
        private double getBonus(List <HabilidadeNode> habilidadesNode, HabilidadeTipo tipo, SkillName skillName)
        {
            double     bonus      = 0;
            Habilidade habilidade = null;

            foreach (HabilidadeNode node in habilidadesNode)
            {
                habilidade = Habilidade.getHabilidade(node.Id, tipo);
                bonus     += habilidade.skillBonus(node, skillName);
            }

            return(bonus);
        }
コード例 #3
0
ファイル: CombateUtil.cs プロジェクト: zerodowned/kaltar
        private int getBonus(List <HabilidadeNode> habilidadesNode, HabilidadeTipo tipo, BaseWeapon arma, Item escudo)
        {
            int        bonus      = 0;
            Habilidade habilidade = null;

            foreach (HabilidadeNode node in habilidadesNode)
            {
                habilidade = Habilidade.getHabilidade(node.Id, tipo);
                bonus     += habilidade.defenderBonus(node, arma, escudo);
            }

            return(bonus);
        }
コード例 #4
0
ファイル: CombateUtil.cs プロジェクト: zerodowned/kaltar
        private int getBonus(List <HabilidadeNode> habilidadesNode, HabilidadeTipo tipo, Jogador jogador, Mobile defensor)
        {
            int        bonus      = 0;
            Habilidade habilidade = null;

            foreach (HabilidadeNode node in habilidadesNode)
            {
                habilidade = Habilidade.getHabilidade(node.Id, tipo);
                bonus     += habilidade.acertarBonus(node, jogador, defensor);
            }

            return(bonus);
        }
コード例 #5
0
ファイル: CombateUtil.cs プロジェクト: zerodowned/kaltar
        private int getDanoAtaqueCriticoBonus(List <HabilidadeNode> habilidadesNode, HabilidadeTipo tipo, Jogador atacante, Mobile defensor)
        {
            int        bonus      = 0;
            Habilidade habilidade = null;

            foreach (HabilidadeNode node in habilidadesNode)
            {
                habilidade = Habilidade.getHabilidade(node.Id, tipo);
                bonus     += habilidade.danoAtaqueCriticoBonus(node, atacante, defensor);
            }

            return(bonus);
        }
コード例 #6
0
ファイル: CombateUtil.cs プロジェクト: zerodowned/kaltar
        private double getBonus(List <HabilidadeNode> habilidadesNode, HabilidadeTipo tipo, Item item)
        {
            double     bonus      = 0;
            Habilidade habilidade = null;

            foreach (HabilidadeNode node in habilidadesNode)
            {
                habilidade = Habilidade.getHabilidade(node.Id, tipo);
                bonus     += habilidade.apararBonus(node, item);
            }

            return(bonus);
        }
コード例 #7
0
ファイル: CombateUtil.cs プロジェクト: zerodowned/kaltar
        /**
         * Evento que ocorre quando um ataque e aparado.
         */
        public void onAparar(Mobile attacker, Mobile defender, int dano)
        {
            if (defender is Jogador)
            {
                Jogador defensor = (Jogador)defender;

                //habilidade talento
                Dictionary <IdHabilidadeTalento, HabilidadeNode> talento = defensor.getSistemaTalento().getHabilidades();
                List <HabilidadeNode> habilidadesNode = new List <HabilidadeNode>(talento.Values);

                Habilidade habilidade = null;
                foreach (HabilidadeNode node in habilidadesNode)
                {
                    habilidade = Habilidade.getHabilidade(node.Id, HabilidadeTipo.talento);
                    habilidade.onAparar(attacker, defensor, dano);
                }
            }
        }
コード例 #8
0
ファイル: CombateUtil.cs プロジェクト: zerodowned/kaltar
        /**
         * Evento que ocorre quando um ataque crítico ocorre.
         * dano = dano que será causado.
         */
        public void onAtaqueCritico(Mobile atacante, Mobile defensor, int dano)
        {
            if (atacante is Jogador)
            {
                Jogador atacante1 = (Jogador)atacante;

                //habilidade talento
                Dictionary <IdHabilidadeTalento, HabilidadeNode> talento = atacante1.getSistemaTalento().getHabilidades();
                List <HabilidadeNode> habilidadesNode = new List <HabilidadeNode>(talento.Values);

                Habilidade habilidade = null;
                foreach (HabilidadeNode node in habilidadesNode)
                {
                    habilidade = Habilidade.getHabilidade(node.Id, HabilidadeTipo.talento);
                    habilidade.onAtaqueCritico(atacante1, defensor, dano);
                }
            }
        }
コード例 #9
0
        private int getBonus(List <HabilidadeNode> habilidadesNode, HabilidadeTipo tipo, AtributoTipo atributoTipo)
        {
            int        bonus      = 0;
            Habilidade habilidade = null;

            foreach (HabilidadeNode node in habilidadesNode)
            {
                habilidade = Habilidade.getHabilidade(node.Id, tipo);

                if (AtributoTipo.vida.Equals(atributoTipo))
                {
                    bonus += habilidade.vidaBonus(node);
                }
                else if (AtributoTipo.folego.Equals(atributoTipo))
                {
                    bonus += habilidade.folegoBonus(node);
                }
                else if (AtributoTipo.mana.Equals(atributoTipo))
                {
                    bonus += habilidade.manaBonus(node);
                }
                else if (AtributoTipo.forca.Equals(atributoTipo))
                {
                    bonus += habilidade.forcaBonus(node);
                }
                else if (AtributoTipo.destreza.Equals(atributoTipo))
                {
                    bonus += habilidade.destrezaBonus(node);
                }
                else if (AtributoTipo.inteligencia.Equals(atributoTipo))
                {
                    bonus += habilidade.inteligenciaBonus(node);
                }
                else if (AtributoTipo.carga.Equals(atributoTipo))
                {
                    bonus += habilidade.cargaBonus(node);
                }
            }

            return(bonus);
        }
コード例 #10
0
ファイル: SkillUtil.cs プロジェクト: zerodowned/kaltar
        private int getBonus(List <HabilidadeNode> habilidadesNode, HabilidadeTipo tipo, TipoSkill tipoSkill)
        {
            int        bonus      = 0;
            Habilidade habilidade = null;

            foreach (HabilidadeNode node in habilidadesNode)
            {
                habilidade = Habilidade.getHabilidade(node.Id, tipo);

                if (TipoSkill.ambos.Equals(tipo) || TipoSkill.trabalho.Equals(tipoSkill))
                {
                    bonus += habilidade.skillsCapTrabalhoBonus(node);
                }

                if (TipoSkill.ambos.Equals(tipo) || TipoSkill.normal.Equals(tipoSkill))
                {
                    bonus += habilidade.skillsCapBonus(node);
                }
            }

            return(bonus);
        }