Commit Graph

30 Commits

Author SHA1 Message Date
Lemongrass3110
e72c7360cf Added int64 support to the script engine (#4522)
Added support for signed 64 bit integer value computation into the script engine.
This is required because newer official features require support for bigger numbers inside the scripts.

This also cleans up a lot of messy code and fixes a few issues like script stack corruptions.

Thanks to @aleos89 and everyone who supported me with this.
2020-01-13 14:44:48 +01:00
Aleos
b0119631a4 Allow NPC view data modifications (#4385)
* Fixes #4289.
* Updated script commands setunitdata and getunitdata to support the modification of NPC view data.
* Converted mob_avail database to YAML.
Thanks to @Lemongrass3110, @4144, @exneval, @Balferian, @cahya1992 and @teededung!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2019-12-22 10:27:43 -05:00
Atemo
b412c4fcab questinfo requirement update (#4168)
* The <quest ID> is now removed, all the conditions are handled by a <condition> argument. The <condition> is using the achievement_check_condition (like in achievement_db.yml) so any condition (in theory) can be used to display the icon.
* A new script command has been added to refresh the bubble for the given player anytime.

Thanks to @aleos89 and @secretdataz for the review!
2019-10-06 17:15:46 +02:00
Lemongrass3110
cb5833776c Added new missing hateffects (#4382) 2019-10-02 01:45:37 +02:00
Atemo
5fae7c26c1 convertpcinfo script command (#3924)
Implemented convertpcinfo script command
* The command allows to convert more easily a player data to another.
* It fails silently if the character is not found/online.

Thanks to @aleos89, @Normynator, @cydh !
2019-07-01 21:06:55 +02:00
Atemo
c1975d7ea3 instance_live_info command (#3099)
Implemented instance_live_info script command to retrieve some data of running instances

Thanks to @Jeybla, @cydh, @Lemongrass3110 and @aleos89 for the review !
2019-06-25 21:48:44 +02:00
Joam
79ba5aa991 Renewal hateffect update (#4102)
* Updated items with new hat effects.
Thanks to @attackjom!
2019-04-26 18:05:35 -04:00
Atemo
9aa5f7d834 Added several warning messages (#4062)
* enablenpc / disablenpc / hideoffnpc / hideonnpc now display the npc source when the npc named doesn't exist
* Added the NPC source to status_set_viewdata when no view data has been found
* Added export_deprecated_constant3 to display the constant name replacing the deprecated
* Removed the debug message from `@ warp` when the map name is wrong
* Added clif_name_area to UMOB_LEVEL on setunitdata and a capvalue to UPET_HUNGER
* areamonster now checks if the monster ID exists

Thanks to @Normynator and @aleos89 for the review!
2019-04-10 15:59:42 +02: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
Atemo
e4b41ef7e0 Revert "Added pcblock and checkpcblock script commands. (#3951)" (#4048)
This reverts commit 3e0d3d2fe6.
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
Aleos
1f97beae27 Cleaned up script command argument parsing (#3910)
* Cleaned up the way script commands parse arguments.
* script_isstring and script_isint will now properly check variable references.
* This allows script command arguments to contain variables without having to make source side adjustments.
* Reverted several script commands that reference the data directly.
Thanks to @Lemongrass3110!
2019-02-05 18:50:54 -05:00
Aleos
26720f041a Updated script command getmapxy parameters (#3890)
* Fixes #3100.
* Script command getmapxy will now allow integer values for the search value.
* Deprecated UNITTYPE constants as they were replaced by BL.
* Defaulted BL_PC as the target for script command getmapxpy.
* Updated script command getunittype return value to return BL constants.
* Updated scripts to new BL constants.
Thanks to @pajodex's suggestion and @Lemongrass3110!
2019-01-30 17:10:33 -05:00
Lemongrass3110
4706115d5b Refactored achievement conditions (#3831)
They now use the normal script engine and not a duplicated portion of code of it.
This is required for another pending update.

This also fixes atcommands not triggering status achievements.

Thanks to @aleos89 and @RadianFord
2019-01-13 17:26:25 +01:00
Lemongrass3110
f42696bfd7 Added new quest info icons
Fixes #3374

Thanks to @Balferian
2018-08-18 00:08:20 +02:00
Aleos
2ab298076c Cleaned up header guard names (#3395)
* Fixes #3385.
* Updated the header guard names to C++ standards.
Thanks to @elfring's suggestion!
2018-08-10 15:57:50 -04:00
Lemongrass3110
6b3f0717c7 Hotfix for issue 3277 (#3279)
Fixes #3277 

Thanks to @cydh and @aleos89
2018-07-24 22:55:17 +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
Lemongrass3110
c4d7dc76d3 Hid timer function parameters in a macro (#3311) 2018-07-15 23:17:15 +02:00
Aleos
11b42569fc Synchronized source file headers (#3212)
* Alphabetically sorted includes.
* Updated copyright and license text to match across all files.
* Removed pragma once define in header files in lieu of ifdef guards.
2018-06-20 18:08:30 -04:00
Lemongrass3110
801d3ed942 Moved common, config and mapcache to C++ (#3200)
Dropped BETA_THREAD_TEST and everything around it
Dropped mt19937
Replaced msinttypes with cinttypes
Removed IRC link and updated README name
2018-06-14 21:51:58 +02:00
Lemongrass3110
b2594f4842 Added new jRO hat effects 2018-06-06 23:38:29 +02:00
Lemongrass3110
dd60f4c47e Added 2 new parameters for getpetinfo (#3164)
Fixed inter-server handling for creation of pets that are not incubated.

Thanks to @Everade for his idea.
2018-05-27 22:52:08 +02:00
Lemongrass3110
34adde7623 Added new hateffect HAT_EF_C_BLESSINGS_OF_SOUL 2018-05-08 00:01:06 +02:00
Atemo
cdae404e6a Updated getunitdata / setunitdata (#3029)
Added the possibility to retrieve / change the current target id of a Mob, Homunculus, Mercenary and Elemental through getunitdata / setunitdata
2018-04-10 00:23:22 +02:00
Lemongrass3110
42dda258a1 Added new hat effects 2018-03-08 22:24:47 +01: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
c5af8c76e3 Added 2 new hat effects
Thanks to @RagnarokNova
2017-11-28 23:15:00 +01:00
Aleos
c4a364be2c Initial work for map server to C++ (#2565)
* Initial progression of moving the map-server to C++ format.
* Converted all core files to .cpp and header files to .hpp.
* Refactored the refine database parser to utilize native YAML C++.
Thanks to @Jeybla and @lighta for their help!
2017-11-02 17:39:03 -04:00