summaryrefslogtreecommitdiff
path: root/src/map/status.h
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2017-06-03 18:43:44 +0200
committerGitHub <noreply@github.com>2017-06-03 18:43:44 +0200
commit3061bb8257578bc88b9873f1ecebb05f8508bd0f (patch)
tree2d2257b9c574f29896ae0baa71a224c3b4f53ecf /src/map/status.h
parentf795a6df2766348d2a7f43f48e392b3cf3008781 (diff)
parent6f2827cbf9282981a29abaa06236fb0cd6300057 (diff)
downloadhercules-3061bb8257578bc88b9873f1ecebb05f8508bd0f.tar.gz
hercules-3061bb8257578bc88b9873f1ecebb05f8508bd0f.tar.bz2
hercules-3061bb8257578bc88b9873f1ecebb05f8508bd0f.tar.xz
hercules-3061bb8257578bc88b9873f1ecebb05f8508bd0f.zip
Merge pull request #1684 from Smokexyz/refine-update
Enriched refine chance correction
Diffstat (limited to 'src/map/status.h')
-rw-r--r--src/map/status.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/map/status.h b/src/map/status.h
index 1496429a8..de21fa16c 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -2233,9 +2233,17 @@ struct status_change {
#define status_calc_elemental(ed, opt) (status->calc_bl_(&(ed)->bl, SCB_ALL, (opt)))
#define status_calc_npc(nd, opt) (status->calc_bl_(&(nd)->bl, SCB_ALL, (opt)))
+enum refine_chance_type {
+ REFINE_CHANCE_TYPE_NORMAL = 0, // Normal Chance
+ REFINE_CHANCE_TYPE_ENRICHED = 1, // Enriched Ore Chance
+ REFINE_CHANCE_TYPE_E_NORMAL = 2, // Event Normal Ore Chance
+ REFINE_CHANCE_TYPE_E_ENRICHED = 3, // Event Enriched Ore Chance
+ REFINE_CHANCE_TYPE_MAX
+};
+
// bonus values and upgrade chances for refining equipment
struct s_refine_info {
- int chance[MAX_REFINE]; // success chance
+ int chance[REFINE_CHANCE_TYPE_MAX][MAX_REFINE]; // success chance
int bonus[MAX_REFINE]; // cumulative fixed bonus damage
int randombonus_max[MAX_REFINE]; // cumulative maximum random bonus damage
};
@@ -2283,7 +2291,7 @@ struct status_interface {
int (*init) (bool minimal);
void (*final) (void);
/* funcs */
- int (*get_refine_chance) (enum refine_type wlv, int refine);
+ int (*get_refine_chance) (enum refine_type wlv, int refine, enum refine_chance_type type);
// for looking up associated data
sc_type (*skill2sc) (int skill_id);
int (*sc2skill) (sc_type sc);