528 Commits

Author SHA1 Message Date
ultramage
494f00e4fb Slightly corrected the NPC_REBIRTH code from r13272.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13274 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-10-10 10:06:05 +00:00
L0ne_W0lf
5f19f788b4 Updated NPC_REBIRTH. Has it's own values, and no longer leeches off SL_KAIZEL.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13272 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-10-09 17:21:32 +00:00
L0ne_W0lf
7536205e10 Damage count on rebirthed mobs is now reset. (Valaris)
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://svn.code.sf.net/p/rathena/svn/trunk@13264 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-10-06 20:17:26 +00:00
zephyrus
2513d01bee - Full implementation of mercenary skills.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13203 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-10 14:30:25 +00:00
zephyrus
3d3946138a - Mercenary Bonus Status (currently activated each mob kill for testing).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13182 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-01 19:23:57 +00:00
zephyrus
8752909a84 - Mercenary Loyalty Updates.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13176 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-01 12:53:43 +00:00
ultramage
17319aac50 Skip woe:se treasure boxes when counting max. item droprate (followup to r13156).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13172 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-01 08:34:42 +00:00
zephyrus
908c3d2e86 * More mercenary updates.
- 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://svn.code.sf.net/p/rathena/svn/trunk@13158 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-31 18:37:00 +00:00
zephyrus
5aa3858e9a - Limitations to WoE SE Treasures (no steal, drop rates, no class change).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13156 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-31 11:00:32 +00:00
ultramage
22c79e2098 Replaced the engrish ksprotection message with one provided by Itakou.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13147 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-28 04:02:39 +00:00
zephyrus
62c214e0f2 - Mercenary Dismiss packet and some corrections.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13127 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-24 23:26:14 +00:00
zephyrus
c5cc2257d3 - Moving all content of Homunculus code to a proper file Homunculus.c/h
- 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://svn.code.sf.net/p/rathena/svn/trunk@13122 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-24 15:00:26 +00:00
zephyrus
1c9ed48637 - Do not trigger event if killed by script at all.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13099 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-20 19:48:35 +00:00
zephyrus
6b6ef43c4b - Removed my barricade implementation. Not required in WoE SE.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13097 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-20 19:40:53 +00:00
ultramage
df470032f9 Now using proper enum type for mob skill state tracking.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13075 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-12 05:58:58 +00:00
ultramage
a9a32d2da8 Added updated client effects list.
Corrected some doc/npc typos.
Reindented some mob AI code.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13074 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-12 05:45:35 +00:00
ultramage
fb0a123f7a Some small code cleaning
- removed unused create_storage() function
- removed unused char_db mapserver config setting
- adjusted formatting of mapserver config loading code

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13063 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-10 08:08:59 +00:00
zephyrus
b19fbe57bc - Killed mobs with NPC_REBIRTH skill used should not drop items again. (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://svn.code.sf.net/p/rathena/svn/trunk@13047 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-04 21:44:43 +00:00
ultramage
115c5b6896 Removed the mob controller system, now a customization (see topic:194375).
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://svn.code.sf.net/p/rathena/svn/trunk@13021 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-31 05:37:40 +00:00
ultramage
54dc1c0f1a Removed the IRC bot system, now a customization (see topic:194306)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13014 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-30 02:24:04 +00:00
ultramage
6c8cf8d611 Replaced occurences of '-1' with the more appropriate 'INVALID_TIMER' value where appropriate.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12998 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-26 14:22:28 +00:00
zephyrus
d48a482180 - Implemented official Convex Mirror (With help of Yomanda and Sirius White)
- Fixed SC_WARN don't receiving reflecting damage (Bug Report 1854).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12997 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-26 11:13:39 +00:00
sketchyphoenix
263261d9f6 * Moved the mob killmonster flag to a more appropriate area. (bugreport:1795)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12914 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-05 07:54:53 +00:00
zephyrus
fc312a5088 - Added support to Cash Shop for script command callshop
- Fixed a bug in OnTouchNPC
- Cleanup in barricade code.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12896 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-06-29 15:16:51 +00:00
sketchyphoenix
d218e11636 Added support for killmonster to fire OnMyMobDead optionally.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12876 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-06-22 14:22:08 +00:00
sketchyphoenix
e25af12edf * Fixed a bug where the "OnMyMobDead" event wouldn't trigger if the mob was killed and never attacked. (bugreport: 1725)
* Reworded a comment in can_copy to make more sense.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12870 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-06-21 20:45:40 +00:00
zephyrus
31320fcc9d - Added some new items and headgears.
- 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://svn.code.sf.net/p/rathena/svn/trunk@12693 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-08 16:58:57 +00:00
skotlex
247996b40e - Added function battle_attr_ratio to handle just getting the attribute 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://svn.code.sf.net/p/rathena/svn/trunk@12688 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-07 18:46:21 +00:00
FlavioJS
1be6ba4a63 * Changes to map_foreach* functions:
- 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://svn.code.sf.net/p/rathena/svn/trunk@12684 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-02 17:14:00 +00:00
ultramage
62cc01866b Replaced the very ineffective clif_foreachclient() with map_foreachpc() 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://svn.code.sf.net/p/rathena/svn/trunk@12683 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-02 15:08:14 +00:00
ultramage
6559c24882 Replaced the integers+checking approach in r12679 with usage of floating point arithmetic.
Applied search&replace to use the new name of the function.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12680 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-01 13:56:24 +00:00
ultramage
d5775e7e11 Implemented get_percentage() for compact and safe calculation of percentual values.
Fixed integer arithmetic overflows that were occuring in several supernovice checks (bugreport:1135).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12679 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-05-01 12:14:06 +00:00
ultramage
7a9a3a12bb Cleaning up the itemdb reload mess (see r12635, r12643, r12650, r12661, 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://svn.code.sf.net/p/rathena/svn/trunk@12665 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-27 11:06:55 +00:00
FlavioJS
c880052f0f * Changed the data field of timers from int to intptr.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12633 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-21 21:34:31 +00:00
ultramage
9609149c15 * Corrected some invalid syntax in skill_db.txt (wrong usage of commas)
* Renamed BA_FROSTJOKE to BA_FROSTJOKER (aegis server-side name)
 * Implemented a generic framework for parsing delimited db files (allows specifying min/max column ranges and max number of rows to read)
 * Corrected a typo in quest_update_objective()
 * Cleaned up pc.c a bit

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12599 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-15 13:49:40 +00:00
ultramage
2854052b97 Full revert of r12402, could be the cause of mob respawn problems (followup to r12512)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12534 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-08 12:49:19 +00:00
FlavioJS
cd1f48cc9e * Made script command 'flagemblem' and guild_emblem_change send an update of the emblem_id to the players in the area.
- known bug: ui components that are displaying the emblem at the time (emblem in flag npc and emblem over head in gvg maps) are not updated, but putting the mouse over the target shows the new emblem
* Modified script command 'guardian':
- returns the id of the guardian
- if guardian index isn't supplied, it generates a temporary guardian
* Implemented support for temporary guardians (not saved with castle).
* Added missing includes from r12520.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12525 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-07 21:04:28 +00:00
ultramage
8509bea301 Improved the Mental Sensing fix from r12507 to not start the status at all, instead of starting it and ignoring it later on.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12519 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-07 08:56:54 +00:00
Kevin
d9c9d9b3f8 NVM on last fix (r12510).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12511 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-06 23:33:50 +00:00
Kevin
38a6ab6dbf Changed Mental Vision fix (r12507) to check for mexp rather then the boss flag (so as not to include mini bosses).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12510 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-06 23:27:46 +00:00
Kevin
eda5b50aa1 Mind Sensing no longer gives an xp bonus on bosses. (bugreport:1282)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12507 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-04-06 19:15:15 +00:00
ultramage
94943b2b6a Adjusted eAthena code to compile cleanly in C++ mode.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12436 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-26 10:37:45 +00:00
ultramage
49f1f4434d * Reorganized the contents of the mapserver's header files.
- map.h is no longer a generic dumping spot of all the shared structs, and instead, each such structure now resides in its logical component
- map.h now only holds mostly map-related things (needs more cleaning)
- there's still a lot of room for improvement (reorganization within individual header files, etc...)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12429 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-24 21:20:48 +00:00
zephyrus
7899dc8e4f - Added status changes for netcafe premium items. Status Resist Potion and SP Reduction Potion.
* More Barricade stuff:
- Changed the way "Dir" works. Now it's just like NPC dir definition (from 0 to 7).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12414 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-21 17:12:52 +00:00
zephyrus
fb7daea244 - Added SC_ARMOR_RESIST, used by Undead Scroll, gives you resistance against elements and it's can be used with Resist Potions.
- SC_ARMOR_RESIST and SC_BENEDICTIO ends if you change your armor. Tested on iRO.
- If you call SC_ELEMENTALCHANGE with val3 = 1 it will use the level in val 1, and not a random value.
* Barricades:
- Fixed a bug when @reloadscript. Barricades should be destroyed too.
- Unbreakable barricades are only wall type (not shootable) According to Doddler info.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12407 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-20 20:56:55 +00:00
ultramage
3d6f2af01c Changed the dynamic mobs system to also unload mobs that have respawn time but are already spawned - 22M less mem usage (bugreport:1197).
Also added a check to not respawn mobs on maps with no players (potentially unsafe operation, needs further inspection).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12402 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-19 22:02:26 +00:00
ultramage
27f2a37fc4 Fixed OnPCLoginEvent not working correctly (bugreport:1182).
Cleaned up some code typos/engrish.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12391 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-18 08:44:27 +00:00
ultramage
675eab189e Fixed spawned mob count not being counted properly, causing yet more respawn problems.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12364 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-14 22:59:13 +00:00
ultramage
f6d2d9a360 Replaced some foreach-based functions by their inlined iterator equivalents.
Changed the dynamic mobs system, so that the flag that indicates whether a particular mob can be unloaded is stored in the mob's respawn data structure.
Cleaned up related parts of the source code.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12358 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-13 22:09:58 +00:00
zephyrus
0588524caa - Added a fix for Abracadabra, this skills allways should use minimum a Yellow Gem.
- Added some code "suggestion" to handle the new Barricades, please test it with:
- @barricade <x> <y> <size> <direction> <killable> <Event Name>
- @killbarricade <Event Name>
- If x and y are -1, it will use your current position.
- Direction 0 Vertical 1 Horizontal.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12352 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-03-13 04:03:37 +00:00