diff --git a/db/re/skill_db.yml b/db/re/skill_db.yml index 0d586cb9db..509c9bb95c 100644 --- a/db/re/skill_db.yml +++ b/db/re/skill_db.yml @@ -17907,6 +17907,28 @@ Body: NoReiteration: true NoOverlap: true Status: PropertyWalk + - Id: 747 + Name: NPC_LEASH + Description: Leash + MaxLevel: 5 + TargetType: Attack + DamageFlags: + NoDamage: true + Flags: + IsNpc: true + Range: + - Level: 1 + Size: 5 + - Level: 2 + Size: 10 + - Level: 3 + Size: 15 + - Level: 4 + Size: 20 + - Level: 5 + Size: 25 + Hit: Single + HitCount: 1 - Id: 751 Name: NPC_ALL_STAT_DOWN Description: Decrease All Stats diff --git a/src/common/mmo.hpp b/src/common/mmo.hpp index 804926f5b1..fddbe5893c 100644 --- a/src/common/mmo.hpp +++ b/src/common/mmo.hpp @@ -89,7 +89,7 @@ typedef uint32 t_itemid; #endif #define MAX_FAME 1000000000 ///Max fame points #define MAX_CART 100 ///Maximum item in cart -#define MAX_SKILL 1486 ///Maximum skill can be hold by Player, Homunculus, & Mercenary (skill list) AND skill_db limit +#define MAX_SKILL 1500 ///Maximum skill can be hold by Player, Homunculus, & Mercenary (skill list) AND skill_db limit #define DEFAULT_WALK_SPEED 150 ///Default walk speed #define MIN_WALK_SPEED 20 ///Min walk speed #define MAX_WALK_SPEED 1000 ///Max walk speed diff --git a/src/map/skill.cpp b/src/map/skill.cpp index c879287d44..6e6b5ea02a 100755 --- a/src/map/skill.cpp +++ b/src/map/skill.cpp @@ -12673,6 +12673,16 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui break; #endif + case NPC_LEASH: + clif_skill_nodamage( src, bl, skill_id, skill_lv, 1 ); + + if( !skill_check_unit_movepos( 0, bl, src->x, src->y, 1, 1 ) ){ + return 0; + } + + clif_blown( bl ); + break; + default: { std::shared_ptr skill = skill_db.find(skill_id); ShowWarning("skill_castend_nodamage_id: missing code case for skill %s(%d)\n", skill ? skill->name : "UNKNOWN", skill_id);