summaryrefslogtreecommitdiff
path: root/src/map/mob.c
AgeCommit message (Collapse)AuthorFilesLines
2009-05-03* Do not log damage if it's done by mob itself (bugreport:2933) [Inkfish]Inkfish1-0/+2
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13716 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-04-23Added length check to functions clif_parse_CreateChatRoom and ↵ultramage1-1/+0
clif_parse_ChatRoomStatusChange (bugreport:2999). This prevents a signed/unsigned integer overflow when calling the safestrncpy function. Also added a note regarding a potential out-of-bounds access issue in these functions. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13690 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-04-21- Now when the mob picks and attacks a player target, he is added to the ↵skotlex1-0/+3
"log" of attacked chars (counts for the total number of attackers bonus) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13685 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-04-11Inverted the way monster_ai 0x200 works, default is 0 again (followup to ↵ultramage1-1/+1
r13667). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13668 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-04-10- Set mob delay to a max of 24 hours so that mob_skill_db entries with huge ↵skotlex1-7/+10
delay values won't cause the skill to never trigger. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13666 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-04-06Modified the lazy mob AI code to fix some very annoying behavior ↵ultramage1-28/+13
(bugreport:2258) - mobs will no longer get scattered across the whole map as soon as the last player leaves - mobs will now random-walk indefinitely even if there are no players on the map (might have a performance impact) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13664 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-02-26- Fixed item Nemesis.zephyrus1-0/+45
- Fixed Tarot Card being used on Emperium. - First Part of BattleGround Implementation (please wait). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13550 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-02-23* Made mob_timer_delete check the deletetimer in the mob.FlavioJS1-7/+18
* Added missing delete_timer's every time deletetimer is being set. (except when allocating) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13544 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-02-23* Made mob_delayspawn check the spawn_timer in the mob.FlavioJS1-4/+24
* Added missing delete_timer's every time spawn_timer is being set. (except when allocating) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13543 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-01-29Fixed mob_spawn_dataset() not initializing the spawn_timer variable ↵ultramage1-0/+1
(followup to r13497). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13498 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-01-29- Fixed a little spawn_timer bug. Discovered with a previous fix from ↵zephyrus1-10/+8
ultramage and because of this spawn line: npc/mobs/fields/prontera.txt: prt_fild06,222,30,40,10 monster Green Plant 1080,15,900000,450000,1 This is an impossible spawn area, and the engine just keep trying each 5 seconds to spawn it again. So we need to fix this line with a correct spawn too. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13497 54d463be-8e91-2dee-dedb-b68131a5f0ec
2009-01-13Mobs with nonzero spawn time can now be cached as well, saving some more ↵ultramage1-1/+1
cpu/memory (bugreport:1197). Fixed dynamic mobs being unloaded without stopping their respawn timer. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13445 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-11-22* Hunted down improper uses of va_list variables.FlavioJS1-5/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13383 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-11-22* Hunted down the simpler 64bit pointer truncations.FlavioJS1-3/+3
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13380 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-11-10Added a check to make sure killed monster's level was greater than half of ↵Paradox924X1-1/+1
the mercenary owner's level before incrementing mercenary's killcount. (bugreport:2410) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13367 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-11-08Cleaned up mob_readskilldb() a bit (moved row processing to its own function).ultramage1-218/+248
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13359 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-10-10Slightly corrected the NPC_REBIRTH code from r13272.ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13274 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-10-09Updated NPC_REBIRTH. Has it's own values, and no longer leeches off SL_KAIZEL.L0ne_W0lf1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13272 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-10-06Damage count on rebirthed mobs is now reset. (Valaris)L0ne_W0lf1-0/+2
Changed exp_calc_type to 1, as type 0 seems to be based off old rumour, and to compliment the update to mob_revive. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13264 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-10- Full implementation of mercenary skills.zephyrus1-13/+12
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13203 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-01- Mercenary Bonus Status (currently activated each mob kill for testing).zephyrus1-2/+4
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13182 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-01- Mercenary Loyalty Updates.zephyrus1-5/+10
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13176 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-01Skip woe:se treasure boxes when counting max. item droprate (followup to ↵ultramage1-1/+1
r13156). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13172 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-31* More mercenary updates.zephyrus1-55/+72
- Implemented Mercenary Die, Damage, Run Away when master dies. - Log mercenary damage and gives exp to Master. - Some little bugs. * Fixed Bubble Gums effect works on mvp_sd not sd (according to Doddler). NOTE: Now you can summon a mercenary, make it attack (not skills), follow you even on map change. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13158 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-31- Limitations to WoE SE Treasures (no steal, drop rates, no class change).zephyrus1-6/+6
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13156 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-28Replaced the engrish ksprotection message with one provided by Itakou.ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13147 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-24- Mercenary Dismiss packet and some corrections.zephyrus1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13127 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-24- Moving all content of Homunculus code to a proper file Homunculus.c/hzephyrus1-1/+1
- Update of all project files. NOTE: All functions on homunculus.c should be renamed i think, to remove all the merc_*. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13122 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-20- Do not trigger event if killed by script at all.zephyrus1-11/+11
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13099 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-20- Removed my barricade implementation. Not required in WoE SE.zephyrus1-212/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13097 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-12Now using proper enum type for mob skill state tracking.ultramage1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13075 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-12Added updated client effects list.ultramage1-36/+42
Corrected some doc/npc typos. Reindented some mob AI code. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13074 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-10Some small code cleaningultramage1-1/+2
- removed unused create_storage() function - removed unused char_db mapserver config setting - adjusted formatting of mapserver config loading code git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13063 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-04- Killed mobs with NPC_REBIRTH skill used should not drop items again. ↵zephyrus1-37/+44
(Aegis test) - Monsters with SC_KAIZEL should not trigger event script until. - Monsters NPC_REBIRTH should not be casted if no source (killmonster script or @killmonster) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13047 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-31Removed the mob controller system, now a customization (see topic:194375).ultramage1-82/+3
The system consists of * script command to spawn a controlled mob * script commands to attach npcs to such mobs and manipulate their AI * a page of documentation for these commands * callbacks at various source code locations that invoke the attached npcs * two npc examples git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13021 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-30Removed the IRC bot system, now a customization (see topic:194306)ultramage1-4/+0
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13014 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-26Replaced occurences of '-1' with the more appropriate 'INVALID_TIMER' value ↵ultramage1-5/+5
where appropriate. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12998 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-26- Implemented official Convex Mirror (With help of Yomanda and Sirius White)zephyrus1-1/+2
- Fixed SC_WARN don't receiving reflecting damage (Bug Report 1854). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12997 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-05* Moved the mob killmonster flag to a more appropriate area. (bugreport:1795)sketchyphoenix1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12914 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-06-29- Added support to Cash Shop for script command callshopzephyrus1-8/+21
- Fixed a bug in OnTouchNPC - Cleanup in barricade code. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12896 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-06-22Added support for killmonster to fire OnMyMobDead optionally.sketchyphoenix1-1/+1
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12876 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-06-21* Fixed a bug where the "OnMyMobDead" event wouldn't trigger if the mob was ↵sketchyphoenix1-0/+3
killed and never attacked. (bugreport: 1725) * Reworded a comment in can_copy to make more sense. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12870 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-08- Added some new items and headgears.zephyrus1-50/+76
- Changed the way DEF Potion and MDEF potion works to official. - Cleanups to Barricade Engine. It now can be used in WoE 2.0, i will release optional scripts soon. - Fixes to @noks. Now if the mob is targeting someone else the protection get lost. - Added new status effects icons to cash items. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12693 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-07- Added function battle_attr_ratio to handle just getting the attribute ↵skotlex1-8/+1
table data. Fixes Sense messing up with elemental based statuses. - Added Throw tomahawk to the list of items that do not trigger the equipment breaking code. - Moved a bit around the SC_ start of dancing skills to fix Moonlight petals pushing back the casters. - Modified status_damage to handle SC_KAZIEL. The return value of *_dead functions can pass 8 to specify that kaziel should not be triggered (ie: pvp/gvg) - Infinite Endure won't be passed on to devoted characters. - Infinite Endure is no longer saved on logout. - Added check to avoid gms opening vending shops if they don't have the required level. - Moved around the Steel Body S. Novice code, simplified it so it triggers before most of the penalties (death is cancelled). - Fixed the flee penalty not applying when you walk into a gvg map. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12688 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-02* Changes to map_foreach* functions:FlavioJS1-3/+2
- removed the unecessary use of va_copy in map_foreachpc - applied the same function pattern to map_foreachmob and map_foreachiddb - created map_foreachnpc - extended the behaviour of map_foreach* functions to stop iterating when func returns -1 (also added missing changelog entries from ultramage >.>) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12684 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-02Replaced the very ineffective clif_foreachclient() with map_foreachpc() ↵ultramage1-1/+1
since they essentially do the same thing (bugreport:1174). Rewrote map_foreachpc() so that its callback function signature now uses a more natural 'sd' instead of a DBKey/void* pair. Rewrote atcommand_users() to use a single function, instead of depending on two helper functions and global objects. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12683 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-01Replaced the integers+checking approach in r12679 with usage of floating ↵ultramage1-6/+6
point arithmetic. Applied search&replace to use the new name of the function. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12680 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-01Implemented get_percentage() for compact and safe calculation of percentual ↵ultramage1-6/+6
values. Fixed integer arithmetic overflows that were occuring in several supernovice checks (bugreport:1135). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12679 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-27Cleaning up the itemdb reload mess (see r12635, r12643, r12650, r12661, ↵ultramage1-0/+5
r12662, r12663) * the player data inventory-itemdb index is now refreshed using pc_setinventorydata() * mobdb will no longer initialize with nonexistent items, and mobs will no longer drop them in case of a reload * the clif_buylist() function once again hides invalid npc shop items * it is no longer possible to purchase nonexistent items from a npc shop * npc shop loading will not abort if there is a nonexistent item entry, it will just skip over it git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12665 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-21* Changed the data field of timers from int to intptr.FlavioJS1-12/+12
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12633 54d463be-8e91-2dee-dedb-b68131a5f0ec