258 Commits

Author SHA1 Message Date
ultramage
97e812dda1 * Fixed a deallocation mistake and some buffer overflows in npc_chat.c after doing rtfm@pcre.txt (all caused by incorrect usage of pcre api)
* Removed underscores in npc_chat.c's variable names (easier to read)
* Reindented the whole thing (used spaces half of the time ._.)
* Moved npc pcre-data deallocation from npc_remove_map to npc_unload

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11036 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-19 06:04:34 +00:00
skotlex
29a07a72e7 - Corrected a bit npc_remove_map, map_deliddb and strdb_remove calls belong to npc_unload rather than npc_remove_map. Also improved a bit the removal of the npc from the map's npc list.
- Added back the hair-style/hair-bottom fields to the spawn packet, and the pet-idle packet is no longer sent when the pet does not has an armor equipped (this should cut down on bandwidth a bit for non-equipped pets)
- Moved the position of the map_addblock/clif_spawn code section in parse_LoadEndAck to above the party-hp blocks, this corrects party-member HP display mnot being updated when someone spawns in your range of sight.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11033 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-18 03:22:11 +00:00
Playtester
ed98c68a49 Fixed eAthena's wrong interpretation of the respawn times
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11027 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-16 18:59:00 +00:00
ultramage
8076b535d4 * Fixed npc chatrooms not being deleted on npc unload/reload (crash)
* Modified chat code a bit for more clarity
- replaced double-indirection on 'owner' with a normal pointer
- separated some common functionality to 'chat_createchat()'

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11023 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-16 14:14:11 +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
c8ff534024 - stable -> trunk sync
- battle.c and pc.c formatting
- fixed one badly defined npc shop format string
- removed the "selling item for no buying price" warning when the item has a buying price of 20 (see topic:157465)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10971 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-09 18:56:27 +00:00
ultramage
c06dca0c87 Some minor typo fixing.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10960 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-07 21:54:12 +00:00
ultramage
e1397576e6 - Fixed missing client update when 'return to savepoint' fails
- 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
2007-06-03 14:43:34 +00:00
ultramage
ffbf79b895 Reformatting, warning fixes, unsigned char removal
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10618 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-25 19:37:58 +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
ultramage
cce7ebedf4 - imported the latest working grfio code from stable
- re-added usage of managed allocation routines in grfio
- eol-styled some new files
- some cosmetic fixes here and there

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10468 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-05-05 13:57:07 +00:00
skotlex
f4dfd0d8ee - Removed the include of features.h from the console.c plugin. It is apparently not needed (and it was preventing compilation on FreeBSD)
- Fixed bug which totally broke item group bonuses.
- Added warnings when setting a pvp/gvg flag removes the other flags on the same map (gvg and pvp can't coexist on the same map)
- Optimized the unequip loop when changing sex.
- Removed the check that prevented you from casting soul-collect when you already have 5 spirits.
- Corrected Magic Rod so it doesn't displays any skill-use animation until it triggers.
- Debuff on logout&2 is again set to default, instead of removing food bonuses now it removes Maximize Power, Maximum Overthrust and Steel Body.
- Corrected Steel Body's icon (it actually belongs to AutoBerserk)


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10317 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-22 19:14:42 +00:00
skotlex
3ef8c87261 - The gain exp from resurrection config will now only work when the revived player has yet to reach the last level (since otherwise it can give quite a lot of exp since the last level exp just keeps piling up)
- Corrected unit_canmove so you can't move if you are vending.
- Corrected npc_click so it won't let you click on hidden npcs.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10281 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-17 17:39:10 +00:00
ultramage
74295231e6 * Discarded extra deflate function needed for afm reading
- as a result, discarded the whole chain of support functions, .c files and includes needed to make that one function run
- also removed zlib compile/link dependencies where they are not needed
- reduced the whole zlib package into two core include files
- adjusted makefiles / project files to reflect this change 

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10273 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-17 10:03:30 +00:00
skotlex
d0e92fa7f4 - Fixed crash caused by fake-NPC (some fields were not initialized to NULL, I think it's safer to just use aCalloc rather than aMalloc here)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10217 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-11 16:53:40 +00:00
FlavioJS
a91b77d781 * Recoded and renamed the trim function in strlib to normalize_name. (didn't behave like a standard trim function, see function comment for what it does)
* Added a proper trim function to strlib.

* Other minor cleanups.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10199 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09 20:21:17 +00:00
skotlex
8e93386102 - Fixed some compiling warnings.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10196 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09 19:09:30 +00:00
FlavioJS
d6b4625e06 * Cleanups at npc source file adding/removing. (one variable has been removed)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10195 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09 14:51:17 +00:00
FlavioJS
cc893dbaab * Changed db key from 'unsigned char*' to 'const char*'.
* Defined out the dump function in util.h/c.

Notes: saw some suspicious code in npc.c so kept the 'const char*' propagation to a minimum for now

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10193 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-09 13:03:34 +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
skotlex
4d2c2543b6 - Updated some Guild WoE rules to behave as explained here: http://www.eathena.ws/board/index.php?showtopic=146581
- Removed the nosave mapflags from the Guild Castles, as per the previously linked topic.
- Added some missing map_freeblock_lock calls to castend_pos and castend_id functions to prevent (rather unlikely) dangling pointer crashes.
- Improved the debug message when the npc_scriptcont npc IDs don't match.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10187 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-08 16:05:20 +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
ultramage
dec82b6120 - Fixed the server crashing on startup due to bad define
- 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
2007-04-01 21:15:57 +00:00
ultramage
478b4b58e8 Fixed typos from previous revisions :)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10098 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-30 17:01:53 +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
ultramage
9579515cb9 - Removed the old 'mapserver charsave' mechanism
- Fixed some wrong sql login logic
- Fixed some compiler warnings, cleaned up mapserver sql-related vars

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10027 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-18 22:43:41 +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
ddfc677c99 - @storage/@gstorage will no longer work if you have a trade or a storage opened already.
- 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
2007-03-11 20:02:42 +00:00
skotlex
9e9628afca - Added resetting the total count of labels to 0 when unloading an npc clears the labels.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9988 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-11 17:53:22 +00:00
FlavioJS
2b42ec13cf - Added info on packet 0x86 (simple move packet). Not usable until a clear separation between entering sight/leaving sight/walking in sight is done.
- Propagating const char* from the script engine.
- ".gat" is appended to the map name before sending the changemapserver packet to the client.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9979 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-09 01:49:50 +00:00
toms
5a7f6ded40 Fixed an infinite loop if script name contains a single ':'
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9962 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-05 16:59:20 +00:00
skotlex
cf8a93db38 - Updated the stun length to 5 secs of: Meteor Storm, Sonic Blow, Throw Stone, Sightless Raid, Smite, Cart Termination
- SG Union will consume now SP if you use it while not soul linked.
- Added variable "skip" to the mob spawn data, to know how many mobs to skip when spawning because they were not removed due to the "mob_remove_damaged" setting.
- Corrected the Hp/Sp regen formulas from Hp/Sp/Spirit Recovery and Happy/Peaceful break according to recent forums discussions (formula is changed from x*lv +max*lv/500 to lv*(x+max/500).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9944 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-01 16:29:09 +00:00
skotlex
8c52b6b21d - Now when a player logs out while it's running an attached npctimer, OnTimerQuit of that npc will be invoked.
- Updated scripts_command to add info on OnTimerQuit
- Corrected the double login check in pc_authok


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9926 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-27 02:30:55 +00:00
skotlex
c1044cf02f - Reverted Venom Splasher's element to take your weapon's
- reverted the item skill usage update since Flywings and the like do not use skill use scripts anymore.
- Restored tid when a castend-id skill becomes castend-pos, fixes certain skills, most notably Resurrect Homunculus.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9858 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-13 00:17:32 +00:00
skotlex
dbfaad69ef - Fixed npc_check_areanpc, Wand of Hermod works now.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9854 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-12 18:38:10 +00:00
ultramage
06074c6046 Fixed @loadnpc not updating the script_event[] array
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9850 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-11 21:44:37 +00:00
ultramage
bc5f3f5a4c Removed one grf function that DracoRPG missed
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9745 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-30 03:25:39 +00:00
skotlex
59faa0164c - Fixed compiltation error ~.~ I was sure I compiled before the previous commit...
- Corrected a null pointer error when a non-player uses amplify magic power.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9743 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-29 22:08:09 +00:00
skotlex
c52340cb3a - Corrected the homunculus deletion functions so that the homunculus is deleted together with the character.
- Added npc_check_areanpc so that Wand of Hermod will correctly check for nearby warps.
- Emergency avoid now stacks with other speed boost statuses
- Item skills and skills that bring up a menu now are cleared on death.
- Minor cleanings


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9742 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-29 22:00:51 +00:00
ultramage
e7a00c7e06 Made @reloadscript wipe ALL previous mobs that the script engine spawned
- this way it is manageable via global vars; the other way doesn't allow that

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9734 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-28 01:50:39 +00:00
DracoRPG
bf98b03fb0 Removed useless read-from-GRF features
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9725 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-27 05:04:10 +00:00
skotlex
81e6fbf053 - Fixed overflow on the mob delay adjustment setting.
- Fixed characters being unable to trade again if you attempt a trade on someone who is on storage/npc when you accept the trade.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9669 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-18 14:14:33 +00:00
Lance
6827bc726b * Hotfix: Freeing of freed pointer when replacing script functions. [Lance]
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9634 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-09 02:45:01 +00:00
FlavioJS
da5d22b67f - Fixed the sleep timers not being removed when the an npc was being unloaded and when reloading scripts.
Ref: http://www.eathena.ws/board/index.php?showtopic=131464

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9629 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-07 17:59:25 +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
215762fe8c - Fixed pc_calc_skilltree ignoring prerequisites / joblvl requirements.
- Re-applied change r9593 that got accidentally reverted by r9595.
- Added the official behavior of monsters regaining full hp when they morph.
- Added support for text/comments at the end of monster spawn lines (<tab> required)
- Silenced the debug message in socket.c that's been freaking people out.
- Modified the useless error message in atcommand_effect.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9608 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-03 03:05:43 +00:00
FlavioJS
d085b9f628 - Added more info when npc_scriptcont tries to continue a different script.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9601 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-31 13:07:22 +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