summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2016-08-14 17:57:35 +0200
committerGitHub <noreply@github.com>2016-08-14 17:57:35 +0200
commita737812d7ceadb8ee02dae88131b968f459c0fe3 (patch)
tree6ca3bf5dd7272a54843962b8ed6c9b81fd8338f5 /src
parent4693faa69c40fb3f202351558ed5fce2866496ae (diff)
parentb3df179f705b0a4fe99b0d6e81878251692843f1 (diff)
downloadhercules-a737812d7ceadb8ee02dae88131b968f459c0fe3.tar.gz
hercules-a737812d7ceadb8ee02dae88131b968f459c0fe3.tar.bz2
hercules-a737812d7ceadb8ee02dae88131b968f459c0fe3.tar.xz
hercules-a737812d7ceadb8ee02dae88131b968f459c0fe3.zip
Merge pull request #1396 from Emistry/on_pc_event
Enable @b/joblvl trigger OnPCLvUpEvent
Diffstat (limited to 'src')
-rw-r--r--src/map/atcommand.c9
-rw-r--r--src/map/battle.c1
-rw-r--r--src/map/battle.h2
3 files changed, 12 insertions, 0 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 5b337e759..8d4aa317f 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -1398,6 +1398,7 @@ ACMD(baselevelup)
sd->status.base_level -= level;
clif->message(fd, msg_fd(fd,22)); // Base level lowered.
status_calc_pc(sd, SCO_FORCE);
+ level *= -1;
}
sd->status.base_exp = 0;
clif->updatestatus(sd, SP_STATUSPOINT);
@@ -1407,6 +1408,10 @@ ACMD(baselevelup)
pc->baselevelchanged(sd);
if(sd->status.party_id)
party->send_levelup(sd);
+
+ if (level > 0 && battle_config.atcommand_levelup_events)
+ npc->script_event(sd, NPCE_BASELVUP); // Trigger OnPCBaseLvUpEvent
+
return true;
}
@@ -1448,6 +1453,7 @@ ACMD(joblevelup)
else
sd->status.skill_point -= level;
clif->message(fd, msg_fd(fd,25)); // Job level lowered.
+ level *= -1;
}
sd->status.job_exp = 0;
clif->updatestatus(sd, SP_JOBLEVEL);
@@ -1456,6 +1462,9 @@ ACMD(joblevelup)
clif->updatestatus(sd, SP_SKILLPOINT);
status_calc_pc(sd, SCO_FORCE);
+ if (level > 0 && battle_config.atcommand_levelup_events)
+ npc->script_event(sd, NPCE_JOBLVUP); // Trigger OnPCJobLvUpEvent
+
return true;
}
diff --git a/src/map/battle.c b/src/map/battle.c
index 79048457c..908f0364b 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -7248,6 +7248,7 @@ static const struct battle_data {
{ "max_body_style", &battle_config.max_body_style, 4, 0, SHRT_MAX, },
{ "save_body_style", &battle_config.save_body_style, 0, 0, 1, },
{ "player_warp_keep_direction", &battle_config.player_warp_keep_direction, 0, 0, 1, },
+ { "atcommand_levelup_events", &battle_config.atcommand_levelup_events, 0, 0, 1, },
};
#ifndef STATS_OPT_OUT
/**
diff --git a/src/map/battle.h b/src/map/battle.h
index 1a23870e7..e04a713ae 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -542,6 +542,8 @@ struct Battle_Config {
// Warp Face Direction
int player_warp_keep_direction;
+
+ int atcommand_levelup_events; // Enable atcommands trigger level up events for NPCs
};
/* criteria for battle_config.idletime_critera */