Esempio n. 1
0
        public override DialogueSpell GetSpellEffectDialogue(Character caster, Character target)
        {
            DialogueSpell output = new DialogueSpell(name);
            int           damage = Fight.DamageCalculation(35, caster.attributes.GetSecondaryAttributeValue(SecondaryAttribute.PhysicalDamage), 0);

            output.AddNode(new DialogueSpeech("DANK DUNK! " + caster.name + " hits through " + target.name + "'s armor!"));
            output.AddNode(new DialogueSpeech(damage + " points of damage!!!")
                           .AddEffect()
                           .AddHandler(new DialogueEffectDamageCharacterHandler(target, damage)));
            return(output);
        }
Esempio n. 2
0
        public override DialogueSpell GetSpellEffectDialogue(Character caster, Character target)
        {
            DialogueSpell output = new DialogueSpell(name);

            output.AddNode(new DialogueSpeech(caster.name + " shouts a battle cry!"));
            output.AddNode(new DialogueSpeech(caster.name + " physical damages are increased.")
                           .AddEffect()
                           .AddHandler(new DialogueEffectBuffCharacterHandler(caster, caster, Buff.battleCrySource)));
            output.AddNode(new DialogueSpeech(target.name + " physical damages are decreased.")
                           .AddEffect()
                           .AddHandler(new DialogueEffectBuffCharacterHandler(caster, target, Buff.battleCryTarget)));
            return(output);
        }
Esempio n. 3
0
        public override DialogueSpell GetSpellEffectDialogue(Character caster, Character target)
        {
            DialogueSpell output = new DialogueSpell(name);
            string        text;

            if (caster == target)
            {
                text = caster.name + " impregnates " + caster.weapon.name + " with holy energy.";
            }
            else
            {
                text = caster.name + " impregnates " + target.name + "'s " + target.weapon.name + " with holy energy.";
            }
            output.AddNode(new DialogueSpeech(text)
                           .AddEffect()
                           .AddHandler(new DialogueEffectBuffWeaponHandler(caster, target.weapon, Buff.blessing)));
            return(output);
        }
Esempio n. 4
0
        public override DialogueSpell GetSpellEffectDialogue(Character caster, Character target)
        {
            DialogueSpell output = new DialogueSpell(name);
            int           damage = caster.weapon.GetDamage(caster, target);
            string        text;

            if (caster.HasWeapon())
            {
                text = "Using " + caster.weapon.name + ", " + caster.name + " attacks " + target.name + ".";
            }
            else
            {
                text = "Using their own hands as a weapon, " + caster.name + " attacks " + target.name + ".";
            }
            output.AddNode(new DialogueSpeech(text));
            output.AddNode(new DialogueSpeech(damage + " damages!")
                           .AddEffect()
                           .AddHandler(new DialogueEffectDamageCharacterHandler(target, damage)));
            return(output);
        }
Esempio n. 5
0
        public override DialogueSpell GetSpellEffectDialogue(Character caster, Character target)
        {
            DialogueSpell output   = new DialogueSpell(name);
            bool          blessing = caster.weapon.HasBuff(Buff.blessing);

            caster.weapon.physicalDamage.AddModification(caster.attributes.GetMainAttributeValue(MainAttribute.Strength));
            if (blessing)
            {
                caster.weapon.lightDamage.AddModification(caster.attributes.GetMainAttributeValue(MainAttribute.Spirit));
            }
            int damage = caster.weapon.GetDamage(caster, target);

            caster.weapon.physicalDamage.RemoveModification(caster.attributes.GetMainAttributeValue(MainAttribute.Strength));
            if (blessing)
            {
                caster.weapon.lightDamage.RemoveModification(caster.attributes.GetMainAttributeValue(MainAttribute.Spirit));
            }

            output.AddNode(new DialogueSpeech(caster.name + " strikes with a furious blow, crushing " + target.name + "."));
            output.AddNode(new DialogueSpeech(damage + " damages!")
                           .AddEffect()
                           .AddHandler(new DialogueEffectDamageCharacterHandler(target, damage)));
            return(output);
        }