7402 Commits

Author SHA1 Message Date
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
Cydh Ramdh
739a8f5831 Fixed #176 Stealth Field effect
* Should drains 3% caster's SP each 3 seconds
* Speed penalty for not the caster

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-16 20:53:30 +07:00
Cydh Ramdh
17ffda6235 Fixed 'wrong' mapname in party info window when member is in instance.
... I think I saw the report somewhere ...

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-16 00:02:41 +07:00
Lighta
d92a8df4c2 Remove some duplicate code 2015-03-15 05:52:53 -04:00
Lighta
d1eeda3466 Fix 'make tools' target for ./configure
Fix update.pl wasn't able to recompile due to path error.
2015-03-15 04:24:58 -04:00
aleos89
bae469e6c6 Follow up to 9d247d8
* Disable Packet Obfuscation if it's enabled and client version is below 2011-08-17.
2015-03-14 14:31:04 -04:00
aleos89
5a9ffc489f Follow up to 9f6f55c.
* Fixed Dragon Breath skill type checks.
* Adjusted Camouflage to account for ground-based skills.
- Thanks to @reigneil.
2015-03-14 12:38:14 -04:00
Aleos
9d247d88c1 Merge pull request #312 from rathena/feature/official_packet_obfuscation
Added Packet Obfuscation support
* More info: https://rathena.org/board/topic/101092-packet-obfuscation-support/
2015-03-14 12:25:27 -04:00
aleos89
1b69b981fa More cleanups
- Enabled Packet Obfuscation by default.
- Added a bit of documentation.
2015-03-14 11:45:42 -04:00
Cydh Ramdh
3b197eb76c Added optional param <char_id> for some script commands:
* getexp <base xp>,<job xp>{,<char_id>};
* equip <item id>{,<char_id>};
* unequip <equipment slot>{,<char_id>};
* delequip <equipment slot>{,<char_id>};
* breakequip <equipment slot>{,<char_id>};
* clearitem {,<char_id>};
* openmail {<char_id>};
* openauction {<char_id>};
* setquest <ID>{,<char_id>};
* completequest <ID>{,<char_id>};
* erasequest <ID>{,<char_id>};
* changequest <ID>,<ID2>{,<char_id>};
* checkquest(<ID>{,PLAYTIME|HUNTING{,<char_id>}})
* isbegin_quest(<ID>{,<char_id>})
* showevent <icon>{,<mark color>{,<char_id>}}
* setd "<variable name>",<value>{,<char_id>};

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-14 19:19:53 +07:00
Cydh Ramdh
5f21afb255 Added script command optional param for account/char id
* `set`, added char id -> set <var>,<value>{,<charid>}
* `rentitem`, added account id -> rentitem <item id>,<time>{,<account_id>};
* `rentitem2`, added account id -> rentitem2 <item id>,<time>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account_id>};
* `strcharinfo`, added char id -> strcharinfo <type>{,<char_id>};
* `getequipisequiped`, added char id -> getequipisequiped <equipment slot>{,<char_id>};
* `repair`, added char id -> repair <broken item number>{,<char_id>};
* `repairall`, added char id -> repair {<char_id>};

Added macros
* Macro to replace a check "if there's additional param for account/char id then get the value or use attached rid"
* script_accid2sd(<param_location_for_account_id>,sd,<fail action>)
* script_charid2sd(<param_location_for_char_id>,sd,<fail action>)
* script_nick2sd(<param_location_for_char_id>,sd,<fail action>)

TODO:
* Add optional param for CharID/AccountID/Nick for other necessary commands

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-14 18:52:18 +07:00
Playtester
16d747af48 - Fixed trap HP and knock back (fixes #338)
* Talkie Box and all ranger traps no longer can be destroyed by HP damage
* Electric Shock can now be knocked back
2015-03-14 11:50:59 +01:00
aleos89
9f6f55c07c Bug Fixes
* Fixed #167 - Dragon Breath burning chance is now 15% for all levels. Also corrected damage calculation. Thanks to @exneval.
* Fixed #270 - Cleaned up Reverberation and how it's triggered.
* Fixed #321 - Follow up to 1b6be4e. Fixed MATK calculation for for all player, monster, homunculus, mercenary, etc.
* Fixed #332 - Camouflage now hides player from targeting skills. Added missing DEF/DEF2 bonus.
* Fixed #335 - Check to make sure script has data before trying to free null values.
* Fixed Full Throttle SP drain amount and movement speed increase value. Updated cooldown value to 30 minutes.
* Fixed Bloody Lust skill type from magic to none.
* Fixed Mix Cooking, Make Bomb, Special Pharmacy, Change Material, and Rune Mastery success and fail animations.
* Cleaned up some more compile warnings.
2015-03-13 17:49:38 -04:00
aleos89
1b6be4e0df Bug Fixes
* Fixed #145 - Corrected the duration of Frigg's Song ending too quickly.
* Fixed #202 - Added damage bonus for Rifle when using Piercing Shot (renewal).
* Fixed #257 - Adjusted get_status() in athena-start to return the correct string.
* Fixed #272 - Blood Lust not leeching HP from target.
* Fixed #298 - Corrected the renewal calculation of ATK and ASPD for Homunculus.
* Fixed #309 and #313 - Cleaned up warnings during compile.
* Fixed #321 - Monsters not calculating MATK at spawn (renewal).
* Added missing renewal calculations for Mercenary.
2015-03-11 10:10:05 -04:00
Playtester
ad8e22139f Kaahi and Arrow Shower RE fixes
- Removed Kaahi timer system (fixes #320)
* Kaahi will now heal BEFORE the damage is dealt
* Heals will no longer get lost due to timer system
* Decreased Kaahi duration 1800->350 seconds
- Implemented recent Arrow Shower Renewal updates (fixes #310)
* Arrow Shower now has 3x3 AoE on level 1~5 and 5x5 AoE on level 6~10
* Arrow Shower now has a fixed after cast delay of 500ms
* Note: The bug that causes the skill to hit twice is still present (couldn't fix it)
2015-03-07 19:27:49 +01:00
aleos89
1be5665580 Small cleanup
- Fixed some compile warnings when Packet Obfuscation is disabled.
2015-03-06 09:48:08 -05:00
aleos89
86f1cebee8 Merge branch 'master' of https://github.com/rathena/rathena into feature/official_packet_obfuscation 2015-03-06 09:41:41 -05:00
Cydh Ramdh
6472425c10 Something left behind...
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-05 00:14:30 +07:00
Cydh Ramdh
73bfa215e5 Fixed #317
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-03-04 23:49:56 +07:00