* 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>
* 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>
* 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.
* 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.
* 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.
* 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>
* 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>
* 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>
* 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.
* 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>
* 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.
* 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>
* 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>
* 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>
* 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>
* 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>
* `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>
* 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.
* 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.
- 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
* 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>