rendered paste bodyIndex: C:/Documents and Settings/Vivian/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- C:/Documents and Settings/Vivian/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 1670)
+++ C:/Documents and Settings/Vivian/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy)
@@ -497,6 +497,12 @@
private boolean _inCrystallize;
private boolean _inCraftMode;
+ //Keep next skill
+ private L2Skill _nextSkill = null;
+ private boolean _fu;
+ private boolean _dm;
+
+
/**
* Create a new L2PcInstance and add it in the characters table of the database.<BR><BR>
*
@@ -5067,7 +5073,13 @@
return;
}
}
-
+ if (isCastingNow())//add skill to the Quen
+ {
+ _nextSkill = skill;
+ _fu = forceUse;
+ _dm = dontMove;
+ }
+
L2Object target = null;
switch(skill.getTargetType())
{
@@ -6880,7 +6892,23 @@
{
InBoatPosition = pt;
}
-
+ public L2Skill GetNextSkill()
+ {
+ return _nextSkill;
+ }
+ public void SetNextSkill(L2Skill s)
+ {
+ _nextSkill = s;
+ }
+ public boolean GetNextSkillFU()
+ {
+ return _fu;
+ }
+ public boolean GetNextSkillDM()
+ {
+ return _dm;
+ }
+
/**
* Manage the delete task of a L2PcInstance (Leave Party, Unsummon pet, Save its inventory in the database, Remove it from the world...).<BR><BR>
*
Index: C:/Documents and Settings/Vivian/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/L2Character.java
===================================================================
--- C:/Documents and Settings/Vivian/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/L2Character.java (revision 1670)
+++ C:/Documents and Settings/Vivian/workspace/L2_GameServer_c4/java/net/sf/l2j/gameserver/model/L2Character.java (working copy)
@@ -4105,6 +4105,18 @@
// Notify the AI of the L2Character with EVT_FINISH_CASTING
getAI().notifyEvent(CtrlEvent.EVT_FINISH_CASTING);
+ if (this instanceof L2PcInstance)
+ {
+ L2PcInstance player = ((L2PcInstance)this);
+ L2Skill nextskill = player.GetNextSkill();
+ if (nextskill != null)
+ {
+ boolean fu = player.GetNextSkillFU();
+ boolean dm = player.GetNextSkillDM();
+ player.useMagic(nextskill,fu,dm);
+ player.SetNextSkill(null);
+ }
+ }
}
}