2131 Commits

Author SHA1 Message Date
aleos89
2a04748bf4 Fixes #261
* Corrected the skill behavior of Elemental Shield to match official.
- Thanks to @exneval and @Barigas.
2015-06-08 10:53:41 -04:00
Cydh Ramdh
087d911354 Fixed #418, Magma Eruption behavior
* First hit damage: [450 + 50 * skill_lv]%, 90& causing Stun.
* Damage iteration: [800 + 200 * skill_lv] in every 0.5 second for 5 seconds, has chance to inflict Burning efect.
* Thanks to @reigneil and Rytech

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-08 20:28:54 +07:00
aleos89
3e298c2770 Follow up to 9591f54
* Silly typo.
2015-05-22 19:58:59 -04:00
aleos89
9591f54839 Follow up to ba1a1ae
* Added back check for Spirit Ball for Absorb Spirits.
2015-05-22 19:57:24 -04:00
aleos89
ba1a1aec48 Bug Fixes
* Translated the Kagerou/Oboro skill names in the skill_db.
* Added Critical Food type for newer items.
* Water Barrier should only reduce Weapon ATK and Flee.
* Illusion - Bewitch should not be able to move MVPs.
* Spider Web will no longer be deleted when the target escapes from it. (bugreport:1358)
* Adjusted Absorb Spirits to work in duels. (bugreport:4085)
* Clementia, Canto Candidus, and Praefatio will now cast on the party even if someone is wearing a Holy-type armor. (bugreport:6835)
* Masquerade - Gloomy will now remove a Homunculus who have less than 80% HP. (bugreport:8886)
* Players under the effect of Illusion - Shock will now be able to move and attack. (bugreport:8903)
* Deadly Infection should only pass Guillotine Cross poisons through the Shadow Chaser's attacks only. (bugreport:8968)
* Unlimit now gives the proper statuses when reducing DEF and MDEF. (bugreport:9181)
* Water Screen will now heal 1,000 HP every 10 seconds. (bugreport:9184)
* Tinder Breaker will now properly lock targets. (bugreport:9202)
* Corrected Weapon Blocking SP drain timer from every 3 seconds to 5 seconds. Moved Combo timer to skill_cast_db. (bugreport:9203)
* Players under the influence of Kaite will receive a flat 400% more damage from melee attacks (renewal only). (bugreport:9231)
* Release will now check the preserved skill's SP requirement before releasing. (bugreport:9333)
* Fixes #417 - Charge Attack has a range of 14 cells and can do up to 500% damage.
* Fixes #419 - Magnum Break should not hit hidden targets.
* Fixes #421 - Tension Relax should only increase healing at 1x rate when overweight and 3x when not overweight. Also corrected icon getting removed after a few seconds while sitting.
* Fixes #427 - Auto Guard will force a player to stand when being targeted to avoid client desync.
* Fixes #436 - Corrected Super Novice Spirit not allowing any headgear to be equipped.
* Fixes #438 - Soul Linker's Rebirth Spirit should have a fixed cast of 1 second.
2015-05-22 10:08:16 -04:00
Aleos
05e18fac67 Merge pull request #393 from rathena/hotfix/issue274
* Fixed #274 Castling (HAMI_CASTLE) makes a whole area attack you!
- Changed skill_changetarget to unit_changetarget
- Also fixed the validation before switching the bl's attacking target from current src to new target.
2015-05-18 12:36:45 -04:00
Lemongrass3110
a674869113 Fixed a lot of scanf issues reported by rathena's cppcheck 2015-05-13 14:47:07 -04:00
Cydh Ramdh
cb2ffa24c8 Merge pull request #288 from 'hotfix/issue139'
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-05-01 19:29:04 +07:00
Cydh Ramdh
3a59073000 Separated produce_db.txt for PRE and RENEWAL
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-19 09:41:55 +07:00
Cydh Ramdh
2fdcd92336 Bug Fixes:
* Fixed #371, missing entry for Solid Skin (EL_SOLID_SKIN) in skill_cast_db.txt, causing the skill gives effect only for a ms.
* Follow up f19e2dc6 `pc_mapid2jobid` gives wrong value and revert `JOBL_SUPER_NOVICE` flag that was introduced in 82561947.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-17 01:33:29 +07:00
aleos89
f19e2dc6c7 Bug Fixes
* Fixed #273 - Keeping should end before mob status recalculation when changing class.
* Fixed #324 - BaseJob will now return the correct ID for Super Novice type classes.
* Fixed #357 - Cross Slash should work with 2 daggers, Huuma type weapons, or a dagger + shield.
* Fixed #370 - Corrected a few things with Devotion range checks.
* Corrected the skill fail message that displays when players have no bullets.
* Corrected Howling of Mandragora's duration.
* Updated Kunai Explosion damage.
* Added missing 20% damage reduction for Water Barrier.
* Mado License attack bonus is granted even without Madogear.
2015-04-15 14:55:58 -04:00
Cydh Ramdh
0f5050de20 Bug Fixes
* Follow up 46f010cb, cleaned up skill fail checks on `skill_castend_id`. This is should fixed #385
* Fixed #395, changed `mode` field for monster from `smallint` to `int`. Thank @LyndisRain
* Fixed #391, added `0` in fixed cast time field for SM_SELFPROVOKE. Thank @DriwFS

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-13 17:03:41 +07:00
Cydh Ramdh
82d43fe894 Bug Fixes
* Fixed #274 Castling (HAMI_CASTLE) makes a whole area attack you!
* Changed `skill_changetarget` to `unit_changetarget`, also fixed the validation before switching the `bl`'s attacking target from current `src` to new `target`.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-11 22:20:00 +07:00
Cydh Ramdh
994aba683b Follow up 20c6149b60664561eed9ea6f2f7551c91a904d89
* Fixed #390, party skill didn't work on self
* Removed BCT_ALLWOS, added BCT_WOS for checking 'without self' skill target

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-11 10:46:15 +07:00
Cydh Ramdh
20c6149b60 Bug Fixes
* Fixed #376, status def for Voice of Siren effect (WM_VOICEOFSIREN) is calculated twice
* Fixed SC_DEEPSLEEP effect from Deep Sleep Lullaby (WM_LULLABY_DEEPSLEEP) and Arrullo (SO_ARRULLO)
* WM_VOICEOFSIREN & WM_LULLABY_DEEPSLEEP give effect for all targets except self
* Typos

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-11 00:27:46 +07:00
Cydh Ramdh
27ba6c5002 * Fixed #387
* Replacing 'rand()' leftwover with 'rnd()' of mt19937ar
* Cleaned up script commands related with item group: 'groupranditem', 'getrandgroupitem', 'getgroupitem'
* Corrected item scripts that are using 'getrandgroupitem'
* Updated script command and item group doc

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-09 20:54:01 +07:00
Cydh Ramdh
86e856596e Fixed #373, HW_GRAVITATION is casted by Non-BL_PC causes map-server crash.
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-04-02 19:31:54 +07:00
Cydh Ramdh
c7062e5e7d Added status change (SC) documentation as merge #238. Thank @nanakiwurtz
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-31 17:52:25 +07:00
Cydh Ramdh
dea64a2345 Follow up 20695d629a59310a9e6a04c2234bbf4870609d90
* Fixed #350
* Fixed also same potential issue for skill_nonearnpc_db.txt

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-30 22:21:48 +07:00
Cydh Ramdh
3c920759fa Fixed #366
* Somehow failed to get 'caster' status for calculation.
* A little cleanup for `SC_GT_ENERGYGAIN`, `SC_GT_CHANGE`, & `SC_GT_REVITALIZE` which don't need `bl->id` as `val2`. Caster is `src`, target is `bl`. (Was assumed `val2` to get caster status? `if (src2 = map_id2bl(val2))` but `bl` was target on skill_castend_nodamage_id.

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-29 08:59:26 +07:00
Cydh Ramdh
49a0b55f60 Fixed map-server crashed by Crimson Marker. Thank @raynra
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-23 19:58:51 +07:00
aleos89
231710c0fa Bug Fixes
* Fixed #119 - Corrected Flash Combo weapon ATK and to cancel skill cast when target is more than 2 cells away.
* Fixed #148 - Corrected Kings Grace to only cast on guild members in versus type maps and added missing effects. Updated cooldown from 60 to 90 seconds.
* Fixed #341 - Offertorium and Magnificat now cancel each other out (Mimics Kyrie Eleison and Assumptio).
* Follow up to 5a0f8dc. Added missing monster transformation bonuses.
* Updated the Status Icon list with newer icons.
2015-03-18 15:12:02 -04:00
Cydh Ramdh
46f010cb28 Bug fixes:
* #331: Fixed Auto Shadow Spell always failed, 9d3d34205fdb424e4a9281c3e6a951a1f0cdbdc1 fault
* #340: Phantom Thrust can be used to pull a party member

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-16 23:08:43 +07:00
aleos89
5a9ffc489f Follow up to 9f6f55c.
* Fixed Dragon Breath skill type checks.
* Adjusted Camouflage to account for ground-based skills.
- Thanks to @reigneil.
2015-03-14 12:38:14 -04:00
Playtester
16d747af48 - Fixed trap HP and knock back (fixes #338)
* Talkie Box and all ranger traps no longer can be destroyed by HP damage
* Electric Shock can now be knocked back
2015-03-14 11:50:59 +01:00
aleos89
9f6f55c07c Bug Fixes
* Fixed #167 - Dragon Breath burning chance is now 15% for all levels. Also corrected damage calculation. Thanks to @exneval.
* Fixed #270 - Cleaned up Reverberation and how it's triggered.
* Fixed #321 - Follow up to 1b6be4e. Fixed MATK calculation for for all player, monster, homunculus, mercenary, etc.
* Fixed #332 - Camouflage now hides player from targeting skills. Added missing DEF/DEF2 bonus.
* Fixed #335 - Check to make sure script has data before trying to free null values.
* Fixed Full Throttle SP drain amount and movement speed increase value. Updated cooldown value to 30 minutes.
* Fixed Bloody Lust skill type from magic to none.
* Fixed Mix Cooking, Make Bomb, Special Pharmacy, Change Material, and Rune Mastery success and fail animations.
* Cleaned up some more compile warnings.
2015-03-13 17:49:38 -04:00
aleos89
1b6be4e0df Bug Fixes
* Fixed #145 - Corrected the duration of Frigg's Song ending too quickly.
* Fixed #202 - Added damage bonus for Rifle when using Piercing Shot (renewal).
* Fixed #257 - Adjusted get_status() in athena-start to return the correct string.
* Fixed #272 - Blood Lust not leeching HP from target.
* Fixed #298 - Corrected the renewal calculation of ATK and ASPD for Homunculus.
* Fixed #309 and #313 - Cleaned up warnings during compile.
* Fixed #321 - Monsters not calculating MATK at spawn (renewal).
* Added missing renewal calculations for Mercenary.
2015-03-11 10:10:05 -04:00
aleos89
cec6ed110f Fixes #296
Warg Strike can now trigger by Fist, Dagger, and Bow (no restrictions).
2015-02-24 21:32:01 -05:00
aleos89
d3625e5c10 Cleaned up merge issues. 2015-02-21 15:43:58 -05:00
Cydh Ramdh
36be5aa5b9 Homunculus intimacy check
* Moved out intimacy required to evo the homun to conf/battle/homunc.conf: 'homunculus_evo_intimacy_need'
* Moved out intimacy reset after evo the homun to conf/battle/homunc.conf: 'homunculus_evo_intimacy_reset'
* Follow up eca4fa0e38c060c0f9918d11899ee00d099a16f7, missed the '/100' for intimacy info.
* Corrected intimacy set after using skill 'HVAN_EXPLOSION' to 1 (100, Hate with passion) instead of 2 (200, is for HFLI_SBR44)
* Init 'hardcoded' homunculus intimacy grade tables for some lookups

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-02-16 00:32:41 +07:00
Cydh Ramdh
9d3d34205f Skill DB clean ups
* Changed skill_db array to better memory allocation.
* Reduced MAX_SKILL_LEVEL from 100 to 10 (part of Hercules 0f4a50d135), also has changes on skill_get checks for skill level that more than 10.
* Reduced MAX_SKILL from 5020 to 1200 (actually only 1109 skills are used).
* Added macros for checking Homunculus, Guild, Mercenary, & Elemental skill ranges.
* Added skill check & index validation when player logged in and when @reloadskilldb.
* Corrected `enum e_skill_flag` order for SKILL_FLAG_REPLACED_LV_0's sake.
* Merged 'addtoskill' script command just as alias of 'skill' script command.
* Fixed #277
* Changed 'skill' script command flag to constant value

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>

NOTE:
* Decreased memory usage by map-server reduced up to 50 MB.
* Decreased memory for each player because of mmo_charstatus::skill[] only has 1200 array, before is 5020.
* Please use skill_get_index() for accessing sd->status.skill[] or skill_db[], don't reckless use skill_id as array index.
* Please import upgrade_20150211_skillset.sql

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-02-12 15:50:50 +07:00
Lemongrass3110
d98c0dd4e3 Fixed duplicate pickup animation for thief's pick stone
Fixes #276
2015-02-10 23:17:21 +01:00
aleos89
083cf5d962 Bug Fixes
* Fixed Severe Rainstorm not being able to be copied by Reproduce. (bugreport:9361)
* Fixed #137 - Updated Homunculus S Race and Element values to official.
* Fixed #163 - Proper renewal calculations for Homunculus. Merge from HerculesWS/Hercules@8faef4f
* Fixed #254 - Corrected King's Grace cooldown to be 60 seconds.
* +20 Foods cannot be dispelled or removed by death.
2015-02-10 12:13:08 -05:00
Aleos
0e533fa7ab Revert "Skill DB clean ups" 2015-02-10 09:33:00 -05:00
Aleos
da081129d5 Merge pull request #264 from rathena/cleanup/skill_db
Skill array clean up
- Changed skill_db array to better memory allocation.
- Reduced MAX_SKILL_LEVEL from 100 to 10 (part of Hercules HerculesWS/Hercules@0f4a50d), also has changes on skill_get checks for skill levels greater than 10.
- Reduced MAX_SKILL from 5020 to 1200 (only 1109 skills are used).
- Added macros for checking Homunculus, Guild, Mercenary, and Elemental skill ranges.
- Added skill check and index validation when player logs in and on use of @reloadskilldb.
- Corrected enum e_skill_flag order for SKILL_FLAG_REPLACED_LV_0's sake.
- Merged 'addtoskill' script command just as alias of 'skill' script command.
Summary:
- Decreased memory usage by map-server up to 50 MB.
- Decreased memory for each player because of mmo_charstatus::skill[] array size from 5020 to 1200.
- Please use skill_get_index() for accessing sd->status.skill[] or skill_db[], don't recklessly use skill_id as array index.
NOTE:
- Please import upgrade_20150131_skillset.sql
2015-02-07 01:12:21 -05:00
Cydh Ramdh
72617ac98b Skill DB clean ups
* Changed skill_db array to better memory allocation.
* Reduced MAX_SKILL_LEVEL from 100 to 10 (part of Hercules 0f4a50d135), also has changes on skill_get checks for skill level that more than 10.
* Reduced MAX_SKILL from 5020 to 1200 (actually only 1109 skills are used).
* Added macros for checking Homunculus, Guild, Mercenary, & Elemental skill ranges.
* Added skill check & index validation when player logged in and when @reloadskilldb.
* Corrected `enum e_skill_flag` order for SKILL_FLAG_REPLACED_LV_0's sake.
* Merged 'addtoskill' script command just as alias of 'skill' script command.

Summary:
* Decreased memory usage by map-server reduced up to 50 MB.
* Decreased memory for each player because of mmo_charstatus::skill[] only has 1200 array, before is 5020.
* Please use skill_get_index() for accessing sd->status.skill[] or skill_db[], don't reckless use skill_id as array index.

NOTE:
* Please import upgrade_20150131_skillset.sql

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-31 19:45:52 +07:00
aleos89
73243e8e9d Fixed #138 - Updated trap visibility to official settings. 2015-01-23 14:39:13 -05:00
RagnarokNova
198d230f2b Update skill.c
Follow-up according to Cydh's comment.
2015-01-23 02:30:53 -08:00
RagnarokNova
e2ae91db0e Made Light of Regene work.
Straight up copied the code from Pyroclastic, as the original skill code for Light of Regen was not applying the status effect to the player. Seems to work just fine, not sure if that second sc_start2 can just be deleted.
2015-01-23 00:33:15 -08:00
RagnarokNova
1cf2dd59c5 Light of Regene
Due to the way the source handles hom intimacy, 251 actually sets intimacy to 2 (Hate with a passion). The two extra 0s make it the appropriate value.
2015-01-23 00:20:36 -08:00
Cydh Ramdh
b47dc0f054 Item DB updates
* Implemented ALL_REVERSEORCISH as follow up 01ae1ae6126dc8aa91f967eea7d145e10dfb29e3.
* Clean up `rand()` script usage in Fools_Day_Box (12396) and Fools_Day_Box2 (12397).

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-18 20:57:42 +07:00
Cydh Ramdh
73bd593055 Fixed #219
* Manhole effect (SC__MANHOLE & UNT_MANHOLE) is ignore player's knockback immunity at GVG/BG maps (only if target is BL_PC).

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-16 20:38:26 +07:00
aleos89
4860a7c7c4 Merge pull request #191 from rathena/cleanup/petdb
* Separated pet_db for Renewal & Pre-Renewal to avoid non-existant monster in different mode.
* Cleaned script command in pet_db.txt file, just point it to doc/script_commands.txt. Read them there!
* Separated damage value for petskillattack2 to its own var 'damage', that previously use 'lv' var to store the value.
* Added config 'pet_ignore_infinite_def' in conf/battle/pet.conf,
- If disabled (val:"no"), fixed damage from pet script 'petskillattack2' will be adjusted to 1. Example, just like player attacks Shining Plant.
- Enabled by default. Previously, fixed damage ignore the infinite defense, that's why it's enabled by default.
- TODO: Correcting the logic and maybe also confirm the correct behavior!
* Added validation for pet script commands,
- Skill for petskillattack, petskillattack2, & petskillsupport
- SC range for petrecovery.
* Cleaned up some source documentation.
2015-01-13 12:43:07 -05:00
Cydh Ramdh
e76d92f538 Fixed #220
* SC_FIGHTINGSPIRIT gives no effect for RK_FIGHTINGSPIRIT level < 10
* Fixed RK_FIGHTINGSPIRIT gives no effect if level < 5
* Little optimization on RK_FIGHTINGSPIRIT codes

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-13 12:35:44 +07:00
Lemongrass3110
c222a1ccea Added skill_id to error messages in skill_unit_move_sub 2015-01-12 22:00:22 +01:00
Cydh Ramdh
f5ddcc55f8 Follow up 72cb55470b160b4a8aae8d64462ac29ab1e44d04
* Added/correcting some #ifdef ADJUST_SKILL_DAMAGE checks

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-07 15:23:21 +07:00
Cydh Ramdh
62bdc99f05 A little cleanup for Pet DB
* Separated pet_db for Renewal & Pre-Renewal to avoid non-existant monster in different mode.
* Cleaned script command in pet_db.txt file, just point it to doc/script_commands.txt. Read them there!
* Separated damage value for petskillattack2 to its own var 'damage', that previously use 'lv' var to store the value.
* Added config 'pet_ignore_infinite_def' in conf/battle/pet.conf,
  * If disabled (val:"no"), fixed damage from pet script 'petskillattack2' will be adjusted to 1. Example, just like player attacks Shining Plant.
  * Enabled by default. Previously, fixed damage ignore the infinite defense, that's why it's enabled by default.
  * TODO: Correcting the logic and maybe also confirm the correct behavior!
* Added validation for pet script commands,
  * Skill for petskillattack, petskillattack2, & petskillsupport
  * SC range for petrecovery.
* Cleaned up some source documentation.

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-12-31 23:38:57 +07:00
Cydh Ramdh
72cb55470b A little clean for Skill Damage Adjustment
* re-Disabled the ADJUST_SKILL_DAMAGE by default (core.h) that enabled by accident since 794c1a8. :P
* Removed MAX_MAP_SKILL_MODIFIER variable.
* Removed fixed array for skill damage adjustment in each map.

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-12-31 23:34:01 +07:00
lighta
8066bdef46 Data alignement
Align account_id and char_id to uint32 as this is the value they can be
in DB.
Remove src/test folder, unused
Remove useless #include to speedup compilation.
2014-12-19 21:31:04 -05:00
Cydh Ramdh
d3704d50dd Merge pull request #136 from rathena/cleanup/renewal_cast
Clean up something RENEWAL_CAST
* Moved additive bonuses (reducing/increasing) to first calculation before the rate adjustment
* Corrected `bonus(2) bFixedCastrate` shouldn't be stacked. Example between Puente_Robe (15012) is -3% and +10 Rafini_Staff (1649) is -10%, only -10% will be used not -13%.
* Reversed some value assignment, `-=` to `+=` and other part that affected by this change.
* Also as follow up c3e488e & 4f4d8fe, fixed `bonus2 bFixedCastrate,"sk",rate;` algorithm
* Corrected `bFixedCastrate` for Krieger_Knuckle2 (1827) only for skill `MO_EXTREMITYFIST`
* Moved default the 20% of fixed cast rate to conf/battle/skill.conf `default_fixed_castrate`
2014-12-08 13:04:26 +07:00