diff options
author | Lupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2005-03-22 08:42:16 +0000 |
---|---|---|
committer | Lupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2005-03-22 08:42:16 +0000 |
commit | 1e53c03f251799e0ecd253140e298856b306a7d0 (patch) | |
tree | 25db5c0540a169f71f8a6393da4f8fe27e35568b /src | |
parent | 9c56ca8bd944d760a8ddfe736ee4c951e91ecb10 (diff) | |
download | hercules-1e53c03f251799e0ecd253140e298856b306a7d0.tar.gz hercules-1e53c03f251799e0ecd253140e298856b306a7d0.tar.bz2 hercules-1e53c03f251799e0ecd253140e298856b306a7d0.tar.xz hercules-1e53c03f251799e0ecd253140e298856b306a7d0.zip |
* Added Rafflesia into Dead Branch monsters list, removen all MVPs from there
DBs never supposed to call MVPs!!! Only Sages Hocus Pocus could make a MVP from Alchemyst's Floras. (eA Hocus implementation doesn't support it yet)
fixed Cannibalize skill
according to http://guide.ragnarok.co.kr/jobalcskill.asp
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@1263 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r-- | src/map/skill.c | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 5310618b3..b233f9c78 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4921,21 +4921,32 @@ int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skil break; case AM_CANNIBALIZE: // バイオプラント if(sd){ - int mx,my,id=0; + int mx,my,amount=6-skilllv,id=0; int summons[5] = { 1020, 1068, 1118, 1500, 1368 }; struct mob_data *md; - mx = x;// + (rand()%10 - 5); - my = y;// + (rand()%10 - 5); + for (i=0; i<amount; i++) { //Amount: 1 lev = 1 mob, 2=2, 3, 4, 5 [Lupus] + mx = x; + my = y; + while (i && mx == x ) { + mx += (rand()%(1+amount) - (1+amount)/2); + } + while (i && my == y) { + my += (rand()%(1+amount) - (1+amount)/2); + } + id=mob_once_spawn(sd,"this",mx,my,"--ja--", summons[skilllv-1] ,1,""); - id=mob_once_spawn(sd,"this",mx,my,"--ja--", summons[skilllv-1] ,1,""); - if( (md=(struct mob_data *)map_id2bl(id)) !=NULL ){ - md->master_id=sd->bl.id; - md->hp=2210+skilllv*200; - md->state.special_mob_ai=1; - md->deletetimer=add_timer(gettick()+skill_get_time(skillid,skilllv),mob_timer_delete,id,0); + if( (md=(struct mob_data *)map_id2bl(id)) !=NULL ){ + md->master_id=sd->bl.id; + //md->hp=2210+skilllv*200; commented out, we use REAL hp of the mobs [Lupus] + md->state.special_mob_ai=1; + md->deletetimer=add_timer(gettick()+skill_get_time(skillid,skilllv),mob_timer_delete,id,0); + } } + //block skill + //i can't check if the summoned mobs are dead.. to be able summon next... so i just disable skill [Lupus] + pc_blockskill_start (sd, AM_CANNIBALIZE, skill_get_time(skillid,skilllv)); clif_skill_poseffect(src,skillid,skilllv,x,y,tick); } break; |