summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/item_db.txt8
-rw-r--r--db/mob_db.txt6
-rw-r--r--db/skill_cast_db.txt6
-rw-r--r--db/skill_castnodex_db.txt3
-rw-r--r--db/skill_db.txt5
-rw-r--r--db/skill_require_db.txt4
-rw-r--r--src/common/mapindex.h9
-rw-r--r--src/map/atcommand.c31
-rw-r--r--src/map/skill.c32
-rw-r--r--src/map/skill.h2
10 files changed, 91 insertions, 15 deletions
diff --git a/db/item_db.txt b/db/item_db.txt
index 2b12abdc3..bffc18343 100644
--- a/db/item_db.txt
+++ b/db/item_db.txt
@@ -927,7 +927,7 @@
1643,Dead_Tree_Cane,Dead Tree Cane,4,20,,100,100,,1,0,0x00818314,7,2,2,4,70,1,10,{ bonus bMatkRate,15; bonus bInt,4; if (getrefine()>5) { bonus bInt,getrefine()-5; bonus bMaxHP,-200; bonus bMaxSP,-100; } },{},{}
1644,Piercing_Staff_M,Staff of Piercing,4,20,,500,80,,1,0,0x00018314,2,2,2,3,70,1,10,{ bonus bInt,4; bonus bMatkRate,15; bonus bIgnoreMdefRate,10+getrefine(); },{},{}
1645,Lich_Bone_Wand_M,Lich's Bone Wand,4,20,,800,60,,1,2,0x00018314,2,2,2,3,70,1,10,{ bonus bInt,1; bonus bDex,1; bonus bAtkEle,Ele_Undead; bonus bMatkRate,20; bonus3 bAutoSpellWhenHit,"NPC_WIDECURSE",5,10+getrefine(); if(getrefine()>=9){ bonus bMatkRate,3; bonus bMaxSP,300; } },{},{}
-1646,La'cryma_Stick,La'cryma Stick,4,20,,500,30,,1,2,0x00010204,2,2,2,3,50,1,10,{ bonus bInt,4; bonus bMatkRate,15; bonus bMdef,1; bonus2 bSkillAtk,"WZ_STORMGUST",getrefine(); if (getrefine() > 9) bonus2 bCastRate,"WZ_STORMGUST",-8; },{},{}
+1646,La'cryma_Stick,La'cryma Stick,4,20,,500,30,,1,2,0x00010204,2,2,2,3,50,1,10,{ bonus bInt,4; bonus bMatkRate,15; bonus bMdef,getrefine(); bonus2 bSkillAtk,"WZ_STORMGUST",getrefine(); if (getrefine() > 9) bonus2 bCastRate,"WZ_STORMGUST",-8; },{},{}
1647,Croce_Staff,Croce Staff,4,20,,500,30,,1,1,0x00008110,2,2,2,3,50,1,10,{ bonus bAtkEle,Ele_Holy; bonus bMatkRate,15; bonus bInt,4; bonus4 bAutoSpellOnSkill,"AL_HEAL","AL_BLESSING",getskilllv("AL_BLESSING")>1?getskilllv("AL_BLESSING"):1,20; },{},{}
1648,Staff_Of_Bordeaux,Staff Of Bordeaux,4,20,,500,30,,1,0,0x00010200,2,2,2,4,50,1,10,{ bonus bMatkRate,15; bonus bInt,2; bonus bDex,1; if(getskilllv("SA_DRAGONOLOGY") == 5) { bonus bUseSPrate,-15; bonus bInt,3; } },{},{}
1649,Rafini_Staff,Laphine Staff,4,20,,500,30,,1,0,0x00818315,7,2,2,3,100,1,10,{ /* bonus bWeaponMatk,180; */ /* bonus bFixedCastRate,-getrefine(); */ },{},{}
@@ -1851,7 +1851,7 @@
2841,Caracas_Ring,Caracas Ring,5,0,,0,,2,,0,0xFFFFFFFE,7,2,136,,99,0,0,{ bonus bInt,2; bonus bDex,2; bonus bMdef,2; },{},{}
2842,F_Earing_C,Earring,5,1,,0,,0,,0,0xFFFFFFFE,7,2,136,,1,0,0,{ bonus bInt,3; },{},{}
2843,Gold_Trickle,Gold Trickle,5,20,,0,,0,,0,0xFFFFFFFF,7,2,136,,75,0,0,{ bonus bMaxSP,50; },{},{}
-2844,El_Dicastes_Light,Light Of El Discastes,5,20,,100,,0,,0,0xFFFFFFFF,7,2,136,,80,0,0,{ /* skill "RETURN_TO_ELDICASTES",1; */ },{},{}
+2844,El_Dicastes_Light,Light Of El Discastes,5,20,,100,,0,,0,0xFFFFFFFF,7,2,136,,80,0,0,{ skill "RETURN_TO_ELDICASTES",1; },{},{}
2845,No_Fear_Belt,No Fear Belt,5,0,,0,,2,,0,0xFFFFFFFF,7,2,136,,20,0,0,{ bonus bMdef,2; },{},{}
2846,E_All_In_One_Ring,All In One Ring,5,20,,0,,0,,0,0xFFFFFFFF,7,2,136,,0,0,0,{ bonus bAllStats,1; },{},{}
2847,E_Critical_Ring_C,Critical Ring,5,1,,0,,0,,0,0xFFFFFFFE,7,2,136,,1,0,0,{ bonus bCritical,10; },{},{}
@@ -1865,7 +1865,7 @@
2855,Whike_Black_Tail,Whike Black Tail,5,20,,100,,0,,0,0xFFFFFFFF,7,2,136,,45,0,0,{},{},{}
2856,Half_Megin,Half Megingjard,5,20,,0,,1,,0,0xFFFFFFFF,7,2,136,,47,0,0,{ bonus bMdef,3; bonus bStr,20; },{},{}
2857,Half_Brysing,Half Brisingamen,5,20,,0,,1,,0,0xFFFFFFFF,7,2,136,,47,0,0,{ bonus bStr,3; bonus bInt,5; bonus bVit,3; bonus bDex,3; bonus bAgi,3; bonus bLuk,5; bonus bMdef,2; },{},{}
-2858,Pendant_Of_Guardian,Guardian Pendant,5,0,,0,,0,,0,0xFFFFFFFF,7,2,136,,70,0,0,{ /* skill "ALL_GUARDIAN_RECALL",1; */ },{},{}
+2858,Pendant_Of_Guardian,Guardian Pendant,5,0,,0,,0,,0,0xFFFFFFFF,7,2,136,,70,0,0,{ skill "ALL_GUARDIAN_RECALL",1; },{},{}
2859,Golden_Rod_Orb,Golden Rod Orb,5,20,,200,,2,,1,0x00000200,7,2,136,,100,0,0,{ bonus bMdef,2; bonus bInt,1; bonus2 bSubEle,Ele_Wind,15; bonus3 bAutoSpellWhenHit,"WZ_JUPITEL",3,10; },{},{}
2860,Aqua_Orb,Aqua Orb,5,20,,200,,2,,1,0x00000200,7,2,136,,100,0,0,{ bonus bMdef,2; bonus bInt,1; bonus2 bSubEle,Ele_Water,15; bonus3 bAutoSpellWhenHit,"WZ_FROSTNOVA",3,10; },{},{}
2861,Crimson_Orb,Crismon Orb,5,20,,200,,2,,1,0x00000200,7,2,136,,100,0,0,{ bonus bMdef,2; bonus bInt,1; bonus2 bSubEle,Ele_Fire,15; bonus3 bAutoSpellWhenHit,"WZ_SIGHTRASHER",3,10; },{},{}
@@ -2924,7 +2924,7 @@
5350,Pirate_Bandana_,Pirate Bandana,5,20,,100,,3,,1,0xFFFFFFFE,7,2,256,,0,1,74,{ bonus bStr,1; },{},{}
5351,Sunflower_,Sunflower,5,20,,100,,1,,1,0xFFFFFFFF,7,2,256,,0,0,37,{ bonus2 bSubRace,RC_Insect,10; },{},{}
5352,Poporing_Cap,Poporing Cap,5,20,,700,,2,,0,0xFFFFFFFE,7,2,256,,38,1,361,{},{},{}
-5353,Helm_Of_Sun_,Hat of the Sun God,5,20,,2400,,4,,1,0x00CFDF80,7,2,768,,0,1,138,{ bonus bStr,3; bonus bInt,2; },{},{}
+5353,Helm_Of_Sun_,Hat of the Sun God,5,20,,2400,,4,,1,0x00CFDF80,7,2,768,,0,1,138,{ bonus bStr,3; bonus bInt,2; bonus5 bAutoSpellWhenHit,"HP_ASSUMPTIO",1,1,BF_WEAPON|BF_MAGIC,0; },{},{}
5354,Muslim_Hat_M,Muslim Hat M,5,0,,100,,2,,0,0xFFFFFFFF,7,1,256,,0,0,362,{ bonus bCastrate,-5; },{},{}
5355,Muslim_Hat_F,Selendang,5,0,,100,,2,,0,0xFFFFFFFF,7,0,256,,0,0,363,{ bonus bCastrate,-5; },{},{}
5356,Pumpkin_Hat_H,Festival Pumpkin Hat,5,20,,200,,2,,0,0xFFFFFFFF,7,2,256,,0,1,206,{ bonus2 bSubRace,RC_Demon,5; bonus2 bAddRace,RC_Demon,5; },{},{}
diff --git a/db/mob_db.txt b/db/mob_db.txt
index ea20be2be..b27ffee93 100644
--- a/db/mob_db.txt
+++ b/db/mob_db.txt
@@ -829,8 +829,8 @@
// Rachel / Ice Dungeon (11.1)
1768,GLOOMUNDERNIGHT,Gloom Under Night,Gloom Under Night,139,3005000,1,2160000,1800000,3,3061,5846,479,262,191,223,187,155,241,163,10,12,2,0,68,0x37B5,200,1344,2880,576,1080000,10000,607,5500,617,5000,617,5000,7566,7000,7023,4000,7022,2000,616,5000,2513,1000,1377,100,0,0,0,0,0,0,4408,1
1769,AGAV,Agav,Agav,128,40000,1,3933,2949,1,637,818,77,82,85,66,55,113,86,61,10,12,1,7,80,0x3295,300,768,360,360,0,0,0,0,0,0,0,0,7567,2500,2422,2,7563,4000,2109,1,12183,50,7563,100,1061,2500,0,0,0,0,4409,1
-1770,ECHIO,Echio,Echio,126,31620,1,3690,2768,1,606,765,66,11,111,63,51,37,94,45,10,12,1,7,80,0x3295,250,768,360,360,0,0,0,0,0,0,0,0,7567,2500,608,10,7563,4000,5172,20,12183,20,7563,100,2366,20,0,0,0,0,4410,1
-1771,VANBERK,Vanberk,Vanberk,123,24605,1,3240,2430,1,656,797,100,6,109,70,55,60,87,54,10,12,1,7,80,0x3885,250,768,360,360,0,0,0,0,0,0,0,0,7568,2500,526,10,7563,1000,5172,10,13027,10,7563,100,0,0,0,0,0,0,4411,1
+1770,ECHIO,Echio,Echio,126,31620,1,3690,2768,1,606,765,66,11,111,63,51,37,94,45,10,12,1,7,80,0x3295,250,768,360,360,0,0,0,0,0,0,0,0,7567,2500,608,10,7563,4000,5172,25,12183,20,7563,100,2366,20,0,0,0,0,4410,1
+1771,VANBERK,Vanberk,Vanberk,123,24605,1,3240,2430,1,656,797,100,6,109,70,55,60,87,54,10,12,1,7,80,0x3885,250,768,360,360,0,0,0,0,0,0,0,0,7568,2500,526,10,7563,1000,5172,25,13027,5,7563,100,0,0,0,0,0,0,4411,1
1772,ISILLA,Isilla,Isilla,124,26324,1,3456,2592,1,606,774,69,19,90,65,43,82,91,75,10,12,1,7,80,0x3885,300,768,360,432,0,0,0,0,0,0,0,0,7568,2500,2422,1,7563,1000,2610,10,2601,1,7563,100,0,0,0,0,0,0,4412,1
1773,HODREMLIN,Hodremlin,Hodremlin,122,23182,1,3758,2819,1,682,836,75,25,106,70,77,60,59,40,10,12,1,6,67,0x3985,140,960,528,432,0,0,0,0,0,0,0,0,587,1000,7340,1000,2406,2,938,1000,7563,1000,1061,2000,2426,10,0,0,0,0,4413,1
1774,SEEKER,Seeker,Seeker,124,24500,1,4009,3006,6,611,731,64,30,91,90,35,75,126,31,10,12,0,0,64,0x3295,190,576,432,300,0,0,0,0,0,0,0,0,587,1000,7340,1000,985,20,1061,4000,7563,1000,1375,20,0,0,0,0,0,0,4414,1
@@ -1082,7 +1082,7 @@
1985,DANDELION,Dandelion Member,Dandelion Member,37,45000,0,0,0,1,305,360,0,10,28,19,32,0,63,20,10,12,1,7,47,0x3695,250,1772,72,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1986,TATACHO,Tatacho,Tatacho,128,33336,1,3762,3092,2,727,799,151,14,119,33,70,56,78,33,10,12,1,2,22,0x108B,200,1000,768,360,0,0,0,0,0,0,0,0,1544,20,1925,10,6020,4000,6021,3000,579,3100,6224,10,1061,2500,0,0,0,0,4442,1
1987,CENTIPEDE,Centipede,Centipede,125,24992,1,3201,2711,2,601,713,143,25,133,71,69,39,86,49,10,12,1,4,45,0x3795,150,1000,792,336,0,0,0,0,0,0,0,0,2746,2,2747,2,1741,10,1042,5335,912,5000,6224,10,943,2500,0,0,0,0,4447,1
-1988,NEPENTHES,Nepenthes,Nepenthes,114,15099,1,2599,1793,7,602,727,25,5,94,32,41,39,150,59,10,12,1,3,45,0x84,1000,500,576,504,0,0,0,0,0,0,0,0,1740,20,1926,20,1979,20,5399,1,993,50,6041,3000,905,9000,0,0,0,0,4470,1
+1988,NEPENTHES,Nepenthes,Nepenthes,114,15099,1,2599,1793,7,602,727,25,5,94,32,41,39,150,59,10,12,1,3,45,0x84,1000,500,576,504,0,0,0,0,0,0,0,0,5399,1,1979,1,1926,1,1740,1,6041,3000,993,50,905,9000,0,0,0,0,4470,1
1989,HILLSRION,Hillslion,Hillthrion,123,21422,1,2909,1698,1,450,552,83,11,110,69,72,41,102,12,10,12,0,2,22,0x308D,130,400,780,576,0,0,0,0,0,0,0,0,2440,10,1825,20,6032,3000,6020,2000,1268,10,7054,4850,7938,1000,0,0,0,0,4453,1
1990,HARDROCK_MOMMOTH,Hardrock Mammoth,Hardrock Mammoth,137,1900944,1,142293,81178,2,1552,2326,449,43,191,66,102,49,131,51,10,12,2,2,62,0x37B5,150,1000,660,588,0,0,0,0,0,0,0,0,5398,100,2133,200,1483,500,13039,400,6022,9000,2257,20,985,9000,0,0,0,0,4462,1
1991,TENDRILRION,Tendrillion,Tendrillion,126,1397451,1,100772,75299,2,1002,2322,132,123,144,66,77,181,145,132,10,12,1,2,42,0x37B5,100,500,960,360,0,0,0,0,0,0,0,0,2544,500,1186,100,1637,100,6033,9000,6224,10,7197,5335,7008,4850,0,0,0,0,4463,1
diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt
index 6b6ccfee5..d43a609ed 100644
--- a/db/skill_cast_db.txt
+++ b/db/skill_cast_db.txt
@@ -1632,9 +1632,11 @@
//-- ALL_ODINS_RECALL
2533,10000,0,0,0,0,300000
//-- RETURN_TO_ELDICASTES
-2534,2000,0,0,0,2000,300000
+2534,3000,0,0,0,0,300000
//-- ALL_GUARDIAN_RECALL
-//2536,2000,0,0,0,2000,300000
+2536,3000,0,0,0,0,300000
+//-- ALL_ODINS_POWER
+//2537,5000,5000,0,60000,0,60000
//==========================================
//===== Homunculus Skills ==================
diff --git a/db/skill_castnodex_db.txt b/db/skill_castnodex_db.txt
index f771bf382..29732bef6 100644
--- a/db/skill_castnodex_db.txt
+++ b/db/skill_castnodex_db.txt
@@ -35,6 +35,9 @@
498,1 //AM_TWILIGHT3
512,3 //GS_TRACKING
1014,1 //PR_REDEMPTIO
+2534,7,7 //RETURN_TO_ELDICASTES
+2536,7,7 //ALL_GUARDIAN_RECALL
+//2537,0,7 //ALL_ODINS_POWER
10010,3 //GD_BATTLEORDER
10011,3 //GD_REGENERATION
10012,6 //GD_RESTORE
diff --git a/db/skill_db.txt b/db/skill_db.txt
index 5cc97041e..560644cbc 100644
--- a/db/skill_db.txt
+++ b/db/skill_db.txt
@@ -1066,8 +1066,11 @@
//2533,0,0,0,0,0,0,9,0,no,0,0,0,none,0 ALL_ODINS_RECALL,
// Episode 13.3
-//2534,0,0,0,0,0,0,9,0,no,0,0,0,none,0 RETURN_TO_ELDICASTES,
+//2533,0,0,4,0,0x1,0,1,0,no,0,0,0,none,0, ALL_ODINS_RECALL,Odin's Recall
+2534,0,0,4,0,0x1,0,1,0,no,0,0,0,none,0, RETURN_TO_ELDICASTES,Return To Eldicastes
2535,0,0,4,0,0x1,0,1,0,no,0,0x1,0,none,0, ALL_BUYING_STORE,Open Buying Store
+2536,0,0,4,0,0x1,0,1,0,no,0,0,0,none,0, ALL_GUARDIAN_RECALL,Guardian's Recall
+//2537,9,6,16,0,0x1,0,2,1,yes,0,0,0,magic,0, ALL_ODINS_POWER,Odin's Power
8001,9,6,4,0,0x1,0,5,1,no,0,0,0,magic,0, HLIF_HEAL,Healing Touch
8002,0,6,4,0,0x3,-1,5,1,no,0,0,0,none,0, HLIF_AVOID,Avoid
diff --git a/db/skill_require_db.txt b/db/skill_require_db.txt
index 08ea26839..04ec4ddf0 100644
--- a/db/skill_require_db.txt
+++ b/db/skill_require_db.txt
@@ -612,7 +612,11 @@
2282,0,0,40:45:50:55:60,0,0,0,99,0,0,none,0,998,2,7054,1,612,0,615,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_MAGICDECOY#FAW - Magic Decoy#
2283,0,0,15,0,0,0,99,0,0,none,0,6186,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //NC_DISJOINT#FAW Removal#
+//2533,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_ODINS_RECALL#Odin's Recall#
+2534,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //RETURN_TO_ELDICASTES#Return To Eldicastes#
2535,0,0,1,0,0,0,99,0,0,none,0,6377,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_BUYING_STORE#Open Buying Store
+2536,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_GUARDIAN_RECALL#Guardian's Recall#
+//2537,0,0,70:100,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_ODINS_POWER#Odin's Power#
10010,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GD_BATTLEORDER##
10011,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //GD_REGENERATION##
diff --git a/src/common/mapindex.h b/src/common/mapindex.h
index 36e49072d..75cb254c0 100644
--- a/src/common/mapindex.h
+++ b/src/common/mapindex.h
@@ -36,9 +36,16 @@ extern char mapindex_cfgfile[80];
#define MAP_JAIL "sec_pri"
#define MAP_NOVICE "new_1-1"
#define MAP_MOSCOVIA "moscovia"
-#define MAP_BRASILIS "brasilis"
+#define MAP_MIDCAMP "mid_camp"
#define MAP_MANUK "manuk"
#define MAP_SPLENDIDE "splendide"
+#define MAP_BRASILIS "brasilis"
+#define MAP_DICASTES "dicastes01"
+#define MAP_MORA "mora"
+#define MAP_DEWATA "dewata"
+#define MAP_MALANGDO "malangdo"
+#define MAP_MALAYA "malaya"
+#define MAP_ECLAGE "eclage"
const char* mapindex_getmapname(const char* string, char* output);
const char* mapindex_getmapname_ext(const char* string, char* output);
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 03ce58015..3dadc888d 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -2300,9 +2300,16 @@ ACMD_FUNC(go)
{ MAP_RACHEL, 130, 110 }, // 23=Rachel
{ MAP_VEINS, 216, 123 }, // 24=Veins
{ MAP_MOSCOVIA, 223, 184 }, // 25=Moscovia
- { MAP_BRASILIS, 182, 239 }, // 26=Brasilis
+ { MAP_MIDCAMP, 180, 240 }, // 26=Midgard Camp
{ MAP_MANUK, 282, 138 }, // 27=Manuk
{ MAP_SPLENDIDE, 197, 176 }, // 28=Splendide
+ { MAP_BRASILIS, 182, 239 }, // 29=Brasilis
+ { MAP_DICASTES, 198, 187 }, // 30=El Dicastes
+ { MAP_MORA, 44, 151 }, // 31=Mora
+ { MAP_DEWATA, 200, 180 }, // 32=Dewata
+ { MAP_MALANGDO, 140, 114 }, // 33=Malangdo Island
+ { MAP_MALAYA, 242, 211 }, // 34=Malaya Port
+ { MAP_ECLAGE, 110, 39 }, // 35=Eclage
};
nullpo_retr(-1, sd);
@@ -2330,8 +2337,10 @@ ACMD_FUNC(go)
clif_displaymessage(fd, " 15=Novice Grounds 16=Prison 17=Jawaii");
clif_displaymessage(fd, " 18=Ayothaya 19=Einbroch 20=Lighthalzen");
clif_displaymessage(fd, " 21=Einbech 22=Hugel 23=Rachel");
- clif_displaymessage(fd, " 24=Veins 25=Moscovia 26=Brasilis");
- clif_displaymessage(fd, " 27=Manuk 28=Splendide");
+ clif_displaymessage(fd, " 24=Veins 25=Moscovia 26=Midgard Camp");
+ clif_displaymessage(fd, " 27=Manuk 28=Splendide 29=Brasilis");
+ clif_displaymessage(fd, " 30=El Dicastes 31=Mora 32=Dewata");
+ clif_displaymessage(fd, " 33=Malangdo Island 34=Malaya Port 35=Eclage");
return -1;
}
@@ -2405,12 +2414,26 @@ ACMD_FUNC(go)
town = 24;
} else if (strncmp(map_name, "moscovia", 3) == 0) {
town = 25;
- } else if (strncmp(map_name, "brasilis", 3) == 0) {
+ } else if (strncmp(map_name, "mid_camp", 3) == 0) {
town = 26;
} else if (strncmp(map_name, "manuk", 3) == 0) {
town = 27;
} else if (strncmp(map_name, "splendide", 3) == 0) {
town = 28;
+ } else if (strncmp(map_name, "brasilis", 3) == 0) {
+ town = 29;
+ } else if (strncmp(map_name, "dicastes01", 3) == 0) {
+ town = 30;
+ } else if (strncmp(map_name, "mora", 3) == 0) {
+ town = 31;
+ } else if (strncmp(map_name, "dewata", 3) == 0) {
+ town = 32;
+ } else if (strncmp(map_name, "malangdo", 3) == 0) {
+ town = 33;
+ } else if (strncmp(map_name, "malaya", 3) == 0) {
+ town = 34;
+ } else if (strncmp(map_name, "eclage", 3) == 0) {
+ town = 35;
}
if (town >= 0 && town < ARRAYLENGTH(data))
diff --git a/src/map/skill.c b/src/map/skill.c
index 4ad5a2f22..19815ad1c 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -469,6 +469,8 @@ int skillnotok (int skillid, struct map_session_data *sd)
switch (skillid) {
case AL_WARP:
+ case RETURN_TO_ELDICASTES:
+ case ALL_GUARDIAN_RECALL:
if(map[m].flag.nowarp) {
clif_skill_teleportmessage(sd,0);
return 1;
@@ -7201,6 +7203,36 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
clif_skill_nodamage(src, bl, skillid, skilllv, 1);
}
break;
+
+ case RETURN_TO_ELDICASTES:
+ case ALL_GUARDIAN_RECALL:
+ if( sd )
+ {
+ short x, y; // Destiny position.
+ unsigned short mapindex;
+
+ if( skillid == RETURN_TO_ELDICASTES)
+ {
+ x = 198;
+ y = 187;
+ mapindex = mapindex_name2id(MAP_DICASTES);
+ }
+ else
+ {
+ x = 44;
+ y = 151;
+ mapindex = mapindex_name2id(MAP_MORA);
+ }
+
+ if(!mapindex)
+ { //Given map not found?
+ clif_skill_fail(sd,skillid,0,0,0);
+ return 0;
+ }
+ pc_setpos(sd, mapindex, x, y, CLR_TELEPORT);
+ }
+ break;
+
default:
ShowWarning("skill_castend_nodamage_id: Unknown skill used:%d\n",skillid);
clif_skill_nodamage(src,bl,skillid,skilllv,1);
diff --git a/src/map/skill.h b/src/map/skill.h
index 2e4a68fa4..75eb2a30e 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -1329,6 +1329,8 @@ enum e_skill {
ALL_ODINS_RECALL = 2533,
RETURN_TO_ELDICASTES,
ALL_BUYING_STORE,
+ ALL_GUARDIAN_RECALL,
+ ALL_ODINS_POWER,
HLIF_HEAL = 8001,
HLIF_AVOID,