8070 Commits

Author SHA1 Message Date
Cydh Ramdh
d8da4dd2dc Follow up 9b87ca2b7cd826b42d9a1753da055e2c9e7adf33, added mob_random_db.txt in db/import-tmpl
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-30 05:10:04 +07:00
icxbb-xx
a6118425d9 Another follow up 3d9c6e7
*Fixed #489, Added 'missing' packets for 2014-10-22
2015-06-28 22:45:23 +07:00
Cydh Ramdh
9b87ca2b7c Clean up Monster Random List
* Now using db/[pre-]re/mob_random_db.txt as main file.
* Removed hardcoded limit for random monster group.
* Introduce contants for monster random group, MOBG_*. Usage in `monster` script can be '-1-MOBG_ID' to determines 'summon monster from random summon list'.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-27 13:11:49 +07:00
icxbb-xx
58c2b773a2 Follow up to bd1b07285b
* small fixed in variable
2015-06-27 10:55:38 +07:00
aleos89
35cd68873b Merged with master 2015-06-26 10:36:40 -04:00
icxbb-xx
bd1b07285b Follow up to 0dc5aa4
* Fixed small bug display messages in chat color for client 2014-10-22
2015-06-26 09:15:37 +07:00
icxbb-xx
0dc5aa4c3c Bug Fixes:
* Fixed #484,Client Crashing 2014-10-22
2015-06-25 14:19:44 +07:00
Cydh Ramdh
25dbd6eba4 Bug Fixes:
* Fixed #439, Sightrasher doesn't check target's status. Thank @reigneil.
* Fixed #476, Genetic Change Material ignored the created item if stackable or not. Thank @juanfus.
* Fixed compile warnings, unused `num` in getunitdata().
* Fixed wrong return value in BUILDIN_FUNC(questinfo).

Item Updates:
* Added items: C_Flying_Ljosalfar (20099), Protect_Feathers (19024), Sograt_Lucky_Scroll (17598).
* Corrected view_id for C_Coiledup_Snake (20110).
* Follow up 3f549cafb5570a67c046c5078cddbe3a95b772dc, wrong bonuses and revert 18575. Thank @zackdreaver.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-24 22:12:45 +07:00
Cydh Ramdh
44f5925cbf Another follow up 3d9c6e7763c3d257593ba159a18dffc435b5ff06
* Player's Roulette variables aren't saved.
* Fixed client crash because of wrong packets sent by Roulette.
* Changed item
* Added a little check on `char` table for PACKETVER >= 20141016.
* Thank @aleos89, @icxbb-xx

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-24 01:12:32 +07:00
cristian gonzalez
bae01b5c42 Waiting room utils:
* waitingroomkick "<NPC object name>" , "<character name>"; Kicks one player, there was just a method for several players
    * getwaitingroomusers "<NPC object name>"; get the mumber of players inside a waitingroom and the rids.
2015-06-23 02:23:03 +02:00
aleos89
dd3a7dfa19 Follow up to 9fd34b2
* Small preprocessor typo.
2015-06-22 15:09:14 -04:00
aleos89
9fd34b2439 Bug Fixes
* Fixes #475 - Added missing Roulette packet lengths.
* Fixed a few issues with character gender changes for 20141016 and up. Thanks to @cydh's eagle eyes!
* Fixed a small typo in 'upgrade_20150619_log.sql'.
* Removed an unused variable.
2015-06-22 15:05:18 -04:00
Cydh Ramdh
e6d5b09b06 Follow up 3d9c6e7763c3d257593ba159a18dffc435b5ff06
* Added 'missing' packets for 2015-10-22 (51).
* Packet keys for packet_ver 50 and 51.
* Fixed memleak from Roulette items.
* Corrected date2version cases.
* Doc update, packet_interserv.txt.

Fixed wrong constant value for bSubSkill and bSubDefEle

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-20 11:59:29 +07:00
aleos89
44d8bd81f5 Follow up to 3d9c6e7
* Changed an argument requirement for clif_colormes().
2015-06-19 20:36:49 -04:00
aleos89
2400262178 Follow up to b6212a6
* Fixed an issue with loading Roulette items into memory.
* Resolves compile warnings.
2015-06-19 19:31:27 -04:00
aleos89
9a78bbdb29 Compile Warning Cleanup
* Fixes a few issues from 3d9c6e7 and b6212a6.
* Cleaned up some miscellaneous warnings.
2015-06-19 15:08:53 -04:00
aleos89
3d9c6e7763 2014 Client Support
* Implemented the Roulette Game feature.
* Implemented per-character sex change feature.
* More info: https://rathena.org/board/topic/102247-2014-client-support/
- Special thanks to HerculesWS/Hercules@239d480 for the base.
2015-06-19 14:07:34 -04:00
Cydh Ramdh
c1c85ad2e8 Fixed #455, added check in clif.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-19 11:27:05 +07:00
aleos89
583d079b0f Damage Macro Cleanup
* Removed DAMAGE_RATE(), DAMAGE_SUBRATE(), and DAMAGE_ADDRATE() macros.
* Adjusted ATK_RATE*(), ATK_ADDRATE*(), ATK_ADD*(), RE_ALLATK*() macros so we don't produce over complicated ternary operations.
* Adjusted formulas to properly take into account the 'ratio' aspect.
* Cleaned up a few incorrect damage formulas.
* Cleaned up some type casting.
* Implemented renewal effects for Magical Bullet.
2015-06-18 14:01:34 -04:00
Cydh Ramdh
6ad4ed13d1 * Added script command showscript "<message>"{,<GID>}; by using clif_showscript.
* Removed hardcoded message that displayed clif_showscript for `transform` script, replaced its usage for item script by using `showscript`.
* Changed unittalk usage on `F_Cat_Hard_Biscuit` and `F_Rice_Weevil_Bug` function in quests_malangdo.txt.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-19 00:37:48 +07:00
Cydh Ramdh
3f549cafb5 * Revert some changes on 549f491fe6a0f879b5d4b647cac8307b8123e181
* Item bonus correction, ambiguous of 'HP/SP Gain' implementation.
  * Since no implementation for 'drain HP/SP from target', the bonus was removed but makes 'HP/SP Drain' bonuses act like 'drain HP/SP from target' that was totally wrong.
  * This also fixed #471, @AbuGosok
  * Removed HP/SP Gain bonuses that should be use HP/SP Drain:
    * `bonus bHPGainAttack,n;` is same as `bonus bHPDrainValue,n;`.
    * `bonus bSPGainAttack,n;` is same as `bonus bSPDrainValue,n;`.
    * `bonus2 bHPGainAttackRate,x,n;` is same as `bonus2 bHPDrainRate,x,n;`.
    * `bonus2 bSPGainAttackRate,x,n;` is same as `bonus2 bSPDrainRate,x,n;`.
    * `bonus2 bHPGainRaceAttack,r,n;` is same as `bonus2 bHPDrainValueRace,r,n;`.
    * `bonus2 bSPGainRaceAttack,r,n;` is same as `bonus2 bSPDrainValueRace,r,n;`.
    * `bonus2 bHPGainRaceAttackRate,r,n;` is same as `bonus2 bSPDrainValueRace,r,n;`.
    * `bonus2 bSPGainRaceAttackRate,r,n;` is same as `bonus2 bSPDrainValueRace,r,n;`.
    * `bonus bHPGainAttackRate,n;` none.
    * `bonus bSPGainAttackRate,n;` none.
* Fixed #454, thank @jeanroyce
* Item update & correction script from Aegis
  * Wunderkammer renamed to YinYang_Earring (18575).
  * Updated scripts for 7676, 18593, 18595, 18597, 18600, 18601, 18630, 18631, 18636, 18637, 18650, 18650, 18652, 18656, 18659, 18671, 20700, 20724, 28315, 28316, 28317, 28318.
  * Updated script for RCC2013 Combos 28315:28317 and 28316:28318.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-18 19:26:05 +07:00
Cydh Ramdh
1ea4655140 Bug Fixes:
* Fixed #433, fixed SR_TIGERCANNON splash damage.
* Fixed #458, fixed SR_TIGERCANNON behavior as auto-cast by SR_FLASHCOMBO. SR_TIGERCANNON consumes no HP/SP anymore, deal damage WITHOUT the SR_FALLENEMPIRE combo bonus.

Thank @aleos89, @jeanroyce, @SuezoSilver, @firecroll

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-18 01:10:51 +07:00
Cydh Ramdh
b71ed05857 Bug Fixes
* Now coma triggered on every attack types (bugreport:3100)
  * Added bonuses `bonus2 bComaRace,r,n;` and `bonus2 bComaClass,c,n;`, replacing the current usages of `bWeaponComaRace` and `bWeaponComaClass`.
  * This bonus has no effect for GVG and BG monsters.
* Fixed Shockwave Trap (HT_SHOCKWAVE) SP reduction, should be % of MaxSP not % of 'current' SP.
* Fixed #462, failure in `setunitdata` for NPC. Thank a91323, @julia40124009
* Fixed #470, changed SO_ARRULLO target to BL_CHAR.
* Added skill flag INF2_HIT_TRAP (0x40000) to removed hardcoded 'skill that can hit traps'.
  * NOTE: Client-side's factor also determines that skill can be targeted to trap-type skill or not.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-06-17 00:33:08 +07:00
aleos89
9f3fa0d757 Spirit Charm Update
* Fixes #464
* Cleaned up and optimized the Spirit Charm system for Kagerou/Orobo.
* Updated effects to mimic official server.
2015-06-16 08:55:11 -04:00
aleos89
12dfbc289d Follow up to 0696125
* Removed an unused function.
2015-06-11 13:27:23 -04:00
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