summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorLupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-03-22 08:42:16 +0000
committerLupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2005-03-22 08:42:16 +0000
commit1e53c03f251799e0ecd253140e298856b306a7d0 (patch)
tree25db5c0540a169f71f8a6393da4f8fe27e35568b /src/map
parent9c56ca8bd944d760a8ddfe736ee4c951e91ecb10 (diff)
downloadhercules-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/map')
-rw-r--r--src/map/skill.c29
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;