- Deluge/Violent Gale/Volcano tiles will now fail to be placed on cells that are already ocuppied by anything else.
- status_is_immune will now return 0 or the amount of immunity of the target. In which cases it returns 100 for WoH and the GTB bonus when they have passed the gtb_sc_immunity setting. This enables targetted spells to not "fail silently" unless GTB's magic reduction is 100. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9194 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
fff660eb38
commit
3b530a5702
@ -4,6 +4,12 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
|
|||||||
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
2006/11/10
|
2006/11/10
|
||||||
|
* Deluge/Violent Gale/Volcano tiles will now fail to be placed on cells
|
||||||
|
that are already ocuppied by anything else. [Skotlex]
|
||||||
|
* status_is_immune will now return 0 or the amount of immunity of the
|
||||||
|
target. In which cases it returns 100 for WoH and the GTB bonus when they
|
||||||
|
have passed the gtb_sc_immunity setting. This enables targetted spells to
|
||||||
|
not "fail silently" unless GTB's magic reduction is 100. [Skotlex]
|
||||||
* Fixed Homunculus being spawned as soon as they arrive from the
|
* Fixed Homunculus being spawned as soon as they arrive from the
|
||||||
char-server even if the Master has not spawned on the map yet. [Skotlex]
|
char-server even if the Master has not spawned on the map yet. [Skotlex]
|
||||||
* AL_TELEPORT now fails when used on top of Land Protector. [Skotlex]
|
* AL_TELEPORT now fails when used on top of Land Protector. [Skotlex]
|
||||||
|
@ -2639,7 +2639,7 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int
|
|||||||
if (status_isdead(bl))
|
if (status_isdead(bl))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
if (skillid && skill_get_type(skillid) == BF_MAGIC && status_isimmune(bl))
|
if (skillid && skill_get_type(skillid) == BF_MAGIC && status_isimmune(bl) == 100)
|
||||||
{ //GTB makes all targetted magic fail silently.
|
{ //GTB makes all targetted magic fail silently.
|
||||||
if (sd) clif_skill_fail(sd,skillid,0,0);
|
if (sd) clif_skill_fail(sd,skillid,0,0);
|
||||||
return 1;
|
return 1;
|
||||||
@ -9323,6 +9323,15 @@ int skill_cell_overlap(struct block_list *bl, va_list ap)
|
|||||||
// Suiton/Kaensin CAN super-impose on each another.
|
// Suiton/Kaensin CAN super-impose on each another.
|
||||||
// case NJ_SUITON:
|
// case NJ_SUITON:
|
||||||
// case NJ_KAENSIN:
|
// case NJ_KAENSIN:
|
||||||
|
// The official implementation makes them fail to appear when casted on top of ANYTHING
|
||||||
|
// but I wonder if they didn't actually meant to fail when casted on top of each other?
|
||||||
|
// hence, I leave the alternate implementation here, commented. [Skotlex]
|
||||||
|
if (unit->range <= 0)
|
||||||
|
{
|
||||||
|
(*alive) = 0;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
/*
|
||||||
switch (unit->group->skill_id)
|
switch (unit->group->skill_id)
|
||||||
{ //These cannot override each other.
|
{ //These cannot override each other.
|
||||||
case SA_VOLCANO:
|
case SA_VOLCANO:
|
||||||
@ -9333,6 +9342,7 @@ int skill_cell_overlap(struct block_list *bl, va_list ap)
|
|||||||
(*alive) = 0;
|
(*alive) = 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
break;
|
break;
|
||||||
case PF_FOGWALL:
|
case PF_FOGWALL:
|
||||||
switch(unit->group->skill_id)
|
switch(unit->group->skill_id)
|
||||||
|
@ -4168,10 +4168,11 @@ int status_isimmune(struct block_list *bl)
|
|||||||
{
|
{
|
||||||
struct status_change *sc =status_get_sc(bl);
|
struct status_change *sc =status_get_sc(bl);
|
||||||
if (sc && sc->count && sc->data[SC_HERMODE].timer != -1)
|
if (sc && sc->count && sc->data[SC_HERMODE].timer != -1)
|
||||||
return 1;
|
return 100;
|
||||||
|
|
||||||
if (bl->type == BL_PC &&
|
if (bl->type == BL_PC &&
|
||||||
((TBL_PC*)bl)->special_state.no_magic_damage)
|
((TBL_PC*)bl)->special_state.no_magic_damage > battle_config.gtb_sc_immunity)
|
||||||
return ((TBL_PC*)bl)->special_state.no_magic_damage > battle_config.gtb_sc_immunity;
|
return ((TBL_PC*)bl)->special_state.no_magic_damage;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user