summaryrefslogtreecommitdiff
path: root/src/map/npc.c
AgeCommit message (Collapse)AuthorFilesLines
2007-04-01- Fixed the server crashing on startup due to bad defineultramage1-6/+5
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10112 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-30Fixed typos from previous revisions :)ultramage1-1/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10098 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-30* Added all the missing defines for ctype.h functions and converted all the ↵FlavioJS1-3/+0
direct uses to the defines. Ref: http://www.eathena.ws/board/index.php?showtopic=145235 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10091 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-18- Removed the old 'mapserver charsave' mechanismultramage1-3/+2
- Fixed some wrong sql login logic - Fixed some compiler warnings, cleaned up mapserver sql-related vars git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10027 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-11- Added player not attached crash prevention to countitem/countitem2skotlex1-2/+2
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9991 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-11- @storage/@gstorage will no longer work if you have a trade or a storage ↵skotlex1-21/+83
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9990 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-11- Added resetting the total count of labels to 0 when unloading an npc ↵skotlex1-0/+1
clears the labels. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9988 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-09- Added info on packet 0x86 (simple move packet). Not usable until a clear ↵FlavioJS1-7/+7
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9979 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-05Fixed an infinite loop if script name contains a single ':'toms1-1/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9962 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-03-01- Updated the stun length to 5 secs of: Meteor Storm, Sonic Blow, Throw ↵skotlex1-2/+2
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9944 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-27- Now when a player logs out while it's running an attached npctimer, ↵skotlex1-3/+39
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9926 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-13- Reverted Venom Splasher's element to take your weapon'sskotlex1-1/+1
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9858 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-12- Fixed npc_check_areanpc, Wand of Hermod works now.skotlex1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9854 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-11Fixed @loadnpc not updating the script_event[] arrayultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9850 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-30Removed one grf function that DracoRPG missedultramage1-28/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9745 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-29- Fixed compiltation error ~.~ I was sure I compiled before the previous ↵skotlex1-1/+1
commit... - Corrected a null pointer error when a non-player uses amplify magic power. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9743 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-29- Corrected the homunculus deletion functions so that the homunculus is ↵skotlex1-3/+66
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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9742 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-28Made @reloadscript wipe ALL previous mobs that the script engine spawnedultramage1-3/+1
- this way it is manageable via global vars; the other way doesn't allow that git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9734 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-27Removed useless read-from-GRF featuresDracoRPG1-3/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9725 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-18- Fixed overflow on the mob delay adjustment setting.skotlex1-7/+8
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9669 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-09* Hotfix: Freeing of freed pointer when replacing script functions. [Lance]Lance1-1/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9634 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-07- Fixed the sleep timers not being removed when the an npc was being ↵FlavioJS1-1/+2
unloaded and when reloading scripts. Ref: http://www.eathena.ws/board/index.php?showtopic=131464 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9629 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-07Undid the memset->malloc_set replacementultramage1-9/+9
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9626 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-03- Fixed pc_calc_skilltree ignoring prerequisites / joblvl requirements.ultramage1-1/+1
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9608 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-31- Added more info when npc_scriptcont tries to continue a different script.FlavioJS1-2/+7
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9601 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-23- Moved "#include <limits.h>" to cbasetypes.h to ensure it's included before ↵FlavioJS1-1/+1
checking if UINT_MAX has been defined. - Minor changes in pc_readdb related to max_level being unsigned. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9561 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-22- Change strncpy to memcpy when parsing switches in the script engine since ↵FlavioJS1-13/+13
it's guaranteed to be a word of that size (skip_word). - Made scriptlabel_db duplicate the key. When str_buf is reallocated, the keys in scriptlabel_db could become invalid, causing a crash in npc_convertlabel_db. ( removed the readded >=0x81 equivalent ) - Now npc_convertlabel_db clears scriptlabel_db after using it. - parse_script has an extra parameter options. At the moment it only indicates if scriptlabel_db should be used or not. - Fixed "UINT_MAX undeclared" on systems that don't declare it in limits.h git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9557 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-21- Moved md5calc to commonFlavioJS1-1/+1
- Answered Skotlex's question and fixed "warning: comparison is always false due to limited range of data type" by restricting script words to ASCII characters only. - Applied "svn:eol-style native" to makefiles and project files git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9544 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20- Added an answer to a FlavioJS's comment, and added a question myself ↵skotlex1-1/+1
(npc.c/script.c respectively) - Fixed add_str in script.h not being updated to const char as well. But why do we really need such a script-engine low-level function exposed to the rest of files? :/ - Moved the strip unequip code to before deleting the timer, this fixes trying to "re-strip" someone causing the skill to fail and on top of that terminate their current strip effect. - Added an ugly work around to the issue of skills with additional effect causing opt1 status when they have just terminated them (in short, you shouldn't be able to hit someone with, say, sleep, and then have the same skill cause them stun, since both are opt1 values). - Reading of TK Mission variables will now happen if you are a TK-class character regardless of whether you know TK_MISSION or not. Should fix being able to reset skills to reset your Mission data. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9537 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-20- Changed the script source from unsigned char* to const char*.FlavioJS1-4/+4
- Updated plugins Makefile. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9532 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-15- There will be now warnings printed when a shop sells an item which's buy ↵skotlex1-0/+5
price is 20z, since those usually are "rare" items with no buyying price set. Note that this reports one fake, and that is the selling of a certain shuriken that indeed costs 20z. - Most likely fixed client crash when xmas/wedding status runs out. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9505 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-12- Minor changes to ers.FlavioJS1-1/+1
- Removed unused/hardly used cbasetypes typedefs. - Updated txt-converter's makefile to include utils.o git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9473 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-12- Updated npc_event_dequeue to free up your current npc information, and not ↵skotlex1-2/+15
just the npc_id git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9472 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-11- Spirit of Sin and Enchant Deadly Poison now stack.skotlex1-1/+1
- Fixed skill damage card bonuses not working on magic skills. - Moved the setting of sd->npc_id = 0 in npc_dequeue to the beginning, since this function is called when a script is cancelled (TODO: but when this happens, shouldn't the previously ongoing script also be free'd?) - Made homunc's speed be recalculated when you respawn it from rest state. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9453 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-05- Massive EOL normalization & 'svn:eol-style native' flag setting for all ↵FlavioJS1-3084/+3084
txt/conf/h/c files. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9410 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-02- Fixed passive mobs becoming increasingly unlikely to retaliate to attacks ↵skotlex1-4/+0
after they got inflicted by a disabling status change. - Changed the "is_boss" define to check for mode MD_BOSS instead of giving mvp exp. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9384 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-12-01- Fixed txt-converter compilation. skotlex1-4/+1
- Added my_global.h include to login converter - Removed sd->char_id since we can use sd->status.char_id instead. - Small speedup in STRECOVERY, and made it not unlock a mob's target. - Fixed GS_GROUNDDRIFT consuming ammo when it's time expires (so it was consuming 2 grenades instead of one). Also added a "explosion effect" when their time runs out. - gvg_dungeon mapflag won't set pvp related mapflags anymore, pc_dead will force pvp ranking gain/loss on gvg_dungeon maps now. - Now when coming out of hiding land-effects will trigger on the character. - Made the pc_setpos message when being placed on an unwalkable tile tell you which player triggered it. - Fixed land effects not taking effect inmediately on map-load when the invincible timer is disabled. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9374 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29- Fixed the new npc parsing code not accounting for windows-style line ↵skotlex1-1/+1
terminators, which as a side effect messed up mapflag parsing if the file had windows-style terminators, which coincidentally was the case for the nopvp file, which unfortunately meant that all towns became pvp! git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9363 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-29- Now gvg_dungeon mapflag will activate the other mapflags which are ↵skotlex1-1/+4
required: pvp, pvp_nocalcrank and pvp_noparty/pvp_noguild (they are forced to off if gvg_dungeon is on and viceversa) - Cleaned the pvp ranking code so that it takes effect even if pvp_nocalcrank is active WHEN the map is a gvg_dungeon one. - Cleaned up a bit the pvp ranking timer code. - Now homuncs and their masters are the only ones who can use support skills on the homunc. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9360 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-28- Increased line buffer size when parsing scripts. Helps when trying to ↵skotlex1-20/+21
define pretty big shops. - Applied The Ultra Mage's patch to use strict npc header formatting parsing. Updated the relevant stock scripts/mapflags that didn't conform to the standard. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9352 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-14- Characters with Karma may fight amongst them anywhere.skotlex1-0/+6
- Added mapflags partylock and guildlock, which lock the state of the parties/guilds on said maps. partylock blocks user party requests to create/invite/leave/kick, while guildlock blocks user guild requests to create/invite/leave/expel/make alliance/make opposition/delete alliance/delete opposition/break git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9216 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-08- Moved the duel functions to pc.c since they are so totally out of place in ↵skotlex1-1/+1
atcommand.c - Fixed Spider Web not ending when hit by a fireelemental attack. - Cast-time reductions from status changes will not be executed until right before casting, to prevent status changes from ending when attempting to cast and the attempt fails (invalid cells, not enough sp, wrong target, etc, etc) - Added check to prevent Wand of Hermod from seeking for a partner to encore, since the partner is supposed to be the warp. - Moved the duel auto-reject on logout from map_quit to unit_free - Corrected the mob spawn reading code so that the event-name can be up to 50 characters long (which is the actual event length) and so that it can read spaces within them, it will also strip the leading/trailing quotes if you use them so that the event is actually found on mob-death (so you can do stuff like "My NPC::OnDead" as a valid event). - Moved the homunc inherit speed from the master from status_calc_pc to LoadEndAck, since the hom's speed matches that of the master each time the master changes maps. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9173 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-11-07- Fixed map_foreachiddb and map_foreachpc so they don't encapsulate the ↵skotlex1-4/+2
variable arguments into a double va_arg list. Thanks to the Ultra Mage for the tip. - Cleaned up the clif_hate/mob_info functions with the correct fields/usage as explained by Rayce. - Implemented clif_feel_hate_reset packet to properly display the Angel of the Sun/Moon/Stars, thanks again to Rayce for the relevant information. - LP will again block all land-stuff from being placed down on top of it for the exception of Song/Dance/Encores. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9162 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-30Fixed a little bug in event enqueue codetoms1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9102 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-27modified src/map/npc.cLance1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9085 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-27* Experimental tweak to npc_parse_function - Overwrite existing functions.Lance1-4/+11
modified Changelog-Trunk.txt modified src/map/npc.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9084 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-25- Cleaned up some more the event dequeue code, it will no longer clear out ↵skotlex1-36/+18
the npc_id if there's no events waiting to be executed (why does it clears the npc_id anyway?) - Because of possible conflicts with this change and the on-login script, now the on-login script is executed when the player has finished loading into their start-up map rather than as soon as receiving the registry variables from the char-server. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9073 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-25- Some cleaning of the pc_eventtimer and pc enqueue code, it should fix some ↵skotlex1-2/+2
memory leaks when the event counter does not matches with the actual number of queued timers during logout. - Minor typos, corrections, etc. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9072 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-19- Cleaned up the log.c file.skotlex1-2/+2
- 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://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9017 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-10-05- Added function npc_unload_duplicates(), it unloads all npcs that are a ↵skotlex1-0/+21
duplicate of the passed one. For use with @unloadnpc to prevent crashes when you unload the npc that has duplicates. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8939 54d463be-8e91-2dee-dedb-b68131a5f0ec