975 Commits

Author SHA1 Message Date
flaviojs
9703374f8a * Fix C++ compilation issues.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14955 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-09-08 19:47:26 +00:00
ultramage
225a4b2ce2 Fixed 'getitem' documentation typo (stating the optional 3rd argument is char id instead of account id).
Initial documentation mistakes from r2402, propagated to code documentation in r9599, only partially fixed in r12648.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14950 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-09-01 21:19:10 +00:00
Skotlex
81ce878498 - Oh, forgot to make unitwarp support the mapname "this"
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14934 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-08-11 15:56:30 +00:00
Skotlex
b7ad7aa055 - Commiting a bunch of cleanups piled up from the past few weeks/months/years.
- Updated unitwarp so that an id of "0" causes the script's rid to be warped.
- Updated the Brasilis ontouchNPC warp command to use unitwarp instead.
- Signum Crucis's duration is now specified in the skill_cast_db file
- Updated @warp/@jump commands so that when an invalid tile is specified, a nearby cell is chosen (rather than using a map-wide random value)
- The if(req.weapon) code was broken, since req.weapon is never "0" for a skill. Updated the code so that the requirement of '99' (any weapon) is stored as 0, in order to make the checks effective.
- Cleaned up the code for script command warpparty
- Fixed the define itemdb_canrefine()
- Cleaned up some the status_damage() function
- Fixed map_random_dir(), which at times would pick cells that didn't preserve the required distance.
- Some aesthetic code cleanups.
- Fixed some possible crashes for skills where the code assumes the caster is a player.
- Fixed a bunch of idiotic code-snippets that should have embarrassed whoever was responsible for them.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14929 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-08-10 15:52:59 +00:00
ai4rei
4d6e77c875 * Added script command 'getmercinfo' for retrieving information about a mercenary of an online character.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14894 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-07-09 18:45:22 +00:00
ultramage
edcb998d59 Replaced custom type 'intptr' with standard 'intptr_t'.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14873 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-06-30 09:14:21 +00:00
ai4rei
9e4d7a1beb * Fixed script command 'warpguild' looking for an attached player even when it is not needed (bugreport:4941, since r2674, related r14840).
- Documented special map names recognized by the command.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14841 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-30 19:24:02 +00:00
ai4rei
ce70d39dbc * Fixed script command 'warpparty' looking for an attached player even when it is not needed (bugreport:4359, since r14311, related r2674 and r5592).
- This also resolves an issue, where the command fails when the attached player is on a map that has noreturn or nowarpto mapflags set.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14840 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-30 19:00:43 +00:00
ai4rei
aa0bf03f74 * Updated script commands 'npcshopitem', 'npcshopadditem' and 'npcshopdelitem' to support cashshops as well (bugreport:4928).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14836 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-29 12:41:16 +00:00
ai4rei
bfbac60c74 * Changed enumerating defines into enumerations (related topic:264007).
- Minor fixups on few macros.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14831 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-23 07:12:02 +00:00
brianluau
d3d4504d7f - Fixed a typo in eA Job System documentation.
- Fixed some bugs in Cursed Spirit quest. (bugreport:4914, bugreport:4917)
- Changed <dir> in movenpc to wrap around if the number is < 0 or > 7.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14830 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-22 18:05:23 +00:00
ai4rei
aaab80fb80 * Some NPC event related cleaning.
- Made event label deprecation message a warning rather than an error, as the scripts still work regardless of whether '::On' is used or not (since r6592).
- Introduced constant EVENT_NAME_LENGTH (51) for all event name struct fields to eliminate size inconsistency across all objects (was 50 and 51).
- Fixed event names, that are considered special attributes, were not wiped when the value was 0 (since r5707).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14817 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-14 11:04:30 +00:00
ai4rei
333c944cae * Fixed map-server printing deprecation message, when monster event label was used as transport for special attributes (small/large monsters etc.) in script command 'monster' and related commands (bugreport:1274, since r6592, related r5707).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14814 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-14 10:05:49 +00:00
ai4rei
9d505aed9b * Random accumulated bits and pieces.
- Added checks/warnings to pc_paycash and pc_getcash (follow up to r12264).
- Added missing packet_db.txt and packet length table entries for packet 0x0859 (follow up to r14799).
- Added set of map_id2xx wrappers for map_id2bl for most common map objects, which return NULL when the bl-type is not the expected one (also updated map_id2nd to behave this way).
- Fixed missing ',' in mob_skill_db.txt example (follow up to r14270).
- Updated mapcache with recent maps (up to que_lhz).
- Functions 'msg_txt' and 'job_name' now return a const pointer.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14813 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-14 03:15:51 +00:00
ai4rei
1eb3c83394 * Script command 'query_logsql' now throws a warning when SQL logs are disabled (related r11892).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14811 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-08 16:11:02 +00:00
ai4rei
0c22fcf28e * Updated/revised description of instance-related script commands (bugreport:4880).
- Fixed 'instance_create' would return -4 (party already instancing) when the requested party was not found.
- 'instance_create' return value -2 now means 'party not found' rather than 'missing parameter'.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14809 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-05-08 05:34:35 +00:00
ai4rei
dc6ae732e4 * Some cleanups related to player and monster states.
- Moved user_font and bg_id out of states as they are data, not states.
- Reordered members of state structs so that bitfields are packed together (less memory gets wasted).
- Other insignificant code tweaks.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14795 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-04-16 12:18:24 +00:00
brianluau
c775425157 - Changed 'specialeffect' when <send_target> is SELF, it will display the effect to the attached RID (if there is one) instead of the npc. (topic:243842)
- Changed 'movenpc' to accept an optional argument for direction. (topic:206973)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14776 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-04-06 23:49:05 +00:00
ai4rei
04d4e18863 * Improved changes to script command 'waitingroom' from r14772.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14773 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-04-06 16:55:59 +00:00
ai4rei
fbb16c5ccb * Fixed script command 'warpwaitingpc' not checking, whether or not the player still has required amount of Zeny (since r14765).
- Fixed warping through 'warpwaitingpc' to savepoint would take the fee twice ( missing {} ).
- Fixed random warping through 'warpwaitingpc' would not take away fee Zeny at all.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14772 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-04-06 16:06:28 +00:00
Kisuka
bf12d754cc - Completed L0ne's 2007 request for 'waitingroom' to support required zeny and level.
- Updated NPC files which required the waitingroom update.
- Added Poring War script.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14765 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-04-05 06:00:20 +00:00
ai4rei
bba102a818 * Added separate character state for vending (like for buyingstore), instead of vender_id != 0 (follow up to r14682, related r14713).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14762 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-03-27 18:43:31 +00:00
ai4rei
015d2ae95c * Fixed @item2 and script command 'getitem2' not taking MAX_REFINE define into consideration (bugreport:4804).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14739 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-03-08 18:55:27 +00:00
ai4rei
6b74ef9b50 * Implemented search store info system (aka. vending and buying store search) together with related items.
- Requires 2010-08-03aRagexeRE or later and can be disabled in 'conf/battle/feature.conf'.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14732 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-03-06 19:16:09 +00:00
ai4rei
ffe2f08b20 * Fixed possible crash in script_reportdata, when a script string becomes NULL.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14731 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-03-05 08:53:26 +00:00
ai4rei
ce3f78556c * Implemented buying store system (aka. reverse vending, purchase shop) together with related skill and items, without NPCs.
- For SQL apply upgrade_svn14713_log.sql to upgrade tables `picklog` and `zenylog`; for TXT no action is necessary.
- Requires 2010-04-20aRagexeRE or later and can be disabled in 'conf/battle/feature.conf'.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14713 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-02-19 12:59:36 +00:00
ai4rei
531584b648 * Fixed a crash when script 'npctalk' is given too long string (bugreport:4759, related r2145).
- Fixed related buffer overflows in message related clif functions (since r1182, r14270).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14704 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-02-14 12:49:08 +00:00
ai4rei
9f2620f2fa * Fixed script command 'bpet' (Pet Incubator) displaying an empty egg list when attempting to hatch a pet while already having one out (bugreport:3313).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14702 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-02-09 11:27:27 +00:00
ai4rei
63321f205e * Moved script constant manipulation code into separate functions script_get_constant / script_set_constant. [Ai4rei]
- Added protection against overwriting existing names in script constant creation code.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14701 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-02-08 10:43:51 +00:00
ai4rei
4592b9832d * Updates to various client packets.
- Renamed clif_set0199 and clif_send0199 to clif_map_property and clif_map_property_mapall respectively and added an enumeration for currently known map properties.
- Renamed clif_set01D6 to clif_map_type and added an enumeration for currently known map types.
- Resolved undocumented field of packet 0x22e (ZC_PROPERTY_HOMUN) to attack range.
- Fixed aspd field of packet 0xbd (ZC_STATUS) getting filled with karma value.
- Removed commented clif_skillinfo (duplicate of clif_item_skill).
- Other minor comment updates and 'FIXME' assignments.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14698 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-02-08 00:37:33 +00:00
ai4rei
bc2ec92a4a * Replaced 'nameid < 500' checks in script commands 'countitem', 'countitem2' and 'autoequip' with stricter ones.
- This should stop meaningless itemdb_search warnings from said commands when an invalid item id is used.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14696 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-02-06 12:18:46 +00:00
ai4rei
0045508031 * Fixed closing 'switch' curly not causing script EOL processing to trigger, leading to the script line after the switch being handled as belonging to the curly-less statement block (bugreport:3273, since r3422).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14694 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-02-06 01:02:57 +00:00
ai4rei
7557d37013 * Various accumulated cleanups and fixes.
- Improved the compile speed for files which include common/socket.h on windows builds (related r10471).
- Moved FIFOSIZE_SERVERLINK define from common/mmo.h to common/socket.h (since it is a server connection FIFO size setting).
- Fixed script command 'areamobuseskill' canceling monster's skill cast before it determined it's new target, which could be 'none' (bugreport:3272, since r13897).
- Added a protection against attempts to read an empty backup / write to a full backup in skill_dance_switch as per TODO from r11347.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14690 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-31 12:39:54 +00:00
ai4rei
178cc183ab * Fixed a map-server crash, when a script attempts to call a local function, which has only a forward declaration. Such functions now count as script parse error (bugreport:4009, since r3422).
* Fixed definitions of local functions would set a label reference, even when their name was already taken (follow up to r14600, since r3422).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14675 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-16 12:51:27 +00:00
ai4rei
a4b7cce2c5 * Various accumulated insignificant fixes to documentation, examples and comments.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14674 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-15 20:12:51 +00:00
ai4rei
ad4e9bbee1 * Replaced remaining occurences of '-1' with 'INVALID_TIMER', where appropriate (follow up to r12998).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14670 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-14 21:00:38 +00:00
ai4rei
825df9dda1 * Fixed script command 'cleararray' setting 1 element more, than it is told to (bugreport:2047, since r12253).
- Fixed 'inaccessible element 127' issue in 'cleararray', 'setarray' (since r10813) and 'copyarray' (since r14608) script commands (bugreport:864, related r12253, follow up to r14608).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14663 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-10 20:45:18 +00:00
ai4rei
4cd68d40e1 * Made script command 'charisalpha' always return 1 when 'isaplha' is true, rather than to return the return value of 'isalpha' which is only defined as zero/non-zero and can be different from 1 (bugreport:2024, related r2003).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14661 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-10 09:56:19 +00:00
ai4rei
7c8ea87859 * Fixed script command 'deletearray' deleting incorrect amount of array elements from arrays with empty elements (bugreport:4628).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14652 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-06 06:00:30 +00:00
ai4rei
03933a951b * Fixed ends of statement blocks missing script EOL processing, thus causing 'next line' label (-) to misbehave in statement blocks without additional curly braces (bugreport:4417, since r3422).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14651 54d463be-8e91-2dee-dedb-b68131a5f0ec
2011-01-05 10:37:25 +00:00
ai4rei
75ca2f146a * Fixed improper use of itemdb_search. It does not return NULL but a dummy item, if the item id is invalid.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14642 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-30 17:23:54 +00:00
ai4rei
33d2446b11 * Collection of random insignificant changes.
- Added progress indication on map-server shutdown when objects are removed from maps, as it takes significant amount of time to complete.
- Moved ers_free in db_obj_vclear, so that the node pointer is not used for comparison after it has been freed.
- Some documentation of shop packets.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14639 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-29 21:31:36 +00:00
brianluau
85d04b3cfb - Added missing script_pushint() in 'checkweight' that were forgotten in r14629.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14631 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-26 22:22:04 +00:00
ai4rei
b0a320808c * Cleaned up script command checkweight.
- Replaced some code parts with calls to pc_checkadditem and pc_inventoryblank (follow up to r13735).
- Fixed item id not getting checked for validity properly.
* Moved MAX_AMOUNT check in pc_checkadditem to the top of the function, to prevent unnecessary inventory scan before it.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14629 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-26 16:42:39 +00:00
ai4rei
226fa32b4c * Fixed items, that get dropped at 100% chance, being reported in @iteminfo as 'available in the shops only' (since/replaces r3482).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14627 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-26 13:32:07 +00:00
ai4rei
e07b6c4caa * Updated script commands delitem and delitem2.
- Items are now deleted only if there is enough of them (as per r14395, related r13368).
- Not equipped items are now actually prioritized over equipped ones (related r200).
- Fixed item id not getting checked for validity.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14623 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-25 23:00:05 +00:00
ai4rei
b86d48e71a * Added script_setarray_pc for setting temporary character array variables outside of script.c without requiring them to use script-interal code (add_str and reference_uid).
- Applied script_setarray_pc to assignment of dynamic shop arrays (related r5841).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14613 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-21 23:23:06 +00:00
ai4rei
cbf4ef5dd5 * Replaced in-place generation of uid of script array elements with reference_uid macro (follow up to r10813).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14612 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-21 22:52:25 +00:00
ai4rei
7c90fd1bf1 * Fixed dynamic shop arrays @bought_nameid, @bought_quantity, @sold_nameid and @sold_quantity not getting reset to zero before use, thus providing attached script with wrong/old data, if it did not clear them by itself in previous call (bugreport:1574, since r5841).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14611 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-21 21:30:46 +00:00
ai4rei
e45ba2f126 * Replaced maximum script array size literals with a define (constant).
- Fixed an off-by-one mistake in copyarray, allowing to copy 1 element more into the target array, than allowed (since r10813).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14608 54d463be-8e91-2dee-dedb-b68131a5f0ec
2010-12-19 15:21:46 +00:00