113 Commits

Author SHA1 Message Date
zephyrus
3fd4ec074a - Something i forget to commit mmo.h.
- Preparatives for Faith/Calls/Kills for mercenaries.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13167 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-09-01 00:45:56 +00:00
zephyrus
6a1de57730 - A proper mercenary lifetime calculation.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13165 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-31 22:56:05 +00:00
zephyrus
f0439c9f56 - Implemented script commands for mercenary items (mercenary_heal and mercenary_sc_start).
- Fixed a bug crashing server with mercenary.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13159 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-31 21:05:35 +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
ultramage
c9b246393c Added mercenary code (it should have been done this way in r13122).
Removed 2 unused variables in homunculus code.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13137 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-26 05:11:58 +00:00
ultramage
cbcc989ab9 Renamed files of 'mercenary' to 'homunculus'.
Applied relevant changes that were reverted (relevant = not unneccessary whitespace changes).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13136 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-26 05:03:19 +00:00
ultramage
d4bcc0a143 Reverted all mercenary changes to mapserver homunculus code
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13135 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-26 04:50:15 +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
5df63da5e7 - Implemented Mercenary Scrolls (item_db)
- There are some little problems, like remaining time going to 0, but you can summon it, make it walk, follow you.
- Feel free to test it.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13126 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-24 22:45:32 +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
d650043597 - Implemented unit_calc_pos (copy from pet_calc_pos) to implement it on Mercenary/Homunculus and don't use x,y-1 always.
- Implemented Mercenary walk to master (same packet as Homunculus).
- Starting work on Stats but i will need lot of help.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13121 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-24 13:33:36 +00:00
zephyrus
399efe15bd - Completed Mercenary Create, Delete, Save. Tests OK.
- Incremented MAX_SKILL required for a proper load of Mercenary Skills.
- Some fixes.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13118 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-23 19:08:54 +00:00
zephyrus
1204fd49db - Mercenary Packets (Server to Client). Still need a little more info.
- Packet for Mercenary Menu.
- Some other progress as creation but need more code.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13116 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-23 13:09:50 +00:00
zephyrus
4ca3bd6ce3 - Mercenary data structures.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13110 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-22 18:53:11 +00:00
zephyrus
bc00263633 - Mercenary Database Reading.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13109 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-08-22 15:14:07 +00:00
ultramage
582c36c11e Renamed struct 'skill' to 's_skill' to remove naming collisions.
Added defines for mercenary skill ranges.
Added a mapping of mercenary skills to the skill db (700-799 atm).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13012 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-07-29 08:19:07 +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
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
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
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
skotlex
9c638fa6b2 - Added status_calc_life to properly calculate hp/max_hp as a ratio taking into accounts overflows (and for now also avoids divisions by 0). Applied this function around clif.c, mob.c and pet.c
- Implemented the correct walk-speed bonus from the Bard/Dancer spirit.
- Added a few error messages in case something goes wrong in the new auth db system.
- Fixed logarithmic drops turning 0% drop rates into 100%.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12225 54d463be-8e91-2dee-dedb-b68131a5f0ec
2008-02-21 10:36:26 +00:00
skotlex
ace81763bc - removed redundant clif_hominfo line in merc_hom_dead (it was sent already from hom_damage)
- Item usage is now blocked while hidden.
- Moved the bladestop/berserk check from clif_parse_EquipItem to pc_equipitem


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11942 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-18 15:01:18 +00:00
ultramage
2b186ae7b8 Fixed some minor inconsistencies in homunculus packets, in an attempt to make the lvl99 aura show to owner onSpawn.
Still doesn't work as there appears to be a complex packet order dependency...

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11851 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-12-02 16:29:37 +00:00
skotlex
6840bb28ab - Moved subtype from struct block_list to struct npc_data.
- Fixed some compilation warnings.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11772 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-21 13:29:45 +00:00
ultramage
5f3c387a37 * Homunculi now reset their can-act delay on call/resurrect/mapchange (allows bypassing delays by doing rest/call instead of relog) [ultramage]
* Changed Lif's Emergency Avoid to just get a normal skill delay (blocks all skills, cancelled by mapchange / re-summon) instead of getting a persistent block on only this one skill (bugreport:13)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11766 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-21 08:44:08 +00:00
ultramage
560005b13e Removed battle_config.error_log as console_silent already handles this
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11751 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-17 20:51:25 +00:00
ultramage
b5cf6976a2 Fixed some homunculus skill offset calculation mistakes (bugreport:363)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11731 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-11-14 09:31:47 +00:00
ultramage
d2b9e2498e Some code cleaning...
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11505 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-18 08:04:53 +00:00
skotlex
1e999c8051 - cleaned up homshuffle and fixed a possible crash in it.
- Updated the skill_delayfix function to behave as recently discovered by Tharis: Skills with no delay set will use amotion ONLY if the skill was instant-casted.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11433 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-12 22:48:56 +00:00
FlavioJS
f808f37ec1 * Delayed the check for required items when a skill is cast to when they are consumed. Now skills only fail due to lack of items after being cast.
- Please make a bug report if you know of any skill that doesn't work like this in official.
* Fixed hp of other party members not being sent when you join a party.
* Removed unused global array names_id and renamed some structures that are used with variables of the same name.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11384 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-08 21:39:57 +00:00
zephyrus
383f017009 * Moved the homunculus shuffle code to mercenary.c, fixing the bug in the atcommand not using the bonus evolution stats for homunculus.
* Added a new script command "homshuffle" to reset the homunculus stats using NPC.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11350 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-10-03 21:47:47 +00:00
skotlex
d25b5ad103 - Cleaned up a bit the homunculus evolution code, and fixed homevolution allowing the homunc to 're-evolve' even though it was already evolved.
- Optimized a bit the skillheal code in regards to Apple of Idun and Sanctuary


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11090 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-30 04:39:59 +00:00
ultramage
3417441a6f Fixed a rare crash concerning invalid homunculus data and one NULL-pointer.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11075 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-24 19:38:38 +00:00
ultramage
0072a0189e * Cleaned/clarified some #include relationships between headers
* Changed clif_sitting() to use 'bl' instead of 'sd' (for non-player objects)
* Removed way messed-up script function 'unitdeadsit'
* Tagged 'FIXME' lines written by myself

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@11040 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-19 12:55:29 +00:00
skotlex
52ed64546e - Changed the structure of the homunculus_db file so that the homunculus and its evolved version share the same line. Also added the evolution bonuses to it.
- Updated the @homstats command to show evolution bonuses
- Cleaned up the homunculus db structure.
- Implemented the evolution stat growth bonuses.
- Some small cleanups in the mercenary.c file
- Corrected initial intimacy of a newly created homunculus (should be 21/1000)
- Incremented the size of mob.c:summon.class_[] since mob_pouch has almost 350 entries.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10965 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-08-08 20:56:11 +00:00
ultramage
0236557286 Made Homunculus Resurrection only fail on cast-end (see topic:155223)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10845 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-07-03 16:32:42 +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
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
028031a4da - Corrected the login TXT server not initializing the waiting_disconnect variable.
- Corrected the attack_attr_none check being backwards.
- All pets can now move regardless of their Mob counter part setting.
- Added hom_setting&0x40, when set it clears the "can't reuse" skill delay when you vaporize a homunculus (set by default).


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10120 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-04-02 14:19:55 +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
ultramage
49096125fb Applied a consistent look to all header files (copyright, ifdefs)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9891 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-21 15:09:20 +00:00
ultramage
148f3fca88 Cleaning up of the socket code
- Shuffled includes around for files that were leeching off of socket.h
- Added code that enforces standard shutdown behavior for sockets

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9817 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-02-07 19:34:54 +00:00
skotlex
b55b492943 - Moved the pet rename code from int_pet.c to inter.c and normalized it so it can be used for any object.
- Made homunculus renaming go through the char-server so it can be validated against the allowed characters setting.
- Added battle config hom_rename so you can enable renaming multiple times your homunc.
- Updated the hardcoded defaults for gvg-damage to what they should be.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9720 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-27 00:31:29 +00:00
skotlex
142ca645f7 - Cleaned the initializing for in the hom viewdata to make it overflow-proof.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9700 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-23 17:49:49 +00:00
skotlex
da11e41ed4 - Added view_data support to mercenary.*, so that the Homunculus entries are no longer required on the mob_db.
- Removed homunculus entries from mob_db.
- Added the status icon to NPC_CHANGEUNDEAD and the Flee/Hit foods
- Corrected the check that lets you walk when vending/chatting/etc.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9697 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-23 14:08:34 +00:00
skotlex
fa2d2ced6e - Updated merc_reset_stats to handle resetting skill tree and points as well.
- Updated @homshuffle so that the skill tree and current skill points are not messed up.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9678 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-20 08:14:40 +00:00
skotlex
ae58a47909 - Modified the Storm Gust freeze counter code. It now takes into consideration the ID of the skill before increasing the counter, which should effectively yield the closest aproximation to official (even though the counter will reset if you step out of a SG and into another one, we do not know yet what should happen in such a case).
- Added @homshuffle. It recalculates the homunculus stats, as if the homunc was sent back to level 1, and then releveled. This command is mean to help fix those previously created Homunculus that are much stronger than they should be.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9671 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-18 19:30:22 +00:00
skotlex
ed5678ed7d - Corrected atcommand @homstats so it shows the correct minimum/maximum possible values.
- Simplified the hom level up function, now decimal stats are no longer stored. This should correct eA's homunculus on average being much stronger than Aegis's.
- Modified the homun db read code so it forces the "max" value to be higher than the "min".
- Cleaned up pc_allskillup, @allskills should work correctly now.


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9664 54d463be-8e91-2dee-dedb-b68131a5f0ec
2007-01-17 14:16:11 +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