summaryrefslogtreecommitdiff
path: root/src/map/pc.h
diff options
context:
space:
mode:
authorzephyrus <zephyrus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-03-18 02:50:39 +0000
committerzephyrus <zephyrus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-03-18 02:50:39 +0000
commit53a59a6135eb43e1db0cf82d0d367e4258ff6b86 (patch)
tree387a862d12692ce458b79f3db8c91321452f9615 /src/map/pc.h
parent14593221de9da87afddc5b6fb9e261160f673a7e (diff)
downloadhercules-53a59a6135eb43e1db0cf82d0d367e4258ff6b86.tar.gz
hercules-53a59a6135eb43e1db0cf82d0d367e4258ff6b86.tar.bz2
hercules-53a59a6135eb43e1db0cf82d0d367e4258ff6b86.tar.xz
hercules-53a59a6135eb43e1db0cf82d0d367e4258ff6b86.zip
- Implemented new item and bonuses for Kreiger Von Midgard rewards.
* Execute script on skill (bonusautoscript3) * Add effect on skill (bAddEffOnSkill) * Execute skill on skill (bAutoSpellOnSkill) - Fixed some boxes Rental time according to item descriptions. - Implemented SC_ITEMSCRIPT, a status that gives you temporally the effect of an item. Check items 14597 to 14605 if you want to get the idea. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13596 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/pc.h')
-rw-r--r--src/map/pc.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/map/pc.h b/src/map/pc.h
index 8a100f092..deedc4d70 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -56,6 +56,12 @@ struct s_addeffect {
unsigned char flag;
};
+struct s_addeffectonskill {
+ enum sc_type id;
+ short rate, skill;
+ unsigned char target;
+};
+
struct s_add_drop {
short id, group;
int race, rate;
@@ -116,6 +122,7 @@ struct map_session_data {
bool changemap;
struct guild *gmaster_flag;
unsigned int bg_id;
+ unsigned skillonskill : 1;
} state;
struct {
unsigned char no_weapon_damage, no_magic_damage, no_misc_damage;
@@ -208,8 +215,10 @@ struct map_session_data {
short sp_gain_race[RC_MAX];
// zeroed arrays end here.
// zeroed structures start here
- struct s_autospell autospell[15], autospell2[15];
+ struct s_autospell autospell[15], autospell2[15], autospell3[15];
struct s_addeffect addeff[MAX_PC_BONUS], addeff2[MAX_PC_BONUS];
+ struct s_addeffectonskill addeff3[MAX_PC_BONUS];
+
struct { //skillatk raises bonus dmg% of skills, skillheal increases heal%, skillblown increases bonus blewcount for some skills.
unsigned short id;
short val;
@@ -229,7 +238,7 @@ struct map_session_data {
} itemhealrate[MAX_PC_BONUS];
// zeroed structures end here
// manually zeroed structures start here.
- struct s_autoscript autoscript[10], autoscript2[10]; //Auto script on attack, when attacked
+ struct s_autoscript autoscript[10], autoscript2[10], autoscript3[10]; //Auto script on attack, when attacked, on skill usage
// manually zeroed structures end here.
// zeroed vars start here.
int arrow_atk,arrow_ele,arrow_cri,arrow_hit;
@@ -556,7 +565,7 @@ bool pc_adoption(struct map_session_data *p1_sd, struct map_session_data *p2_sd,
int pc_updateweightstatus(struct map_session_data *sd);
-int pc_autoscript_add(struct s_autoscript *scripts, int max, short rate, short flag, short target, struct script_code *script);
+int pc_autoscript_add(struct s_autoscript *scripts, int max, short rate, short flag, short target, struct script_code *script, bool onskill);
void pc_autoscript_clear(struct s_autoscript *scripts, int max);
int pc_bonus(struct map_session_data*,int,int);