Jump to content
  • 0

Skill Frintezza Mornful Chorale Prelude Bug [Frozen Rev 118]


Question

Posted

someone can help me please to fix this important bug. thanks

 

skill id= 5008

- <skill id="5008" levels="5" name="Frintezza's Songs">
- <!--           Description(s):
              Lvl 1 - Frintezza's Concert Hall Melody        Music that makes you feel oh so good inside.
              Lvl 2 - Frintezza's Rampaging Opus en masse    Consecutive Dash + Portrait Replay Performance
              Lvl 3 - Frintezza Power Encore                 Attack/Speed Performance
              Lvl 4 - Mournful Chorale Prelude               Instantly decreases the effect of HP regeneration magic.
              Lvl 5 - Hypnotic Mazurka                       Instantly immobilizes the target by making it dance involuntarily.
        
  --> 
  <table name="#skill_landing_percent">0 60 0 0 0</table> 
  <table name="#skillRadius">0 100 0 100 100</table> 
  <table name="#Power">0 0 5 10 30</table> 
  <table name="#Heal">2.3 0 0 10 30</table> 
  <table name="#time">20 20 0 10 30</table> 
  <table name="#rampage">0 1000 0 0 0</table> 
  <table name="#Plague">0 0 0 450 0</table> 
  <table name="#Psycho">0 0 0 0 4.9</table> 
  <table name="#shTime">32000 32000 32000 31000 35000</table> 
  <table name="#isMagic">true false false true true</table> 
  <set name="hitTime" val="#shTime" /> 
  <set name="skillTime" val="#shTime" /> 
  <set name="target" val="TARGET_ONE" /> 
  <set name="skillType" val="DEBUFF" /> 
  <set name="operateType" val="OP_ACTIVE" /> 
  <set name="skillRadius" val="#skillRadius" /> 
  <set name="castRange" val="1200" /> 
  <set name="skill_landing_percent" val="#skill_landing_percent" /> 
  <set name="negateSkillTypes" val="Buff" /> 
  <set name="negatePower" val="#rampage" /> 
  <set name="isMagic" val="#isMagic" /> 
- <for>
  <effect count="5" name="DamOverTime" time="#time" val="#Plague" /> 
- <effect count="1" name="Confusion" time="#time" val="0" noicon="1">
  <div order="0x30" stat="pAtkSpd" val="#Psycho" /> 
  <div order="0x30" stat="mAtkSpd" val="#Psycho" /> 
  <div order="0x30" stat="runSpd" val="#Psycho" /> 
  <div order="0x30" stat="accCombat" val="#Psycho" /> 
  <div order="0x30" stat="rEvas" val="#Psycho" /> 
  <div order="0x30" stat="pDef" val="#Psycho" /> 
  </effect>
- <effect count="1" name="Buff" time="#time" val="0" noicon="1">
  <div order="0x30" stat="pAtkSpd" val="#Power" /> 
  <div order="0x30" stat="runSpd" val="#Power" /> 
  <div order="0x30" stat="regHp" val="#Heal" /> 
  </effect>
  </for>
  </skill>

// Name of the songs are custom, named with client side description.
				switch (_OnSong)
				{
					case 1:
						SongName = "Frintezza's Healing Rhapsody";
						break;
					case 2:
						SongName = "Frintezza's Rampaging Opus";
						break;
					case 3:
						SongName = "Frintezza's Power Concerto";
						break;
					case 4:
						SongName = "Frintezza's Plagued Concerto";
						break;
					case 5:
						SongName = "Frintezza's Psycho Symphony";
						break;
					default:
						SongName = "Frintezza's Song";
						break;
				}
				
				// Like L2OFF the skill name is printed on screen
				_Zone.broadcastPacket(new ExShowScreenMessage(SongName, 6000));
				
				if (_OnSong == 1 && _ThirdMorph == 1 && strongScarlet.getCurrentHp() < strongScarlet.getMaxHp() * 0.6 && Rnd.get(100) < 80)
				{
					_Zone.broadcastPacket(new MagicSkillUser(frintezza, frintezza, 5007, 1, 32000, 0));
					startQuestTimer("songs_effect", 5000, frintezza, null);
					startQuestTimer("songs_play", 32000 + Rnd.get(10000), frintezza, null);
				}
				else if (_OnSong == 2 || _OnSong == 3)
				{
					_Zone.broadcastPacket(new MagicSkillUser(frintezza, frintezza, 5007, _OnSong, 32000, 0));
					startQuestTimer("songs_effect", 5000, frintezza, null);
					startQuestTimer("songs_play", 32000 + Rnd.get(10000), frintezza, null);
				}
				else if (_OnSong == 4 && _SecondMorph == 1)
				{
					_Zone.broadcastPacket(new MagicSkillUser(frintezza, frintezza, 5007, 4, 31000, 0));
					startQuestTimer("songs_effect", 5000, frintezza, null);
					startQuestTimer("songs_play", 31000 + Rnd.get(10000), frintezza, null);
				}
				else if (_OnSong == 5 && _ThirdMorph == 1 && _Abnormal == 0)
				{
					_Abnormal = 1;
					_Zone.broadcastPacket(new MagicSkillUser(frintezza, frintezza, 5007, 5, 35000, 0));
					startQuestTimer("songs_effect", 5000, frintezza, null);
					startQuestTimer("songs_play", 35000 + Rnd.get(10000), frintezza, null);
				}
				else
					startQuestTimer("songs_play", 5000 + Rnd.get(5000), frintezza, null);
			}
		}
		else if (event.equalsIgnoreCase("songs_effect"))
		{
			final L2Skill skill = SkillTable.getInstance().getInfo(5008, _OnSong);
			if (skill == null)
				return null;
			
			String SongName = "";
			
			// Name of the songs are custom, named with client side description.
			switch (_OnSong)
			{
				case 1:
					SongName = "Frintezza's Concert Hall Melody";
					break;
				case 2:
					SongName = "Frintezza's Rampaging Opus en masse";
					break;
				case 3:
					SongName = "Frintezza Power Encore";
					break;
				case 4:
					SongName = "Mournful Chorale Prelude";
					break;
				case 5:
					SongName = "Hypnotic Mazurka ";
					break;
				default:
					SongName = "Frintezza's Song";
					break;
			}
			
			// Like L2OFF the skill name is printed on screen
			_Zone.broadcastPacket(new ExShowScreenMessage(SongName, 6000));
			
			if (_OnSong == 1 || _OnSong == 2 || _OnSong == 3)
			{
				/*
				 * TODO: Frintezza songs to be fixed like retail if (frintezza != null && !frintezza.isDead() && activeScarlet != null && !activeScarlet.isDead()) skill.getEffects(frintezza, activeScarlet, false, false, false);
				 */
			}
			else if (_OnSong == 4)
			{
				for (final L2Character cha : _Zone.getCharactersInside().values())
				{
					if (cha instanceof L2PcInstance && Rnd.get(100) < 80)
					{
						skill.getEffects(frintezza, cha, false, false, false);
						cha.sendPacket(new SystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT).addSkillName(5008, 4));
					}
				}
			}
			else if (_OnSong == 5)
			{
				for (final L2Character cha : _Zone.getCharactersInside().values())
				{
					if (cha instanceof L2PcInstance && Rnd.get(100) < 70)
					{
						cha.abortAttack();
						cha.abortCast();
						cha.disableAllSkills();
						cha.stopMove(null);
						cha.setIsImobilised(true);
						cha.setIsParalyzed(true);
						cha.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
						skill.getEffects(frintezza, cha, false, false, false);
						cha.startAbnormalEffect(L2Character.ABNORMAL_EFFECT_DANCE_STUNNED);
						cha.sendPacket(new SystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT).addSkillName(5008, 5));
					}
				}
				startQuestTimer("stop_effect", 25000, frintezza, null);
			}
		}
		else if (event.equalsIgnoreCase("stop_effect"))
		{
			for (final L2Character cha : _Zone.getCharactersInside().values())
			{
				if (cha instanceof L2PcInstance)
				{
					cha.stopAbnormalEffect(L2Character.ABNORMAL_EFFECT_DANCE_STUNNED);
					cha.stopAbnormalEffect(L2Character.ABNORMAL_EFFECT_FLOATING_ROOT);
					cha.enableAllSkills();
					cha.setIsImobilised(false);
					cha.setIsParalyzed(false);
				}
			}
			_Abnormal = 0;
		}
		else if (event.equalsIgnoreCase("attack_stop"))
		{
			cancelQuestTimer("skill01", npc, null);
			cancelQuestTimer("skill02", npc, null);
			cancelQuestTimer("skill03", npc, null);
			cancelQuestTimer("songs_play", npc, null);
			cancelQuestTimer("songs_effect", npc, null);

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Guest
This topic is now closed to further replies.


×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..