diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-03-19 19:44:21 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-03-19 19:44:21 +0000 |
commit | cb227339015cdd739580b36222d31b6755694d49 (patch) | |
tree | 60f6f9376731e9ab5bddc8c59775aa86c40f9dc5 /src/map/status.c | |
parent | b4633cd02038b02bf6760e9f1fffec3a0a820cab (diff) | |
download | hercules-cb227339015cdd739580b36222d31b6755694d49.tar.gz hercules-cb227339015cdd739580b36222d31b6755694d49.tar.bz2 hercules-cb227339015cdd739580b36222d31b6755694d49.tar.xz hercules-cb227339015cdd739580b36222d31b6755694d49.zip |
- Removed the last argument from skillitem, the skill name passed to the client should always be of the type "AL_HEAL" anyway.
- Added skill ITEM_ENCHANTARMS, this is what weapon enchanting items should use.
- Corrected itemskill calls in the item_db, also made the weapon enchanting items invoke the ITEM_ENCHANTARMS skill. Corrected Holy Egg not being type 11 (delay consume)
- Updated item_db.sql with item_db information.
- Added support for specifying different elements per skill level in the skill_db
- Added bonus bNoKnockback
- Corrected typo in bonus bSubRace2 (it was called bSPSubRace2 for some reason)
- Corrected login sql server not resetting your account state to 0 when the banuntil duration expires.
- Corrected use of UINT_MAX instead of INT_MAX in some jailing check.
- Made the skillatk bonus it's own function, it can now be used to boost Heal/Sanctuary/Potion Pitcher and Slim Pitcher as well.
- Cleaned up TK_WARMWIND to use the element acquired from the skill_db rather than hardcoded values.
- Corrected Teleport's save map entry being sent without the .gat extension.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10031 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/map/status.c b/src/map/status.c index 5521bf517..bc7b5130c 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -351,6 +351,7 @@ void initChangeTables(void) { set_sc(WS_OVERTHRUSTMAX, SC_MAXOVERTHRUST, SI_MAXOVERTHRUST, SCB_NONE); set_sc(CG_LONGINGFREEDOM, SC_LONGING, SI_BLANK, SCB_SPEED|SCB_ASPD); add_sc(CG_HERMODE, SC_HERMODE); + set_sc(ITEM_ENCHANTARMS, SC_ENCHANTARMS, SI_BLANK, SCB_ATK_ELE); set_sc(SL_HIGH, SC_SPIRIT, SI_SPIRIT, SCB_PC); set_sc(KN_ONEHAND, SC_ONEHAND, SI_ONEHAND, SCB_ASPD); set_sc(GS_FLING, SC_FLING, SI_BLANK, SCB_DEF|SCB_DEF2); @@ -1091,7 +1092,7 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int hide_flag = flag?OPTION_HIDE:(OPTION_HIDE|OPTION_CLOAK|OPTION_CHASEWALK); //You cannot hide from ground skills. - if(skill_get_pl(skill_num) == ELE_EARTH) + if(skill_get_pl(skill_num,1) == ELE_EARTH) //TODO: Need Skill Lv here :/ hide_flag &= ~OPTION_HIDE; switch (target->type) @@ -3903,6 +3904,8 @@ unsigned char status_calc_attack_element(struct block_list *bl, struct status_ch { if(!sc || !sc->count) return element; + if( sc->data[SC_ENCHANTARMS].timer!=-1) + return sc->data[SC_ENCHANTARMS].val2; if( sc->data[SC_WATERWEAPON].timer!=-1) return ELE_WATER; if( sc->data[SC_EARTHWEAPON].timer!=-1) @@ -5744,6 +5747,13 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val val3 = BF_LONG; //Range val4 = BF_WEAPON|BF_MISC; //Type break; + case SC_ENCHANTARMS: + //Make sure the received element is valid. + if (val2 >= ELE_MAX) + val2 = val2%ELE_MAX; + else if (val2 < 0) + val2 = rand()%ELE_MAX; + break; case SC_ARMOR_ELEMENT: //Place here SCs that have no SCB_* data, no skill associated, no ICON //associated, and yet are not wrong/unknown. [Skotlex] |