예제 #1
0
파일: Skill4210.cs 프로젝트: yi-zhu/gnp
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_maxmp = player.GetMaxmp();
            int            skill_level  = skill.GetLevel();

            /*
             * v18 = 3 * skill_level + 20;
             * if ( skill_level == 5 )
             * v17 = (v18 + 5);
             * else
             * victim.SetProbability(v18);
             * if ( skill_level == 5 )
             * v16 = 2.0f;
             * else
             * victim.SetAmount(1.0f);
             * victim.SetClearbuff(true);
             * victim.SetProbability(-1.0f);
             * victim.SetTime(6100.0f);
             * victim.SetBuffid(4);
             * victim.SetAmount((skill_level * (player_maxmp * 0.2f)));
             * victim.SetValue(0.0f);
             * victim.SetMpleak(true);
             */
            return(true);
        }
예제 #2
0
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_maxhp = player.GetMaxhp();
            int            player_maxmp = player.GetMaxmp();

            victim.SetProbability(120.0f);
            victim.SetTime(5000.0f);
            victim.SetBuffid(1);
            victim.SetAmount(20000.0f);
            victim.SetValue((player_maxhp * 0.5f));
            victim.SetSubhp(true);
            victim.SetProbability(120.0f);
            victim.SetTime(5000.0f);
            victim.SetBuffid(1);
            victim.SetAmount(5000.0f);
            victim.SetValue((player_maxmp * 0.5f));
            victim.SetSubmp(true);
            victim.SetProbability(120.0f);
            victim.SetTime(5000.0f);
            victim.SetDiet(true);
            victim.SetProbability(120.0f);
            victim.SetTime(8000.0f);
            victim.SetBuffid(1);
            victim.SetValue(2000.0f);
            victim.SetSubattack(true);
            return(true);
        }
예제 #3
0
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_maxhp = player.GetMaxhp();
            int            player_maxmp = player.GetMaxmp();

            victim.SetTime(16000.0f);
            victim.SetRatio(0.25f);
            victim.SetBuffid(1);
            victim.SetDecanti(true);
            victim.SetProbability(100.0f);
            victim.SetTime(16000.0f);
            victim.SetBuffid(1);
            victim.SetAmount(((player_maxhp + player_maxmp)));
            victim.SetValue(0.0f);
            victim.SetMpleak(true);
            victim.SetProbability(100.0f);
            victim.SetTime(16000.0f);
            victim.SetRatio(0.30000001f);
            victim.SetBuffid(1);
            victim.SetDeccritrate(true);
            victim.SetTime(3000.0f);
            victim.SetBuffid(0);
            victim.SetGloss(true);
            return(true);
        }
예제 #4
0
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_level = player.GetLevel();
            int            player_maxmp = player.GetMaxmp();
            int            skill_level  = skill.GetLevel();

            victim.SetProbability(((2 * player_level + 50)));
            victim.SetTime(((88000 * D2INT((zrand(3 * skill_level + 100)) / 100) + 2000)));
            victim.SetValue(0.0f);
            victim.SetSleep(true);
            victim.SetProbability(3.0f);
            victim.SetTime(90000.0f);
            victim.SetBuffid(1);
            victim.SetAmount(((90000 * skill_level)));
            victim.SetValue(player_maxmp);
            victim.SetMpleak(true);
            victim.SetProbability(3.0f);
            victim.SetTime(90000.0f);
            victim.SetRatio((skill_level * 0.3f));
            victim.SetBuffid(1);
            victim.SetDecdefence(true);
            victim.SetProbability(3.0f);
            victim.SetTime(90000.0f);
            victim.SetRatio((skill_level * 0.3f));
            victim.SetBuffid(1);
            victim.SetDecaccuracy(true);
            return(true);
        }
예제 #5
0
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_maxmp = player.GetMaxmp();
            int            skill_level  = skill.GetLevel();

            /*
             * if ( zrand(5 * skill_level + 25) > 99 )
             * d = 0.0f;
             * else
             * victim.SetProbability(600.0f);
             * victim.SetTime(((1000 * skill_level)));
             * victim.SetRatio(((5 * skill_level + 25) * 0.01f));
             * victim.SetBuffid(1);
             * victim.SetSlow(true);
             * victim.SetProbability(-1.0f);
             * victim.SetTime(100.0f);
             * victim.SetBuffid(1);
             * victim.SetAmount((skill_level * ((player_maxmp * 0.01f) + (player_maxmp * 0.01f))));
             * victim.SetValue(0.0f);
             * victim.SetMpleak(true);
             */
            return(true);
        }
예제 #6
0
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_maxhp = player.GetMaxhp();
            int            player_maxmp = player.GetMaxmp();
            int            skill_level  = skill.GetLevel();

            victim.SetProbability(100.0f);
            victim.SetTime(7200000.0f);
            victim.SetRatio(0.1f);
            victim.SetBuffid(2);
            victim.SetValue(((2 * skill_level)));
            victim.SetHupo(true);
            victim.SetProbability(100.0f);
            victim.SetTime(7200000.0f);
            victim.SetRatio(0.050000001f);
            victim.SetBuffid(2);
            victim.SetValue(((2 * skill_level)));
            victim.SetGuilin(true);
            victim.SetProbability(120.0f);
            victim.SetTime(7200000.0f);
            victim.SetRatio(0.0f);
            victim.SetBuffid(1);
            victim.SetAmount(0.0f);
            victim.SetValue(((36 * player_maxhp)));
            victim.SetHpgen(true);
            victim.SetProbability(120.0f);
            victim.SetTime(7200000.0f);
            victim.SetBuffid(1);
            victim.SetAmount(0.0f);
            victim.SetValue(((36 * player_maxmp)));
            victim.SetMpgen(true);
            return(true);
        }
예제 #7
0
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_maxmp = player.GetMaxmp();

            victim.SetProbability(120.0f);
            victim.SetTime(3000.0f);
            victim.SetDiet(true);
            victim.SetProbability(600.0f);
            victim.SetTime(8000.0f);
            victim.SetRatio(0.80000001f);
            victim.SetBuffid(2);
            victim.SetSlow(true);
            victim.SetProbability(120.0f);
            victim.SetTime(8000.0f);
            victim.SetBuffid(2);
            victim.SetValue(2000.0f);
            victim.SetSubattack(true);
            victim.SetProbability(120.0f);
            victim.SetTime(4000.0f);
            victim.SetBuffid(2);
            victim.SetAmount(((2 * player_maxmp)));
            victim.SetValue(0.0f);
            victim.SetMpleak(true);
            return(true);
        }
예제 #8
0
            public override void Calculate(GSkill skill)
            {
                GPlayerWrapper player       = skill.GetPlayer();
                int            player_maxmp = player.GetMaxmp();

                player.SetVar1(player_maxmp);
                player.SetPerform(1);
            }
예제 #9
0
            public override void Calculate(GSkill skill)
            {
                GPlayerWrapper player        = skill.GetPlayer();
                int            player_maxmp  = player.GetMaxmp();
                int            player_maxatk = player.GetMaxatk();
                int            player_dodge  = player.GetDodge();

                player.SetVar1((int)(player_dodge * player_maxatk / 10 + (player_dodge * player_maxmp / 50)));
                player.SetPerform(1);
            }
예제 #10
0
파일: Skill790.cs 프로젝트: amusegame/sdk
            public override void Calculate(GSkill skill)
            {
                GPlayerWrapper player       = skill.GetPlayer();
                int            player_mp    = player.GetMp();
                int            player_maxmp = player.GetMaxmp();
                int            skill_level  = skill.GetLevel();

                player.SetVar2((player_mp - skill_level * (player_maxmp * 0.05f) > 0.0f)?1:0);
                player.SetVar1(player_maxmp);
                player.SetMp((player_mp - skill_level * (player_maxmp * 0.08f) <= 0.0f)?player_mp:(player_mp - skill_level * (player_maxmp * 0.08f)));
                player.SetPerform(1);
            }
예제 #11
0
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_mp    = player.GetMp();
            int            player_maxmp = player.GetMaxmp();
            int            skill_level  = skill.GetLevel();

            victim.SetRatio((norm((player_maxmp * (skill_level * 0.04f + 0.2f)) / (player_mp + 1)) * (skill_level * 0.05f + 0.25f) + 0.0001f));
            victim.SetAmount(0.0f);
            victim.SetValue(0.0f);
            victim.SetSecondattack(true);
            return(true);
        }
예제 #12
0
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_maxmp = player.GetMaxmp();

            victim.SetProbability(120.0f);
            victim.SetTime(20000.0f);
            victim.SetBuffid(1);
            victim.SetAmount((player_maxmp * 1.2f));
            victim.SetValue(0.0f);
            victim.SetMpleak(true);
            return(true);
        }
예제 #13
0
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_maxmp = player.GetMaxmp();
            int            skill_level  = skill.GetLevel();

            victim.SetProbability(120.0f);
            victim.SetTime(33000.0f);
            victim.SetBuffid(6);
            victim.SetAmount((player_maxmp * ((skill_level + 1) * ((skill_level + 1) * 0.02f)) * 16.0f));
            victim.SetValue(0.0f);
            victim.SetMpleak(true);
            return(true);
        }
예제 #14
0
            public override void Calculate(GSkill skill)
            {
                GPlayerWrapper player       = skill.GetPlayer();
                int            player_mp    = player.GetMp();
                int            player_maxmp = player.GetMaxmp();
                int            player_res4  = player.GetRes4();
                int            player_res6  = player.GetRes6();

                player.SetVar1(player_res4);
                player.SetVar2(player_res6);
                player.SetVar3(player_maxmp);
                player.SetVar4(player_mp);
                skill.SetPlus(((player_res4 * player_res6)));
                player.SetPerform(1);
            }
예제 #15
0
            public override void Calculate(GSkill skill)
            {
                GPlayerWrapper player           = skill.GetPlayer();
                int            player_maxmp     = player.GetMaxmp();
                int            player_maxatk    = player.GetMaxatk();
                int            player_def       = player.GetDef();
                int            player_skillrate = player.GetSkillrate();
                int            player_res3      = player.GetRes3();

                player.SetVar3(player_skillrate);
                player.SetVar1(player_maxatk);
                player.SetVar2(player_maxmp);
                player.SetVar3(player_res3);
                player.SetVar4(player_def);
                player.SetPerform(1);
            }
예제 #16
0
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_maxhp = player.GetMaxhp();
            int            player_maxmp = player.GetMaxmp();
            int            skill_level  = skill.GetLevel();

            victim.SetProbability(120.0f);
            victim.SetTime(300000.0f);
            victim.SetBuffid(1);
            victim.SetAmount((player_maxhp * (skill_level * 0.5f)));
            victim.SetValue((player_maxmp * (skill_level * 0.5f)));
            victim.SetSpicy(true);
            return(true);
        }
예제 #17
0
파일: Skill4250.cs 프로젝트: amusegame/sdk
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_mp    = player.GetMp();
            int            player_maxmp = player.GetMaxmp();
            int            skill_level  = skill.GetLevel();
            int            skill_t0     = skill.GetT0();

            victim.SetProbability(((skill_level * skill_level + (5 * skill_t0) + 32)));
            victim.SetTime(((2000 * skill_level + 5100)));
            victim.SetBuffid(0);
            victim.SetValue((((norm((player_maxmp * (skill_level * 0.15f)) / (player_mp + 1.0f)) + 1) * ((skill_level * skill_level) * skill_level + (40 * skill_level)))));
            victim.SetSubdefence(true);
            return(true);
        }
예제 #18
0
파일: Skill870.cs 프로젝트: amusegame/sdk
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_mp    = player.GetMp();
            int            player_maxmp = player.GetMaxmp();

            victim.SetProbability(220.0f);
            victim.SetTime(12000.0f);
            victim.SetDizzy(true);
            victim.SetProbability(-1.0f);
            victim.SetTime(12000.0f);
            victim.SetBuffid(0);
            victim.SetAmount((((500 * player_maxmp)) / (player_mp + 400.0f)));
            victim.SetValue(0.0f);
            victim.SetHpleak(true);
            return(true);
        }
예제 #19
0
파일: Skill4330.cs 프로젝트: amusegame/sdk
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_level = player.GetLevel();
            int            player_maxmp = player.GetMaxmp();
            int            skill_level  = skill.GetLevel();

            victim.SetProbability(((1.0f - player_level * 0.002f) * ((skill_level * skill_level + (3 * skill_level)))));
            victim.SetRatio(1.0f);
            victim.SetDrainmagic(true);
            victim.SetProbability(((1.0f - player_level * 0.002f) * 100.0f));
            victim.SetTime(33000.0f);
            victim.SetBuffid(5);
            victim.SetAmount((player_maxmp * (skill_level * (skill_level * 0.02f)) * 16.0f));
            victim.SetValue(0.0f);
            victim.SetMpleak(true);
            return(true);
        }
예제 #20
0
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_mp    = player.GetMp();
            int            player_maxmp = player.GetMaxmp();
            int            player_var2  = player.GetVar2();
            int            player_var3  = player.GetVar3();
            int            skill_level  = skill.GetLevel();

            /*
             * victim.SetProbability(120.0f);
             * v28 = skill_level * (0.1f * player_var2);
             * v27 = player_maxmp;
             * if ( player.GetHasbuff(4098) )
             * {
             * v26 = ((player_var3 * 0.1f + 1.0f) * v28) / v27;
             * }
             * else
             * {
             * v26 = v28 / v27;
             * }
             * victim.SetRatio(v26);
             * victim.SetDrainmagic(true);
             * victim.SetProbability(120.0f);
             * victim.SetTime(100.0f);
             * victim.SetBuffid(1);
             * v25 = (player_maxmp - player_mp);
             * if ( player.GetHasbuff(4098) )
             * {
             * v24 = (player_var3 * 0.1f + 1.0f) * v25;
             * }
             * else
             * {
             * v24 = v25;
             * }
             * victim.SetAmount(v24);
             * victim.SetValue(0.0f);
             * victim.SetHpleak(true);
             */
            return(true);
        }
예제 #21
0
파일: Skill4170.cs 프로젝트: amusegame/sdk
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_mp    = player.GetMp();
            int            player_maxmp = player.GetMaxmp();
            int            skill_level  = skill.GetLevel();

            /*
             * if ( (player_mp / player_maxmp) >= 0.95f )
             * d = 0.0f;
             * else
             * victim.SetProbability(((2 * skill_level)));
             * victim.SetTime(100.0f);
             * victim.SetBuffid(1);
             * victim.SetAmount(0.0f);
             * victim.SetValue((player_maxmp * 0.05f));
             * victim.SetMpgen(true);
             */
            return(true);
        }
예제 #22
0
            public override void Calculate(GSkill skill)
            {
                GPlayerWrapper player       = skill.GetPlayer();
                int            player_maxhp = player.GetMaxhp();
                int            player_maxmp = player.GetMaxmp();
                int            player_dodge = player.GetDodge();

                /*
                 * player.SetVar3(player_dodge);
                 * player.SetVar1(player_maxhp);
                 * if ( player_maxmp > 4 )
                 * {
                 *  v = 0;
                 * }
                 * else
                 * {
                 * v = player_maxmp;
                 * }
                 * player.SetVar2(v);
                 * player.SetPerform(1);
                 */
            }
예제 #23
0
파일: Skill810.cs 프로젝트: amusegame/sdk
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_maxhp = player.GetMaxhp();
            int            player_maxmp = player.GetMaxmp();
            int            skill_level  = skill.GetLevel();

            victim.SetProbability(120.0f);
            victim.SetTime(((900000 * skill_level)));
            victim.SetRatio(0.0f);
            victim.SetBuffid(0);
            victim.SetAmount(0.0f);
            victim.SetValue((player_maxhp * ((900000 * skill_level) * 0.01f)));
            victim.SetHpgen(true);
            victim.SetProbability(120.0f);
            victim.SetTime(((900000 * skill_level)));
            victim.SetBuffid(0);
            victim.SetAmount(0.0f);
            victim.SetValue((player_maxmp * ((900000 * skill_level) * 0.01f)));
            victim.SetMpgen(true);
            return(true);
        }
예제 #24
0
파일: Skill670.cs 프로젝트: amusegame/sdk
        public override bool StateAttack(GSkill skill)
        {
            GPlayerWrapper player       = skill.GetPlayer();
            GPlayerWrapper victim       = skill.GetVictim();
            int            player_level = player.GetLevel();
            int            player_hp    = player.GetHp();
            int            player_maxhp = player.GetMaxhp();
            int            player_mp    = player.GetMp();
            int            player_maxmp = player.GetMaxmp();
            int            skill_level  = skill.GetLevel();

            victim.SetTime(((5000 * skill_level + 15000)));
            victim.SetRatio((skill_level * 0.15f + 0.35f));
            victim.SetAmount(4.0f);
            victim.SetValue(((2 * skill_level + 8)));
            victim.SetFocusanti(true);
            victim.SetProbability(100.0f);
            victim.SetTime(((5000 * skill_level)));
            victim.SetBuffid(0);
            victim.SetValue(((player_level * 0.002f + (skill_level * 0.05f)) * ((((player_maxmp + player_maxhp) - player_hp) - player_mp)) + 1.0f));
            victim.SetAdddefence(true);
            return(true);
        }
예제 #25
0
파일: Skill3990.cs 프로젝트: amusegame/sdk
            public override void Calculate(GSkill skill)
            {
                GPlayerWrapper player       = skill.GetPlayer();
                int            player_level = player.GetLevel();
                int            player_maxmp = player.GetMaxmp();
                int            skill_level  = skill.GetLevel();

                float pp;
                float p = 0.002f * player_maxmp;

                if (player.GetSkilllevel(4011) >= skill_level)
                {
                    pp = skill_level * p;
                }
                else
                {
                    pp = player.GetSkilllevel(4011) * p;
                }
                skill.SetPlus((((20 * skill_level + 50) * norm(30 / player_level)) + (5 * skill_level + 10) + pp));
                player.SetPerform(1);
                /**/
            }
        }
        public GSkill3997Stub()
            : base(3997)
        {
            occupation           = 56;
            maxlevel             = 8;
            maxlearn             = 6;
            eventflag            = 0;
            spcost               = 1;
            reborncount          = 0;
            type                 = 1;
            timetype             = 0;
            targettype           = 0;
            rangetype            = 0;
            doenchant            = false;
            dobless              = false;
            autoattack           = true;
            allowform            = 0;
            credittype           = 0;
            clearmask            = 0;
            skill_limit          = 0;
            skillelemsnum        = 0;
            skillelemsfactor     = 0.000000f;
            serialskill          = 0;
            charge               = 0;
            chargedist           = 0.000000f;
            succeedskillcolor    = 1;
            succeedskillcolornum = 1;
            comboskill           = 0;
            need_item            = false;
            item1_id             = -1;
            item1_num            = 0;
            item2_id             = -1;
            item2_num            = 0;
            item_relation        = 0;
            weapon_limit         = 9;
            SetAction(0, "ÐùÔ¯_·Éµ¯");
            SetAction(1, "0");
            SetAction(2, "0");
            SetAction(3, "0");
            SetAction(4, "0");
            SetAction(5, "0");
            SetAction(6, "0");
            SetAction(7, "0");
            SetAction(8, "0");
            SetAction(9, "ÐùÔ¯_·Éµ¯");
            SetAction(10, "0");
            SetAction(11, "0");
            SetAction(12, "0");
            SetAction(13, "");
            SetAction(14, "");
            SetAction(15, "");
            SetAction(16, "");
            SetAction(17, "");
            SetAction(18, "ÐùÔ¯_Æï³Ë_·Éµ¯");
            SetAction(19, "0");
            SetAction(20, "0");
            SetAction(21, "0");
            SetAction(22, "0");
            SetAction(23, "0");
            SetAction(24, "0");
            SetAction(25, "0");
            SetAction(26, "0");
            SetAction(27, "ÐùÔ¯_Æï³Ë_·Éµ¯");
            SetAction(28, "0");
            SetAction(29, "0");
            SetAction(30, "0");
            name       = "¾»Äù¡¤Ë·ÐÇ";
            nativename = "¾»Äù¡¤Ë·ÐÇ";
            icon       = "¾»Äù¡¤Ë·ÐÇ.dds";
            SetTalent(0, 4149);
            SetTalent(1, 0);
            SetTalent(2, 0);
            SetTalent(3, 0);
            SetTalent(4, 0);
            SetTalent(5, 0);
            SetTalent(6, 0);
            SetTalent(7, 0);
            talent_size       = 1;
            talent_type       = 0;
            use_proficiency   = false;
            inc_proficiency   = 0;
            preskillnum       = 0;
            cycle             = false;
            cyclemode         = 0;
            cyclegfx          = "";
            skill_class       = 11;
            guide             = false;
            summon_id         = -1;
            trigger           = false;
            conbutton_sub     = false;
            isBabySkill       = false;
            castInPreSkill    = false;
            preCastSkillId    = -1;
            darkLightType     = 0;
            followskill       = 0;
            targetcnt         = 0;
            excludemonstercnt = 0;

            AddState(new GState1());
            AddState(new GState2());
        }

        public override int GetExecutetime(GSkill skill)
        {
            return(1075);
        }

        public override int GetCooldowntime(GSkill skill)
        {
            return(200);
        }

        public override int GetEnmity(GSkill skill)
        {
            return(1);
        }

        public override int GetRequiredLevel(int level)
        {
            int[] array = { 1, 3, 5, 7, 9, 11 }; return(array[level - 1]);
        }

        public override float GetPraydistance(GSkill skill)
        {
            int skill_t0 = skill.GetT0();

            return(2 * skill_t0 + 17);
        }

        public override float GetCastdistance(GSkill skill)
        {
            int skill_t0 = skill.GetT0();

            return(2 * skill_t0 + 15);
        }

        public override float GetEffectdistance(GSkill skill)
        {
            int skill_t0 = skill.GetT0();

            return(2 * skill_t0 + 20);
        }

        public override float GetMpcost(GSkill skill)
        {
            return(10.000000f);
        }
    }
    public class GSkill3997 : GSkill
    {
        public GSkill3997()
            : base(3997)
        {
        }
    }
    public class GSkill3998Stub : GSkillStub
    {
        public class GState1 : GState
        {
            public override int GetTime(GSkill skill)
            {
                return(425);
            }

            public override void Calculate(GSkill skill)
            {
                GPlayerWrapper player = skill.GetPlayer();

                player.SetPray(1);
            }

            public override bool Cancel(GSkill skill)
            {
                return(true);
            }
        }
        public class GState2 : GState
        {
            public override int GetTime(GSkill skill)
            {
                return(450);
            }

            public override void Calculate(GSkill skill)
            {
                GPlayerWrapper player       = skill.GetPlayer();
                int            player_mp    = player.GetMp();
                int            player_maxmp = player.GetMaxmp();
                int            player_var1  = player.GetVar1();

                /*
                 * if ( player_mp >= player_maxmp / 10 )
                 * {
                 * v = player_maxmp / 10;
                 * }
                 * else
                 * {
                 * v = player_mp;
                 * }
                 * player.SetVar1(v);
                 * player.SetMp(((player_mp - player_var1)));
                 * player.SetPerform(1);
                 */
            }