瀏覽代碼

Added missing summon monsters
Ai can now be used by other skills

Atemo 3 年之前
父節點
當前提交
559ea446fe
共有 7 個文件被更改,包括 125 次插入59 次删除
  1. 1 1
      db/pre-re/mob_skill_db.yml
  2. 43 1
      db/re/mob_skill_db.yml
  3. 2 1
      doc/mob_skill_db.txt
  4. 1 1
      sql-files/mob_skill_db.sql
  5. 22 22
      sql-files/mob_skill_db_re.sql
  6. 0 9
      src/map/mob.cpp
  7. 56 24
      src/map/skill.cpp

+ 1 - 1
db/pre-re/mob_skill_db.yml

@@ -39904,7 +39904,7 @@ Body:
         CastCancel: true
         Target: TARGET
         Condition: ALWAYS
-        # Ai: 04
+        Ai: 04
         Emotion: ET_ANGER
       - Index: 23
         Name: NPC_ALLHEAL

+ 43 - 1
db/re/mob_skill_db.yml

@@ -42670,6 +42670,8 @@ Body:
             Mob: V_G_GERTIE
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 2
         Name: NPC_CALLSLAVE
         Level: 1
@@ -42758,6 +42760,8 @@ Body:
             Mob: V_G_GERTIE
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 9
         Name: NPC_SUMMONMONSTER
         Level: 1
@@ -42780,6 +42784,8 @@ Body:
             Mob: V_G_GERTIE
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 10
         Name: PA_PRESSURE
         Level: 5
@@ -59076,7 +59082,7 @@ Body:
         CastCancel: true
         Target: TARGET
         Condition: ALWAYS
-        # Ai: 04
+        Ai: 04
         Emotion: ET_ANGER
       - Index: 23
         Name: NPC_ALLHEAL
@@ -90815,6 +90821,8 @@ Body:
             Mob: V_G_GERTIE
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 3
         Name: NPC_MAXPAIN
         Level: 5
@@ -90903,6 +90911,8 @@ Body:
             Mob: V_G_GERTIE
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 10
         Name: NPC_MAXPAIN
         Level: 10
@@ -90935,6 +90945,8 @@ Body:
             Mob: V_G_GERTIE
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 12
         Name: CR_ACIDDEMONSTRATION
         Level: 5
@@ -126156,6 +126168,8 @@ Body:
             Mob: V_G_CHEN
           - Index: 4
             Mob: V_G_GERTIE
+          - Index: 5
+            Mob: V_G_ALPHOCCIO
       - Index: 2
         Name: NPC_CALLSLAVE
         Level: 1
@@ -126244,6 +126258,8 @@ Body:
             Mob: V_G_CHEN
           - Index: 4
             Mob: V_G_GERTIE
+          - Index: 5
+            Mob: V_G_ALPHOCCIO
       - Index: 9
         Name: NPC_SUMMONMONSTER
         Level: 1
@@ -126266,6 +126282,8 @@ Body:
             Mob: V_G_CHEN
           - Index: 4
             Mob: V_G_GERTIE
+          - Index: 5
+            Mob: V_G_ALPHOCCIO
       - Index: 10
         Name: NPC_MAXPAIN
         Level: 9
@@ -130262,6 +130280,8 @@ Body:
             Mob: V_G_GERTIE
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 3
         Name: AL_TELEPORT
         Level: 1
@@ -130375,6 +130395,8 @@ Body:
             Mob: V_G_GERTIE
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 13
         Name: NPC_SUMMONMONSTER
         Level: 1
@@ -130397,6 +130419,8 @@ Body:
             Mob: V_G_GERTIE
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 14
         Name: SA_LANDPROTECTOR
         Level: 5
@@ -130533,6 +130557,8 @@ Body:
             Mob: V_G_GERTIE
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 2
         Name: NPC_MAXPAIN
         Level: 5
@@ -130601,6 +130627,8 @@ Body:
             Mob: V_G_GERTIE
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 7
         Name: NPC_SUMMONMONSTER
         Level: 1
@@ -130623,6 +130651,8 @@ Body:
             Mob: V_G_GERTIE
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 8
         Name: MO_EXTREMITYFIST
         Level: 5
@@ -130770,6 +130800,8 @@ Body:
             Mob: V_G_CHEN
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 2
         Name: NPC_CALLSLAVE
         Level: 1
@@ -130858,6 +130890,8 @@ Body:
             Mob: V_G_CHEN
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 9
         Name: NPC_SUMMONMONSTER
         Level: 1
@@ -130880,6 +130914,8 @@ Body:
             Mob: V_G_CHEN
           - Index: 4
             Mob: V_G_ALPHOCCIO
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 10
         Name: NPC_AGIUP
         Level: 5
@@ -131040,6 +131076,8 @@ Body:
             Mob: V_G_CHEN
           - Index: 4
             Mob: V_G_GERTIE
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 3
         Name: NPC_SLOWCAST
         Level: 5
@@ -131129,6 +131167,8 @@ Body:
             Mob: V_G_CHEN
           - Index: 4
             Mob: V_G_GERTIE
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 10
         Name: NPC_SUMMONMONSTER
         Level: 1
@@ -131151,6 +131191,8 @@ Body:
             Mob: V_G_CHEN
           - Index: 4
             Mob: V_G_GERTIE
+          - Index: 5
+            Mob: V_G_TRENTINI
       - Index: 11
         Name: NPC_POWERUP
         Level: 5

+ 2 - 1
doc/mob_skill_db.txt

@@ -141,7 +141,8 @@ ConditionValue2: Number required for MYHPINRATE and FRIENDHPINRATE conditions.
 
 ---------------------------------------
 
-Ai: Change the monster mode using the given Aegis monster type AI. This field is currently only supported for NPC_EMOTION and NPC_EMOTION_ON skills.
+Ai: Change the monster mode using the given Aegis monster type AI.
+    Note: When used with NPC_EMOTION_ON the Ai is added to the current AI. The others skills replace the monster AI by Ai.
 
 ---------------------------------------
 

+ 1 - 1
sql-files/mob_skill_db.sql

@@ -3599,7 +3599,7 @@ REPLACE INTO `mob_skill_db` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`S
 REPLACE INTO `mob_skill_db` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('TENDRILRION',19,'AS_SONICBLOW',10,'ATTACK',2000,0,5000,true,'TARGET','ALWAYS');
 REPLACE INTO `mob_skill_db` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('TENDRILRION',20,'NPC_DRAGONFEAR',2,'ATTACK',500,0,10000,true,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('TENDRILRION',21,'NPC_GROUNDATTACK',4,'ATTACK',1000,0,5000,true,'TARGET','ALWAYS','ET_BEST');
-REPLACE INTO `mob_skill_db` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('TENDRILRION',22,'PF_SPIDERWEB',1,'ATTACK',3000,0,10000,true,'TARGET','ALWAYS','ET_ANGER');
+REPLACE INTO `mob_skill_db` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`AI`,`EMOTION`) VALUES ('TENDRILRION',22,'PF_SPIDERWEB',1,'ATTACK',3000,0,10000,true,'TARGET','ALWAYS','04','ET_ANGER');
 REPLACE INTO `mob_skill_db` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`) VALUES ('TENDRILRION',23,'NPC_ALLHEAL',1,'IDLE',10000,30000,30000,true,'SELF','MYHPLTMAXRATE','80');
 REPLACE INTO `mob_skill_db` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('G_PUNK',0,'NPC_PETRIFYATTACK',3,'ANGRY',500,500,5000,false,'TARGET','ALWAYS');
 REPLACE INTO `mob_skill_db` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('G_PUNK',1,'NPC_WINDATTACK',1,'ANGRY',2000,0,5000,true,'TARGET','ALWAYS');

+ 22 - 22
sql-files/mob_skill_db_re.sql

@@ -3847,15 +3847,15 @@ REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('G_ZEROM',0,'NPC_FIREATTACK',3,'ANGRY',500,500,5000,false,'TARGET','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('G_ZEROM',1,'NPC_FIREATTACK',3,'ATTACK',500,500,5000,false,'TARGET','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_RANDEL',0,'AL_TELEPORT',1,'IDLE',1000,0,0,true,'SELF','RUDEATTACKED');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_RANDEL',1,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_RANDEL',1,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_RANDEL',2,'NPC_CALLSLAVE',1,'IDLE',1000,0,10000,true,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_RANDEL',3,'NPC_MAXPAIN',5,'IDLE',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_RANDEL',4,'AL_TELEPORT',1,'WALK',500,0,10000,true,'SELF','RUDEATTACKED');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_RANDEL',5,'NPC_MAXPAIN',5,'CHASE',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_RANDEL',6,'NPC_MAXPAIN',5,'ATTACK',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_RANDEL',7,'NPC_CALLSLAVE',1,'ATTACK',1000,0,10000,true,'SELF','ALWAYS');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_RANDEL',8,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_RANDEL',9,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_RANDEL',8,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO','V_G_TRENTINI');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_RANDEL',9,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_RANDEL',10,'PA_PRESSURE',5,'ATTACK',200,0,10000,false,'TARGET','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('V_B_RANDEL',11,'CR_REFLECTSHIELD',5,'ATTACK',10,0,200000,true,'SELF','ALWAYS','ET_HNG');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('V_B_RANDEL',12,'CR_REFLECTSHIELD',5,'ATTACK',1000,0,200000,true,'SELF','CASTTARGETED','ET_HNG');
@@ -5335,7 +5335,7 @@ REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('TENDRILRION',19,'AS_SONICBLOW',10,'ATTACK',2000,0,5000,true,'TARGET','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('TENDRILRION',20,'NPC_DRAGONFEAR',2,'ATTACK',500,0,10000,true,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('TENDRILRION',21,'NPC_GROUNDATTACK',4,'ATTACK',1000,0,5000,true,'TARGET','ALWAYS','ET_BEST');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('TENDRILRION',22,'PF_SPIDERWEB',1,'ATTACK',3000,0,10000,true,'TARGET','ALWAYS','ET_ANGER');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`AI`,`EMOTION`) VALUES ('TENDRILRION',22,'PF_SPIDERWEB',1,'ATTACK',3000,0,10000,true,'TARGET','ALWAYS','04','ET_ANGER');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`) VALUES ('TENDRILRION',23,'NPC_ALLHEAL',1,'IDLE',10000,30000,30000,true,'SELF','MYHPLTMAXRATE','80');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`) VALUES ('C1_TEDDY_BEAR',0,'AL_TELEPORT',1,'ATTACK',500,0,5000,true,'SELF','MYHPLTMAXRATE','50');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`) VALUES ('C1_TEDDY_BEAR',1,'AL_HEAL',5,'ATTACK',10000,500,5000,true,'SELF','MYHPLTMAXRATE','50');
@@ -8201,16 +8201,16 @@ REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('ANTIQUE_BOOK',2,'NPC_PIERCINGATT',3,'ATTACK',500,0,5000,true,'TARGET','ALWAYS','ET_DELIGHT');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_FLAMEL',0,'AL_TELEPORT',1,'IDLE',1000,0,0,true,'SELF','RUDEATTACKED');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_FLAMEL',1,'NPC_CALLSLAVE',1,'IDLE',1000,0,10000,true,'SELF','ALWAYS');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_FLAMEL',2,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_FLAMEL',2,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_FLAMEL',3,'NPC_MAXPAIN',5,'IDLE',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_FLAMEL',4,'AL_TELEPORT',1,'WALK',500,0,10000,true,'SELF','RUDEATTACKED');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_FLAMEL',5,'AM_DEMONSTRATION',5,'CHASE',200,0,10000,true,'TARGET','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_FLAMEL',6,'NPC_MAXPAIN',5,'CHASE',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_FLAMEL',7,'NPC_MAXPAIN',5,'ATTACK',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_FLAMEL',8,'NPC_CALLSLAVE',1,'ATTACK',1000,0,10000,true,'SELF','ALWAYS');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_FLAMEL',9,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_FLAMEL',9,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_FLAMEL',10,'NPC_MAXPAIN',10,'ATTACK',100,1000,30000,false,'SELF','ALWAYS');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_FLAMEL',11,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_RANDEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_FLAMEL',11,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_RANDEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_FLAMEL',12,'CR_ACIDDEMONSTRATION',5,'ATTACK',100,1000,5000,false,'TARGET','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_FLAMEL',13,'NPC_PULSESTRIKE',5,'ATTACK',100,0,5000,true,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_FLAMEL',14,'NPC_AGIUP',5,'ATTACK',200,0,100000,true,'SELF','ALWAYS');
@@ -11408,15 +11408,15 @@ REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('XM_MARIONETTE',3,'MG_FIREWALL',8,'CHASE',500,500,5000,true,'TARGET','ALWAYS','ET_DELIGHT');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('XM_MARIONETTE',4,'NPC_TELEKINESISATTACK',8,'ATTACK',500,0,5000,true,'TARGET','ALWAYS','ET_FRET');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_TRENTINI',0,'AL_TELEPORT',1,'IDLE',1000,0,0,true,'SELF','RUDEATTACKED');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_TRENTINI',1,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_TRENTINI',1,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_TRENTINI',2,'NPC_CALLSLAVE',1,'IDLE',1000,0,10000,true,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_TRENTINI',3,'NPC_MAXPAIN',5,'IDLE',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_TRENTINI',4,'AL_TELEPORT',1,'WALK',500,0,10000,true,'SELF','RUDEATTACKED');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_TRENTINI',5,'NPC_MAXPAIN',5,'CHASE',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_TRENTINI',6,'NPC_MAXPAIN',5,'ATTACK',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_TRENTINI',7,'NPC_CALLSLAVE',1,'ATTACK',1000,0,10000,true,'SELF','ALWAYS');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_TRENTINI',8,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_TRENTINI',9,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_TRENTINI',8,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_TRENTINI',9,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('V_B_TRENTINI',10,'NPC_MAXPAIN',9,'ATTACK',300,1000,20000,false,'SELF','ALWAYS','ET_HPTIME');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_TRENTINI',11,'NPC_PULSESTRIKE',3,'ATTACK',100,0,10000,true,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_TRENTINI',12,'NPC_WIDESILENCE',5,'ATTACK',100,1000,20000,false,'SELF','ALWAYS');
@@ -11775,7 +11775,7 @@ REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_G_TRENTINI',6,'NPC_WIDECURSE',5,'ATTACK',100,1000,20000,false,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CELIA',0,'AL_TELEPORT',1,'IDLE',1000,0,0,true,'SELF','RUDEATTACKED');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CELIA',1,'NPC_CALLSLAVE',1,'IDLE',1000,0,10000,true,'SELF','ALWAYS');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_CELIA',2,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_CELIA',2,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CELIA',3,'AL_TELEPORT',1,'WALK',500,0,10000,true,'SELF','RUDEATTACKED');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('V_B_CELIA',4,'NPC_MENTALBREAKER',5,'CHASE',100,0,10000,true,'TARGET','ALWAYS','ET_ANGER');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CELIA',5,'SA_DISPELL',5,'CHASE',500,0,30000,true,'TARGET','ALWAYS');
@@ -11785,8 +11785,8 @@ REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CELIA',9,'MG_LIGHTNINGBOLT',10,'CHASE',300,0,5000,true,'TARGET','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CELIA',10,'NPC_WIDESTONE',5,'CHASE',300,1000,10000,false,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CELIA',11,'NPC_CALLSLAVE',1,'ATTACK',1000,0,10000,true,'SELF','ALWAYS');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_CELIA',12,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_CELIA',13,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_RANDEL','V_G_FLAMEL','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_CELIA',12,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO','V_G_TRENTINI');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_CELIA',13,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_RANDEL','V_G_FLAMEL','V_G_CHEN','V_G_GERTIE','V_G_ALPHOCCIO','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CELIA',14,'SA_LANDPROTECTOR',5,'ATTACK',300,0,20000,true,'TARGET','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('V_B_CELIA',15,'NPC_MENTALBREAKER',5,'ATTACK',50,0,10000,true,'TARGET','ALWAYS','ET_ANGER');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CELIA',16,'SA_DISPELL',5,'ATTACK',1000,0,30000,true,'TARGET','ALWAYS');
@@ -11798,13 +11798,13 @@ REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CELIA',22,'NPC_PSYCHIC_WAVE',7,'ATTACK',500,500,5000,false,'TARGET','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('V_B_CELIA',23,'NPC_PSYCHIC_WAVE',10,'ATTACK',300,3000,10000,false,'TARGET','ALWAYS','ET_THINK');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CHEN',0,'NPC_CALLSLAVE',1,'IDLE',1000,0,10000,true,'SELF','ALWAYS');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_CHEN',1,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_GERTIE','V_G_ALPHOCCIO');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_CHEN',1,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_GERTIE','V_G_ALPHOCCIO','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_CHEN',2,'NPC_MAXPAIN',5,'IDLE',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_CHEN',3,'NPC_MAXPAIN',5,'CHASE',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_CHEN',4,'NPC_MAXPAIN',5,'ATTACK',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CHEN',5,'NPC_CALLSLAVE',1,'ATTACK',1000,0,10000,true,'SELF','ALWAYS');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_CHEN',6,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_GERTIE','V_G_ALPHOCCIO');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_CHEN',7,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_GERTIE','V_G_ALPHOCCIO');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_CHEN',6,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_GERTIE','V_G_ALPHOCCIO','V_G_TRENTINI');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_CHEN',7,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_GERTIE','V_G_ALPHOCCIO','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CHEN',8,'MO_EXTREMITYFIST',5,'ATTACK',300,1000,7000,false,'TARGET','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`) VALUES ('V_B_CHEN',9,'MO_EXTREMITYFIST',5,'ATTACK',100,1000,3000,false,'TARGET','MYHPLTMAXRATE','10');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CHEN',10,'NPC_POWERUP',5,'ATTACK',200,0,100000,true,'SELF','ALWAYS');
@@ -11817,15 +11817,15 @@ REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CHEN',17,'NPC_WIDEBLEEDING',5,'ATTACK',100,1000,10000,false,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_CHEN',18,'NPC_WIDESILENCE',5,'ATTACK',100,1000,10000,false,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_GERTIE',0,'AL_TELEPORT',1,'IDLE',1000,0,0,true,'SELF','RUDEATTACKED');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_GERTIE',1,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_ALPHOCCIO');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_GERTIE',1,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_ALPHOCCIO','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_GERTIE',2,'NPC_CALLSLAVE',1,'IDLE',1000,0,10000,true,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_GERTIE',3,'NPC_MAXPAIN',5,'IDLE',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_GERTIE',4,'AL_TELEPORT',1,'WALK',500,0,10000,true,'SELF','RUDEATTACKED');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_GERTIE',5,'NPC_MAXPAIN',5,'CHASE',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_GERTIE',6,'NPC_MAXPAIN',5,'ATTACK',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_GERTIE',7,'NPC_CALLSLAVE',1,'ATTACK',1000,0,10000,true,'SELF','ALWAYS');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_GERTIE',8,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_ALPHOCCIO');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_GERTIE',9,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_ALPHOCCIO');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_GERTIE',8,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_ALPHOCCIO','V_G_TRENTINI');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_GERTIE',9,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_ALPHOCCIO','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_GERTIE',10,'NPC_AGIUP',5,'ATTACK',200,0,100000,true,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`) VALUES ('V_B_GERTIE',11,'NPC_AGIUP',5,'ATTACK',200,0,25000,true,'SELF','MYHPLTMAXRATE','30');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`) VALUES ('V_B_GERTIE',12,'RG_STRIPSHIELD',5,'ATTACK',50,0,2000,true,'TARGET','MYHPLTMAXRATE','90');
@@ -11839,15 +11839,15 @@ REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_GERTIE',20,'NPC_WIDESLEEP',10,'ATTACK',100,1000,30000,false,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_ALPHOCCIO',0,'AL_TELEPORT',1,'IDLE',1000,0,0,true,'SELF','RUDEATTACKED');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_ALPHOCCIO',1,'NPC_CALLSLAVE',1,'IDLE',1000,0,10000,true,'SELF','ALWAYS');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_ALPHOCCIO',2,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_ALPHOCCIO',2,'NPC_SUMMONSLAVE',1,'IDLE',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('V_B_ALPHOCCIO',3,'NPC_SLOWCAST',5,'CHASE',200,300,10000,false,'SELF','ALWAYS','ET_STARE');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_ALPHOCCIO',4,'NPC_MAXPAIN',5,'IDLE',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_ALPHOCCIO',5,'AL_TELEPORT',1,'WALK',500,0,10000,true,'SELF','RUDEATTACKED');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_ALPHOCCIO',6,'NPC_MAXPAIN',5,'CHASE',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`EMOTION`) VALUES ('V_B_ALPHOCCIO',7,'NPC_MAXPAIN',5,'ATTACK',1000,0,10000,true,'SELF','SKILLUSED','CR_ACIDDEMONSTRATION','ET_MONEY');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_ALPHOCCIO',8,'NPC_CALLSLAVE',1,'ATTACK',1000,0,10000,true,'SELF','ALWAYS');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_ALPHOCCIO',9,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE');
-REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`) VALUES ('V_B_ALPHOCCIO',10,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_ALPHOCCIO',9,'NPC_SUMMONSLAVE',1,'ATTACK',1000,700,10000,false,'SELF','SLAVELE','3','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_TRENTINI');
+REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`,`SUMMON1`,`SUMMON2`,`SUMMON3`,`SUMMON4`,`SUMMON5`,`SUMMON6`) VALUES ('V_B_ALPHOCCIO',10,'NPC_SUMMONMONSTER',1,'ATTACK',1000,700,60000000,false,'SELF','MYHPLTMAXRATE','30','V_G_RANDEL','V_G_FLAMEL','V_G_CELIA','V_G_CHEN','V_G_GERTIE','V_G_TRENTINI');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`) VALUES ('V_B_ALPHOCCIO',11,'NPC_POWERUP',5,'ATTACK',200,0,100000,true,'SELF','ALWAYS');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`CONDITION_VALUE1`) VALUES ('V_B_ALPHOCCIO',12,'NPC_POWERUP',5,'ATTACK',200,0,25000,true,'SELF','MYHPLTMAXRATE','30');
 REPLACE INTO `mob_skill_db_re` (`MOB_AEGIS_NAME`,`INDEX`,`SKILL_NAME`,`SKILL_LV`,`STATE`,`RATE`,`CASTTIME`,`DELAY`,`CANCELABLE`,`TARGET`,`CONDITION`,`EMOTION`) VALUES ('V_B_ALPHOCCIO',13,'NPC_MAXPAIN',9,'ATTACK',300,1000,20000,false,'SELF','ALWAYS','ET_HPTIME');

+ 0 - 9
src/map/mob.cpp

@@ -5978,15 +5978,6 @@ uint64 MobSkillDatabase::parseBodyNode(const YAML::Node &node) {
 			}
 
 			if (this->nodeExists(it, "Ai")) {
-				switch( skill->skill_id ) {
-					case NPC_EMOTION:
-					case NPC_EMOTION_ON:
-						break;
-					default:	// some skills have a value in the AI field on aegis data. Mistake? or the AI field should be supported for all skills ?
-						this->invalidWarning(it["Ai"], "Ai not supported for skill %s.\n", skill_name);
-						return 0;
-				}
-
 				std::string ai;
 
 				if (!this->asString(it, "Ai", ai))

+ 56 - 24
src/map/skill.cpp

@@ -9508,12 +9508,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 
 	case NPC_EMOTION_ON:
 		//NPC_EMOTION & NPC_EMOTION_ON can change a mob's mode 'permanently' [Skotlex]
+		// NPC_EMOTION_ON adds the mode to the current mode
 		if(md && md->skill_idx >= 0 && tsc)
 		{
 			int mode_passive = (md->db->skill[md->skill_idx]->mob_mode & MD_AGGRESSIVE) ? 0 : MD_AGGRESSIVE;	// Remove aggressive mode when the new mob type is passive.
 
 			if (md->db->skill[md->skill_idx]->mob_mode > -1)
-				sc_start4(src,src, type, 100, skill_lv,
+				sc_start4(src,src, SC_MODECHANGE, 100, skill_lv,
 					0,	// 'sets' the mode
 					md->db->skill[md->skill_idx]->mob_mode,	// adds to the current mode
 					mode_passive,	// removes from the current mode
@@ -9526,29 +9527,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 		break;
 
 	case NPC_EMOTION:
-		//NPC_EMOTION & NPC_EMOTION_ON can change a mob's mode 'permanently' [Skotlex]
-		if(md && md->skill_idx >= 0 && tsc)
-		{
-			std::shared_ptr<s_mob_skill> skilltmp = md->db->skill[md->skill_idx];
-
-			if (skilltmp->mob_mode > -1 && skilltmp->mob_mode == md->db->status.mode && tsce)	// asks to delete the previous mode change
-				status_change_end(bl, type, INVALID_TIMER);
-
-			//If mode gets set by NPC_EMOTION then the target should be reset [Playtester]
-			if (!battle_config.npc_emotion_behavior && skilltmp->mob_mode > -1 && skilltmp->mob_mode != md->db->status.mode)
-				mob_unlocktarget(md,tick);
-
-			if (skilltmp->mob_mode > -1 && skilltmp->mob_mode != md->db->status.mode)
-				sc_start4(src,src, type, 100, skill_lv,
-					skilltmp->mob_mode,	// 'sets' the mode
-					0,	// adds to the current mode
-					0,	// removes from the current mode
-					skill_get_time(skill_id, skill_lv));
-
-			//Reset aggressive state depending on resulting mode
-			if (!battle_config.npc_emotion_behavior)
-				md->state.aggressive = status_has_mode(&md->status,MD_ANGRY)?1:0;
-		}
 		break;
 
 	case NPC_POWERUP:
@@ -12442,6 +12420,34 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 		}
 	}
 
+	// Change a mob's mode 'permanently'
+	if (md && md->skill_idx >= 0 && skill_id != NPC_EMOTION_ON) {
+		status_change *sc = status_get_sc(src);
+
+		if (sc) {
+			std::shared_ptr<s_mob_skill> skilltmp = md->db->skill[md->skill_idx];
+
+			if (skilltmp->mob_mode > -1 && sc->data[SC_MODECHANGE])	// asks to delete the previous mode change regardless of the current monster mode since we 'sets' the mode
+				status_change_end(src, SC_MODECHANGE, INVALID_TIMER);
+
+			//If mode gets set by NPC_EMOTION then the target should be reset [Playtester]
+			if (!battle_config.npc_emotion_behavior && skilltmp->mob_mode > -1 && skilltmp->mob_mode != md->db->status.mode)
+				mob_unlocktarget(md,tick);
+
+			if (skilltmp->mob_mode > -1 && skilltmp->mob_mode != md->db->status.mode) {
+				sc_start4(src,src, SC_MODECHANGE, 100, skill_lv,
+					skilltmp->mob_mode,	// 'sets' the mode
+					0,	// adds to the current mode
+					0,	// removes from the current mode
+					skill_get_time(skill_id, skill_lv));
+			}
+
+			//Reset aggressive state depending on resulting mode
+			if (!battle_config.npc_emotion_behavior)
+				md->state.aggressive = status_has_mode(&md->status,MD_ANGRY)?1:0;
+		}
+	}
+
 	if (skill_id != SR_CURSEDCIRCLE && skill_id != NPC_SR_CURSEDCIRCLE) {
 		struct status_change *sc = status_get_sc(src);
 
@@ -14034,6 +14040,32 @@ int skill_castend_pos2(struct block_list* src, int x, int y, uint16 skill_id, ui
 		return 1;
 	}
 
+	mob_data *md = BL_CAST(BL_MOB, src);
+
+	// Change a mob's mode 'permanently'
+	if (md && md->skill_idx >= 0 && sc) {
+		std::shared_ptr<s_mob_skill> skilltmp = md->db->skill[md->skill_idx];
+
+		//if (skilltmp->mob_mode > -1 && skilltmp->mob_mode == md->db->status.mode)	// asks to delete the previous mode change
+		if (skilltmp->mob_mode > -1 && sc->data[SC_MODECHANGE])	// asks to delete the previous mode change regardless of the current monster mode since we 'sets' the mode
+			status_change_end(src, SC_MODECHANGE, INVALID_TIMER);
+
+		if (!battle_config.npc_emotion_behavior && skilltmp->mob_mode > -1 && skilltmp->mob_mode != md->db->status.mode)
+			mob_unlocktarget(md,tick);
+
+		if (skilltmp->mob_mode > -1 && skilltmp->mob_mode != md->db->status.mode) {
+			sc_start4(src,src, SC_MODECHANGE, 100, skill_lv,
+				skilltmp->mob_mode,	// 'sets' the mode
+				0,	// adds to the current mode
+				0,	// removes from the current mode
+				skill_get_time(skill_id, skill_lv));
+		}
+
+		//Reset aggressive state depending on resulting mode
+		if (!battle_config.npc_emotion_behavior)
+			md->state.aggressive = status_has_mode(&md->status,MD_ANGRY)?1:0;
+	}
+
 	if( sc && sc->data[SC_CURSEDCIRCLE_ATKER] ) //Should only remove after the skill has been casted.
 		status_change_end(src,SC_CURSEDCIRCLE_ATKER,INVALID_TIMER);