8070 Commits

Author SHA1 Message Date
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
Cydh Ramdh
30940dc54f Fixed #365, pc_checkskill fail, another blame for 20695d629a59310a9e6a04c2234bbf4870609d90
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-04-01 21:18:00 +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
ee24f5c321 * Follow up 9d247d88c1f8a5d04a386ac6891726724ee226f9
* Typo

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-30 22:59:19 +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
3028c871e3 Added monster config as https://rathena.org/board/topic/101136-toggle-for-loot-search-type-closest-vs-random/
* `monster_loot_search_type` default is `1` for official behavior in e6caa95, and `0` for old Athena style -closest- item.

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-30 12:54:09 +07:00
Cydh Ramdh
f41a63fd0c Changed macro & script_*2sd logic
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-30 12:50:25 +07:00
Cydh Ramdh
cbdc01271d NPC Shop fixes:
* Follow up 40c63f40: Fixed #368, warning fixes
* Fixed `pointshop` failed to get temporary player's variable (`@`) as currency.

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-29 20:55:12 +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
35e9c2b55c Temporary fix #321, reuse old matk calculation for monster until db/re/mob_db.txt is updated.
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-28 12:05:21 +07:00
Cydh Ramdh
7d929a06a3 NPC Market Shop support
* New shop script definition: `<map name>,<x>,<y>,<facing>%TAB%marketshop%TAB%<NPC Name>%TAB%<sprite id>,<itemid>:<price>:<quantity>{,<itemid>:<price>:<quantity>...}`
* Added script command to update shop NPC: 'npcshopupdate "<name>",<itemid>,<price>{,<stock>}'
* Added NPCMarketDB (DBMap) for market data persistance method.
* Added `market_table` definition for market table in conf/inter_athena.conf.
* Thank to @aleos89, @Lemongrass, @icxbb-xx, merged HerculesWS/Hercules@cf19b26.

NOTES:
* Minimum client needed 2013-12-23 (but this client has bugs there-and-there).
* There's new table, see `upgrade_20150327.sql`.
* Market shop doesn't support discount.
* Added items by script `npcshopitem` or `npchopadditem` will be assumed as persistance items, will be loaded on next script reload or server start even market_shop NPC does't list them (unless NPC is not exists, entries will be removed).

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-27 21:11:07 +07:00
aleos89
2dc38e77ca Follow up to 2cee5b6
* Updated setunitdata to recalculate the object's information and update the client immediately.
* For setunitdata, map name can also be passed in as a valid value instead of map ID.
* Added mapid2name script command.
* Added status_set_maxhp and status_set_maxsp functions.
* Updated documentation to reflect changes.
2015-03-26 11:47:36 -04:00
Cydh Ramdh
0b427a87e8 Fixed Cart Cannon skillratio, fixed #360. Thank @MrAntares
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-26 21:56:20 +07:00
Cydh Ramdh
d495751d1d Follow up 2cee5b6ff1bf53c4ae53bc1278b09ae84b8a0a76
* Revert `mercenary_create` command to don't return mercenary game id. Fixed #361

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-25 12:16:34 +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
Cydh Ramdh
12eaced423 Added CharID as optional param for
* `getchildid({<char_id>})`
* `getmotherid({<char_id>})`
* `getfatherid({<char_id>})`
* `divorce({<char_id>})`
* `ispartneron({<char_id>})`
* `getpartnerid({<char_id>})`
* `getlook(<type>{,<char_id>})`
* `getsavepoint(<information type>{,<char_id>})`
* `getinventorylist {<char_id>}`
* `mergeitem({<item_id>{,<char_id>}})`
* `getgmlevel({<char_id>})`
* `getgroupid({<char_id>})`
* `getskilllist({<char_id>})`
* `skillpointcount({<char_id>})`
* `checkoption(<option number>{,<char_id>})`
* `checkoption1(<option number>{,<char_id>})`
* `checkoption2(<option number>{,<char_id>})`
* `setoption <option number>{,<flag>{,<char_id>}}`
* `setcart {<type>{,<char_id>}}`
* `checkcart({<char_id>})`
* `setfalcon {<flag>{,<char_id>}}`
* `checkfalcon({<char_id>})`
* `setriding {<flag>{,<char_id>}}`
* `checkriding({<char_id>})`
* `setdragon {<color>{,<char_id>}}`
* `checkdragon({<char_id>})`
* `setmadogear {<flag>{,<char_id>}}`
* `checkmadogear({<char_id>})`
* `setmounting {<char_id>}`
* `ismounting({<char_id>})`
* `checkwug({<char_id>})`
* `dispbottom "<message>"{,<color>{,<char_id>}}`
* `savepoint "<map name>",<x>,<y>{,<char_id>}`
* `save "<map name>",<x>,<y>{,<char_id>}`
* `changesex({<char_id>})`
* `countbound({<bound type>{,<char_id>}})`
* `consumeitem <item id>{,<char_id>}`
* `consumeitem "<item name>"{,<char_id>}`
* `makerune <% success bonus>{,<char_id>}`
* `resetlvl <action type>{,<char_id>}`
* `resetstatus({<char_id>})`
* `resetskill({<char_id>})`
* `getstatus(<effect type>{,<type>{,<char_id>}})`
* `nude {<char_id>}`
* `disguise <Monster ID>{,<char_id>}`
* `undisguise {<char_id>}

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-23 12:30:09 +07:00
Cydh Ramdh
d7964edbda Another follow up 5f21afb2555d73bba219fd9fdb1d117c0e1950b1
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-22 18:36:39 +07:00
Cydh Ramdh
e93afad7db Follow up 2cee5b6ff1bf53c4ae53bc1278b09ae84b8a0a76
* A little clean up in BUILDIN_FUNC(getunitdata)

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-21 20:33:40 +07:00
Cydh Ramdh
be86cbd5a8 Merge pull request #352 from cydh/cleanup/instance
Instance cleanup
* Changed instance_db fixed array to DBMap
* Removed MAX_INSTANCE_DB
* Valid Instance ID is 1 ~ 65535
* Removed MAX_MAP_PER_INSTANCE from instance_db struct (in the map arrays)
* Change mapnames for instance_db to StringBuf
2015-03-21 20:01:48 +07:00
Cydh Ramdh
ee1866152f Follow up 5f21afb2555d73bba219fd9fdb1d117c0e1950b1
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-21 19:56:43 +07:00
Cydh Ramdh
2b00a1c9d3 Follow up 2cee5b6ff1bf53c4ae53bc1278b09ae84b8a0a76
* Some types aren't correct
* Missing '=' for Homunculi's max_sp change. Thank @lighta

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-20 19:37:26 +07:00
aleos89
2cee5b6ff1 Implemented Basic Unit Controller Script Commands
* Added getunitname, setunitname, getunitdata, and setunitdata script commands.
- getunitdata and setunitdata are open to suggestions for more values.
* Split unitstop to unitstopattack and unitstopwalk.
* Expanded unitskilluseid and unitskillusepos to be able to adjust casttime of skill.
* Added two new monster modes: MD_NORANDOM_WALK and MD_NOCAST_SKILL.
* The areamonster script command now saves spawned monster game IDs in an array called $@mobid[].
* Adjusted other monster spawning script commands to return game ID.
* Updated documentation to reflect changes.
2015-03-19 20:47:57 -04:00
Cydh Ramdh
0e5997e9ef Added map names check for entrance and maplist
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-19 23:12:36 +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
fb01b02283 Instance (core) cleanup
* Changed instance_db array to DBMap
* Removed MAX_INSTANCE_DB
* Valid Instance ID is 1 ~ 65535
* Removed MAX_MAP_PER_INSTANCE from instance_db struct (in the map arrays)
* Change mapnames for instance_db to StringBuf

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-18 19:57:37 +07: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