8681 Commits

Author SHA1 Message Date
Lemongrass3110
6e7e97cac7 Fixed a crash caused by setquest in login events (#2728)
Fixes #2700

Thanks to @ignizh
2017-12-21 11:06:16 -04:00
lighta
a0c8961e62 Fix #2724 (#2725)
Prevents accessing a nullpointer from a non existant mob when using mobsearch
2017-12-21 00:14:16 +01:00
Lemongrass3110
88e48ed6ff Follow up to 7a1a76a
Thanks to @AthenaStudioz and @sader1992
2017-12-20 21:55:06 +01:00
Sader Fawall
eb8f33e40f Corrected mapcache build (#2715)
* Removed the hyphen from the name in the Windows build.
Thanks to @sader1992!
2017-12-20 10:02:52 -05:00
Jeybla
5a80f29b65
Fixes potential map server crashes. (#2695)
* status_change_timer refactorization
* Changes some pointers to const pointers to prevent unwanted behavoir.
* Changes sc_timer_next to a lambda function with only the tick as a
  paramter.
* sce is not reassigned in sc_timer_next anymore, therefore it should be
  crash safe (see #2414 and #2539)
* Fixes #2539
* Thanks to @whupdo, @MuzTank and @admkakaroto!
2017-12-20 01:00:10 +01:00
aleos89
1ae1e312da Minor cleanups
* Resolved some miscellaneous typos.
2017-12-19 14:42:15 -05:00
lighta
7a1a76a9a9
Fix #2425 Character variable lengths and char-server (#2647)
* Fix #2425 Character variable lengths and char-server

Medium term fox for crash on char-serv caused by too long character variable.
Add few error msg and safety.
Add npc/test/npc_test_longvar.txt as a basic test.

NB:
The config.in for max_colum size if not really set as best would either retrive that value from sql, or use the same config file to actually set the sql column size...
May be handle later with some kind of hibernate ORM.

Thanks to @Tokeiburu, @aleos89, @Lemongrass3110.
2017-12-19 15:13:55 -04:00
Lemongrass3110
b9981b2e27 Fixed a compilation warning on winapi.cpp
Fixes #2690

Thanks to @hurtsky, @reymarbc and @keitenai
2017-12-19 08:43:16 +01:00
Lemongrass3110
15e509fedd
Added November and current December clients (#2702)
Credits to @4144
2017-12-17 17:07:08 +01:00
sader fawall
1b68303f74 Update sc_end_class (#2673)
* Adjusted script command sc_end_class to accept an optional job ID.
Thanks to @sader1992!
2017-12-17 10:29:30 -05:00
Aleos
b3e67d2172
Resolved enchants not executing unequip script (#2676)
* Fixes #2668.
* Fixes enchant items not properly calling the unequip item script.
Thanks to @admkakaroto and @mrjnumber1!
2017-12-15 14:29:46 -05:00
Aleos
947875d27b
Corrected Chain Lightning behavior (#2683)
* Fixes #2674 and fixes #2678.
* Chain Lightning will no longer bounce across Ice Wall.
* Chain Lightning damage should slowly decrease based on the number of bounces remaining.
* Removed the splash effect which was causing the damage to iterate faster on the first two hits.
* Removed the skill unit defines.
Thanks to @Sweet520!
2017-12-15 10:09:23 -05:00
Aleos
ab1fa803a2
Fixed Giant Growth damage bonus (#2688)
* Fixed Crush Strike damage bonus
* Fixes #2684.
* Base damage increase should not be affected by a success rate.
* Adjusted Crush Strike weapon attack to take from the current indexed value.
Thanks to @Badarosk0 and @Paoly28!
2017-12-14 18:52:19 -05:00
Aleos
0f33de9b4d
Updated Sorcerer Insignia Skills (#2645)
* Updated Sorcerer Insignia Skills
* Fixes #2630.
* Added missing Elemental 20% damage bonus for level 1 Insignia.
* Adjusted the recovery bonus to only apply to Elementals.
* Adjusted 25% magic damage bonus calculation.
* Added the missing ASPD bonus for Wind Insignia.
* Insignias should not affect status immune.
* Removed the BATK addition.
* Miscellaneous cleanups.
Thanks to @admkakaroto and @exneval!
2017-12-12 18:33:08 -05:00
Jey
d08bc1ce2d Revert "status_change_timer refactorization"
This reverts commit 00d8ace8d8f1d2ab525e7b53dcae9cfcae32c638.
2017-12-11 03:02:47 +01:00
Jey
00d8ace8d8 status_change_timer refactorization
* Changes some pointers to const pointers to prevent unwanted behavoir.
* Changes sc_timer_next to a lambda function with only the tick as a
  paramter.
* sce is not reassigned in sc_timer_next anymore, therefore it should be
  crash safe (see #2414 and #2539)
2017-12-11 02:57:03 +01:00
Cydh Ramdh
1e1bd71e5a Fixed script commands for Item Option
* Fixes #2682: `getitem3`, `delitem3`, and `countitem3` always fail if `RandomValueArray` or `RandomParamArray` are not defined (Not all Item Options need 'Value' and 'Param')
* Thanks to @rAthenaCN
2017-12-10 18:40:01 +07:00
sader fawall
6afc36255b packet.h clarification (#2639)
* Added comments to clarify PACKETVER changes.
Thanks to @sader1992!
2017-12-06 14:45:59 -05:00
lighta
fd8e1fe2cd Introduced utilities to gradually replace utils. (#2651)
* Replace current levenshtein with much faster implementation.
* Remove usage of alias to simplify code for VS 2013.
2017-12-06 10:38:10 -05:00
aleos89
c5b7850a9a Fixed atcommand where parsing
* Fixes #2675.
* Resolves atcommand where not accepting players with spaces in their name.
Thanks to @Tokeiburu!
2017-12-04 13:26:21 -05:00
sader fawall
4dde4c664b Fixes title selection in ui window (#2662)
* Fixes #2660
* Thanks to @hnomkeng
2017-12-03 01:56:56 +01:00
Lemongrass3110
f7bc3bca66 Fixed an issue with invisible item shops
Thanks to @Everade
2017-12-02 12:18:07 +01:00
Lemongrass3110
7c1a88270b Added support for custom constant import (#2656) 2017-12-01 13:58:24 -05:00
Lemongrass3110
f59298adda Added support for windows admin detection (#2657)
Credits to Microsoft
2017-12-01 13:09:51 -05:00
Lemongrass3110
812e3a9a04
Disabled root/admin user check for build bots (#2659)
Thanks to @hurtsky
2017-12-01 17:24:16 +01:00
Lemongrass3110
c5af8c76e3 Added 2 new hat effects
Thanks to @RagnarokNova
2017-11-28 23:15:00 +01:00
lighta
618b9356fc
Fix #2591 spinlock issue. (#2637)
* Fix #2591 spinlock issue.
Add basic_test, for few integration test.
Add thread_local_storage support in cmake
Fix thread.c for linux and fix small typo
2017-11-26 22:30:17 -04:00
aleos
1645fc0cdb Corrected a ShowError output
* The new mob database range error message was missing the new ranges.
Thanks to @CairoLee!
2017-11-26 10:29:41 -05:00
aleos
114bebac68 Corrected a potential map crash with achievements
* Follow up to 1c66035.
* Reverted a lambda function which was causing a mismatch between achievement vectors and player achievements.
Thanks to @reymarbc and @cydh!
2017-11-23 16:40:06 -05:00
Aleos
cdbb14b90d
Resolved a compile warning on pre-renewal (#2625)
* Fixes #2624.
* Resolves a switch statement warning with only a default case for pre-renewal builds.
Thanks to @Daegaladh!
2017-11-21 17:35:32 -05:00
aleos89
3ce3bc3fed Added a new Vending Tax config
* Follow up to 8e002bc.
* Added vending_tax_min which allows for defining a custom minimum value to apply taxes to.
Thanks to @cydh's suggestion!
2017-11-21 10:27:18 -05:00
aleos89
6fdb605932 Corrected Hell Inferno Dark damage behavior
* Follow up to dc2c51c.
* Fixes #2623.
* Resolved the Dark damage not being flagged properly.
Thanks to @Sweet520 and @hartonox!
2017-11-21 09:36:52 -05:00
Jey
b2d904b764 Follow up to ba9314cba590f831c88b7a6a69afb62f4d51fe59
* Fixes #2621
* Makes the getspawn functions independent of the mob_db struct.
  Removes the getMobID() function from the struct which caused the
  the issue.
* Thanks to @Lemongrass3110 and @uddevil!
2017-11-21 12:35:51 +01:00
Aleos
8e002bc993
Adjusting Vending tax to match official (#2620)
* Adjusting Vending tax to match official
* Fixes #2528.
* There are no taxes on items being sold for less than 100 million. Anything above incurs a 5% tax.
* Refactored the tax code to use a single function.
Thanks to @mazvi, @Jeybla, and @lighta!
2017-11-20 22:07:55 -05:00
Aleos
1c66035761
Refactored achievements to utilize C++ features (#2607)
* Refactored achievements to utilize C++ features
* Cleaned up the YAML parser.
* Moved achievements from DBMap to an unordered_map.
* Moved achievement targets from DBMap to a vector.
* Changed all struct arrays into vectors.
* Changed all char arrays to strings.
* Changed all int arrays to std::arrays.
* Removed achievement_dummy as it's no longer needed.
* Achievements now use smart pointer to ensure proper construction and deconstruction of objects.
Thanks to @lighta!
2017-11-20 21:34:16 -05:00
Lemongrass3110
60b5491766 Fixed compilation for the Windows XP API (#2611)
* Fixed compilation for the Windows XP API

Fixes #2137

Thanks to @zackdreaver

* Fixed Windows version initialization

Respecting the SDK's Windows version and only use our own defines if they are not set by the SDK, which should not happen.

Thanks to @lighta.

* Moved Windows Vista declaration up

This way all defines that should actually come from sdkddkver.h will be checked right behind it and defined if they were not.

* Reverted line deletion
2017-11-20 00:30:31 -05:00
Lemongrass3110
a2e8d02752 Respect the default platform toolset (#2609)
With this you will not have to upgrade your solution everytime you clone a fresh copy of rAthena and the problem with having to stash between branch switches should also be gone.
If you want to compile it for another toolset you simply have to set the target toolset by yourself.
2017-11-19 12:19:36 -05:00
Lemongrass3110
a49a1a52a3 Fixed a compiler warning due to a wrong include
Follow up to c4a364b
2017-11-19 04:11:53 +01:00
Lemongrass3110
b2ab9724fe
Implemented new monster range (#2604)
With this the internal static array was changed to a std::map which manages it's memory dynamically when needed.

Dropped mob_dummy since it was useless to have it in the first place.

Replaced a lot of direct accesses to the mob db by the "get" function.

With this you can now use 20021-31998 for monsters and also 4000-20020 will be used for player clones whenever needed.

Dropped mobdb_exists
Replaced almost all references to MAX_MOB_DB

Moved MAX_MOB_DB from the header directly into the source file to make it only visible to the .cpp file itself and not to any other.

Moved the mob drop calculation function from itemdb.cpp into mob.cpp, because it needs to iterate over the whole mob db.

Added a few missing clone checks.

Thanks to @lighta, @Jeybla and @aleos89.
2017-11-19 01:22:29 +01:00
Jey
e148bd3a63 Follow up to ba9314cba590f831c88b7a6a69afb62f4d51fe59
* Now mob_get_spawn does not add empty vectors to mob_spawn_data, when the
  mobid does not exist in mob_spawn_data
* Saves a bit more memory space
* Thanks to @Lemongrass3110 for the suggestion
2017-11-16 11:19:26 +01:00
Jeybla
ba9314cba5
Fixes spawn infos after mobdb reload. (#2469)
* Moves the monster spawn infos from the mob_db struct to an own
  data structure.
* Fixes whereis after mobdb reload. Fixes #2360
* Fixes Taekwon Mission after mobdb reload. Closes #2460
* Thanks to @uddevil, @mgksrt8, @lighta and @aleos89!
2017-11-16 02:02:37 +01:00
aleos
9766ec9489 Corrected Free Cast and Exceed Break walk speed
* Fixes #2599.
* Follow up to 1f7a314.
Thanks to @mazvi and @uddevil!
2017-11-14 20:08:49 -05:00
Lemongrass3110
c20d1cc3e9 Follow up to 243f4ca 2017-11-13 21:04:23 +01:00
Lemongrass3110
243f4ca3be Support for 2017-10-25 and 2017-11-01
Merges HerculesWS/Hercules@3e03556

Thanks to @4144
2017-11-13 20:51:58 +01:00
Aleos
805a6fb69a
Updated Heal formulas to match kRO (#2585)
* Fixes #2575 and fixes #2574.
* Adjusted the formula to properly account for bonuses which are additive of one another, not multiplicative.
* Added the global multiplier which is added on after MATK.
* Updated Highness Heal, Fresh Shrimp, and Bunch of Shrimp heal formulas.
Thanks to @Tokeiburu for his extensive research and code!
2017-11-13 13:02:39 -05:00
Aleos
da0883572d
Small cleanup of Rune Knight Runes (#2596)
* Small cleanup of Rune Knight Runes
* Stone Hard Skin weapon break chance only applies to physical melee attacks.
* Giant Growth's physical bonus damage only applies to Rune Knights.
* Corrected weapon break chance to only happen when damage is increased for Giant Growth.
Thanks to @Rytech2 and @Jeybla!
2017-11-13 09:59:24 -05:00
Atemo
ea88ea5054
Emoticons constant name (#2527)
This PR change the emoticons constant name to match emoticonlist from client side.
Note: the previous emoticons names are now deprecated.

Additionnally emotion and unitemote scripts commands are being merged together to the new format
-> emotion <emotion number>{,<target>};
Where target use the target Game ID (GID) of the unit (npc, pet, character etc..).

* unitemote is now deprecated.
* Additionnally fixed incorrect variable in quests_brasilis.txt

Thanks to @aleos89 and @Lemongrass3110 !
2017-11-10 18:35:21 +01:00
Roman Kalashnikov
1f7a314c78 Fixed twice assigned values (#2560)
* Resolves the skill timer getting assigned twice.
Thanks to @lunixoid!
2017-11-09 14:50:11 -05:00
Aleos
63daab5860
Added battle config autoloot_adjust (#2562)
* Fixes #2540.
* Added battle config autoloot_adjust that allows autoloot to take player drop penalties and bonuses into account.
Thanks to @ecdarreola!
2017-11-08 18:55:20 -05:00
Aleos
86241b0eb8
Adjusted item drop minimum value limit (#2561)
* Fixes #2551.
* Lowered the item drop minimum value limits to be able to be set to 0.
Thanks to @mazvi!
2017-11-08 18:44:32 -05:00