Venom Splasher and Gloria Domini fixes and updates
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10907 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
7b0f8d45cf
commit
63929dccf1
@ -3,6 +3,16 @@ Date Added
|
||||
AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
|
||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||
|
||||
2007/07/24
|
||||
* Fixes on Venom Splasher and the like (see topic:152975) [DracoRPG]
|
||||
- VS / Envenom / Throw Venom Knife poison chance raised to 10+4*lv %
|
||||
- Removed chance to be poisoned when hit if you're a VS time-bomb
|
||||
- Adjusted bomb timer to correct values (5.5+0.5*lv sec)
|
||||
- Removed damage boost from Poison React
|
||||
- Now ignores EDP damage boost
|
||||
- Prevented use on bosses
|
||||
- Fixes still needed for recast restriction and splash damage
|
||||
* Removed Emperium-damaging ability from Gloria Domini [DracoRPG]
|
||||
2007/07/23
|
||||
* Changed the restricting mapflag for @jump from nowarp/nowarpto
|
||||
to noteleport. Adjust your scripts if you were using it this way.
|
||||
|
@ -50,6 +50,7 @@
|
||||
========================
|
||||
|
||||
07/24
|
||||
* Updated Venom Splasher's bomb timer [DracoRPG]
|
||||
* Added Job_Alchemist constant, Job_Alchem should now be considered deprecated [DracoRPG]
|
||||
07/15
|
||||
* Rev. 10885 Fixed incorrect skill ID for Lady Tany's Expulsion. [L0ne_W0lf]
|
||||
|
@ -254,7 +254,7 @@
|
||||
//-- AS_VENOMDUST
|
||||
140,0,0,0,5000:10000:15000:20000:25000:30000:35000:40000:45000:50000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000
|
||||
//-- AS_SPLASHER
|
||||
141,1000,0,0,11000:10000:9000:8000:7000:6000:5000:4000:3000:2000,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000
|
||||
141,1000,0,0,6000:6500:7000:7500:8000:8500:9000:9500:10000:10500,15000:20000:25000:30000:35000:40000:45000:50000:55000:60000
|
||||
|
||||
//==========================================
|
||||
|
||||
|
@ -47,7 +47,7 @@ Here are the command-line arguments you can provide to the map cache builder to
|
||||
Allows to specify the file containing the list of maps to add to the map cache
|
||||
-cache path/to/map/cache
|
||||
Allows to specify the path to the generated map cache
|
||||
- rebuild
|
||||
-rebuild
|
||||
Allows to force the rebuild mode (map cache will be overwritten even if it already exists)
|
||||
|
||||
|
||||
|
@ -528,9 +528,8 @@ int battle_calc_gvg_damage(struct block_list *src,struct block_list *bl,int dama
|
||||
|
||||
if(md && md->guardian_data) {
|
||||
if(class_ == MOBID_EMPERIUM && flag&BF_SKILL)
|
||||
//SKill inmunity.
|
||||
//Skill immunity.
|
||||
switch (skill_num) {
|
||||
case PA_PRESSURE:
|
||||
case MO_TRIPLEATTACK:
|
||||
case HW_GRAVITATION:
|
||||
break;
|
||||
@ -1067,8 +1066,8 @@ static struct Damage battle_calc_weapon_attack(
|
||||
if (skill_num && !flag.hit)
|
||||
switch(skill_num)
|
||||
{
|
||||
case AS_SPLASHER: //Reports say it always hits?
|
||||
if (wflag) //Only if you were the one exploding.
|
||||
case AS_SPLASHER:
|
||||
if (wflag) // Always hits the one exploding.
|
||||
break;
|
||||
flag.hit = 1;
|
||||
break;
|
||||
@ -1247,14 +1246,14 @@ static struct Damage battle_calc_weapon_attack(
|
||||
(sc && sc->data[SC_WEAPONPERFECTION].timer!=-1?8:0);
|
||||
if (flag.arrow && sd)
|
||||
switch(sd->status.weapon) {
|
||||
case W_BOW:
|
||||
case W_REVOLVER:
|
||||
case W_SHOTGUN:
|
||||
case W_GATLING:
|
||||
case W_GRENADE:
|
||||
break;
|
||||
default:
|
||||
i |= 16; // for ex. shuriken must not be influenced by DEX
|
||||
case W_BOW:
|
||||
case W_REVOLVER:
|
||||
case W_SHOTGUN:
|
||||
case W_GATLING:
|
||||
case W_GRENADE:
|
||||
break;
|
||||
default:
|
||||
i |= 16; // for ex. shuriken must not be influenced by DEX
|
||||
}
|
||||
wd.damage = battle_calc_base_damage(sstatus, &sstatus->rhw, sc, tstatus->size, sd, i);
|
||||
if (flag.lh)
|
||||
@ -1477,15 +1476,13 @@ static struct Damage battle_calc_weapon_attack(
|
||||
break;
|
||||
case AS_SPLASHER:
|
||||
i = 400+50*skill_lv;
|
||||
if (sd) i += 20*pc_checkskill(sd,AS_POISONREACT);
|
||||
if (wflag>1) i/=wflag; //Splash damage is half.
|
||||
if (wflag>1) i /= 4; // FIXME: Should be 25% of damage inflicted to target, not 25% of skillratio bonus
|
||||
skillratio += i;
|
||||
break;
|
||||
case ASC_BREAKER:
|
||||
skillratio += 100*skill_lv-100;
|
||||
break;
|
||||
case PA_SACRIFICE:
|
||||
//40% less effective on siege maps. [Skotlex]
|
||||
skillratio += 10*skill_lv-10;
|
||||
break;
|
||||
case PA_SHIELDCHAIN:
|
||||
@ -1615,6 +1612,7 @@ static struct Damage battle_calc_weapon_attack(
|
||||
if(sc->data[SC_EDP].timer != -1 &&
|
||||
skill_num != ASC_BREAKER &&
|
||||
skill_num != ASC_METEORASSAULT &&
|
||||
skill_num != AS_SPLASHER &&
|
||||
skill_num != AS_VENOMKNIFE)
|
||||
ATK_ADDRATE(sc->data[SC_EDP].val3);
|
||||
}
|
||||
|
@ -1088,12 +1088,6 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
|
||||
sc_start4(bl,SC_DPOISON,sc->data[SC_EDP].val2,
|
||||
sc->data[SC_EDP].val1,0,0,0,skill_get_time2(ASC_EDP,sc->data[SC_EDP].val1));
|
||||
}
|
||||
if (tsc->count) {
|
||||
if (tsc->data[SC_SPLASHER].timer != -1)
|
||||
sc_start4(bl,SC_POISON,2*tsc->data[SC_SPLASHER].val1+10,
|
||||
tsc->data[SC_SPLASHER].val1,0,0,0,
|
||||
skill_get_time2(tsc->data[SC_SPLASHER].val2,tsc->data[SC_SPLASHER].val1));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1110,7 +1104,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
|
||||
skilllv = pc_checkskill(sd, TF_POISON);
|
||||
case TF_POISON:
|
||||
case AS_SPLASHER:
|
||||
if(!sc_start(bl,SC_POISON,(2*skilllv+10),skilllv,skill_get_time2(skillid,skilllv))
|
||||
if(!sc_start(bl,SC_POISON,(4*skilllv+10),skilllv,skill_get_time2(skillid,skilllv))
|
||||
&& sd && skillid==TF_POISON
|
||||
)
|
||||
clif_skill_fail(sd,skillid,0,0);
|
||||
@ -5116,7 +5110,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
|
||||
break;
|
||||
|
||||
case AS_SPLASHER:
|
||||
if(tstatus->max_hp*3/4 < tstatus->hp) {
|
||||
if(tstatus->mode&MD_BOSS || tstatus-> hp > tstatus->max_hp*3/4) {
|
||||
if (sd) clif_skill_fail(sd,skillid,0,0);
|
||||
map_freeblock_unlock();
|
||||
return 1;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user