Created the respective enum on source side and changed the script doc to only refer to the constants not the direct values.
Additionally adjusted the sample script.
* Moved all item effects to source.
* Updated HP/SP Increase Potions to use the official statuses.
* Updated Vellum Flail to use the official status instead of Critical Wound.
Thanks to @exneval.
-> All Credit to Kisuka for this big work.
Added news commands to alter questinfo conditions :
- setquestinfo_level : Add level range criteria for quest info with quest id 'quest_id'.
- setquestinfo_req : Add quest requirement for quest info with quest id 'quest_id'.
-> Player have / doesn't have the required quest.
- setquestinfo_job : To add additionnal job criteria.
-> Credit to Cydh !
* Follow up to 2cee5b6.
* Fixes#516 - Base stats (STR, AGI, etc) will now stick after the unit's statuses are recalculated.
* Statuses are directly modifiable now (ATK, DEF, etc)
* Created constant values so it's a lot easier to read.
* Updated script command documentation to reflect changes.
* Made changes to bonus3 bAddEff, bonus4 bAddEff, bonus3 bAddEffWhenHit, bonus4 bAddEffOnSkill as well
Signed-off-by: nanakiwurtz <nanakiwurtz240@gmail.com>
Changed y to atf to avoid confusion on 'bonus4 bAddEffWhenHit' & 'bonus5 bAddEffOnSkill' (Thanks to @joelolopez)
Signed-off-by: nanakiwurtz <nanakiwurtz240@gmail.com>
* Added type for `gethominfo`, `getpetinfo`, and `getmercinfo` to return GID.
* Added `geteleminfo`, to retrieve Elemental ID and GID. The otherinfo can be gained from `getunitdata`
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Removed `0x2715` and `logchrif_parse_updmail`, not being used that was duplicated by `logchrif_parse_reqchangemail` (`0x2722`).
* Changed packet header `0x2736` to `0x2b13` of `chrif_update_ip` from map-server to char-server. That was ambiguous with `0x2736` of `logchrif_parse_updcharip` that being used by char-server to login-server.
* Changed packet header `0x3804` to `0x2726`, the one that being used to send back global account reg from login-server to char-server. That was ambiguous with `0x3804` that being used by char-server (was inter actually) to map-server.
* Some indent clean up as result from char & login server refactor.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Eff_Crystalize on Sropho_Card (4522) has defined duration.
* Bonus added:
* `bonus4 bAddEff,eff,n,y,t;`
* Adds a n/100% chance to cause status eff for t milliseconds on the target when attacking
* Just like `bonus3 bAddEff,eff,n,y;` but with user-defined duration;
* `bonus4 bAddEffWhenHit,eff,n,y,t;`
* Adds a n/100% chance to cause status eff for t milliseconds on the target when being hit by physical damage
* Just like `bonus3 bAddEffWhenHit,eff,n,y;` but with user-defined duration;
* bonus5 bAddEffOnSkill,sk,eff,n,y,t;
* Adds a n/100% chance to cause status eff for t milliseconds on the target when using skill sk
* Just like `bonus4 bAddEffOnSkill,sk,eff,n,y;` but with user-defined duration;
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Added array variable option in 3rd param of `getguildmember` and `getpartymember`, so the script will returns the result in reserved array instead using temporary global variable.
* Also, the script returns the member found directly.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Fixes#447 - Added script command 'unitblockmove' to be used with OnTouch and Unit Commands.
* Fixes#448 - Leech End will no longer get a player stuck in stand/sit modes.
* Fixes#503 - Added script command 'ignoretimeout' which disables the SECURE_NPCTIMEOUT of a specific script.
* Fixes#521 - Pre-renewal Shield Chain should always be Neutral damage.
* Fixes#532 - Fixed an issue with the 'item_check' config not saving the unique ID when enabled.
* Fixes#537 - Arms Cannon is now a single unit target skill.
* Fixes#541 - Cleaned up Ignition Break damage formula.
* Fixes#543 and Fixes#552 - Cleaned up Reverberation to match official. Now splits damage among targets.
* Fixes#546 - Updated Randomize Spell to the latest official skill list and rates.
* Fixes#547 - Escape is now a self skill and can use normal Traps if no Alloy Traps are available.
* Fixes#551 - Great Echo and Sound of Destruction can now blocked by Pneuma.
* Fixes#556 - Adjusted Arrullo, Deep Sleep Lullaby, Netherworld, and Voice of Siren duration formulas to properly account base/job levels.
* Fixes#561 - Pre-renewal Tiger Cannon now properly removes HP when casting skill.
* Fixes#576 - Shield Spell, Exceed Break, Overbrand, Moon Slasher, Piety, Earth Drive, and Hesperuslit no longer have fixed cast time.
* Cleaned up Shadow Formation SP Drain formula to be 11-skill_lv per second.
* Sound of Destruction is now a placement skill type.
* Updated variable cast time for Windmill Rush from 2 seconds to 1 second.
* Added flag &16 to add manually special item that will be broadcasted if: Dropped by monster -> player pick it up. Added items with this flag:
* Gold_Key77 (7782)
* Silver_Key77 (7783)
* Be used also to broadcast item in package/group with flag 'isAnnounced', replaced intif_broadcast().
* The message is using msgstringtable.txt on client side, make sure your translation is not messy.
* Credits:
* fcba8a2161
* 2761bb0af9
* Misc updates: Fixed job and class for items:
* Sealed_Gloom_Under_Night_Gachapon (14696)
* Sealed_General_Egnigem_Cenia_Scroll (14739)
* Sealed_Vesper_Scroll (14740)
* Midgard_Celebration_Lucky_Egg (14741)
* Hero_Midgard_Egg (14753)
* Safe_To_Smelting_Scroll (14758)
* Limited_Edition_JOB_Battle_Manual (14765)
* Rise_Midgard_Lucky_Egg (17494)
* Lucky_Silvervine_Fruit_Box_III10 (17495)
* Lucky_Silvervine_Fruit_Box_III110 (17496)
* Epic_Heroes_Scroll (17519)
* Majestic_Lucky_Egg (17526)
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Removed `ENABLE_ITEM_GUID` from src/config/core.h, after long time introduction it's worth to be enabled by default. Just remove all items with GUID flag if want to remove it generates GUID .
* Implemented client interface to merge the items. Packet struct credits: 856b6f1feb
* Edited `mergeitem` script command to use the interface, moved the 'old' `mergeitem` to `mergeitem2`.
* Fixed the behavior to add GUID'd item to inventory in Cash Shop.
* Updated item_flag.txt for listing `IT_CASH` items (item type 18).
* NOTE: `IT_CASH` items which defined in item_flag.txt with flag `4`, cannot be merged.
* NOTE: Please check the packets for older clients. Tested work on 2012-04-10, 2013-08-07 and 2014-10-22.
* NOTE: Please import 'upgrade_20150804.sql' for MySQL Log Database.
* Removed duplicate clif functions:
* `clif_msgtable()` -> `clif_msg()`
* `clif_msgtable_num()` -> `clif_msg_value()`
* Item DB Updates:
* Indonesia_Box2 (17079) should gives 5x Wing_Of_Butterfly (602).
* Changed some item types to 18.
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.
* 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>