diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-09-13 22:45:57 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-09-13 22:45:57 +0000 |
commit | 5021e16d2bd968ad3ea0649cdee6eb7884efe65f (patch) | |
tree | 50d462c88cf60861ba6726b4cf1fdf6341b15dc4 /src/map | |
parent | 4ba94b1074c913fc61678d06cc0e1779b7046cee (diff) | |
download | hercules-5021e16d2bd968ad3ea0649cdee6eb7884efe65f.tar.gz hercules-5021e16d2bd968ad3ea0649cdee6eb7884efe65f.tar.bz2 hercules-5021e16d2bd968ad3ea0649cdee6eb7884efe65f.tar.xz hercules-5021e16d2bd968ad3ea0649cdee6eb7884efe65f.zip |
- Corrected SG Miracle to trigger per attack, not per walked tile. Trigger rate is now 0.02%
- Corrected the warmth skills not clearing up correctly the previous field when you place another one down.
- Corrected vit not affecting the HP bonus that Super Novices, Ninjas and Gunslingers get.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11193 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/skill.c | 5 | ||||
-rw-r--r-- | src/map/status.c | 13 | ||||
-rw-r--r-- | src/map/unit.c | 6 |
3 files changed, 11 insertions, 13 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index f27d29298..c2aa881f4 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -1600,6 +1600,10 @@ int skill_counter_additional_effect (struct block_list* src, struct block_list * break; } + if(sd && (sd->class_&MAPID_UPPERMASK) == MAPID_STAR_GLADIATOR && + rand()%10000 < battle_config.sg_miracle_skill_ratio) //SG_MIRACLE [Komurka] + sc_start(src,SC_MIRACLE,100,1,battle_config.sg_miracle_skill_duration); + if(sd && skillid && attack_type&BF_MAGIC && status_isdead(bl) && !(skill_get_inf(skillid)&(INF_GROUND_SKILL|INF_SELF_SKILL)) && (rate=pc_checkskill(sd,HW_SOULDRAIN))>0 @@ -6374,6 +6378,7 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s case SG_SUN_WARM: case SG_MOON_WARM: case SG_STAR_WARM: + skill_clear_unitgroup(src); if ((sg = skill_unitsetting(src,skillid,skilllv,src->x,src->y,0))) sc_start4(src,type,100,skilllv,0,0,(int)sg,skill_get_time(skillid,skilllv)); flag|=1; diff --git a/src/map/status.c b/src/map/status.c index 1ea721640..b1e2bb1df 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -1528,14 +1528,7 @@ static void status_calc_sigma(void) static unsigned int status_base_pc_maxhp(struct map_session_data* sd, struct status_data* status) { unsigned int val; - val = 35 + sd->status.base_level*hp_coefficient2[sd->status.class_]/100 + hp_sigma_val[sd->status.class_][sd->status.base_level]; - val += val * status->vit/100; // +1% per each point of VIT - - if (sd->class_&JOBL_UPPER) - val += val * 25/100; //Trans classes get a 25% hp bonus - else if (sd->class_&JOBL_BABY) - val -= val * 30/100; //Baby classes get a 30% hp penalty if((sd->class_&MAPID_UPPERMASK) == MAPID_NINJA || (sd->class_&MAPID_UPPERMASK) == MAPID_GUNSLINGER) val += 100; //Since their HP can't be approximated well enough without this. @@ -1544,6 +1537,12 @@ static unsigned int status_base_pc_maxhp(struct map_session_data* sd, struct sta if((sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->status.base_level >= 99) val += 2000; //Supernovice lvl99 hp bonus. + val += val * status->vit/100; // +1% per each point of VIT + + if (sd->class_&JOBL_UPPER) + val += val * 25/100; //Trans classes get a 25% hp bonus + else if (sd->class_&JOBL_BABY) + val -= val * 30/100; //Baby classes get a 30% hp penalty return val; } diff --git a/src/map/unit.c b/src/map/unit.c index dc57dfd38..b92804459 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -186,12 +186,6 @@ static int unit_walktoxy_timer(int tid,unsigned int tick,int id,int data) map_foreachinrange(skill_guildaura_sub, bl,2, BL_PC, bl->id, sd->status.guild_id, strvit, agidex); } - if ( - (sd->class_&MAPID_UPPERMASK) == MAPID_STAR_GLADIATOR && - !(ud->walk_count%WALK_SKILL_INTERVAL) && - rand()%10000 < battle_config.sg_miracle_skill_ratio - ) //SG_MIRACLE [Komurka] - sc_start(&sd->bl,SC_MIRACLE,100,1,battle_config.sg_miracle_skill_duration); } else if (md) { if(battle_config.mob_warp&1 && map_getcell(bl->m,x,y,CELL_CHKNPC) && npc_touch_areanpc2(bl)) // Enable mobs to step on warps. [Skotlex] |