Bug Fixes
* Switching arrows no longer stops attacks. (bugreport:9270) * Looter monsters will now randomly pick items rather than going for the closest one. (bugreport:9268) * Follow up to 0fed97c. Moved pc_setsit before skill_sit to not break skills that count players who are sitting. (bugreport:8966) * Follow up to 2d2991a. Cleaned up some compile warnings. * Updated the inf3 descriptions in the skill_db.
This commit is contained in:
parent
4f6448b23f
commit
a080117a74
@ -38,8 +38,8 @@
|
||||
// 0x01000- disable usage on enemies (for non-offensive skills).
|
||||
// 0x02000- free
|
||||
// 0x04000- chorus skill
|
||||
// 0x08000- spell that ignore bg reduction
|
||||
// 0x10000- spell that ignore gvg reduction
|
||||
// 0x08000- skill that ignore bg reduction
|
||||
// 0x10000- skill that ignore gvg reduction
|
||||
// 0x20000- makes 'self'/'place' skill cannot be casted/placed when near NPC (see 'db/skill_nonearnpc_db.txt' for more options)
|
||||
// 13 maxcount: max amount of skill instances to place on the ground when
|
||||
// player_land_skill_limit/monster_land_skill_limit is enabled. For skills
|
||||
@ -47,21 +47,23 @@
|
||||
// 14 attack type (none, weapon, magic, misc)
|
||||
// 15 Blowcount (amount of tiles skill knockbacks)
|
||||
// 16 inf3 (skill information 3):
|
||||
// 0x0001- skill ignores land protector (e.g. arrow shower)
|
||||
// 0x0002- spell that doesn't end camouflage
|
||||
// 0x0004- usable skills while hiding
|
||||
// 0x0008- spell that can be use while in dancing state
|
||||
// 0x0010- spell that could hit emperium
|
||||
// 0x0020- spell blocked by statis
|
||||
// 0x0040- spell blocked by kagehumi
|
||||
// 0x0080- spell range affected by AC_VULTURE
|
||||
// 0x0100- spell range affected by GS_SNAKEEYE
|
||||
// 0x0200- spell range affected by NJ_SHADOWJUMP
|
||||
// 0x0400- spell range affected by WL_RADIUS
|
||||
// 0x0800- spell range affected by RA_RESEARCHTRAP
|
||||
// 0x1000- spell that can't be copied
|
||||
// 0x2000- spell that can be using while riding warg
|
||||
// 0x4000- spell that can't be used while in mado
|
||||
// 0x00001- skill ignores land protector (e.g. arrow shower)
|
||||
// 0x00002- skill that doesn't end camouflage
|
||||
// 0x00004- usable skills while hiding
|
||||
// 0x00008- skill that can be use while in dancing state
|
||||
// 0x00010- skill that could hit emperium
|
||||
// 0x00020- skill blocked by statis
|
||||
// 0x00040- skill blocked by kagehumi
|
||||
// 0x00080- skill range affected by AC_VULTURE
|
||||
// 0x00100- skill range affected by GS_SNAKEEYE
|
||||
// 0x00200- skill range affected by NJ_SHADOWJUMP
|
||||
// 0x00400- skill range affected by WL_RADIUS
|
||||
// 0x00800- skill range affected by RA_RESEARCHTRAP
|
||||
// 0x01000- skill that does not affect user that has NC_HOVERING active
|
||||
// 0x02000- skill that can be using while riding warg
|
||||
// 0x04000- skill that can't be used while in mado
|
||||
// 0x08000- skill that can be used to target while under SC__MANHOLE effect
|
||||
// 0x10000- skill that affects hidden targets
|
||||
// 17 Name
|
||||
// 18 Description
|
||||
|
||||
|
@ -38,8 +38,8 @@
|
||||
// 0x01000- disable usage on enemies (for non-offensive skills).
|
||||
// 0x02000- available skill for SC_AUTOSHADOWSPELL
|
||||
// 0x04000- chorus skill
|
||||
// 0x08000- spell that ignore bg reduction
|
||||
// 0x10000- spell that ignore gvg reduction
|
||||
// 0x08000- skill that ignore bg reduction
|
||||
// 0x10000- skill that ignore gvg reduction
|
||||
// 0x20000- makes 'self'/'place' skill cannot be casted/placed when near NPC (see 'db/skill_nonearnpc_db.txt' for more options)
|
||||
// 13 maxcount: max amount of skill instances to place on the ground when
|
||||
// player_land_skill_limit/monster_land_skill_limit is enabled. For skills
|
||||
@ -48,22 +48,22 @@
|
||||
// 15 Blowcount (amount of tiles skill knockbacks)
|
||||
// 16 inf3 (skill information 3):
|
||||
// 0x00001- skill ignores land protector (e.g. arrow shower)
|
||||
// 0x00002- spell that doesn't end camouflage
|
||||
// 0x00002- skill that doesn't end camouflage
|
||||
// 0x00004- usable skills while hiding
|
||||
// 0x00008- spell that can be use while in dancing state
|
||||
// 0x00010- spell that could hit emperium
|
||||
// 0x00020- spell blocked by statis
|
||||
// 0x00040- spell blocked by kagehumi
|
||||
// 0x00080- spell range affected by AC_VULTURE
|
||||
// 0x00100- spell range affected by GS_SNAKEEYE
|
||||
// 0x00200- spell range affected by NJ_SHADOWJUMP
|
||||
// 0x00400- spell range affected by WL_RADIUS
|
||||
// 0x00800- spell range affected by RA_RESEARCHTRAP
|
||||
// 0x01000- Spell that does not affect user that has NC_HOVERING active
|
||||
// 0x02000- spell that can be using while riding warg
|
||||
// 0x04000- spell that can't be used while in mado
|
||||
// 0x08000- spell that can be used to target while under Man Hole effect
|
||||
// 0x10000- spell that having an affect to hiding target
|
||||
// 0x00008- skill that can be use while in dancing state
|
||||
// 0x00010- skill that could hit emperium
|
||||
// 0x00020- skill blocked by statis
|
||||
// 0x00040- skill blocked by kagehumi
|
||||
// 0x00080- skill range affected by AC_VULTURE
|
||||
// 0x00100- skill range affected by GS_SNAKEEYE
|
||||
// 0x00200- skill range affected by NJ_SHADOWJUMP
|
||||
// 0x00400- skill range affected by WL_RADIUS
|
||||
// 0x00800- skill range affected by RA_RESEARCHTRAP
|
||||
// 0x01000- skill that does not affect user that has NC_HOVERING active
|
||||
// 0x02000- skill that can be using while riding warg
|
||||
// 0x04000- skill that can't be used while in mado
|
||||
// 0x08000- skill that can be used to target while under SC__MANHOLE effect
|
||||
// 0x10000- skill that affects hidden targets
|
||||
// 17 Name
|
||||
// 18 Description
|
||||
1,0,0,0,0,0,0,9,0,no,0,0,0,none,0,0x0, NV_BASIC,Basic Skill
|
||||
|
@ -38,8 +38,8 @@
|
||||
// 0x01000- disable usage on enemies (for non-offensive skills).
|
||||
// 0x02000- available skill for SC_AUTOSHADOWSPELL
|
||||
// 0x04000- chorus skill
|
||||
// 0x08000- spell that ignore bg reduction
|
||||
// 0x10000- spell that ignore gvg reduction
|
||||
// 0x08000- skill that ignore bg reduction
|
||||
// 0x10000- skill that ignore gvg reduction
|
||||
// 0x20000- makes 'self'/'place' skill cannot be casted/placed when near NPC (see 'db/skill_nonearnpc_db.txt' for more options)
|
||||
// 13 maxcount: max amount of skill instances to place on the ground when
|
||||
// player_land_skill_limit/monster_land_skill_limit is enabled. For skills
|
||||
@ -48,22 +48,22 @@
|
||||
// 15 Blowcount (amount of tiles skill knockbacks)
|
||||
// 16 inf3 (skill information 3):
|
||||
// 0x00001- skill ignores land protector (e.g. arrow shower)
|
||||
// 0x00002- spell that doesn't end camouflage
|
||||
// 0x00002- skill that doesn't end camouflage
|
||||
// 0x00004- usable skills while hiding
|
||||
// 0x00008- spell that can be use while in dancing state
|
||||
// 0x00010- spell that could hit emperium
|
||||
// 0x00020- spell blocked by statis
|
||||
// 0x00040- spell blocked by kagehumi
|
||||
// 0x00080- spell range affected by AC_VULTURE
|
||||
// 0x00100- spell range affected by GS_SNAKEEYE
|
||||
// 0x00200- spell range affected by NJ_SHADOWJUMP
|
||||
// 0x00400- spell range affected by WL_RADIUS
|
||||
// 0x00800- spell range affected by RA_RESEARCHTRAP
|
||||
// 0x01000- Spell that does not affect user that has NC_HOVERING active
|
||||
// 0x02000- spell that can be using while riding warg
|
||||
// 0x04000- spell that can't be used while in mado
|
||||
// 0x08000- spell that can be used to target while under Man Hole effect
|
||||
// 0x10000- spell that having an affect to hiding target
|
||||
// 0x00008- skill that can be use while in dancing state
|
||||
// 0x00010- skill that could hit emperium
|
||||
// 0x00020- skill blocked by statis
|
||||
// 0x00040- skill blocked by kagehumi
|
||||
// 0x00080- skill range affected by AC_VULTURE
|
||||
// 0x00100- skill range affected by GS_SNAKEEYE
|
||||
// 0x00200- skill range affected by NJ_SHADOWJUMP
|
||||
// 0x00400- skill range affected by WL_RADIUS
|
||||
// 0x00800- skill range affected by RA_RESEARCHTRAP
|
||||
// 0x01000- skill that does not affect user that has NC_HOVERING active
|
||||
// 0x02000- skill that can be using while riding warg
|
||||
// 0x04000- skill that can't be used while in mado
|
||||
// 0x08000- skill that can be used to target while under SC__MANHOLE effect
|
||||
// 0x10000- skill that affects hidden targets
|
||||
// 17 Name
|
||||
// 18 Description
|
||||
1,0,0,0,0,0,0,9,0,no,0,0,0,none,0,0x0, NV_BASIC,Basic Skill
|
||||
|
@ -107,12 +107,12 @@ AccountDB* account_db_sql(void) {
|
||||
static bool account_db_sql_init(AccountDB* self) {
|
||||
AccountDB_SQL* db = (AccountDB_SQL*)self;
|
||||
Sql* sql_handle;
|
||||
const char* username;
|
||||
const char* password;
|
||||
const char* hostname;
|
||||
uint16 port;
|
||||
const char* database;
|
||||
const char* codepage;
|
||||
const char* username = "ragnarok";
|
||||
const char* password = "";
|
||||
const char* hostname = "127.0.0.1";
|
||||
uint16 port = 3306;
|
||||
const char* database = "ragnarok";
|
||||
const char* codepage = "";
|
||||
|
||||
db->accounts = Sql_Malloc();
|
||||
sql_handle = db->accounts;
|
||||
|
@ -25,7 +25,7 @@
|
||||
static char ipban_db_hostname[32] = "127.0.0.1";
|
||||
static uint16 ipban_db_port = 3306;
|
||||
static char ipban_db_username[32] = "ragnarok";
|
||||
static char ipban_db_password[32] = "ragnarok";
|
||||
static char ipban_db_password[32] = "";
|
||||
static char ipban_db_database[32] = "ragnarok";
|
||||
static char ipban_codepage[32] = "";
|
||||
static char ipban_table[32] = "ipbanlist";
|
||||
@ -187,12 +187,12 @@ bool ipban_config_read(const char* key, const char* value) {
|
||||
* Launched at login-serv start, create db or other long scope variable here.
|
||||
*/
|
||||
void ipban_init(void) {
|
||||
const char* username;
|
||||
const char* password;
|
||||
const char* hostname;
|
||||
uint16 port;
|
||||
const char* database;
|
||||
const char* codepage;
|
||||
const char* username = ipban_db_username;
|
||||
const char* password = ipban_db_password;
|
||||
const char* hostname = ipban_db_hostname;
|
||||
uint16 port = ipban_db_port;
|
||||
const char* database = ipban_db_database;
|
||||
const char* codepage = ipban_db_codepage;
|
||||
|
||||
ipban_inited = true;
|
||||
|
||||
|
@ -3285,7 +3285,6 @@ void clif_arrowequip(struct map_session_data *sd,int val)
|
||||
|
||||
nullpo_retv(sd);
|
||||
|
||||
pc_stop_attack(sd); // [Valaris]
|
||||
#if PACKETVER >= 20121128
|
||||
clif_status_change(&sd->bl, SI_CLIENT_ONLY_EQUIP_ARROW, 1, INVALID_TIMER, 0, 0, 0);
|
||||
#endif
|
||||
|
@ -1168,9 +1168,7 @@ static int mob_ai_sub_hard_lootsearch(struct block_list *bl,va_list ap)
|
||||
target = va_arg(ap,struct block_list**);
|
||||
|
||||
dist = distance_bl(&md->bl, bl);
|
||||
if(mob_can_reach(md,bl,dist+1, MSS_LOOT) &&
|
||||
((*target) == NULL || !check_distance_bl(&md->bl, *target, dist)) //New target closer than previous one.
|
||||
) {
|
||||
if (mob_can_reach(md,bl,dist+1, MSS_LOOT) && (*target) == NULL) {
|
||||
(*target) = bl;
|
||||
md->target_id = bl->id;
|
||||
md->min_chase = md->db->range3;
|
||||
|
@ -970,7 +970,7 @@ int npc_touch_areanpc(struct map_session_data* sd, int16 m, int16 x, int16 y)
|
||||
if (pc_ishiding(sd) || (sd->sc.count && sd->sc.data[SC_CAMOUFLAGE]) || pc_isdead(sd))
|
||||
break; // hidden or dead chars cannot use warps
|
||||
if(sd->count_rewarp > 10){
|
||||
ShowWarning("Prevent infinite warping loop for player (%d:%d), please fix script npc:'%s', path:'%s' \n",sd->status.account_id, sd->status.char_id,map[m].npc[i]->exname,map[m].npc[i]->path);
|
||||
ShowWarning("Prevented infinite warp loop for player (%d:%d). Please fix NPC: '%s', path: '%s'\n", sd->status.account_id, sd->status.char_id, map[m].npc[i]->exname, map[m].npc[i]->path);
|
||||
sd->count_rewarp=0;
|
||||
break;
|
||||
}
|
||||
|
@ -717,7 +717,7 @@ struct {
|
||||
#endif
|
||||
|
||||
#define pc_setdead(sd) ( (sd)->state.dead_sit = (sd)->vd.dead_sit = 1 )
|
||||
#define pc_setsit(sd) ( (sd)->state.dead_sit = (sd)->vd.dead_sit = 2 )
|
||||
#define pc_setsit(sd) { pc_stop_walking((sd), 1|4); pc_stop_attack((sd)); (sd)->state.dead_sit = (sd)->vd.dead_sit = 2; }
|
||||
#define pc_isdead(sd) ( (sd)->state.dead_sit == 1 )
|
||||
#define pc_issit(sd) ( (sd)->vd.dead_sit == 2 )
|
||||
#define pc_isidle(sd) ( (sd)->chatID || (sd)->state.vending || (sd)->state.buyingstore || DIFF_TICK(last_tick, (sd)->idletime) >= battle_config.idle_no_share )
|
||||
|
@ -3100,7 +3100,7 @@ struct script_data* push_copy(struct script_stack* stack, int pos)
|
||||
}
|
||||
}
|
||||
|
||||
/// Removes the values in indexes [start,end[ from the stack.
|
||||
/// Removes the values in indexes [start,end] from the stack.
|
||||
/// Adjusts all stack pointers.
|
||||
void pop_stack(struct script_state* st, int start, int end)
|
||||
{
|
||||
@ -18346,8 +18346,8 @@ BUILDIN_FUNC(sit)
|
||||
return SCRIPT_CMD_FAILURE;
|
||||
|
||||
if( !pc_issit(sd) ) {
|
||||
skill_sit(sd, 1);
|
||||
pc_setsit(sd);
|
||||
skill_sit(sd, 1);
|
||||
clif_sitting(&sd->bl);
|
||||
}
|
||||
return SCRIPT_CMD_SUCCESS;
|
||||
|
@ -3777,8 +3777,8 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data)
|
||||
if( target->type == BL_PC ) {
|
||||
struct map_session_data *tsd = NULL;
|
||||
if( (tsd = ((TBL_PC*)target)) && !pc_issit(tsd) ) {
|
||||
skill_sit(tsd, 1);
|
||||
pc_setsit(tsd);
|
||||
skill_sit(tsd, 1);
|
||||
clif_sitting(&tsd->bl);
|
||||
}
|
||||
}
|
||||
@ -16057,12 +16057,9 @@ int skill_sit (struct map_session_data *sd, int type)
|
||||
range = skill_get_splash(TK_SPTIME, lv);
|
||||
}
|
||||
|
||||
if( type ) {
|
||||
// TODO: Include the case of using the Insert key
|
||||
pc_stop_walking(sd, 1|4); // Stop players who may be walking
|
||||
pc_stop_attack(sd); // Stop players who may be attacking
|
||||
if (type)
|
||||
clif_status_load(&sd->bl, SI_SIT, 1);
|
||||
} else
|
||||
else
|
||||
clif_status_load(&sd->bl, SI_SIT, 0);
|
||||
|
||||
if (!flag) return 0;
|
||||
|
@ -27,16 +27,6 @@ struct status_change_entry;
|
||||
|
||||
DBMap* skilldb_name2id;
|
||||
|
||||
/// Constants to identify the skill's inf value:
|
||||
enum e_skill_inf {
|
||||
INF_ATTACK_SKILL = 0x01,
|
||||
INF_GROUND_SKILL = 0x02,
|
||||
INF_SELF_SKILL = 0x04, // Skills casted on self where target is automatically chosen
|
||||
// 0x08 not assigned
|
||||
INF_SUPPORT_SKILL = 0x10,
|
||||
INF_TARGET_TRAP = 0x20,
|
||||
};
|
||||
|
||||
/// Constants to identify a skill's nk value (damage properties)
|
||||
/// The NK value applies only to non INF_GROUND_SKILL skills
|
||||
/// when determining skill castend function to invoke.
|
||||
@ -51,49 +41,58 @@ enum e_skill_nk {
|
||||
NK_NO_CARDFIX_DEF = 0x80,
|
||||
};
|
||||
|
||||
/// Constants to identify the skill's inf value:
|
||||
enum e_skill_inf {
|
||||
INF_ATTACK_SKILL = 0x01,
|
||||
INF_GROUND_SKILL = 0x02,
|
||||
INF_SELF_SKILL = 0x04, // Skills casted on self where target is automatically chosen
|
||||
// 0x08 not assigned
|
||||
INF_SUPPORT_SKILL = 0x10,
|
||||
INF_TARGET_TRAP = 0x20,
|
||||
};
|
||||
|
||||
/// A skill with 3 would be no damage + splash: area of effect.
|
||||
/// Constants to identify a skill's inf2 value.
|
||||
enum e_skill_inf2 {
|
||||
INF2_QUEST_SKILL = 0x00001,
|
||||
INF2_NPC_SKILL = 0x00002, //NPC skills are those that players can't have in their skill tree.
|
||||
INF2_WEDDING_SKILL = 0x00004,
|
||||
INF2_SPIRIT_SKILL = 0x00008,
|
||||
INF2_GUILD_SKILL = 0x00010,
|
||||
INF2_SONG_DANCE = 0x00020,
|
||||
INF2_ENSEMBLE_SKILL = 0x00040,
|
||||
INF2_TRAP = 0x00080,
|
||||
INF2_TARGET_SELF = 0x00100, //Refers to ground placed skills that will target the caster as well (like Grandcross)
|
||||
INF2_NO_TARGET_SELF = 0x00200,
|
||||
INF2_PARTY_ONLY = 0x00400,
|
||||
INF2_GUILD_ONLY = 0x00800,
|
||||
INF2_NO_ENEMY = 0x01000,
|
||||
INF2_QUEST_SKILL = 0x00001,
|
||||
INF2_NPC_SKILL = 0x00002, //NPC skills are those that players can't have in their skill tree.
|
||||
INF2_WEDDING_SKILL = 0x00004,
|
||||
INF2_SPIRIT_SKILL = 0x00008,
|
||||
INF2_GUILD_SKILL = 0x00010,
|
||||
INF2_SONG_DANCE = 0x00020,
|
||||
INF2_ENSEMBLE_SKILL = 0x00040,
|
||||
INF2_TRAP = 0x00080,
|
||||
INF2_TARGET_SELF = 0x00100, //Refers to ground placed skills that will target the caster as well (like Grandcross)
|
||||
INF2_NO_TARGET_SELF = 0x00200,
|
||||
INF2_PARTY_ONLY = 0x00400,
|
||||
INF2_GUILD_ONLY = 0x00800,
|
||||
INF2_NO_ENEMY = 0x01000,
|
||||
INF2_AUTOSHADOWSPELL = 0x02000, // Skill that available for SC_AUTOSHADOWSPELL
|
||||
INF2_CHORUS_SKILL = 0x04000, // Chorus skill
|
||||
INF2_NO_BG_DMG = 0x08000, // spell that ignore bg reduction
|
||||
INF2_NO_GVG_DMG = 0x10000, // spell that ignore gvg reduction
|
||||
INF2_NO_NEARNPC = 0x20000, // disable to cast skill if near with NPC [Cydh]
|
||||
INF2_CHORUS_SKILL = 0x04000, // Chorus skill
|
||||
INF2_NO_BG_DMG = 0x08000, // Skill that ignore bg reduction
|
||||
INF2_NO_GVG_DMG = 0x10000, // Skill that ignore gvg reduction
|
||||
INF2_NO_NEARNPC = 0x20000, // disable to cast skill if near with NPC [Cydh]
|
||||
};
|
||||
|
||||
/// Skill info type 3
|
||||
enum e_skill_inf3 {
|
||||
INF3_NOLP = 0x00001, // Spells that can ignore Land Protector
|
||||
INF3_NOENDCAMOUFLAGE = 0x00002, // spell that doesn't end camouflage
|
||||
INF3_USABLE_HIDING = 0x00004, // spell that can be use in hiding
|
||||
INF3_USABLE_DANCE = 0x00008, // spell that can be use while in dancing state
|
||||
INF3_HIT_EMP = 0x00010, // spell that could hit emperium
|
||||
INF3_STATIS_BL = 0x00020, // spell blocked by statis
|
||||
INF3_KAGEHUMI_BL = 0x00040, // spell blocked by kagehumi
|
||||
INF3_EFF_VULTURE = 0x00080, // spell range affected by AC_VULTURE
|
||||
INF3_EFF_SNAKEEYE = 0x00100, // spell range affected by GS_SNAKEEYE
|
||||
INF3_EFF_SHADOWJUMP = 0x00200, // spell range affected by NJ_SHADOWJUMP
|
||||
INF3_EFF_RADIUS = 0x00400, // spell range affected by WL_RADIUS
|
||||
INF3_EFF_RESEARCHTRAP = 0x00800, // spell range affected by RA_RESEARCHTRAP
|
||||
INF3_NO_EFF_HOVERING = 0x01000, // Spell that does not affect user that has SC_HOVERING active
|
||||
INF3_USABLE_WARG = 0x02000, // spell that can be use while riding warg
|
||||
INF3_DIS_MADO = 0x04000, // spell that can't be used while in mado
|
||||
INF3_USABLE_MANHOLE = 0x08000, // spell that can be used to target while under Man Hole effect
|
||||
INF3_HIT_HIDING = 0x10000, // spell that having an affect to hiding target
|
||||
//... add other spell list option here
|
||||
INF3_NOLP = 0x00001, // Skill that can ignore Land Protector
|
||||
INF3_NOENDCAMOUFLAGE = 0x00002, // Skill that doesn't end camouflage
|
||||
INF3_USABLE_HIDING = 0x00004, // Skill that can be use in hiding
|
||||
INF3_USABLE_DANCE = 0x00008, // Skill that can be use while in dancing state
|
||||
INF3_HIT_EMP = 0x00010, // Skill that could hit emperium
|
||||
INF3_STATIS_BL = 0x00020, // Skill blocked by statis
|
||||
INF3_KAGEHUMI_BL = 0x00040, // Skill blocked by kagehumi
|
||||
INF3_EFF_VULTURE = 0x00080, // Skill range affected by AC_VULTURE
|
||||
INF3_EFF_SNAKEEYE = 0x00100, // Skill range affected by GS_SNAKEEYE
|
||||
INF3_EFF_SHADOWJUMP = 0x00200, // Skill range affected by NJ_SHADOWJUMP
|
||||
INF3_EFF_RADIUS = 0x00400, // Skill range affected by WL_RADIUS
|
||||
INF3_EFF_RESEARCHTRAP = 0x00800, // Skill range affected by RA_RESEARCHTRAP
|
||||
INF3_NO_EFF_HOVERING = 0x01000, // Skill that does not affect user that has SC_HOVERING active
|
||||
INF3_USABLE_WARG = 0x02000, // Skill that can be use while riding warg
|
||||
INF3_DIS_MADO = 0x04000, // Skill that can't be used while in mado
|
||||
INF3_USABLE_MANHOLE = 0x08000, // Skill that can be used to target while under SC__MANHOLE effect
|
||||
INF3_HIT_HIDING = 0x10000, // Skill that affects hidden targets
|
||||
};
|
||||
|
||||
/// Walk intervals at which chase-skills are attempted to be triggered.
|
||||
|
@ -8731,8 +8731,8 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
|
||||
case SC_TENSIONRELAX:
|
||||
if (sd) {
|
||||
skill_sit(sd, 1);
|
||||
pc_setsit(sd);
|
||||
skill_sit(sd, 1);
|
||||
clif_sitting(&sd->bl);
|
||||
}
|
||||
val2 = 12; // SP cost
|
||||
@ -9459,8 +9459,8 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty
|
||||
case SC_SITDOWN_FORCE:
|
||||
case SC_BANANA_BOMB_SITDOWN:
|
||||
if( sd && !pc_issit(sd) ) {
|
||||
skill_sit(sd, 1);
|
||||
pc_setsit(sd);
|
||||
skill_sit(sd, 1);
|
||||
clif_sitting(bl);
|
||||
}
|
||||
break;
|
||||
@ -12044,8 +12044,8 @@ int status_change_timer(int tid, unsigned int tick, int id, intptr_t data)
|
||||
if( --(sce->val4) >= 0 ) {
|
||||
status_charge(bl,0,sce->val2); // Reduce 8 every 10 seconds.
|
||||
if( sd && !pc_issit(sd) ) { // Force to sit every 10 seconds.
|
||||
skill_sit(sd, 1);
|
||||
pc_setsit(sd);
|
||||
skill_sit(sd, 1);
|
||||
clif_sitting(bl);
|
||||
}
|
||||
sc_timer_next(10000 + tick, status_change_timer, bl->id, data);
|
||||
|
Loading…
x
Reference in New Issue
Block a user