300 Commits

Author SHA1 Message Date
Playtester
566ac2078d
Guillotine Fist SP Recovery Prevention Cleanup (#8443)
- Unified code for SC_EXTREMITYFIST
  * It stops natural SP recovery for 300s in pre-re
  * It stops natural SP recovery and recovery from items for 3s and shows icon in renewal
- Removed SC_EXTREMITYFIST2 as it's no longer needed
- Fixed an issue that caused a natural SP regen tick to happen right after using Guillotine Fist
- Fixes #8377
2024-06-19 07:53:30 +02:00
Lemongrass3110
34eb4be25b
Preparatory cleanup of parties (#8418) 2024-06-12 15:39:24 +02:00
Lemongrass3110
aaa9890470
Preparatory cleanup of clans (#8416) 2024-06-12 10:03:44 +02:00
Daegaladh
6ca99e7852
Fixed potentially dangerous map_addflooritem calls and related behaviors (#8360)
*Removed potentially dangerous map_additemfloor calls
*Added weight/inventory checks for marry atcommand
*Fixed overweight message for box items
*Fixed inventory space check for box items to match official requirement (the total number of the items the box will give you *r min 10, plus 1)
*Fixed inventory space message for box items
*Fixed pet egg creation not deleting the pet data when failed to add it to the inventory
*Fixed pet egg creation dropping the egg on the floor when failed to add it to the inventory
*Fixed pet equipment dropping on the floor when failed to retrieve the item
*Added a battle configuration to prevent removing the pet equipment (and disappear into nothingness) when failed to retrieve the item
*Added missing skill_drop_items_full checks on several skills (official behavior makes the items disappear)
---------

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-06-10 22:44:19 +02:00
Playtester
ec9a5fae4b
Monster Loot / Item Dropping Position (#8347)
- When a monster is killed, its first item will now always drop at the exact cell the monster was on
- When a monster drops more than one item, the items will be deployed on 3 cells around the monster (looping): SE, W and N
- Fixed drop position of looted items (similar to regular drops but independent to it and starts north)
- Fixed item drop order (script-granted -> regular drops -> looted drops)
- Fixed looted items showing special drop effects
- Searching for a free cell to drop an item on now uses the official algorithm
- When a monster drops an item, it will no longer drop on cells that are occupied by characters or pets
- When a player drops an item, it will now drop in a 5x5 area around the player
- Items dropped by players can now stack on the same cell unless the new "item_stacking" config is disabled
- When an MVP drop drops to the floor because the player's inventory was full, it will now always drop on that player's cell
- Fixes #8345
2024-06-07 18:29:01 +02:00
Lemongrass3110
48b4623f3e
Fixed all warnings in MSVS (#8391)
Fixes #2859
Fixes #3570
Fixes #8389
2024-06-04 03:07:16 +02:00
Lemongrass3110
660b194ade
Changed droplists from ERI to STL (#8370) 2024-06-04 02:40:55 +02:00
Daegaladh
1f9a43c9d2
Replaces more constant names with the official ones (#8374)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2024-05-31 14:51:59 +02:00
Daegaladh
05ced985e3
Replaced custom with official message names (#8361) 2024-05-26 13:17:05 +02:00
Atemo
cc60c46e5f
Converted some packets to structs (#8353)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-05-25 22:17:12 +02:00
Atemo
361530a1b6
Converted some packets to structs (#8351) 2024-05-21 21:28:01 +02:00
Atemo
d1cf6f4ac7
Converted some packets to structs (#8332) 2024-05-20 21:13:59 +02:00
Playtester
5d232db89e
Spawn and Free Cell Search Behavior (#8324)
- When searching for a map-wide free cell, the tiles 15 cells from the edge are no longer considered
  * Added a configuration to change the edge size to any value between 1 and 40
- When searching for a free cell, the tiles 4-5 cells from the edge are now considered invalid and trigger a retry
  * If you make the edge size smaller than this, it will use edge size instead
- Searching for a free cell now defaults to 50 tries, but if the "no spawn on player" option is active, those failed attempts are not counted towards the limit anymore
- When a monster spawns in a defined area there will now be 8 attempts to spawn it on a valid cell within the area and then one attempt on the center cell; if all 9 attempts fail, there will now be 50 tries to spawn it map-wide before it gives up
- When a monster has fixed spawn coordinates, but those coordinates are a wall, it will now spawn in a random location map-wide instead
  * This also applies to icewall blocking the cell unless the boss_monster command was used
- Each monster in an area spawn will now receive its own spawn center within the spawn area on server start
  * This results in the spawn area being larger but having a bias towards the center
  * Added a configuration to disable this behavior
- Fixed slave monsters always being active and constantly calling the "search freecell" function even though neither them nor their master have been spotted yet
- Fixed map server crash when setting no_spawn_on_player to 100 (follow-up to 33b2b02)
- Updated prontera field spawns to official episode 18+
- Updated all champion mob respawn times to 3 minutes and sorted them by map name
- Fixes #8300
2024-05-19 17:12:44 +02:00
Jittapan Pluemsumran
d445497870
Converted a bunch of packets to structs (#8295)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-05-09 23:06:32 +02:00
Lemongrass3110
b48948822a
Replaced NULL with nullptr (#8298) 2024-05-03 19:38:13 +02:00
Lemongrass3110
827517f8cf
Cleaned up a few TODOs from #7963 (#8254) 2024-05-02 22:44:31 +02:00
Atemo
2ebdd50e08
Fixed warning about favorite item (#8290) 2024-05-02 15:35:00 +02:00
Atemo
c70bc39751
Implemented SC_PERIOD_RECEIVEITEM_2ND and SC_PERIOD_PLUSEXP_2ND (#8197) 2024-04-10 14:01:12 +02:00
Lemongrass3110
cb42dceb87
Switched most C headers to C++ (#8225) 2024-04-07 22:14:51 +02:00
Playtester
7d9a23d03f
Frenzy, Super Novice Level Up Buff, Assassin Soul Link (#8198)
- Fixed Frenzy HP drain interval being 15 instead 10 seconds in renewal (follow-up to 1a004f0)
- The buffs granted when a Super Novice levels up now all last 120 seconds (fixes #8189)
- Assassin Soul Link now doubles stun chance outside GVG/BG (fixes #8195)
2024-03-28 23:43:59 +01:00
Atemo
42bd87d9b7
Implemented the permission "TRADE_UNCONDITIONAL" (#8182)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2024-03-25 16:09:11 +01:00
Lemongrass3110
9139a21adc
Resolved a few size_t related warnings (#8085)
Disabled warnings in libconfig only for MSVS
2024-02-28 21:05:18 +01:00
Singe Horizontal
782299112b
Restores stat points override when loading db (#8061)
Fixes #8060
2023-12-29 01:34:19 +01:00
Vincent Stumpf
61c2480d89
Add explicit [[fallthrough]] attributes (#8054)
Fixes #7918
2023-12-29 01:08:24 +01:00
Vincent Stumpf
f2a3bad3e2
Cleanup uses of SWAP macro (#8051) 2023-12-27 11:36:46 +01:00
Lemongrass3110
e0cf16d3e9
Fixed pc_isequip calls (#8037)
Fixes #8034

Thanks to @alisonrag
2023-12-19 20:22:48 +01:00
AshiHanna
a7f0aab600
Add the stockall command (#8008)
* The command will transfer all items from the cart to the inventory based on the item type.
2023-12-12 08:12:06 -05:00
Aleos
2cfafe4c9f
Resolves players escaping jail early (#7781)
* Fixes #7771.
* Adds a missing check to avoid warping players who are actively jailed out early after relogging.
Thanks to @fab10Carvalho and @Lemongrass3110!
2023-11-06 10:26:02 -05:00
Vincent Stumpf
047e5eef6d
Bypass drop restriction in mpa_addflooritem when dropping (#7847) 2023-08-04 22:51:55 -07:00
Vincent Stumpf
833966f47b
Convert guild_db to unordered_map (#7612)
* Refactor guild db to STL container

* Split up struct guild and MapGuild/CharGuild
2023-06-16 19:42:55 -07:00
Vincent Stumpf
e5ec2b2ef8
Fix issue with bonus3 bAddEffOnSkill (#7805) 2023-06-06 18:23:37 -07:00
Vincent Stumpf
08a1c41d1b
Refactor MapFlag accessors (#7783)
Use methods instead of direct member access.
2023-06-03 17:38:29 -07:00
Aleos
fab88ecd04
Follow up to ba86a76 (#7784)
* Fixes #7770.
* Follow up to ba86a76.
* Adds a missing cap rate option for bSkillCooldown which wouldn't allow addition/reduction more than 10000 milliseconds.
Thanks to @attackjom and @sonniez!
2023-05-26 12:45:57 -04:00
Aleos
af28882a6f
Removes player item bonus rate cap warnings (#7754)
* Removes all of the warnings that were displayed when players had item bonuses that eventually reached the min/max rate.
* The rate is already capped so the warning was just a redundant message that could spam the console.
2023-05-16 10:16:49 -04:00
Singe Horizontal
4718d5e813
Added new status flag RequireNoWeapon (#7201)
* Fixes #7200.
* Added new status flag RequireNoWeapon.
2023-04-24 12:01:24 -04:00
Atemo
939567d361
Fixed an issue with cloak*npc (#7715)
* all the npcs saved in pc should be removed on map change
2023-04-16 14:58:47 +02:00
Vincent Stumpf
a2f4f2bf8e
Do not call pet_set_intimate twice (#7702) 2023-04-15 15:02:41 +02:00
Lemongrass3110
49ba072f3a
Added returning to instances (#7622)
Fixes #5226

Thanks to @Forte22, @attackjom and @OptimusM

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-03-23 15:49:39 +01:00
Vincent Stumpf
f0e374ea23
Fixes getrefine failing in OnEquip/OnUnequip scripts (#7592) 2023-03-20 10:08:04 -07:00
Jittapan Pluemsumran
b4f740ce18
Added a config for banking state check (#7646)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-16 20:24:13 +07:00
Jittapan Pluemsumran
22abdf8dbe
Added missing state checks in banking functions (#7645)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-14 17:34:05 +07:00
Vincent Stumpf
7dd6eb5182
Add other player in mail transactions (#7568)
* Add other player's char_id in mail transactions

Thanks to @tokeiburu

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-14 02:30:23 -07:00
Vincent Stumpf
6a0b7afd88
Fix possible out of bounds (#7630) 2023-03-06 09:37:26 -08:00
Atemo
b2ceb30e30
Added missing items equipment up to 02/10/2023 (#7606)
* Added missing items equipment up to 02/10/2023
* Implemented the item bonuses bIgnoreResRaceRate and bIgnoreMResRaceRate

Thanks to @attackjom for the review!
2023-02-15 16:15:11 +01:00
Vincent Stumpf
e235c9cab4
Change common and config includes to use <> (#7596) 2023-02-12 12:46:06 -08:00
Vincent Stumpf
6938722f02
Replace the bitshift optimizations for multiplication (#7590)
* These were originally bitshifts because it was 'faster', but now with modern compilers and hardware, the only thing it does now is confuse developers who have to read the code
2023-02-08 16:00:11 -08:00
Lemongrass3110
14cb61d598
Removed mapindex from char-server (#7533)
Converted last_point to mapname
Converted save_point to mapname
Converted memo to mapname
Converted start point to mapname
Removed default map
Converted party member to mapname
Converted maplists to mapname
Removed mapindex loading
Fixed instance loading with multiple map-servers
Fixed castle loading with multiple map-servers
Fixed battleground loading with multiple map-servers
Fixed warping between map-servers

Thanks to @aleos89 for his help!
2023-01-11 16:54:53 +01:00
Lemongrass3110
e64c5bce35 Fixed item restrictions for noreturn
Fixes #7537

Thanks to @mazvi
2023-01-09 15:12:31 +01:00
Lemongrass3110
9dda166c0e
Converted cash shop database to YAML (#6299)
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-01-05 18:30:07 +01:00
Lemongrass3110
64228cd18f
Fixed bAddMonsterDropItemGroup (#7516)
Fixes #7515

Thanks to @AcDczZ
2022-12-30 22:03:55 +01:00