Added night_darkness_level
git-svn-id: https://svn.code.sf.net/p/rathena/svn/athena@267 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
c7058348a0
commit
72c341d10a
@ -3,6 +3,10 @@ Date Added
|
||||
- Napalm vulcan, Enchant Deadly Poison, Slow Poison (based on jAthena 1066)
|
||||
- Create Deadly Poison, thanks to DracoRPG!
|
||||
- Added effect for Meteor Assault
|
||||
* Added night_darkness_level to battle_athena.conf. [celest]
|
||||
Use this to set 'how dark' it'll become during night time. Use 0 for default,
|
||||
or between 1-10. (Yeah, i know lots of people hated the original night! xP)
|
||||
Warning: It may cause errors with old exe's!
|
||||
|
||||
11/19
|
||||
* Re-added check for empty bottle when using aqua benedicta. [Valaris]
|
||||
|
@ -671,6 +671,11 @@ day_duration: 7200000
|
||||
// Except 0, minimum is 60000 (1 minute).
|
||||
night_duration: 1800000
|
||||
|
||||
// Set how dark it will become during night time
|
||||
// Range: 1-5, 0 for default
|
||||
// Warning: might not work with old exe's
|
||||
night_darkness_level: 0
|
||||
|
||||
// Will display a mob's hp/maxhp when the mouse cursor is over them. (Note 1)
|
||||
// Will not display guardian or emperium hp.
|
||||
//
|
||||
|
@ -4503,8 +4503,15 @@ int atcommand_night(
|
||||
night_flag = 1; // 0=day, 1=night [Yor]
|
||||
for(i = 0; i < fd_max; i++) {
|
||||
if (session[i] && (pl_sd = session[i]->session_data) && pl_sd->state.auth && !map[sd->bl.m].flag.indoors) {
|
||||
pl_sd->opt2 |= STATE_BLIND;
|
||||
clif_changeoption(&pl_sd->bl);
|
||||
//pl_sd->opt2 |= STATE_BLIND;
|
||||
//clif_changeoption(&pl_sd->bl);
|
||||
if (battle_config.night_darkness_level > 0)
|
||||
clif_specialeffect(&pl_sd->bl, 474 + battle_config.night_darkness_level, 0);
|
||||
else {
|
||||
//clif_specialeffect(&pl_sd->bl, 483, 0); // default darkness level
|
||||
pl_sd->opt2 |= STATE_BLIND;
|
||||
clif_changeoption(&pl_sd->bl);
|
||||
}
|
||||
clif_displaymessage(pl_sd->fd, msg_table[59]); // Night has fallen.
|
||||
}
|
||||
}
|
||||
|
@ -5132,6 +5132,7 @@ static const struct {
|
||||
{ "pk_min_level", &battle_config.pk_min_level}, // [celest]
|
||||
{ "skill_steal_type", &battle_config.skill_steal_type}, // [celest]
|
||||
{ "skill_steal_rate", &battle_config.skill_steal_rate}, // [celest]
|
||||
{ "night_darkness_level", &battle_config.night_darkness_level}, // [celest]
|
||||
|
||||
//SQL-only options start
|
||||
#ifndef TXT_ONLY
|
||||
@ -5357,6 +5358,7 @@ void battle_set_defaults() {
|
||||
battle_config.pk_min_level = 55;
|
||||
battle_config.skill_steal_type = 1;
|
||||
battle_config.skill_steal_rate = 100;
|
||||
battle_config.night_darkness_level = 9;
|
||||
|
||||
battle_config.castrate_dex_scale = 150;
|
||||
|
||||
@ -5476,6 +5478,9 @@ void battle_validate_conf() {
|
||||
// at least 1 client must be accepted
|
||||
if ((battle_config.packet_ver_flag & 63) == 0) // added by [Yor]
|
||||
battle_config.packet_ver_flag = 63; // accept all clients
|
||||
|
||||
if (battle_config.night_darkness_level > 10) // Celest
|
||||
battle_config.night_darkness_level = 10;
|
||||
}
|
||||
|
||||
/*==========================================
|
||||
|
@ -336,6 +336,7 @@ extern struct Battle_Config {
|
||||
int pk_min_level; // [celest]
|
||||
int skill_steal_type; // [celest]
|
||||
int skill_steal_rate; // [celest]
|
||||
int night_darkness_level; // [celest]
|
||||
|
||||
#ifndef TXT_ONLY /* SQL-only options */
|
||||
int mail_system; // [Valaris]
|
||||
|
@ -7299,12 +7299,17 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd)
|
||||
skill_status_change_start(&sd->bl,SC_NOCHAT,0,0,0,0,0,0);
|
||||
|
||||
if (night_flag) {
|
||||
// night - when changing from indoors to outdoors - celest
|
||||
if (!map[sd->bl.m].flag.indoors && sd->opt2 != STATE_BLIND)
|
||||
sd->opt2 |= STATE_BLIND;
|
||||
// changing from outdoors to indoors
|
||||
else if (map[sd->bl.m].flag.indoors && sd->opt2 == STATE_BLIND)
|
||||
sd->opt2 &= ~STATE_BLIND;
|
||||
if (battle_config.night_darkness_level > 0 && !map[sd->bl.m].flag.indoors)
|
||||
clif_specialeffect(&sd->bl, 474 + battle_config.night_darkness_level, 0);
|
||||
else {
|
||||
//clif_specialeffect(&sd->bl, 483, 0); // default darkness level
|
||||
// night - when changing from indoors to outdoors - celest
|
||||
if (!map[sd->bl.m].flag.indoors && sd->opt2 != STATE_BLIND)
|
||||
sd->opt2 |= STATE_BLIND;
|
||||
// changing from outdoors to indoors
|
||||
else if (map[sd->bl.m].flag.indoors && sd->opt2 == STATE_BLIND)
|
||||
sd->opt2 &= ~STATE_BLIND;
|
||||
}
|
||||
}
|
||||
|
||||
// option
|
||||
|
15
src/map/pc.c
15
src/map/pc.c
@ -803,7 +803,11 @@ int pc_authok(int id, int login_id2, time_t connect_until_time, struct mmo_chars
|
||||
char tmpstr[1024];
|
||||
strcpy(tmpstr, msg_txt(500)); // Actually, it's the night...
|
||||
clif_wis_message(sd->fd, wisp_server_name, tmpstr, strlen(tmpstr)+1);
|
||||
sd->opt2 |= STATE_BLIND;
|
||||
if (battle_config.night_darkness_level > 0)
|
||||
clif_specialeffect(&sd->bl, 474 + battle_config.night_darkness_level, 0);
|
||||
else
|
||||
//clif_specialeffect(&sd->bl, 483, 0); // default darkness level
|
||||
sd->opt2 |= STATE_BLIND;
|
||||
}
|
||||
|
||||
// ステ?タス初期計算など
|
||||
@ -7227,8 +7231,13 @@ int map_night_timer(int tid, unsigned int tick, int id, int data) { // by [yor]
|
||||
night_flag = 1; // 0=day, 1=night [Yor]
|
||||
for(i = 0; i < fd_max; i++) {
|
||||
if (session[i] && (pl_sd = session[i]->session_data) && pl_sd->state.auth && !map[pl_sd->bl.m].flag.indoors) {
|
||||
pl_sd->opt2 |= STATE_BLIND;
|
||||
clif_changeoption(&pl_sd->bl);
|
||||
if (battle_config.night_darkness_level > 0)
|
||||
clif_specialeffect(&pl_sd->bl, 474 + battle_config.night_darkness_level, 0);
|
||||
else {
|
||||
//clif_specialeffect(&pl_sd->bl, 483, 0); // default darkness level
|
||||
pl_sd->opt2 |= STATE_BLIND;
|
||||
clif_changeoption(&pl_sd->bl);
|
||||
}
|
||||
clif_wis_message(pl_sd->fd, wisp_server_name, tmpstr, strlen(tmpstr)+1);
|
||||
}
|
||||
}
|
||||
|
@ -8094,7 +8094,8 @@ int skill_status_change_end(struct block_list* bl, int type, int tid)
|
||||
break;
|
||||
}
|
||||
|
||||
if (night_flag == 1 && (*opt2 & STATE_BLIND) == 0 && bl->type == BL_PC && !map[bl->m].flag.indoors) { // by [Yor]
|
||||
if (night_flag == 1 && (*opt2 & STATE_BLIND) == 0 && bl->type == BL_PC && // by [Yor]
|
||||
!map[bl->m].flag.indoors && battle_config.night_darkness_level <= 0) { // [celest]
|
||||
*opt2 |= STATE_BLIND;
|
||||
opt_flag = 1;
|
||||
}
|
||||
@ -9369,7 +9370,8 @@ int skill_status_change_clear(struct block_list *bl, int type)
|
||||
*opt3 = 0;
|
||||
*option &= OPTION_MASK;
|
||||
|
||||
if (night_flag == 1 && type == BL_PC && !map[bl->m].flag.indoors) // by [Yor]
|
||||
if (night_flag == 1 && type == BL_PC && !map[bl->m].flag.indoors && // by [Yor]
|
||||
!map[bl->m].flag.indoors && battle_config.night_darkness_level <= 0) // [celest]
|
||||
*opt2 |= STATE_BLIND;
|
||||
|
||||
if(!type || type&2)
|
||||
|
Loading…
x
Reference in New Issue
Block a user