diff options
-rw-r--r-- | db/item_db.txt | 8 | ||||
-rw-r--r-- | db/mob_db.txt | 6 | ||||
-rw-r--r-- | db/skill_cast_db.txt | 6 | ||||
-rw-r--r-- | db/skill_castnodex_db.txt | 3 | ||||
-rw-r--r-- | db/skill_db.txt | 5 | ||||
-rw-r--r-- | db/skill_require_db.txt | 4 | ||||
-rw-r--r-- | src/common/mapindex.h | 9 | ||||
-rw-r--r-- | src/map/atcommand.c | 31 | ||||
-rw-r--r-- | src/map/skill.c | 32 | ||||
-rw-r--r-- | src/map/skill.h | 2 |
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, |