diff options
author | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-04-20 18:05:14 +0000 |
---|---|---|
committer | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-04-20 18:05:14 +0000 |
commit | 92249d9f8e219916670589ba6c5f9fce47808ed8 (patch) | |
tree | 0d1b0aa06c3490b3dbf7140bebd8bda126bfd65e /src/map/pc.c | |
parent | 1b3bd9ff1725a68d66fd4015c60d6fe28e4b2334 (diff) | |
download | hercules-92249d9f8e219916670589ba6c5f9fce47808ed8.tar.gz hercules-92249d9f8e219916670589ba6c5f9fce47808ed8.tar.bz2 hercules-92249d9f8e219916670589ba6c5f9fce47808ed8.tar.xz hercules-92249d9f8e219916670589ba6c5f9fce47808ed8.zip |
Initial support for Genetic, Sorcerer and Elemental Summons. Special Thanks to 3CeAM for the base.
Notice this revision onwards requires you to update your char sql table and add the elemental sql table (check sql-files/upgrade_svn15885_log.sql)
If you step by any bugs, let us know at http://rathena.org/board/tracker/ Thank you very much.
ARRIBA ARRIBA.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15885 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 9e548b038..7a0fc67fa 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -29,6 +29,7 @@ #include "homunculus.h" #include "instance.h" #include "mercenary.h" +#include "elemental.h" #include "npc.h" // fake_nd #include "pet.h" // pet_unlocktarget() #include "party.h" // party_search() @@ -1213,7 +1214,9 @@ int pc_reg_received(struct map_session_data *sd) intif_homunculus_requestload(sd->status.account_id, sd->status.hom_id); if( sd->status.mer_id > 0 ) intif_mercenary_request(sd->status.mer_id, sd->status.char_id); - + if( sd->status.ele_id > 0 ) + intif_elemental_request(sd->status.ele_id, sd->status.char_id); + map_addiddb(&sd->bl); map_delnickdb(sd->status.char_id, sd->status.name); if (!chrif_auth_finished(sd)) @@ -6155,6 +6158,9 @@ void pc_damage(struct map_session_data *sd,struct block_list *src,unsigned int h if( sd->status.pet_id > 0 && sd->pd && battle_config.pet_damage_support ) pet_target_check(sd,src,1); + if( sd->status.ele_id > 0 ) + elemental_set_target(sd,src); + sd->canlog_tick = gettick(); } @@ -6189,6 +6195,9 @@ int pc_dead(struct map_session_data *sd,struct block_list *src) if( sd->md ) merc_delete(sd->md, 3); // Your mercenary soldier has ran away. + if( sd->ed ) + elemental_delete(sd->ed, 0); + // Leave duel if you die [LuzZza] if(battle_config.duel_autoleave_when_die) { if(sd->duel_group > 0) |