645 Commits

Author SHA1 Message Date
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
f290bc97be
Fixed achievementexists script command (#4379)
Fixes #4378

Thanks to @ecdarreola and @teededung
2019-10-02 08:19:03 +02:00
Atemo
786186f728
Small isequippedcnt script command update (#4229)
* Updated the command to only count the unique ID

Thanks to @cydh, @secretdataz and @aleos89 for the reviews !
2019-08-14 23:27:09 +02:00
Cydh Ramdh
0b1184e4ed
Small doc/script_commands.txt correction (#4250) 2019-07-22 22:26:49 +07: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
Sader Fawall
a3fc44ef8a viewpoint command update (#4143)
* Added the optional parameter 'char ID' to the command
2019-05-23 20:11:45 +02:00
Aleos
21a5854c16
Cleaned up instance script commands (#4090)
* Script command instance_id now supports an instance mode argument. If no mode is given it will return the attached script's instance.
* Script commands instance_destroy, instance_npcname, instance_mapname, instance_announce now attach themselves to the script's instance by default.
* Script commands instance_enter and instance_warpall attach themselves to the player's IM_PARTY instance by default.
* Added getvariableofinstance command (similar to getvariableofnpc) to retrieve the instance variable outside the instance.
* Update documentation to match changes.
Thanks to @vykimo, @Atemo, and @Lemongrass3110!
2019-04-19 09:02:42 -04:00
Aleos
f047a6a510
Cleaned up countitem-type script commands (#3657)
* Fixes #3612.
* Separated the countitem-type script commands into their own functions.
* Created a global count function to be used between them.
Thanks to @kisuka, @Normynator and @Atemo!
2019-04-12 13:13:35 -04:00
Atemo
66b8273221
Corrected block_action behaviour (#4071)
* Corrected block_action behaviour
* reloadscript command doesn't remove PCBLOCK_IMMUNE anymore
* Corrected a typo on MorseCave.txt

Thanks to @CairoLee and @ElinhoPP !
2019-04-02 18:48:46 +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
Sader Fawall
c2abd6d1fe Implementing atcommand_disable_npc config (#4043) 2019-03-29 08:32:07 +01: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
Atemo
7cc8c96467
Clean-up doc script commands (#4038)
* This commit changed the `@var` to `.@var` in the doc as it would promote bad scripting behavior.
2019-03-26 16:09:57 +01:00
Aleos
724bd3bfde
Adjusted death event for Emperium Battleground (#3967)
* Fixes #3956.
* Adjusted the death event so players don't have to wait for the 1 second respawn timer before being revived.
Thanks to @AnnieRuru!
2019-02-22 09:20:02 -05:00
Aleos
47866f6065
Cleaned up cmake output (#3941)
* Follow up to d649ede.
* Renamed svnversion.h to version.hpp.
2019-02-15 23:10:17 -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
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
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
Aleos
7045d585e4
Added constants for Castle Data manipulation (#3531)
* Fixes #3530.
* Added constants for script commands getcastledata and setcastledata.
* Adjusted the guardian constants to adjust based on MAX_GUARDIANS define value.
* Updated scripts to reflect changes.
Thanks to @keitenai, @Atemo, and @Lemongrass3110!
2018-11-08 16:27:03 -05:00
Atemo
78edf851a0
Suggestion of implementation of is_party_leader and is_guild_leader script commands. (#3617)
* Implemented is_party_leader and is_guild_leader script commands.

Thanks to @cydh !
2018-11-06 16:28:09 +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
Jittapan Pluemsumran
84b4f09874 Added skill_duration mapflag. (#2171)
* Added skill_duration mapflag.
* This mapflag sets a skill unit time limit to n% of original duration.
* Implemented mapflags for Hunter's Traps in GVG, BG, and Novice Guild maps.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2018-10-26 08:52:49 -04:00
Atemo
0b18fe4bed
Update/moro vol npcs (#3002)
Updated npcs from ep 14.3 (official conversion)
* Adjusted permanent monster random spawn: xy are now optional
* TO DO: update questinfo to display the icon when the variable condition are met

Thanks to all the contributors !
Special thanks to https://www.divine-pride.net/ !
2018-10-16 00:33:37 +02:00
Lemongrass3110
55acdb9863
Initial release of the guild storage log (#3365)
Thanks to @aleos89 and @Everade
2018-10-10 17:51:49 +02:00
Sader Fawall
10e7035beb Added script command getunits (#3389)
* Closes #3159.
* Adds script commands getunits, getmapunits, and getareaunits.
* Replacement for script commands getusers, getmapusers, getareausers. (In a future commit)
Thanks to @sader1992, @Atemo, and @anacondaqq!
2018-10-10 10:33:01 -04:00
Atemo
82171c58d3
Updated default items's items script of attendance.yml (#3428)
Fixed #3331
2018-08-31 20:34:15 +02:00
Atemo
fd4f7ccd5c Suggestion: identifyall script command (#3419)
* Implemented script command identifyall.
Thanks to @secretdataz for suggestions!
2018-08-30 10:03:03 -04:00
Atemo
c856b07c45
Suggestion of 'killedgid', variable set when a monster is killed containing the monster game ID (#3418) 2018-08-23 15:49:32 +02:00
Lemongrass3110
f42696bfd7 Added new quest info icons
Fixes #3374

Thanks to @Balferian
2018-08-18 00:08:20 +02:00
Atemo
3d8104d7fb
Suggestion: checkwall script command (#3393)
* Added checkwall script command
- Included the checkwall in npc folder
2018-08-14 20:58:49 +02: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
Aleos
9313922656
Further cleanup to mapflags (#3332)
* Follow up to a942853.
* Removed ADJUST_SKILL_DAMAGE define so that the mapflag is always enabled.
* Cleaned up atcommand mapinfo and skill_damage mapflag interaction.
* Cleaned up atcommand mapflag to not allow setting of special mapflags that require extra arguments (Please use script command setmapflag).
* Using script command setmapflag for MF_NOSAVE will default to SavePoint.
* Using script command setmapflag for MF_PVP_NIGHTMAREDROP will default to normal official drop values.
* Exported constants for skill_damage mapflag types.
Thanks to @ecdarreola, @cydh, and @Lemongrass3110!
2018-07-23 13:40:35 -04: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
a5588dd9ab
Initial Release of Attendance Feature (#3297)
Thanks to @secretdataz and @aleos89 for their help.
Thanks to @Haikenz and @admkakaroto for testing.
Thanks to @Daegaladh for his ideas.
2018-07-16 21:39:42 +02:00
Lemongrass3110
fe7c0a78ec
Refactored roulette system (#3271)
Fixes #2887 - thanks to @Everade
Fixes #3292 - thanks to @admkakaroto

Added a script command to open the roulette window from server side.
Added support for clients >= 2018-05-16
Fixed losing behavior for roulette
Enabled roulette system by default
Added a server side delay
Added missing sql log enum value 'Y'

Thanks to @Everade, @admkakaroto, @V0rr, @ecdarreola, @Haikenz and everyone else who contributed to this.
2018-07-06 22:39:58 +02:00
Aleos
e13ca63cc8
Added Guild Storage Expansion Skill (#3244)
* Fixes #499 and part of #1303.
* Implements Guild Storage Expansion Skill which requires client 2013-12-23 or newer (enable by default depending on client date in src/config/packets.hpp).
* Implements guild storage permission which requires client 2014-02-05 or newer.
* Expanded script command guildopenstorage return values.
2018-07-03 08:49:34 -04:00
Lemongrass3110
b3643bfe45
Added a 'force' option to attachrid (#3261)
Fixes #1763
2018-07-01 22:28:56 +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
Sader Fawall
151c8476af inarray script commands (#3071)
Thanks to @anacondaqq, @Lemongrass3110, @Jeybla, @secretdataz, @aleos89, @Atemo and @hurtsky for reviewing and testing.
2018-05-27 22:51:37 +02:00
Aleos
a12c79f782
Moved remaining refine NPC to the database (#3145)
* Fixes #2510.
* Added Holink and Wagjak values to their own entries in the refine database.
* Added several anti-hack checks to refine NPC.
Thanks to the suggestion from @mazvi and @Atemo!
2018-05-27 16:07:39 -04:00
Lemongrass3110
5b13dc7009
Added script command mail (#3043) 2018-04-12 00:46:01 +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
Aleos
f07a1c4b4d
Added Random Option item data to getinventorylist (#3030)
* Closes #3021.
* Added Random Option item data to script command getinventorylist return values.
Thanks to @Yuchinin!
2018-04-03 10:40:29 -04:00
Sader Fawall
ead017b396 Clear script command(#2840) 2018-02-18 17:47:41 +01:00
Jittapan Pluemsumran
bfb6972c59 Implemented getequiptradability script command (#2750)
Thanks to @aleos89 @anacondaqq @Lemongrass3110
2018-01-03 21:51:38 +01:00