9795 Commits

Author SHA1 Message Date
aleos89
0696125b82 Script Engine Upgrade
* Upgraded the script engine variables to no longer be limited.
* Increased array limit from 127 to 2 billion.
* Improvement in overall speed and storage size.
* All variable types now support arrays.
- Merge from HerculesWS/Hercules@82b583b. Thanks to those who worked on it.
2015-06-11 10:44:13 -04:00
Cydh Ramdh
5a4cd7426e Bug Fixes:
* Fixed #445, fixed Health Conversion cast time & cooldown.
* Fixed #404:
  * Added new item bonus `bonus2 bSubDefEle,e,x;` to reduce x% damage received from monster with element e.
  * Fixed item script for item 4442 until 4449.
  * Added config `subdef_ele` in conf/battle/items.conf to change bSubDefEle behavior.
* Follow up 111eb0c1c1a048219cb7c908cf8be0b0a24afdde, added state requirement for skill 'elementalspirit2' for skill that need summoned Elemental Spirit and removes it.
* Fixed monster that `is_infinite_defense` ignored Safety Wall && Pneuma effect.
  * Also fixed bugreport:6741.
  * But the effects are still ignored for Emperium when WOE time, and BG monsters in BG Arena (like previous).
* Item Updates:
  * Transformation chance to becomes Atroce as combo of Fidelity_Necklace (2959) and Black_Shiba_Inu_Hat (18756).
  * Transformation chance to becomes Eddga as bonus of King_Tiger_Doll_Hat (5497) and W_King_Tiger_Doll_Hat (18856).
  * Cooldown reduction for skill WL_RECOGNIZEDSPELL in Naqsh (2904).
  * Fixed bonus damage for WS_CARTTERMINATION as combo of Gigant_Helm (19021) and Giant_Axe (1387).
  * Changed `bonus3 bSPDrainRate` to `bonus2 bSPGainAttackRate` and `bonus3 bHPDrainRate` to `bonus2 bHPGainAttackRate` in db/re/pet_db.txt.
* Corrected calculation in `battle_calc_cardfix` for BF_MISC, it's should be `if( cardfix != 1000 )`!.
* Source documentation updates for `battle_calc_cardfix`.
* Typo at MOBID_GUARIDAN1 and MOBID_GUARIDAN2.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-10 12:03:52 +07:00
aleos89
6aa16a766c Follow up to 730311e
* Fixed some compile warnings.
2015-06-09 12:56:07 -04:00
aleos89
730311e009 Script Command Adjustments and Additions
* Fixes #158 - Implemented 'getvar' script command to avoid blindly attaching players and messing up their NPC progress.
* Fixes #449 - Fixed 'unitskilluseid' and 'unitskillusepos' not casting skills that require stat info when the NPC's status wasn't loaded.
* Implemented 'getunittype' script command to return the object type of the given GID.
* Adjusted 'unitwalk' to support an Event Label which is executed when the object reaches the target.
* Added 'unitwalkto' when giving a target GID rather than coordinates. Also supports Event Labels.
- Thanks to @cydh.
2015-06-09 11:10:05 -04:00
Cydh Ramdh
6a5dd45fde * Follow up 111eb0c1, fixed Elemental Shield doesn't work for self if not in party. Thank @RagnarokNova.
* Follow up 2b870c24, 'missing' rate explanation for status_percent_change.
* Follow up 2ef7a7da, revert documentation rate for bHPVanishRate and bSPVanishRate

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-09 07:07:04 +07:00
Cydh Ramdh
bf09a66548 Fixed #452
* Not only for Gate of Hell, other skill that has negative 'Number of hits' with VVVS, the damage will be reduced.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-09 00:23:33 +07:00
Cydh Ramdh
111eb0c1c1 Follow up 2a04748b, a little clean up by respecting party_foreachsamemap.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-08 23:14:17 +07:00
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
11f42f27ab Fixed #453
* Added check if cash shop has item on the list or not.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-08 21:26:30 +07: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
Cydh Ramdh
9d389f4de4 * Item Updates:
* Added items from idRO. Was compared until last idRO patch on June 3rd.
* Follow up 549f491fe6a0f879b5d4b647cac8307b8123e181
  * Type on subskill's array check

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-07 22:35:17 +07:00
Cydh Ramdh
549f491fe6 Item Bonus Updates
* Added `bonus2 bSubSkill,sk,n;` -> Reduces n% damage received from skill sk.
* Added `bonus bHPGainAttack,n;` -> Heals +n HP with a normal attack.
* Added `bonus bSPGainAttack,n;` -> Heals +n SP with a normal attack.
* Added `bonus bHPGainAttackRate,n;` -> Heals +n% HP of inflicted damage on every hit when attacking an enemy.
* Added `bonus bSPGainAttackRate,n;` -> Heals +n% SP of inflicted damage on every hit when attacking an enemy.
* Added `bonus2 bHPGainAttackRate,n,x;` -> Has chance x/10% to heals +n% HP of inflicted damage on every hit when attacking an enemy.
* Added `bonus2 bSPGainAttackRate,n,x;` -> Has chance x/10% to heals +n% SP of inflicted damage on every hit when attacking an enemy.
* Replaced `bonus2 bHPDrainValue,n,x;` for x = 0 to `bonus bHPGainAttack,n;`. Since x = 1 is same as `bonus bHPDrainValue,n;` and if there are items with bonus with 'x' is different, the value will be sum'd but the type switched.
* Replaced `bonus2 bSPDrainValue,n,x;` for x = 0 to `bonus bSPGainAttack,n;`. Since x = 1 is same as `bonus bSPDrainValue,n;` and if there are items with bonus with 'x' is different, the value will be sum'd but the type switched.
* Replaced `bonus3 bSPDrainRate,n,x,y;` for y = 0 to `bonus2 bSPGainAttackRate,n,x;`. Since y = 1 is same as `bonus2 bSPDrainRate,x,n;` and if there are items with bonus with 'x' is different, the value will be sum'd but the type switched.
* Updated the documentations.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-07 19:00:24 +07:00
Cydh Ramdh
b174e295b6 Follow up 5ed75dc8771da8c6fca649b2b8d9ae44a6541569
* Forgot the check for permanent char variable.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-04 21:37:46 +07:00
Cydh Ramdh
14c86b54d0 Follow up 4af314500ee1716fab12a25983720e2a2bd52b35
* Added `LIMIT 1`, because those only for checking
* Added `Sql_FreeResult()` for the last query

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-04 19:30:40 +07:00
Cydh Ramdh
6779058f77 Added new item bonuses:
* `bonus2 bHPGainRaceAttackRate,r,n;`: Heals +n% HP of inflicted damage on every hit when attacking an enemy of race r
* `bonus2 bSPGainRaceAttackRate,r,n;`: Heals +n% SP of inflicted damage on every hit when attacking an enemy of race r
* `bonus bAbsorbDmgMaxHP,n;`: If the damage received is more than n% of Max HP, the damage received is [TotalDamage] - [n% of MaxHP]
* Thank @nanakiwurtz.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-04 14:56:44 +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
be3376f470 Fixed some addtional cppcheck warnings
int8 is not readable with scanf though
2015-05-13 14:48:37 -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
7f4628f242 Follow up 82d43fe8947db531b28c9bd08def06ff241780f2, removed unused flags.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-05-01 19:45:21 +07: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
Playtester
77cd4df358 Novice HP/SP (fixes #402)
- There will no longer be warnings in the log if HP/SP decreases from level 99 to 100 as this happens officially
- At level 99 only Super Novice will now get +2000 HP in both pre-renewal and renewal
- At level 150 all Novice classes get +2000 HP
2015-04-30 18:55:00 +02:00
Cydh Ramdh
e2af581d1a * Follow up b7431efa03cd6d735956320f20582df120ba3952
* Separated HP table between Novices & Super Novices, since the hardcoded HP bonus for Super Novice (+2000) was disabled when `HP_SP_TABLES` is enabled. The bonuses are written in job_basehpsp_db.txt.
  * Highly assumed there was typo for Gunslinger/Rebellion HP at level 95 (3834). If refer to Star Galaditor tables, those both use same HP values (even see their HP Factor & Multiplicator are some, no chance result different only one value in the middle of the table).
  * Changed warning message to info if the previous HP/SP is higher and the next level.
* Follow up f19e2dc6c7497c530bb48f0898d50d611e59bd0f, changed `rand()` to `rnd()` (follow up 27ba6c5002d8fac002d7aa8ff309abc5f352ee9f)

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-21 10:18:01 +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
Playtester
b7431efa03 Official HP/SP values (fixes #358)
- Updated the HP/SP tables to be 100% official for level 1 to 150
  * The only differences between pre-renewal and renewal are for HP of Novice, Ninja and Gunslinger
  * Level 151 to 500 is now an auto-calculated continuation of the progress from level 99 to 150 (not normal for all classes)
- HP/SP tables will now be used by default
- The code variation does not perfectly work for all classes, but I tried to get it to work as far as possible
  * This includes an even better estimation for Ninja/Gunslinger HP/SP which now also works for renewal
  * This also includes fixing the SP values of the 3-2 classes in renewal
  * But I really recommend to just use the HP/SP tables for exact values

Special thanks to MrAntares.
2015-04-18 23:46:26 +02: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
Cydh Ramdh
9b1c138af0 Fixed #397 as follow up 823bc539. Thank @LyndisRain
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-16 15:44:43 +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
177ea6c779 Follow ups & fix
* Follow up df2f850c, correcting `class_idx` usage that should be compared with `enum e_job` in `pc_calc_basesp` and also in `pc_calc_basehp`
* Follow up 308c4779, fixed typo fix
* Makes `instance_id()` doesn't show debug message when it return 0 for instance id

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-15 20:03:06 +07:00
Capuche
308c4779c8 Updated ACTIVEPATHSEARCH
- Changed "ACTIVEPATHSEARCH" to only work with real walls and not walls you can shoot through
* Seems the position lag for which I have implemented this no longer occurs on my client (was something changed?)
* Previous implementation prevented monsters from attacking you through shootable walls
* Special thanks to Michi for notifying me about this issue

Credit @Playtester
2015-04-15 13:02:20 +02:00
Playtester
df2f850c74 Fixed max HP/SP of extended classes in pre-re
- Fixed max HP/SP of extended classes being way too low in pre-renewal (related to #358)
* It's impossible to make it 100% accurate without tables, but I made it as accurate as possible for now
* More updates to max HP/SP will follow when I have time
2015-04-14 22:15:56 +02:00
Cydh Ramdh
4169defd93 Merge pull request #386 from RagnarokNova/patch-6
Fixed SC_ALL_RIDING for Rangers
2015-04-14 09:03:38 +07:00
Cydh Ramdh
3104dcef5e Follow up 4a1bd2a3, missing max_sp for SC_MEIKYOUSISUI. Thank @raynra
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-14 05:52:52 +07: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
be02e81228 * Follow up 5ed75dc8, disabled val2 on chmapif_parse_fwlog_changestatus
* Clean up MSVS vcxproj files. Added new filter for `config` files and moving the files to their filter.

[ci skip]
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-10 01:25:22 +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
5ed75dc877 * Merge pull request #294 and its clean up
* Moved Bank Vault from `login` table (login-server level) to `global_reg_value` as #BANKVAULT (char-server level)
  * IMPORTANT: Read & import upgrade_20150408.sql
* Follow up cbdc0127, another fix for Point Shop NPC.
* Follow up 022d7289, corrected picklog initial for bound items that removed when member of guild/party or guild/party is broken. Please import upgrade_20150408_log.sql

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-09 01:26:17 +07:00
Nova
cb43e7dd10 Fixed SC_ALL_RIDING for Rangers
Due to this being OPTION_WUG before, Rangers who had a Warg but weren't riding it were unable to use Reins of Mount, but once you got on your Warg you were able to get on your mount while on a Warg.
2015-04-07 15:42:29 -07:00
Cydh Ramdh
1c3c4955cb Follow up 823bc5397ba2fd96d042f53b37c7a6d78157e723, thank @cawogeek
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-06 10:48:43 +07:00
Cydh Ramdh
4a1bd2a3ed Fixed #380, wrong HP & SP recovery bonus for Pure Soul effect (SC_MEIKYOUSISUI)
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-05 20:03:49 +07:00
Cydh Ramdh
823bc5397b Merge pull request #339 from 'cydh/feature/script_command_rid' 2015-04-03 19:08:44 +07:00
Cydh Ramdh
ef5fe8e4f1 Added optional param for 'char_id' in some script commands
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-04-03 17:27:15 +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
1ab08b8f10 Another follow up 5f21afb2555d73bba219fd9fdb1d117c0e1950b1 (again)
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-04-02 15:54:51 +07:00
Cydh Ramdh
0f137f3c67 Added command 'getattachedrid()' as discussion result with @aleos89
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-04-01 22:37:14 +07:00