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...