I tried with this topic. But it doesn't work anymore. Can anyone help me reproduce, any effect that ignores the GTB card?
--- src/map/map.h (revision 17331)
+++ src/map/map.h (working copy)
@@ -411,7 +411,10 @@
SP_SP_GAIN_RACE, SP_SUBRACE2, SP_UNBREAKABLE_SHOES, // 2031-2033
SP_UNSTRIPABLE_WEAPON,SP_UNSTRIPABLE_ARMOR,SP_UNSTRIPABLE_HELM,SP_UNSTRIPABLE_SHIELD, // 2034-2037
SP_INTRAVISION, SP_ADD_MONSTER_DROP_ITEMGROUP, SP_SP_LOSS_RATE, // 2038-2040
- SP_ADD_SKILL_BLOW, SP_SP_VANISH_RATE, SP_MAGIC_SP_GAIN_VALUE, SP_MAGIC_HP_GAIN_VALUE, SP_ADD_CLASS_DROP_ITEM, //2041-2045
+ SP_ADD_SKILL_BLOW, SP_SP_VANISH_RATE, SP_MAGIC_SP_GAIN_VALUE,
+ SP_ADD_SKILL_BLOW, SP_SP_VANISH_RATE, SP_MAGIC_SP_GAIN_VALUE, SP_MAGIC_HP_GAIN_VALUE,
+ SP_ANTI_NO_MAGIC_DAMAGE //
+ SP_MAGIC_HP_GAIN_VALUE, SP_ADD_CLASS_DROP_ITEM,
SP_EMATK, SP_SP_GAIN_RACE_ATTACK, SP_HP_GAIN_RACE_ATTACK, SP_SKILL_USE_SP_RATE, //2046-2049
SP_SKILL_COOLDOWN,SP_SKILL_FIXEDCAST, SP_SKILL_VARIABLECAST, SP_FIXCASTRATE, SP_VARCASTRATE, //2050-2054
SP_SKILL_USE_SP,SP_MAGIC_ATK_ELE, SP_ADD_FIXEDCAST, SP_ADD_VARIABLECAST //2055-2058
Index: src/map/pc.c
===================================================================
--- src/map/pc.c (revision 17331)
+++ src/map/pc.c (working copy)
@@ -2635,6 +2635,12 @@
if(sd->state.lr_flag != 2)
sd->bonus.add_varcast += val;
break;
+ case SP_ANTI_NO_MAGIC_DAMAGE:
+ if(sd->state.lr_flag == 2)
+ break;
+ val+= sd->special_state.anti_no_magic_damage;
+ sd->special_state.anti_no_magic_damage = cap_value(val,0,100);
+ break;
#endif
default:
ShowWarning("pc_bonus: unknown type %d %d !\n",type,val);
Index: src/map/pc.h
===================================================================
--- src/map/pc.h (revision 17331)
+++ src/map/pc.h (working copy)
@@ -173,7 +173,7 @@
unsigned int permanent_speed : 1; // When 1, speed cannot be changed through status_calc_pc().
} state;
struct {
- unsigned char no_weapon_damage, no_magic_damage, no_misc_damage;
+ unsigned char no_weapon_damage, no_magic_damage, no_misc_damage, anti_no_magic_damage;
unsigned int restart_full_recover : 1;
unsigned int no_castcancel : 1;
unsigned int no_castcancel2 : 1;