* Script command getarg supports an extra argument with a default value that is returned if the requested argument doesn't exist.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10773 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed a bad copy-paste from r10028 letting players escape jail (char was dead on login, so statuses (SC_JAILED) couln't be applied)
- Added clif_standing() to clif_sitting(), and used them in clif.c
- Cleaned up clif.c a bit - clif_clearchar->clif_clearunit_area, clif_clearchar_id->clif_clearunit_single
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10668 54d463be-8e91-2dee-dedb-b68131a5f0ec
* Fixed a bug introduced in the last rework of the fame ranking.
* Created safestrncpy that ensures the string is nul-terminated.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10667 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed Martyr's Reckoning never triggering for gms with all skills
- Added MO_TRIPLEATTACK and RG_SNATCHER to @skillall's skill filter
- Made gm_skill_unconditional bypass skill blocking (guild timer, etc)
- Reverted the weird delay_dependon_agi thing (r8923, r9055, r9059)
- Changed a few memsets to strncpy (reading past buffer is a bad idea)
- Sped up some memset operations (multiples of 4 are faster)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10613 54d463be-8e91-2dee-dedb-b68131a5f0ec
- modulus division detects division by 0.
dividing by zero stops the script and gives an error
- underflow/overflow messages differentiated (warnings)
- when a script function doesn't return a value, a C_NOP value is pushed
instead (avoids stack corruption)
- op_add merged with op_2+op_2num/op2_str
- better type checking in the operators, int/string is never assumed.
The script ends when an invalid type is found.
- other minor code cleanups
Changes made in consequence of:
Ref: http://www.eathena.ws/board/index.php?s=&showtopic=149237&view=findpost&p=823195
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10379 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Corrected the pet_db information for Xmas Goblin and Rice Cake.
- Replaced all struct map_session_data to TBL_PC in script.c
- Pressure no longer vaporizes plants.
- Corrected pc_setregstr to handle a null str argument.
- Corrected @reloadbattleconf causing a add_timer_func "already existing function" error.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10326 54d463be-8e91-2dee-dedb-b68131a5f0ec
* menu/select/prompt script functions support grouped and empty options.
The selected option number is consistent with them.
* More work on ticket #41.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10316 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Removed range checks for autospells as per UltraMage Aegis tests.
- Added chatID skill fail check to skill_check_condition
- Corrected @refresh not re-displaying your spirit spheres nor re-setting your cloth dye.
- Now the "number of attackers" in mob_dead is counted only from online characters on the same map.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10307 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added the required constants to const.txt to specify the autospell trigger properties.
- Added bonus5 bAutoSpell/bAutoSpellWhenHit. The new parameter is used to specify when the spell should trigger (melee/range + weapon/magic/misc attack), see item_bonus for details.
- Applied use of packet 0x28a (clif_changeoption2) to transmit opt3 changes.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10278 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Removed wrong defines status_get_sc_def_[mdef/vit/int/luk], they actually had a rather undefined behaviour.
- The pc_max_status_def mob_max_status_def configs are now set on a 1-100% scale instead of 1.00-100.00%
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10206 54d463be-8e91-2dee-dedb-b68131a5f0ec
- adjusted code so that it handles mingw-specific compatibility problems
- adjusted the makefile, mingw is not a subset of cygwin
* As an experiment Corrected many /W4 warnings on the txt login server
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10192 54d463be-8e91-2dee-dedb-b68131a5f0ec
Rewrote fame ranking lists- changed MAP_NAME_LENGTH to 12, now there's MAP_NAME_LENGTH_EXT at 16 for
uses where there is / may be the .gat extension, code adjusted accordingly
- moved map_normalize_name to mapindex_normalize_name so that everything
handling map names uses the same extension-removing function
- greatly enhanced the map cache generator, complete documentation on the
tool and the map cache format can be found in doc/
- the map cache format changed a bit as a consequence, but of course a new
valid one is included (contains latest Nameless Island maps)
- fixed a duplicate entry in map index
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10167 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Fixed the server crashing on a timer-queued disguise / undisguise (no sd check)
- re-added the item_group_list for consistency's sake, moved to itemdb.h (after some hacking to remove the ugly map.h dependency)
- Removed some overly verbose item group messages & code
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10112 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Corrected the change that made Coma not be reduced by mdef making Stone, Freeze and Decrease Agi be reduced by luck rather than mdef.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10090 54d463be-8e91-2dee-dedb-b68131a5f0ec
Added defines script_pushstr and script_pushconststr to have the same syntax as integers
Added defines script_getref, data_islabel, data_isfunclabel to increase code readability
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10088 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Applied mass replacing of text to enforce usage of script_hasdata, script_getnum, script_getstr and data_isstring defines where possible.
- Cleaned up the 'input' command code.
- Minor other cleanups in script.c
- Removed OPTION_SIGHTTRASHER as there's no indication this value exists.
- Corrected OPTION_XMAS since 2007 clients have split it up from OPTION_FLYING (on previous clients both were the same option value)
- Removed GRF_PATH_FILENAME references (it wasn't used anymore)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10085 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleaned up unitattack
- Made packet_ver_flag's description use hexadecimal values for the packet versions, and changed the default to 0xFFFF.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10047 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Autoloot will now only work on items dropped a certain distance from the player. The distance is defined by AUTOLOOT_DISTANCE in atcommand.h and defaults to AREA_SIZE.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10039 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Added skill ITEM_ENCHANTARMS, this is what weapon enchanting items should use.
- Corrected itemskill calls in the item_db, also made the weapon enchanting items invoke the ITEM_ENCHANTARMS skill. Corrected Holy Egg not being type 11 (delay consume)
- Updated item_db.sql with item_db information.
- Added support for specifying different elements per skill level in the skill_db
- Added bonus bNoKnockback
- Corrected typo in bonus bSubRace2 (it was called bSPSubRace2 for some reason)
- Corrected login sql server not resetting your account state to 0 when the banuntil duration expires.
- Corrected use of UINT_MAX instead of INT_MAX in some jailing check.
- Made the skillatk bonus it's own function, it can now be used to boost Heal/Sanctuary/Potion Pitcher and Slim Pitcher as well.
- Cleaned up TK_WARMWIND to use the element acquired from the skill_db rather than hardcoded values.
- Corrected Teleport's save map entry being sent without the .gat extension.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10031 54d463be-8e91-2dee-dedb-b68131a5f0ec
- calling functions without using the return value doesn't generate warnings
- more work on Ticket #41
* Took care of two warnings and a minor change to the makefile.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10025 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Probably corrected delitem not deleting pet eggs at all.
- Possibly nullpo fix on npcskilleffect
- Corrected a warning when using #fakename
- Hopefully fixed hidenpc/disablenpc not working on Guild flag sprites.
- Mob skill state "anytarget" no longer triggers when the mob has an item-target (looting).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9991 54d463be-8e91-2dee-dedb-b68131a5f0ec
- Cleaned up a bit @gstorage
- Added a bunch of npc functions required to properly handle moving the NPC cells when an npc is moved from it's previous location.
- Added npc_setcells to handle setting down the NPC cells of ontouch npcs.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9990 54d463be-8e91-2dee-dedb-b68131a5f0ec