Skip to content

Skill Frintezza Mornful Chorale Prelude Bug [Frozen Rev 118]

Featured Replies

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);
  • Vision locked this topic
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.