105 Commits

Author SHA1 Message Date
skotlex
e823c2e3eb - removed the timer heap correction code when the timers overflow since Flavio points out that it is not needed.
- Modified a bit the changesex code so you get saved and quit before changing your sex rather than afterwards.
- Cleaned up #changesex
- Signum Crucis now works on bosses.
- party_recv_data will not set the sd pointer for not-yet-authed characters.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11867 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-07 08:44:52 +00:00
skotlex
ddf923dba5 - Changed the status_change structure to use dynamic rather than static memory to hold the individual status changes, this should have a noticeable impact on the server's memory consumption.
- Had to add a few 'ugly' flags to status_change since now you can't track SC related information while said SC is not active (happens only for Storm Gust, Joint Beat and Magic Power).
- Since I am unable to fully test, watch out for any bugs~


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11786 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-22 23:52:58 +00:00
ultramage
535df984a3 Patching a gcc compilation problem...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11689 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-06 19:27:55 +00:00
ultramage
65ad6362c5 Fixed silly copy-paste typo in r11607 preventing #-commands from working...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11631 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-01 21:41:32 +00:00
ultramage
dc6254185a Fixed a compilation problem and warning (maybe).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11611 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-29 20:01:09 +00:00
ultramage
fc9d14b1bd Command code cleaning (refer to topic:169759)
* separated the execution part of command code into interface part and internal part to better see which checks are done and when (fixes problem where 'nocommand' mapflag blocked server npcs)
 * moved the internal commands list (array) to the end of the file, this let me discard that long block of ACMD_FUNC() declarations
 * removed enum AtCommandType from command headers and commands array; its purpose was perhaps to identify aliased commands, but apparently it was never finished because the rest of the code doesn't use it (also doing aliases like this is not a very good idea)
 * internally, commands are now referenced to using their function name
 * removed the @/# symbols from the command lists; all lookup functions will now properly deal with strings with- and without a command symbol (commands interface still requires the symbol tho', so TODO for later)
 * removed several unneeded commands (*id2 code, dmalloc debug commands)
 * reverted atcommand config from alphabetically-sorted to how it was before (with additional fixes; see /conf changelog)
 * added missing code for #dropall / #storeall
 * added a warning when trying to set gm level of an undefined command

The structure of the commands table has changed, please adjust docs/guides to match the new format (sorry for the inconvenience).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11607 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-29 09:16:39 +00:00
skotlex
480a4f0ac8 - added defines JOB_MAX_BASIC and JOB_MAX to mmo.h so the code can know which are the max valid classes.
- @/#jobchange no longer strip your equipment since pc_jobchange removes any unequippables already.
- removed the wasteful define MAX_PC_CLASS and replaced it by the CLASS_COUNT define (which is automatically updated using the previous JOB_MAX* defines) + pc_class2idx function (which converts high class IDs into values that fit in CLASS_COUNT)
- Made status_charge a function rather than a define to get rid of those warnings that have been there since forever.
- Merged the CELL_NOVENDING code (see topic #129209)
- Small check that disables the pet catching process if you try to use another item. 
- Added a check to fix a warning and prevent a crash in the npc duplicate check (even though I have no idea what this check is supposed to do, therefore I can't fix it properly other than to avoid the crash)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11572 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-24 13:02:00 +00:00
ultramage
28dcdcdf9e * Fixed 'unequip' removing items in the wrong position (bugreport:252)
* Fixed #refine unequpping the caller's item by mistake (bugreport:265)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11534 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-21 02:18:15 +00:00
ultramage
2c2af57a84 * Removed commented-out code for check_fake_id()
* Merged improved/cleaned up (WiP) code for clif_parse_WisMessage
* Removed the requirement to provide a character name in the message string when calling is_atcommand() (needed for the previous fix)
- currently both ways work, but old will be removed in the upcoming command cleanup so please adjust your custom code if you use this!
* Added clif_process_message(), an unified way to validate all four types of player message packets and retrieve their components
* Applied the new checking function to clif code, this fixes various length mismatches caused by incomplete code in r11386 (bugreport:198)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11507 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 12:49:49 +00:00
ultramage
d2b9e2498e Some code cleaning...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11505 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 08:04:53 +00:00
FlavioJS
65642f6f1c * Merged the tmpsql branch:
- Abstraction for the sql code (sql.c/h).
- New configure script and makefiles.
- Restored txt zeny logging code. (r10814)
- Rewrote mapserver's sql code - itemdb, mobdb, mapreg, logs. (r10814)
- Fixed a precedence issue (&& and ) in char_sql/char.c. (r10833)
- Improved db reading code a bit for consistency. (r11077)
- Added separate atcommand for mail deletion. (r11077)
- Corrected a few messages that said "new" instead of "unread". (r11077)
- Broadcast (*) messages now use "*" as the target's name (not ""). (r11077)
- Moved StringBuf code from utils.c/h to strlib.c/h. (r11084 r11117)
- Some misc login server cleanups (reformatting etc). (r11136)
- Corrected/modified some header entries. (r11141 r11147 11148)
- Adjusted VS project files. (r11147)
- Adjusted the way the sql charserver does item saving. (r11192)
- Corrected usage of reserved keyword 'friend' in mmo.h. (r11192)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11245 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-20 11:09:36 +00:00
ultramage
b65e451187 Fixed some problems making gcc error out
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11223 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-16 14:29:51 +00:00
ultramage
a71c730693 Getting some (mostly atcommand) code cleaning out of the way...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11222 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-15 21:49:21 +00:00
ultramage
e7e0ddde9d Fixed certain typos in src/npc/doc files
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11102 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-09-01 08:14:36 +00:00
skotlex
d25b5ad103 - Cleaned up a bit the homunculus evolution code, and fixed homevolution allowing the homunc to 're-evolve' even though it was already evolved.
- Optimized a bit the skillheal code in regards to Apple of Idun and Sanctuary


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11090 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-30 04:39:59 +00:00
ultramage
0072a0189e * Cleaned/clarified some #include relationships between headers
* Changed clif_sitting() to use 'bl' instead of 'sd' (for non-player objects)
* Removed way messed-up script function 'unitdeadsit'
* Tagged 'FIXME' lines written by myself

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11040 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-19 12:55:29 +00:00
ultramage
56d9a037a6 * Some serious code cleanups
- adjusted @reloadbattleconf to not depend on variable ordering
- changed all battle vars to 'int' (removes pointless duplicit coding)
- added min, max and default columns to battle config data structure
- added properly bounded values for these columns (or at least tried to)
- battle-conf loading will now complain if it finds unknown settings,
  and will reject values that are outside of the allowed range
- added CHATROOM_TITLE_SIZE and CHATROOM_PASS_SIZE 
- partially cleaned up chatroom manipulation code
* Fixed 'Job_Professer' typo in mage jobchange quest

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11017 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-15 17:13:04 +00:00
ultramage
954fc415c1 * Replaced some mob_avail.txt entries with a simple example entry
* Removed "Crusader quest monsters" from mob_avail (not used anymore)
* Updated the mapcache with data for moscovia maps
* Fixed one problem in map_delmap()
* Fixed a bad message in @disguise

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10988 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-12 20:13:17 +00:00
ultramage
66516651c3 * Removed weird mvp reward item drop behavior (see topic:160077)
* Fixed Cart Revolution not transferring status effects on attack, and Cart Termination doing it when it shouldn't (see topic:156745)
* Fixed #refine not accepting names with spaces in them
* Fixed disguises not doing sit-down properly (missing self packet), broken since r6299 stable / r5833 trunk
* Added missing /blackmith packet action to packet_db.txt
* Removed "eathena's custom equipped mobs" from mob&skill db

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10946 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-04 15:31:02 +00:00
ultramage
dfdb5368c7 Corrected some weird fgets() statements, plus reformatted them
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10616 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-25 15:21:53 +00:00
ultramage
301d493855 - Added new flag to skill_castnodex.txt, to allow per-skill tweaking of cast time and delay reducibility by item scripts (cards and such)
- 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
2007-05-23 21:23:36 +00:00
ultramage
711d01a128 Reformatting @_@
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10581 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-19 15:50:41 +00:00
DracoRPG
3b392f3f37 Massive at+charcommand cleanup, big thanks to HiddenDragon
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10272 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-17 00:17:15 +00:00
ultramage
5d3ea3da27 * Played around with MinGW a bit today...
- 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
2007-04-09 00:46:55 +00:00
DracoRPG
7c8f12ccd5 I'm still here!
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
2007-04-06 17:22:40 +00:00
skotlex
37d8d915b2 - Reviewed atcommand.c and charcommand.c to make sure there's no scanf where a string argument is specified without a size limit.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10111 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-01 21:15:17 +00:00
FlavioJS
43a375ad89 * Added all the missing defines for ctype.h functions and converted all the direct uses to the defines.
Ref: http://www.eathena.ws/board/index.php?showtopic=145235

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10091 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-30 06:16:08 +00:00
skotlex
0b9f915d9c - Fixed # commands not being blocked when muted if the mute config settings say you should be.
- Moved skill db reading before loading mobs so that the new mob condition checks work.
- Cleaned up the warning/errors of the mob skill reading function. They are now warnings if the skill is read anyway (default conditions are used) and an error when the skill is not loaded.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10075 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-26 20:56:39 +00:00
ultramage
06f0d60116 Some generic typo fixes (src and npc)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10054 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-22 21:03:19 +00:00
DracoRPG
58dcd187b0 Mapcache update, should polish off remaining bugs
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10003 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-13 20:24:08 +00:00
skotlex
29cb0abe60 - Added player not attached crash prevention to countitem/countitem2
- 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
2007-03-11 22:21:34 +00:00
skotlex
c1d503fdcb - Moved define CHAT_SIZE to clif.c, added define CHATBOX_SIZE to specify that 70 char limit of the input area.
- Fixed #lvup having the gm level check backwards.
- Fixed the stormgust freeze counter going up even if the attack is blocked/cancelled.
- Updated mes_len_check to receive max expected size as well (clif.c)
- Cleaned up parsing functions for /mm, /resetskill, /resetstate, /item, /monster, /hide
- 


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9811 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-06 21:49:00 +00:00
skotlex
29e3b9e204 - Fixed @lvup, #lvup not doing a stat reset and lowering your status points if you had 0 status points at that time.
- Fixed MvP exp and item rewards being given even when the mob_dead flag specifies you should not receive exp or items.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9795 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-06 00:03:16 +00:00
skotlex
d2574dfd69 - Fixed a duplicate warp name in Rachel
- Fixed Venom Splasher not being Poison elemental
- Cleaned up #blv
- Fixed the skill tree not always updating when using @allskill
- Probably fixed the target-change on melee attack setting not working.
- Moved the deletion of the invincible timer when using skills so that it is not deleted for skills such as Ashura (when just selecting a target)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9791 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-05 18:16:33 +00:00
skotlex
c848fd71d2 - Item search is now a bit smarter. When no item is found with the same 'aegis name', then the 'normal' name is used instead.
- Updated the @/# commands that take an item name so that you can use quotes when specifying item names with spaces in them. For example, @item "poring card" 1 will work now. Note that only the commands that work on ONE item have been updated, those that do an item list need to be updated as well.
- Removed some garbage from the item_data structure.
- Improved a bit the description of the mvp item get time config settings.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9767 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-01 21:04:46 +00:00
ultramage
89f25a569d * Fixed the server not reacting properly to atcommands/charcommands when using langtype 10/11 (the |XY codepage indicator wasn't being trimmed)
* Fixed some joker's code trying to dereference a null pointer in atcommand_param

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9679 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-20 14:33:31 +00:00
ultramage
fbe23f27a2 Undid the memset->malloc_set replacement
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9626 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-07 16:49:03 +00:00
ultramage
9f164c312b - re-added the duplicit nj/gs name messages in msg_athena
- renamed atcommand_sub to is_atcommand_sub (charcommand too)
- reformatted conf-tmpl's comments a bit
- and a fix to the stable changelog to make my last commit more descriptive

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9625 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-07 07:48:04 +00:00
FlavioJS
52245f90b9 - Moved "#include <limits.h>" to cbasetypes.h to ensure it's included before checking if UINT_MAX has been defined.
- Minor changes in pc_readdb related to max_level being unsigned.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9561 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-23 03:24:32 +00:00
toms
912fc7a427 Fixed npc commands atcommand & charcommand not working with a custom command_symbol
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9431 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-07 12:55:00 +00:00
FlavioJS
637ae9a4dc - Massive EOL normalization & 'svn:eol-style native' flag setting for all txt/conf/h/c files.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9410 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-05 13:23:07 +00:00
Lance
ffbcbb0b54 git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9394 54d463be-8e91-2dee-dedb-b68131a5f0ec 2006-12-02 23:47:21 +00:00
Lance
90352e92a2 * Enabled atcommand parsing for clients with Korean langtype and version.
modified   Changelog-Trunk.txt
modified   src/map/atcommand.c
modified   src/map/charcommand.c


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9393 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-02 18:22:37 +00:00
Lance
3e7a154f59 * Edited atcommand and charcommand syntax. Now it doesn't need the useless character name and ":".
modified   Changelog-Trunk.txt
modified   src/map/atcommand.c
modified   src/map/atcommand.h
modified   src/map/charcommand.c
modified   src/map/charcommand.h
modified   src/map/clif.c
modified   src/map/map.c
modified   src/map/script.c


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9230 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-16 15:26:27 +00:00
skotlex
2b44fd5db4 - Cleaned up the log.c file.
- Splitted log_pick into log_pick_pc and log_pick_mob to avoid ugly type-casting.
- Fixed log_chat not recording anything if the server is compiled in SQL mode and sql_logs is turned off (it should then record to a plain txt file)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9017 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-19 21:25:56 +00:00
skotlex
7637480204 - Oops, fixed a pretty bad typo on the fix for #baselvup
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8863 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-25 15:20:42 +00:00
skotlex
7025584abe - Fixed #baselevelup adding instead of substracting status points when used with negative levels. Also made it reset your stats if there wasn't enough to substract from.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8861 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-25 15:17:12 +00:00
skotlex
7c23227861 - Fixed nocommand mapflag causing the "you can't use commands on this map" message to trigger one very single chat, instead of only for actual @/# command invocation.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8817 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-20 00:16:34 +00:00
skotlex
84f86fa96e - Modified the nocommand mapflag so you can specify the GM range that is blocked from using commands (eg: "prontera.gat mapflag nocommand 40" disables commands to characters in the GM range 0~39)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8733 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-13 16:11:22 +00:00
Lance
26500644dd * Optional macro MEMSET_TURBO for faster low-level memory initializations.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8499 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-27 06:38:17 +00:00