diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/packets.h | 70 | ||||
-rw-r--r-- | src/map/script.c | 9 | ||||
-rw-r--r-- | src/map/skill.h | 30 |
3 files changed, 92 insertions, 17 deletions
diff --git a/src/map/packets.h b/src/map/packets.h index 92df54367..5d07f7f9e 100644 --- a/src/map/packets.h +++ b/src/map/packets.h @@ -2089,4 +2089,74 @@ packet(0x020d,-1); // New Packets End #endif +//2013-05-15aRagexe (Shakto) +#if PACKETVER >= 20130515 + // Shuffle Start + packet(0x0369,7,clif->pActionRequest,2,6); + packet(0x083C,10,clif->pUseSkillToId,2,4,6); + packet(0x0437,5,clif->pWalkToXY,2); + packet(0x035F,6,clif->pTickSend,2); + packet(0x0362,5,clif->pChangeDir,2,4); + packet(0x08A1,6,clif->pTakeItem,2); + packet(0x0944,6,clif->pDropItem,2,4); + packet(0x0887,8,clif->pMoveToKafra,2,4); + packet(0x08AC,8,clif->pMoveFromKafra,2,4); + packet(0x0438,10,clif->pUseSkillToPos,2,4,6,8); + packet(0x0366,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); + packet(0x096A,6,clif->pGetCharNameRequest,2); + packet(0x0368,6,clif->pSolveCharName,2); + packet(0x0838,12,clif->pSearchStoreInfoListItemClick,2,6,10); + packet(0x0835,2,clif->pSearchStoreInfoNextPage,0); + packet(0x0819,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); + packet(0x0811,-1,clif->pReqTradeBuyingStore,2,4,8,12); + packet(0x0360,6,clif->pReqClickBuyingStore,2); + packet(0x0817,2,clif->pReqCloseBuyingStore,0); + packet(0x0815,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); + packet(0x092D,41,clif->pPartyBookingRegisterReq,2,4); + //packet(0x08AA,8); // CZ_JOIN_BATTLE_FIELD + packet(0x0963,-1,clif->pItemListWindowSelected,2,4,8); + packet(0x0943,19,clif->pWantToConnection,2,6,10,14,18); + packet(0x0947,26,clif->pPartyInvite2,2); + //packet(0x0862,4); // CZ_GANGSI_RANK + packet(0x0962,26,clif->pFriendsListAdd,2); + packet(0x0931,5,clif->pHomMenu,2,4); + packet(0x093E,36,clif->pStoragePassword,0); + // Shuffle End +#endif + +//2013-05-22Ragexe (Shakto) +#if PACKETVER >= 20130522 + // Shuffle Start + packet(0x08A2,7,clif->pActionRequest,2,6); + packet(0x095C,10,clif->pUseSkillToId,2,4,6); + packet(0x0360,5,clif->pWalkToXY,2); + packet(0x07EC,6,clif->pTickSend,2); + packet(0x0925,5,clif->pChangeDir,2,4); + packet(0x095E,6,clif->pTakeItem,2); + packet(0x089C,6,clif->pDropItem,2,4); + packet(0x08A3,8,clif->pMoveToKafra,2,4); + packet(0x087E,8,clif->pMoveFromKafra,2,4); + packet(0x0811,10,clif->pUseSkillToPos,2,4,6,8); + packet(0x0964,90,clif->pUseSkillToPosMoreInfo,2,4,6,8,10); + packet(0x08A6,6,clif->pGetCharNameRequest,2); + packet(0x0369,6,clif->pSolveCharName,2); + packet(0x093E,12,clif->pSearchStoreInfoListItemClick,2,6,10); + packet(0x08AA,2,clif->pSearchStoreInfoNextPage,0); + packet(0x095B,-1,clif->pSearchStoreInfo,2,4,5,9,13,14,15); + packet(0x0952,-1,clif->pReqTradeBuyingStore,2,4,8,12); + packet(0x0368,6,clif->pReqClickBuyingStore,2); + packet(0x086E,2,clif->pReqCloseBuyingStore,0); + packet(0x0874,-1,clif->pReqOpenBuyingStore,2,4,8,9,89); + packet(0x089B,41,clif->pPartyBookingRegisterReq,2,4); + //packet(0x0965,8); // CZ_JOIN_BATTLE_FIELD + packet(0x086A,-1,clif->pItemListWindowSelected,2,4,8); + packet(0x08A9,19,clif->pWantToConnection,2,6,10,14,18); + packet(0x0950,26,clif->pPartyInvite2,2); + //packet(0x08AC,4); // CZ_GANGSI_RANK + packet(0x0362,26,clif->pFriendsListAdd,2); + packet(0x0926,5,clif->pHomMenu,2,4); + packet(0x088E,36,clif->pStoragePassword,0); + // Shuffle End +#endif + #endif /* _PACKETS_H_ */ diff --git a/src/map/script.c b/src/map/script.c index d42d3d3e3..07497d892 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -8435,6 +8435,7 @@ BUILDIN(monster) const char* event = ""; unsigned int size = SZ_SMALL; unsigned int ai = AI_NONE; + int mob_id; struct map_session_data* sd; int16 m; @@ -8485,7 +8486,8 @@ BUILDIN(monster) } } - mob_once_spawn(sd, m, x, y, str, class_, amount, event, size, ai); + mob_id = mob_once_spawn(sd, m, x, y, str, class_, amount, event, size, ai); + script_pushint(st, mob_id); return true; } /*========================================== @@ -8539,6 +8541,7 @@ BUILDIN(areamonster) const char* event = ""; unsigned int size = SZ_SMALL; unsigned int ai = AI_NONE; + int mob_id; struct map_session_data* sd; int16 m; @@ -8578,7 +8581,9 @@ BUILDIN(areamonster) } } - mob_once_spawn_area(sd, m, x0, y0, x1, y1, str, class_, amount, event, size, ai); + mob_id = mob_once_spawn_area(sd, m, x0, y0, x1, y1, str, class_, amount, event, size, ai); + script_pushint(st, mob_id); + return true; } /*========================================== diff --git a/src/map/skill.h b/src/map/skill.h index 553dabd6d..c585bbb3a 100644 --- a/src/map/skill.h +++ b/src/map/skill.h @@ -81,14 +81,14 @@ enum e_skill_nk { //Constants to identify a skill's inf2 value. enum e_skill_inf2 { INF2_QUEST_SKILL = 0x0001, - INF2_NPC_SKILL = 0x0002, //NPC skills are those that players can't have in their skill tree. + INF2_NPC_SKILL = 0x0002, // NPC skills are those that players can't have in their skill tree. INF2_WEDDING_SKILL = 0x0004, INF2_SPIRIT_SKILL = 0x0008, INF2_GUILD_SKILL = 0x0010, INF2_SONG_DANCE = 0x0020, INF2_ENSEMBLE_SKILL = 0x0040, INF2_TRAP = 0x0080, - INF2_TARGET_SELF = 0x0100, //Refers to ground placed skills that will target the caster as well (like Grandcross) + INF2_TARGET_SELF = 0x0100, // Refers to ground placed skills that will target the caster as well (like Grandcross) INF2_NO_TARGET_SELF = 0x0200, INF2_PARTY_ONLY = 0x0400, INF2_GUILD_ONLY = 0x0800, @@ -107,19 +107,19 @@ enum e_skill_display { }; enum { - UF_DEFNOTENEMY = 0x0001, // If 'defunit_not_enemy' is set, the target is changed to 'friend' - UF_NOREITERATION = 0x0002, // Spell cannot be stacked - UF_NOFOOTSET = 0x0004, // Spell cannot be cast near/on targets - UF_NOOVERLAP = 0x0008, // Spell effects do not overlap - UF_PATHCHECK = 0x0010, // Only cells with a shootable path will be placed - UF_NOPC = 0x0020, // May not target players - UF_NOMOB = 0x0040, // May not target mobs - UF_SKILL = 0x0080, // May target skills - UF_DANCE = 0x0100, // Dance - UF_ENSEMBLE = 0x0200, // Duet - UF_SONG = 0x0400, // Song - UF_DUALMODE = 0x0800, // Spells should trigger both ontimer and onplace/onout/onleft effects. - UF_RANGEDSINGLEUNIT = 0x2000 // hack for ranged layout, only display center + UF_DEFNOTENEMY = 0x0001, // If 'defunit_not_enemy' is set, the target is changed to 'friend' + UF_NOREITERATION = 0x0002, // Spell cannot be stacked + UF_NOFOOTSET = 0x0004, // Spell cannot be cast near/on targets + UF_NOOVERLAP = 0x0008, // Spell effects do not overlap + UF_PATHCHECK = 0x0010, // Only cells with a shootable path will be placed + UF_NOPC = 0x0020, // May not target players + UF_NOMOB = 0x0040, // May not target mobs + UF_SKILL = 0x0080, // May target skills + UF_DANCE = 0x0100, // Dance + UF_ENSEMBLE = 0x0200, // Duet + UF_SONG = 0x0400, // Song + UF_DUALMODE = 0x0800, // Spells should trigger both ontimer and onplace/onout/onleft effects. + UF_RANGEDSINGLEUNIT = 0x2000 // Hack for ranged layout, only display center }; //Returns the cast type of the skill: ground cast, castend damage, castend no damage |