コード例 #1
0
        public override void OnCast()
        {
            TransformationSpellHelper.OnCast(Caster, this);

            if (CheckSequence())
            {
                RemoveEffect(Caster);

                object[] mods = new object[]
                {
                    new StatMod(StatType.Str, "[Cleric] Str Offset", 20, TimeSpan.Zero),
                    new StatMod(StatType.Dex, "[Cleric] Dex Offset", 20, TimeSpan.Zero),
                    new StatMod(StatType.Int, "[Cleric] Int Offset", 20, TimeSpan.Zero),
                    new DefaultSkillMod(SkillName.Macing, true, 20),
                    new DefaultSkillMod(SkillName.Healing, true, 20),
                    new DefaultSkillMod(SkillName.Anatomy, true, 20)
                };

                m_Table[Caster] = mods;

                Caster.AddStatMod((StatMod)mods[0]);
                Caster.AddStatMod((StatMod)mods[1]);
                Caster.AddStatMod((StatMod)mods[2]);
                Caster.AddSkillMod((SkillMod)mods[3]);
                Caster.AddSkillMod((SkillMod)mods[4]);
                Caster.AddSkillMod((SkillMod)mods[5]);

                double span = 10.0 * ClericDivineFocusSpell.GetScalar(Caster);
                new InternalTimer(Caster, TimeSpan.FromMinutes((int)span)).Start();

                IMount mount = Caster.Mount;

                if (mount != null)
                {
                    mount.Rider = null;
                }

                Caster.BodyMod = 123;
                Caster.BeginAction(typeof(ClericAngelicFaithSpell));
                Caster.PlaySound(0x165);
                Caster.FixedParticles(0x3728, 1, 13, 0x480, 92, 3, EffectLayer.Head);
            }

            FinishSequence();
        }
コード例 #2
0
        public override void OnCast()
        {
            TransformationSpellHelper.OnCast(Caster, this);

            if (CheckSequence())
            {
                RemoveEffect(Caster);

                int modify = (int)((Caster.Skills[SkillName.Healing].Value / 25) + (Caster.Skills[SkillName.SpiritSpeak].Value / 25));

                modify = Server.Misc.MyServerSettings.PlayerLevelMod(modify, Caster);

                object[] mods = new object[]
                {
                    new StatMod(StatType.Str, "[] Str Offset", modify, TimeSpan.Zero),
                    new StatMod(StatType.Dex, "[] Dex Offset", modify, TimeSpan.Zero),
                    new StatMod(StatType.Int, "[] Int Offset", modify, TimeSpan.Zero),
                    new DefaultSkillMod(SkillName.Parry, true, modify),
                    new DefaultSkillMod(SkillName.Tactics, true, modify),
                    new DefaultSkillMod(SkillName.Anatomy, true, modify)
                };

                m_Table[Caster] = mods;

                Caster.AddStatMod((StatMod)mods[0]);
                Caster.AddStatMod((StatMod)mods[1]);
                Caster.AddStatMod((StatMod)mods[2]);
                Caster.AddSkillMod((SkillMod)mods[3]);
                Caster.AddSkillMod((SkillMod)mods[4]);
                Caster.AddSkillMod((SkillMod)mods[5]);

                double span = (Caster.Skills[SkillName.Healing].Value + (Caster.Skills[SkillName.SpiritSpeak].Value / 2));
                new InternalTimer(Caster, TimeSpan.FromSeconds((int)span)).Start();

                Caster.BeginAction(typeof(SanctifySpell));
                Caster.PlaySound(0x5C9);
                Point3D wings = new Point3D(Caster.X + 1, Caster.Y + 1, Caster.Z + 18);
                Effects.SendLocationEffect(wings, Caster.Map, 0x3FE5, 30, 10, 0, 0);
            }

            FinishSequence();
        }
コード例 #3
0
        public override void OnCast()
        {
            TransformationSpellHelper.OnCast(Caster, this);

            if (CheckSequence())
            {
                RemoveEffect(Caster);

                int modify = (int)((Caster.Skills[SkillName.Healing].Value / 5) + (Caster.Skills[SkillName.SpiritSpeak].Value / 10));

                object[] mods = new object[]
                {
                    new StatMod(StatType.Str, "[] Str Offset", modify, TimeSpan.Zero),
                    new StatMod(StatType.Dex, "[] Dex Offset", modify, TimeSpan.Zero),
                    new StatMod(StatType.Int, "[] Int Offset", modify, TimeSpan.Zero),
                    new DefaultSkillMod(SkillName.Parry, true, modify),
                    new DefaultSkillMod(SkillName.Tactics, true, modify),
                    new DefaultSkillMod(SkillName.Anatomy, true, modify)
                };

                m_Table[Caster] = mods;

                Caster.AddStatMod((StatMod)mods[0]);
                Caster.AddStatMod((StatMod)mods[1]);
                Caster.AddStatMod((StatMod)mods[2]);
                Caster.AddSkillMod((SkillMod)mods[3]);
                Caster.AddSkillMod((SkillMod)mods[4]);
                Caster.AddSkillMod((SkillMod)mods[5]);

                double span = (Caster.Skills[SkillName.Healing].Value + (Caster.Skills[SkillName.SpiritSpeak].Value / 2));
                new InternalTimer(Caster, TimeSpan.FromSeconds((int)span)).Start();

                Caster.BeginAction(typeof(SanctifySpell));
                Caster.PlaySound(0x5C9);
                Caster.FixedParticles(0x3FE5, 1, 13, 0, 92, 3, EffectLayer.Head);
            }

            FinishSequence();
        }
コード例 #4
0
        public override void OnCast()
        {
            TransformationSpellHelper.OnCast(Caster, this);

            FinishSequence();
        }