summaryrefslogtreecommitdiff
path: root/src/map/npc.c
AgeCommit message (Collapse)AuthorFilesLines
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
2006-10-02- Renamed nopenalty mapflag to noexppenalty. Using nopenalty will turn ↵skotlex1-1/+5
on/off both noexppenalty and nozenypenalty now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8915 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-18- Reloading scripts will no longer eliminate mobs with no respawn data. ↵skotlex1-13/+7
Watch out for duplicating Treasure Boxes? - Some cleaning of npc_final - Made speed_add_rate a linearly stacking increase. - Corrected a possible overflow when using show_mob_info to display the mob's up as a percent. - Corrected the documentation for checkoption/checkoption1/checkoption2 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8792 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-13- Modified the nocommand mapflag so you can specify the GM range that is ↵skotlex1-1/+7
blocked from using commands (eg: "prontera.gat mapflag nocommand 40" disables commands to characters in the GM range 0~39) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8733 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-09- Fixed a npc-timer memory leak on npc_unload ("[Warning]: ers_obj_destroy: ↵skotlex1-1/+6
X entries missing, continuing destruction. Manager for entries of size 16.") git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8686 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-05- Corrected SC_INTRAVISION not starting.skotlex1-1/+0
- Small cleanups (line terminators, indenting) - Fixed crash when attempting to read a Label as a string on a script (thanks to End of Exam) - Fixed possible crash when changing a chat-room's owner (thanks to End of Exam) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8639 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-09-01The duplicate npc report will now print the related file nametoms1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8582 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-28- The memory leak reports will now print out in the logs also the revision ↵skotlex1-0/+21
they belong to. - Cleaned up the scriptable npc-shop code, it should be crash-proof now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8525 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-27* Optional macro MEMSET_TURBO for faster low-level memory initializations.Lance1-9/+9
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8499 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-18- Changed unit_free so that it receives which cleartype should be used when ↵skotlex1-1/+1
the character is still on a map. Used this on status_damage so that mobs that do not respawn when killed will properly display the death animation. - Should have fixed the signed/unsigned comparison warnings in the main regen function. - Fixed Energy Coat consuming 10x less SP per hit than it should. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8339 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-07- Cleaned some of mpeg's updated work.skotlex1-4/+5
- Fixed HT_BLITZBEAT hitting neutral characters when it auto-triggers. - Simplified the Tatami Gaeshi code. - Fixed AS_SPLASHER doing full damage on everyone except targetted char instead of the other way around. - Fixed KAENSIN clearing out SUITON cells and viceversa. - The spawn area is now seen as range rather than absolute for mob spawn lines. This means that x,y,10,10 will spawn the mob on a 21x21 grid around the given x,y point. - Some clean up of the mob-spawn code. Now you can specify negative areas, so that a spawn location such as 100,150,0,-1 will spawn a mob always on x=100, but any Y value of the current map. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8165 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-07- Adjusted Battle_check_target so that alchemist summoned mobs are targetted ↵skotlex1-0/+5
by everyone as long as 1. The top-level master is a player and 2. the actual attacker is not a mob-type. - Added config force_random_spawn which overrides the spawn-files defined coordinates to make all mobs always spawn randomly on the map. - SC_SPEEDUP0 is no longer dispellable by SA_DISPEL git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8159 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-04- Removed settings enemy_critical_rate, homun_critical_rate. Added settings ↵skotlex1-4/+3
enable_critical (defaults to specify only players), mob_critical_rate and critical_rate. The last applies to all non-mobs and non-players (battle/battle.conf) - Removed settings mob_npc_warp, mob_warpportal. Replaced with setting mob_warp which specifies which types of warp can a mob step into (battle/monster.conf) - Updated status_calc_misc so that it also handles the BL_PC case, removed redundant info from status_calc_pc, and moving the SNovice Max Hp bonus to status_base_pc_maxhp git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8135 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-08-04- Enabled Mastery damage on Soul Breaker again, moved adv katar mastery out ↵skotlex1-2/+2
of the mastery function so that it may apply to all skills except Soul Breaker. - Changed name of the setting log_pick to log_filter since that's what it does now. - Modified enable_logs so that instead of a 0/1 setting, you can specify which kind of events to log (so you can use a combination), see log_athena for the bitmask configuration. - Cleaned a bit the contents of log_athena.conf git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8129 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-28- Fixed a memory leak when there exists more than one user function with the ↵skotlex1-5/+11
same name, added the appropiate warning when this happens. - Added reporting source file when an npc shops item's price is exploitable. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7935 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-28- The picklog will now record negative values for items sold to npcs.skotlex1-1/+1
- Added inmediate position and hp-bar update when a character joins a party. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7934 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-27- Synced the script.c file with as much data as possible from jA's:skotlex1-18/+15
- A lot of functions were moved around, a bunch of indentation and space-usage changes were done to make it easier to diff against their files. - Miscellanous addition and corrections were applied. - Largest one is likely a restructuring of run_script_main, which hopes to solve the memory leaks. - script engine now uses the setjmp functions to restore memory state when there's an error parsing scripts, which means that script errors won't cause the map-server to inmediately bail out anymore. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7926 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-27- Changed npc_click declaration to receive an npc structure rather than a ↵skotlex1-16/+8
generic block-list one. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7925 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-25- Added a check when buying from npcs to allow buying of item_avail items.skotlex1-1/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7883 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-19- When enabling/disabling hiding/unhiding an npc, if the npc is a warp, it ↵skotlex1-8/+13
will use clearchar and spawn packets instead of changeoption. Thanks to Toms for the fix. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7746 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-12- Fixed inverted check which was preventing you from buying more than 1 from ↵skotlex1-1/+1
any stackable item.... git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7627 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-07-11- Coded @reset.skotlex1-1/+1
- Reenabled @changesex - Added function pet_create_egg which handles creating pet eggs correctly (when passed item id is indeed a valid petegg). Applied this on @createitem and getitem. - Cleaned up code of @item - Added define UNKNOWN_ITEM_ID (512 = apple) - Added IT_* enumation item_Types to identify said data from items. - Cleaned up the itemdb_isequip functions. itemdb_isequip will now return if the item is equipable by players, itemdb_isstackable returns if the item can be stacked, and itemdb_isidentified returns if the item should drop identified. - Added defines CARD0_PET/CARD0_FORGE/CARD0_CREATED to identify if a given item has "invalid" cards, added define function itemdb_isspecial to simplify this check. - Removed itemdb.c considering item ids above 20000 as invalid. - Cleaned up script commands getitem and card-counting related ones. - Cleaned up a bit more pc_isequip git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7613 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-30- Added mapflag "nochat" to prevent chatting rooms from being created.skotlex1-0/+3
- Corrected some of the sleep checks when the char id does not matches with the char-id expected by the script engine. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7423 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-29* [Fixed] Lance1-7/+5
- Scripting system screwing up script position after mixing timers with menus. - NPC attached AI mobs display as alive when dead. - View data not updating after buildin_unitdeadsit. [Improved] - NPCE_LOADMAP to execute after all (area) objects are sent to the player. - Simplified scripting system. sd will now use pointer to the script state itself. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7388 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-27- Fixed indentation on int_pet.c (how did it got messed up?)skotlex1-0/+4
- Added mapflag "loadevent", now load-map script events will ONLY trigger on maps with this mapflag on, rather than every map. - High Jump can now be used in all versus maps. - Added Kaite's opt3 value, taken from jA - Added state dirty == 2 to storages. Signals when a storage was sent for final saving. Said storage is removed from memory after the ack from the char-server, and they are sent to save if the map/char servers reconnect before the act arrives. In short: they are guaranteed to be saved after a char logs out. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7358 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-24* [Optimized]: Lance1-2/+2
- Setting of variables with defined scope in some frequently executed script events. * [Added]: - Missing script_require_trigger flags for some power hungry events. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7325 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-23- Added pc_bonus_autospell_del, gives support for removing autospell ↵skotlex1-4/+6
effects. When a negative rate is specified, it will decrease the chance of casting (eg: You have two different cards with autospell Heal +20% each, then do autospell -30. The second card will be cancelled, and the first one will become Heal +10%) - npc_timers now will not restore the previous timer data when there's no players attached (when it's strictly an npc timer). This should reenable the old behaviour of getnpctimer returning the total ellapsed time since "startnpctimer" even after the last label has been reached. However, this behaviour won't apply to player-attached timers. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7312 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-18* [Removed]: Lance1-7/+0
- Large part of scripted mob control commands are removed. - Large part of scripted player control commands are removed. - Scripted mob slaves changing master ID. [Added]: - Unit control commands. - CALLBACK_NPCCLICK for scripted mobs, added this to db/const.txt too. - Macro RECURSIVE_MASTER_CHECK in battle.c [Modified]: - buildin_skilluseid and buildin_skillusepos -> buildin_unitskilluseid and buildin_unitskillusepos. - md->callback_flag to short (double word). [Lance] git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7233 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-17* [Added]: Lance1-0/+1
- buildin_checkcell, buildin_mobwarp, buildin_pcattack. * [Improved]: - buildin_skilluseid and buildin_skillusepos to accept a few more arguments. - mob_script_callback to return sucess value. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7219 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-16* [Fixed]: Lance1-1/+2
- intif_parse_RenamePetOk for not compatible with ANSI-C initialzation specification. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7199 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-14- A quick fix for lazy scripters -_- sheeshLance1-11/+11
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7154 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-14* [Improved]: Lance1-1/+6
- npc_parse_script to show information and remove duplicated NPCs. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7148 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-12- Fixed npc_checknear's distance check returning the opposite of what it ↵skotlex1-2/+2
should (false when the range is correct and viceversa) - SL_STIN/SL_STUN have dex-reducable casting times now. - Added a warning on item loading when an item is of equippable type but has no equippable position. - Turning an alliance to an opposition won't work now during WoE - Slaves can summon other mobs now. The only ones who can't do this are player summoned mobs. - Merged the following functions for faster processing of items: clif_storageitemlist + clif_storageequiplist = clif_storagelist clif_guildstorageitemlist + clif_guildstorageequiplist = clif_guildstoragelist clif_itemlist + clif_equiplist = clif_inventorylist - Increased max knockback value support to 25. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7109 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-12- Made guild member exp an unsigned int.skotlex1-84/+68
- Modified npc_click to receive the bl that was clicked directly. Also cleaned it up so it isn't as easy to crash the server with invalid ids <.< - Moved npc_checknear to npc_checknear2 and added npc_checknear. The near version receives a bl, checks it's validity, and returns a TBL_NPC object, near2 does the same but doesn't checks for type NPC. The first returns a pointer, the second returns 1 on fail, 0 success. - Also uncommented various npc_checknear calls in the code, who's idea was to comment them out so you could exploit npcs from afar with custom packets? - Added overflow checks for bonus settings mdef_rate/def_rate. - Added missing update of INT after a buf. - Small cleanup of how SC_BLEEDING works. - Fixed party_foreach_samemap invoking the function on the CASTER instead of on the party members. - Added clif_parse_ActionRequest_sub to handle player commands, is used from npc_click or any other function that needs to "re-route" a player's request. - Modified clif_parse_NpcClicked to handle the different situations with different bl-objects (attack on players/mobs, click on npcs or mobs with npc attached) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7103 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-10* [Improved]: Lance1-3/+35
- npc_click interception on BL_MOB and BL_PC to let sd act accordingly. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7079 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-08- Updated mob_npc_warp to a three-state config switch. 0 disables. 1 enable ↵skotlex1-0/+4
only on warps that don't lead to nobranch maps. 2 - enable on all warps. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7048 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-07- Added config setting mob_npc_warp, when set to yes, enables mobs to be ↵skotlex1-0/+29
warped between maps when stepping on a npc-warp. - Added monster_ai setting &64, when enabled makes a mob run to any nearby npc-warp when their current target has switched maps. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7039 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-07- Added pc_calcexp to calculate individual exp bonuses acquired from exp's ↵skotlex1-2/+2
source (race bonus cards, SG Exp skills, pk-mode higher level exp) - pc_gain_exp now also receives the source of the exp, when said source exists, bonuses are applicated as needed. - Added status_kill when capturing a mob, should take care of the mob not respawning after caputed. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7037 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-02- Uncommented the npc_debug_warps code.. oops.skotlex1-2/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6930 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-02- Altered status_calc_pc so that equipment scripts are ran before card-scripts.skotlex1-2/+2
- Fixed pc_bonus to not underflow/overflow when adjusting def/mdef. - These two together, should fix Tao Gunka Card. - npc_debug_warps() will now be invoked if warp_point_debug is set. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6925 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-06-02[Fixed] Lance1-2/+2
- Yet another compilation warning. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6924 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-31[Fixed]: Lance1-0/+1
- Incorrect SQL syntax in login.c (missing collumn) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6892 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-31[Fixed]: Lance1-1/+1
- Compile warnings/errors git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6878 54d463be-8e91-2dee-dedb-b68131a5f0ec
2006-05-31git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6876 ↵Lance1-0/+2
54d463be-8e91-2dee-dedb-b68131a5f0ec