93 Commits

Author SHA1 Message Date
Jittapan Pluemsumran
08d160aaac
Added multi-hit critical damage display support (#2982)
* Fixed #1788.
* Double Attack and Fear Breeze can now critically strike.
2019-09-17 14:48:29 +07:00
Lemongrass3110
4664e88b91
Fixed item removal in RODEX (#4332)
Fixes #4317

Thanks to @voyfmyuh
2019-09-05 23:26:36 +02:00
Atemo
be1194e4b4
Empty message in announce script command (#4200)
Added a check to fail silently when the message in the *announce script commands is ""
2019-08-13 19:05:29 +02:00
Cydh Ramdh
17f32a1756
Fixed CZ_STANDING_RESURRECTION check (#4242)
* Fixed CZ_STANDING_RESURRECTION check
* Player can force to resurrect as long as they have valid Token of Siegfried even in auto respawn maps
* Added command `@resurrect` to resurrect using first matched Token of Siegfried item in inventory clients that don't show Resurrect button
* Set `respawn_tid` to int
2019-07-22 22:27:35 +07:00
Aleos
ac46920e73
Fixed Achievement Level progression (#4156)
* Fixes #4131.
* Changed the behavior of achievement experience to roll over remaining experience rather than check from the total amount.
* Cleaned up achievement level logic.
Thanks to @daisyanne1380 and @SeravySensei!
2019-07-19 10:25:28 -04:00
Kakaroto
87b858199b Pet Fix Client after 20180704 (#4202)
A minor fix that corrects a problem when hatching eggs from pets to clients after 20180704.

Fixes #4190 

Thanks @4144 and @Asheraf
2019-07-07 20:13:24 +02:00
flamefury
19835b638b Sense - show 0 for negatives (#4213)
* Fixes #4212.
* Sense's negative informational stats will now be capped to 0.
Thanks to @flamefury!
2019-06-24 13:41:37 -04:00
Aleos
754274bc58
Corrected Enchant Arms for older clients (#4196)
* Fixes Enchant Arms displaying an incorrect status icon for clients older than 2015-11-04.
Thanks to @Daegaladh and @Lemongrass3110!
2019-06-03 10:32:12 -04:00
Aleos
8cfee2c872
Corrected a potential crash from equip switch (#4198)
* Resolves a potential crash with the equip switch feature and invalid items.
Thanks to Melvo and @functor-x!
2019-06-03 09:04:25 -04:00
Aleos
53f5013149
Added an item group for Token of Siegfried (#4047)
* Fixes #4041.
* Created an item group used to remove hard coding of Token of Siegfried.
* Added the other Token of Siegfried's to work with this feature.
Thanks to @daisyanne1380!
2019-04-19 10:33:35 -04:00
Aleos
c977558cfd
Adjusted OnTouch overlap behavior (#2382)
* Fixes #1939 and fixes #2274.
* OnTouch NPC are now able to overlap one another and properly trigger as they do on official servers.
* When entering an overlap area it should trigger both NPC.
* Walking from overlap area to either NPC should trigger neither.
* Walking from one NPC to the other (skipping the overlap area) should trigger the NPC area you enter.
* Entering an OnTouch area will no longer stop the player from walking unless a message or menu window opens (or other events that should stop the player).
* Resolves OnTouch_ overlapping issues.
* Dead players don't trigger OnTouch_ anymore.
* Hidden players don't trigger NPC clicks when OnTouch_ label is defined.
Thanks to @Tokeiburu, @Lemongrass3110, @Atemo, and @Normynator!
2019-04-03 19:25:47 -04:00
Atemo
e172c4365d
Added setpcblock to some official scripts (#4067)
* Added setpcblock to official scripts to mimic some npc interaction.
* Clean-up the docs.
* Added the WORK_IN_PROGRESS message when PCBLOCK_USEITEM and PCBLOCK_SKILL are enabled.

Thanks to @aleos89 for the review!
2019-04-02 02:12:10 +02:00
Atemo
7dde174c83
setpcblock script command (#4052)
* Added setpcblock and getpcblock script commands.
'setpcblock' command prevents/allows the player from doing the given type of action.
'getpcblock' command return the bit-mask value of the currently enabled block flags.

The available type are:
	PCBLOCK_MOVE
	PCBLOCK_ATTACK
	PCBLOCK_SKILL
	PCBLOCK_USEITEM
	PCBLOCK_CHAT
	PCBLOCK_IMMUNE
	PCBLOCK_SITSTAND
	PCBLOCK_COMMANDS
	PCBLOCK_NPCCLICK
	PCBLOCK_EMOTION
	PCBLOCK_ALL

Thanks to @sigtus, @secretdataz, @Lemongrass3110 and @aleos89 for the help and reviews !
Credit to https://github.com/HerculesWS/Hercules/pull/842 for the idea.
2019-03-31 18:28:55 +02:00
Jittapan Pluemsumran
ac558d7c1e
Initial implementation of pet evolution system + Pet DB conversion to YAML (#3544)
* Implemented official pet evolution system
* Added evolved pets to pet database
* Corrected various pet system mechanics
* Migrated pet database to YAML format and the converter from CSV format

Thanks to @Lemongrass3110 @aleos89 and @Atemo for their suggestions and additional fixes
2019-03-26 22:51:57 +07:00
Atemo
e4b41ef7e0
Revert "Added pcblock and checkpcblock script commands. (#3951)" (#4048)
This reverts commit 3e0d3d2fe6b244099d3987b7a21260d6b070512e.
2019-03-26 16:41:14 +01:00
Atemo
3e0d3d2fe6 Added pcblock and checkpcblock script commands. (#3951)
* Added getpcblock and setpcblock script commands.
* Added the docs
* Added the message 'This action is currently blocked.' when the player attempts to perform the following blocked actions
* PCBLOCK_USEITEM
* PCBLOCK_SITSTAND
* PCBLOCK_NPCCLICK
* The actions blocked are saved in state.block_action
* Click to the npc returns the WORK_IN_PROGRESS message when PCBLOCK_NPCCLICK is enabled
* Blocked action and reload script.
The player will return to his/her original state after reload script.

Thanks to @aleos89, @Lemongrass3110, @secretdataz
2019-03-26 22:18:59 +07:00
keitenai
bfb6b831f8 Minor clean up in clif_displaymessage function (#3957)
* Clean up `clif_displaymessage` function
2019-02-21 17:25:58 +01:00
Lemongrass3110
fc92a97978
Fixed an issue with progressbars (#3945)
Additionally if progress was being canceled and a message window was active, the user would be stuck, because no close button would show.

Fixes #3944

Thanks to @teededung, @cahya1992 and @Atemo
2019-02-18 19:31:05 +01:00
Aleos
5d69a4fee8
Fixed Camouflage (#3933)
* Fixes #3788.
* Fixes the Provoke icon getting removed when clif_changeoption is called and it's not an infinite duration.
Thanks to @Everade!
2019-02-12 10:53:10 -05:00
Aleos
c5a5c54518
Converted remaining C comments (#3927)
* Converted remaining documentation that references .c or .h files.
2019-02-09 15:08:45 -05:00
Lemongrass3110
8e325e4116 Fixed some more server crashes
Thanks to @functor-x
2019-02-05 00:06:09 +01:00
Lemongrass3110
2c47569ffb
Fixed a possible mail send server crash (#3914)
Thanks to @functor-x
2019-02-03 23:32:57 +01:00
Aleos
b1865b31fe
Corrected skills that give bonuses while sitting (#3876)
* Fixes #3611.
* Corrected Gangster's Paradise not releasing the monster invulnerability state when standing up around multiple Rogue's that know Gangster's Paradise.
* Same fix goes for Taekwon's Peaceful Break and Happy Break.
* Cleaned up some various parts of these functions as well.
Thanks to @Indigo000!
2019-01-23 12:42:23 -05:00
Lemongrass3110
a5fc39e0e3
Fixed a few more leftovers from 64bit tick (#3885)
Fixes #3864

Thanks to @darhylism, @nubspixel, @Daegaladh and @aleos89!
2019-01-22 23:14:50 +00:00
Lemongrass3110
f5f377a7c9 Follow up to 818ff10
Thanks to @Encon21
2018-12-27 01:16:03 +01:00
Lemongrass3110
818ff109f3
Initial Release of Equipment Switch (#3548)
Thanks to everyone who contributed to this release in any way, be it donations, information or testing.

Merry Christmas :-)
2018-12-24 14:10:29 +01:00
Lemongrass3110
01f61cfa4f
Added support for 64bit ticks (#3768)
Fixes #3017

Thanks to Hercules for the idea and their implementation of it.

This deprecates Windows XP support. If you want to use it to run your server on it, you have to forcefully enable it now.
Since 64bit ticks do not exist on XP, you might encounter some issues that are already fixed on other OS.
2018-12-21 00:02:19 +01:00
Lemongrass3110
4944491228
Added support for viewpointvalue command (#3754)
Additionally added a script command to update the player's camera.
Added a new atcommand camerainfo for this, which is limited to admins.

Credits to @4144 for finding /setcamera
2018-12-20 19:26:02 +01:00
Lemongrass3110
016d15b79a
Unified infinite tick usage (#3755)
Introducing a new constant INFINITE_TICK
Changed current usages in items, npcs and source to use the new and correct constant.
Replaced some invalid usages of INVALID_TIMER and replaced them with the new constant.
2018-12-18 17:46:56 +01:00
Lemongrass3110
742232d575
Fixed zero termination for bg messages (#3759)
Fixes #3104

Thanks to @Rolfxx and @vstumpf
2018-12-18 02:32:37 +01:00
Lemongrass3110
7fa903ce22
Fixed SU_GROOMING while being frozen (#3756)
Fixes #3728

Thanks to @Everade
2018-12-17 14:14:58 +01:00
Lemongrass3110
bde580fdbd
Add drop highlighting effect feature (#3710)
Fixes #3610

Thanks to @Balferian, @admkakaroto and credits to @Asheraf
2018-11-29 22:34:57 +01:00
Lemongrass3110
91c87969c4 Revert "SQL synchronization"
This reverts commit d0be16f6285231e59b8bb1589765722cd50a9df1.
2018-11-11 22:57:49 +01:00
rAthenaAPI
d0be16f628 SQL synchronization 2018-11-11 22:08:01 +01:00
Lemongrass3110
a4c8039c17
Added some additional guild loading checks (#3680)
Fixes #3591

Thanks to @Badarosk0, @laziem and @aleos89
2018-11-11 22:06:10 +01:00
Aleos
a7d8fbae14
Corrected atcommand reloadscript and NPC dialogs (#3643)
* Corrected atcommand reloadscript and NPC dialogs
* Fixes #3637.
* Force atcommand reloadscript to send a close button if a NPC dialog is active to any attached players.
* Fixed cutin removal as well.
Thanks to @kukuasir1 and @Lemongrass3110!
2018-11-01 16:08:53 -04:00
Lemongrass3110
c0793a8072
Adding LGTM to CI tools (#3636)
Thanks to @aleos89 for his help.
2018-10-29 21:25:36 +01:00
Jittapan Pluemsumran
2140722743
Fixed potential map server crash in clif_parse_Mail_setattach (#3609) 2018-10-26 13:51:50 +07:00
Cydh Ramdh
fe197bfa12
Renewal Monster Updates (#3541)
* Renewal Monster's ATK & MATK Calculation Updates
* Renewal Monster database updates
  * ATK1 is *base* ATK, the range 80%~120% is calculated in src
  * ATK2 is *base* MATK, the range 70%~130% is calculated in src
* Adjusted ATK range min~max in mobinfo atcommand
* Nothing was changed in pre-renewal system!
* Thanks to @aleos89, @slyx88 and Divine-Pride.net
2018-10-13 19:00:14 +07:00
Lemongrass3110
55acdb9863
Initial release of the guild storage log (#3365)
Thanks to @aleos89 and @Everade
2018-10-10 17:51:49 +02:00
Cydh Ramdh
3e1105b0cf
Updates Item Sell checks (#3491)
* Added config values for `allow_bound_sell`
  * 0x4 allows bound item to be sold at NPC Shops
  * 0x8 restrict only guild leader who can sell guild bound item at NPC Shops or Itemshops
* Added config to allow rental items can be sold at NPC `rental_transaction` (planned for more config values based on #3490). Default to `yes` allowed to be sold, still can be restricted by item_trade, item id based.
* Fixed itemshop which ignores another item stack in inventory even for same item currency
* Fixed exploit potential by using Itemshop & Pointshop
* Now equipped item cannot be sold at NPC
* Typo and grammar fixes. Thanks to @aleos89 and @secretdataz
2018-09-27 13:54:28 +07:00
Aleos
e6e0511cf7
Corrected a check for skill usage restrictions (#3472)
* Resolves an issue where the usage of self skills while a storage is open was causing the entire check to fail.
Thanks to @Tokeiburu!
2018-09-12 11:03:14 -04:00
Aleos
3569789ab0
Corrected server info display (#3434)
* Fixes #3431.
* Corrected the VIP EXP bonus amount being displayed incorrectly for the personal information packet.
Thanks to @hendra814!
2018-08-29 09:29:21 -04:00
Aleos
48ae1a1e05
Cleaned up map storage type (#3384)
* Fixes #3369, fixes #3370, and fixes #3382.
* Converted maps storage container back to static array.
* Converted mapflag storage containers to unordered_map.
* Removed a lot of redundancy and recursive lookups.
* Fixed a couple short-circuit checks to help with performance.
* Fixed multiple instance creation/destruction issues.
* Fixed PK Mode attempting to set PvP on flags that are already active.
* Getting MF_RESTRICTED will return the map's zone value instead of the state.
* Converted mapflag macros to inline functions.
Thanks to @teededung, @lelouch22, @mazvi, @Lemongrass3110, and @cydh!
2018-08-10 13:52:07 -04:00
Cydh Ramdh
83c8183a2e
Added IG_PRIVATE_AIRSHIP (#3378)
* Item group for Private Airship tickets
2018-08-06 08:06:30 +07:00
Lemongrass3110
8dea04a8b3
Initial release of private airship system (#3354)
Fixes #3314 

Thanks to @aleos89 for his help.
2018-07-29 20:11:15 +02:00
Aleos
584fcac43a Cleaned up map data storage (#3347)
Follow up to a942853.
Fixes #3336.
Moved map_data storage to std::map container.
Created map_getmapdata to obtain pointer to map_data.
Got rid of MAX_MAP_PER_SERVER define.
Resolved deletion of instances causing other instances to lose their intended map ID.
Refactored warp suggestions

Thanks to @teededung, @anacondaqq, @cydh and @Lemongrass3110!
2018-07-26 01:06:59 +02:00
Lemongrass3110
6b3f0717c7
Hotfix for issue 3277 (#3279)
Fixes #3277 

Thanks to @cydh and @aleos89
2018-07-24 22:55:17 +02:00
Lemongrass3110
95c3aed810 Fixing party death icon in newer clients
Fixes #2356

Thanks to @admkakaroto and @4144
2018-07-23 23:05:18 +02:00
Aleos
a942853d55
Cleaned up the mapflag system (#2943)
* Created setter and getter functions.
* Adjusted all calls to use these functions.
* Converted mapflags to C++ map container.
* Converted drop_list to vector.
* Converted skill_damage ERS into vector and increased limit from UINT8 to UINT16.
* Cleaned up several functions to be more dynamic to reduce redundancy that was all over the place.
* Renamed nosumstarmiracle to nosunmoonstarmiracle.
* Adjusted skill_damage mapflag to use proper defined constants.
* Refactored map index into a vector.
Thanks to @Lemongrass3110 for a lot of help and @secretdataz!
2018-07-18 20:00:33 -04:00