summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-SVN.txt5
-rw-r--r--db/Changelog.txt8
-rw-r--r--db/const.txt4
-rw-r--r--db/item_db.txt54
-rw-r--r--doc/item_bonus.txt254
-rw-r--r--src/map/map.h3
-rw-r--r--src/map/pc.c45
7 files changed, 188 insertions, 185 deletions
diff --git a/Changelog-SVN.txt b/Changelog-SVN.txt
index 9ef407649..457e275c7 100644
--- a/Changelog-SVN.txt
+++ b/Changelog-SVN.txt
@@ -1,6 +1,8 @@
Date Added
04/02
+ * Added bonuses bUnstripable[Weapon|Armor|Helm|Shield]
+ instead of just bUnstripable that worked only for armor [DracoRPG]
* Updated Tiger Knucke Fist's 'fixed state' effect [celest]
* Allowed people to enable/disable using the online column via
'register_users_online' in the login_athena.conf [Codemaster]
@@ -137,7 +139,8 @@ Date Added
* Fixed a typo in my fix for Stalk / Tunnel Drive increasing instead of decreasing speed, sorry [DracoRPG]
* Rewrote a little bit Improve Dodge [DracoRPG]
- The speed bonus does not effect when Cloaked
- - Assassins & Rogues get +4 Flee/lv, but all other jobs can get +3/lv if they have the skill (not only Thiefs & Super Novices)
+ - Assassins & Rogues get +4 Flee/lv, but all other jobs can get +3/lv
+ if they have the skill (not only Thiefs & Super Novices)
* Some minor changes to Sacrifice in battle.c [celest]
* Set the Emperium to be immune to Sacrifice [celest]
* Set the Emperium to be have max status effects immunity [celest]
diff --git a/db/Changelog.txt b/db/Changelog.txt
index 9557cb1db..b0a1eab32 100644
--- a/db/Changelog.txt
+++ b/db/Changelog.txt
@@ -7,6 +7,14 @@
Ayathoya items == 70% Added but no effect ( all are "etc" itens)
Einboroch items == 5%
Skill databases == celest working on them i believe.
+
+04/02
+ * More new cards and fixes [DracoRPG]
+ - added Acolyte, Archer and Merchant sets effects
+ - added Turtle General Card effect
+ - corrected Job_Super_Novice -> Job_SuperNovice for Lude and Quve Cards
+ - autospell weapons (except Fireblend, Ice Falchion and Electric Guitar)
+ give no more the skill so it can't be used when you want
04/01
* New cards updates and additions [DracoRPG]
- added Mage and Swordman sets effects
diff --git a/db/const.txt b/db/const.txt
index f78d10b25..673c5b9de 100644
--- a/db/const.txt
+++ b/db/const.txt
@@ -255,6 +255,10 @@ bExpAddRace 2030
bSPGainRace 2031
bSPSubRace2 2032
bAddEffWhenHitShort 2033
+bUnstripableWeapon 2034
+bUnstripableArmor 2035
+bUnstripableHelm 2036
+bUnstripableShield 2037
Eff_Stone 0
diff --git a/db/item_db.txt b/db/item_db.txt
index 78d05ec32..5f355fcb5 100644
--- a/db/item_db.txt
+++ b/db/item_db.txt
@@ -498,7 +498,7 @@
1164,Muramasa,Muramasa,4,20,0,1000,155,,1,0,16514,2,34,4,48,3,{},{ bonus bCritical,30; bonus bAspdAddRate,8; bonus2 bAddEff2,Eff_Curse,200; }
1165,Masamune,Masamune,4,20,0,1000,200,,1,0,16514,2,34,4,48,3,{},{ bonus bFlee,30; bonus bStr,-5; bonus bAspd,2; bonus bDefRate,-50; bonus bDef2Rate,-50; },
1166,Dragon_Slayer,Dragon Slayer,4,20,0,1300,150,,1,0,16514,2,34,4,48,3,{},{ bonus bIgnoreDefRace,9; bonus2 bAddRace,9,15; }
-1167,Schweizersabel,Schweizersabel,4,20,0,1600,160,,1,0,16514,2,34,4,48,3,{},{ bonus bAtkEle,4; skill 20,3; bonus bDef,1; bonus3 bAutoSpell,20,3,25; }
+1167,Schweizersabel,Schweizersabel,4,20,0,1600,160,,1,0,16514,2,34,4,48,3,{},{ bonus bAtkEle,4; bonus bDef,1; bonus3 bAutoSpell,20,3,25; }
1168,Zweihander,Zweihander,4,20,0,2200,200,,1,0,16514,2,34,4,48,3,{},{ bonus bUnbreakableWeapon,0; }
1169,Executioner_,Executioner,4,20,0,2200,155,,1,0,16514,2,34,4,48,3,{},{ bonus bIgnoreDefRace,7; bonus2 bAddRace,7,20; bonus2 bSubRace,7,-10; bonus bAtkEle,7; }
1170,Katzbalger,Katzbalger,4,20,0,2000,175,,1,0,16514,2,34,4,48,3,{},{ bonus bVit,10; bonus bDef,10; }
@@ -621,10 +621,10 @@
1465,Halberd__,Halberd,4,54000,0,2500,165,,3,0,16514,2,34,3,33,5,{},{}
1466,Crescent_Scythe,Crescent Scythe,4,20,0,2500,180,,3,0,16514,2,34,4,48,5,{},{ bonus bCritical,30; bonus bHit,10; }
1467,Bill_Guisarme,Bill Guisarme,4,20,0,1000,183,,3,0,16514,2,34,4,48,5,{},{ bonus2 bAddRace,2,10; bonus2 bAddRace,7,5; }
-1468,Zephyrus,Zephyrus,4,20,0,2000,170,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,4; skill 21,3; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,21,3,25; }
+1468,Zephyrus,Zephyrus,4,20,0,2000,170,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,4; bonus2 bAddEff,Eff_Silence,200; bonus3 bAutoSpell,21,3,25; }
1469,Longinus's_Spear,Longinus's Spear,4,20,0,2500,180,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,7; bonus2 bAddRace,7,10; bonus2 bAddRace,8,10; }
-1470,Brionac,Brionac,4,20,0,3000,190,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,6; skill 28,5; skill 13,3; bonus3 bAutoSpell,13,3,25; bonus2 bAddRace,10,5; },
-1471,Hellfire,Hellfire,4,20,0,3500,200,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,3; skill 17,3; bonus3 bAutoSpell,17,3,25; bonus bStr,3; }
+1470,Brionac,Brionac,4,20,0,3000,190,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,6; skill 28,5; bonus3 bAutoSpell,13,3,25; bonus2 bAddRace,10,5; },
+1471,Hellfire,Hellfire,4,20,0,3500,200,,3,0,16514,2,34,4,48,5,{},{ bonus bAtkEle,3; bonus3 bAutoSpell,17,3,25; bonus bStr,3; }
// 2 Handed Staffs
1472,Staff_of_Soul,Soul Staff,4,20,0,1400,25,,1,0,66052,2,34,3,73,10,{},{ bonus bInt,5; bonus bAgi,2; bonus bMatkRate,15; }
1473,Wizardy_Staff,Wizardy Staff,4,20,0,2400,120,,1,0,66052,2,34,4,90,10,{},{ bonus bInt,6; bonus bDex,2; bonus bMatkRate,15; }
@@ -656,7 +656,7 @@
1525,Long_Mace,Long Mace,4,20,0,800,135,,3,0,33040,2,2,4,40,8,{},{ bonus bLongAtkDef,10; }
1526,Slash,Slash,4,20,0,1000,145,,1,0,33040,2,2,4,40,8,{},{ bonus2 bAddRace,1,15; bonus2 bWeaponComaRace,1,50; }
1527,Quadrille,Quadrille,4,20,0,900,165,,1,0,33040,2,2,4,40,8,{},{ bonus2 bAddRace,1,10; bonus2 bAddRace,7,10; bonus2 bAddEle,2,10; }
-1528,Grand_Cross,Grand Cross,4,20,0,1500,140,,1,0,33040,2,2,4,40,8,{},{ bonus bAtkEle,6; skill 77,3; bonus3 bAutoSpell,77,3,25; bonus2 bHPDrainRate,100,1; },
+1528,Grand_Cross,Grand Cross,4,20,0,1500,140,,1,0,33040,2,2,4,40,8,{},{ bonus bAtkEle,6; bonus3 bAutoSpell,77,3,25; bonus2 bHPDrainRate,100,1; },
1529,Iron_Driver,Iron Driver,4,20,0,3000,155,,1,0,33024,2,2,3,78,8,{},{}
1530,Mjolnir,Mjolnir,4,20,0,6000,250,,1,0,8701363,2,2,4,95,8,{},{ bonus bAtkEle,4; bonus bDex,40; bonus bStr,15; bonus bAspdRate,30; }
1531,Spanner,Spanner,4,20,0,2500,115,,1,0,33040,2,2,3,55,8,{},{ bonus2 bAddEff,Eff_Blind,100; bonus2 bAddEff,Eff_Stan,100; bonus2 bAddEff,Eff_Poison,100; bonus2 bAddEff,Eff_Freeze,100; }
@@ -1156,7 +1156,7 @@
4119,Bathory_Card,Bathory Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDefEle,7; }
4120,Petit__Card,Petit Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,9,30; }
4121,Phreeoni_Card,Phreeoni Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bHit,100; }
-4122,Deviruchi_Card,Deviruchi Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bStr,1; bonus2 bResEff,Eff_Blind,10000; }
+4122,Deviruchi_Card,Deviruchi Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bStr,1; bonus2 bResEff,Eff_Blind,10000; }
4123,Eddga_Card,Eddga Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bInfiniteEndure,0; bonus bMaxHPrate,-25; }
4124,Medusa_Card,Medusa Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,6,15; bonus2 bResEff,Eff_Stone,10000; }
4125,Deviace_Card,Deviace Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace,7,7; bonus2 bAddRace,2,7; bonus2 bAddRace,3,7; bonus2 bAddRace,4,7; }
@@ -1186,12 +1186,10 @@
// New Cards
// //OK = Tested, Works fine. //??OK = looks right, but not properly tested yet
-
//bonus2 bAddItemHealRate,n,x; Increases HP recovered by n type items by x%
-// n:1=potions 2=herbs 3=fruits 4=meat 5=candy
-// 6=juice 7=sashimi
-//bonus3 bAddMonsterDropItem,n,x; When pushing down the monster with physical attack, the probability which drops item n +x% (the item which the monster drops unrelated ones)
-// 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+// n:1=potions 2=herbs 3=fruits 4=meat 5=candy 6=juice 7=sashimi
+//bonus3 bAddMonsterDropItem,n,x; When killing a monster with physical attack, the probability which drops item n +x% (the item which the monster drops unrelated ones)
+//0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect, 5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 10=Boss monster, 11=Other than (normal monster) boss monster
//===================================================================
4149,Gargoyle_Card,Gargoyle Card,6,20,0,10,,,,,,,136,,,,{},{} //missing getitemonkill?? (item not implemented)
@@ -1205,7 +1203,7 @@
4157,Goblin_Archer_Card,Goblin Archer Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bCritAtkRate,10; bonus2 bCriticalAddRace,1,7; } //OK
4158,Sky_Deleter_Card,Sky Deleter Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bNoRegen,1; bonus bHPGainValue,100;} // ??OK
4159,Nine_Tail_Card,Nine Tail Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bAgi,2; if(getrefine>8) bonus bFlee,20; } //OK
-4160,Firelock_Soldier_Card,Firelock Soldier Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bStr,2; if(getrefine<=8) end; bonus bMaxHPrate,10; bonus bMaxSPrate,10; } //OK
+4160,Firelock_Soldier_Card,Firelock Soldier Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bStr,2; if(getrefine<=8) end; bonus bMaxHPrate,10; bonus bMaxSPrate,10; } //OK
4161,Grand_Peco_Card,Grand Peco Card,6,20,0,10,,,,,,,769,,,,{},{ bonus4 bAutoSpellWhenHit,75,1,1,0; if(!isequipped(4031)) end; bonus bDef,3; bonus bVit,3; } //OK
4162,Grizzly_Card,Grizzly Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDef,2; if(isequipped(4074)) bonus2 bAddEffWhenHit,Eff_Blind,3000; } //OK
4163,Gryphon_Card,Gryphon Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bFlee,2; bonus bCritical,7; if (callfunc("Is_Sword_Class")!=0) bonus3 bAutoSpell,62,5,1; } //OK
@@ -1231,24 +1229,24 @@
4183,Vagabond_Wolf_Card,Vagabond Wolf Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bStr,1; if(isequipped(4029)) bonus bFlee,18; } //OK
4184,Lava_Golem_Card,Lava Golem Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace2,4,30; } //OK
4185,Rideword_Card,Rideword Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bInt,1; if(callfunc("Is_Holy_Class")) bonus bMdef,1; } //OK
-4186,Raggler_Card,Raggler Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bStr,1; bonus bVit,1; } //OK
+4186,Raggler_Card,Raggler Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bStr,1; bonus bVit,1; if(!isequipped(4233,4281,4321,4206)) end; bonus bLuk,10; bonus3 bSPDrainValue,100,2,0; bonus2 bSkillAtk,42,20; if(callfunc("Is_Merc_Class")==0) bonus bMagicDamageReturn,20; } //OK
4187,Raydric_Archer_Card,Raydric Archer Card,6,20,0,10,,,,,,,136,,,,{},{} //missing getitemonkill?? (item not implemented)
4188,Leib_Olmai_Card,Leib Olmai Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bSubEle,3,10; } //missing getitemonracekill??
4189,Wraith_Dead_Card,Wraith Dead Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bAddEffWhenHit,Eff_Curse,2000; } //missing getitemonracekill??
4190,Wraith_Card,Wraith Card,6,20,0,10,,,,,,,136,,,,{},{} //missing getitemonkill?? (item not implemented)
4191,Loli_Ruri_Card,Loli Ruri Card,6,20,0,10,,,,,,,16,,,,{},{ bonus4 bAutoSpellWhenHit,28,3,5,0; } //OK
4192,Rotar_Zairo_Card,Rotar Zairo Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bCritAtkRate,10; bonus2 bCriticalAddRace,5,7; } //OK
-4193,Lude_Card,Lude Card,6,20,0,10,,,,,,,136,,,,{},{ if(Class==Job_Novice||Class==Job_Super_Novice||Class==4001) bonus3 bAutoSpellWhenHit,8,1,20; if(isequipped(4294)) bonus bMaxHP,300; } //??OK
+4193,Lude_Card,Lude Card,6,20,0,10,,,,,,,136,,,,{},{ if(Class==Job_Novice||Class==Job_SuperNovice||Class==4001) bonus3 bAutoSpellWhenHit,8,1,20; if(isequipped(4294)) bonus bMaxHP,300; } //??OK
4194,Rybio_Card,Rybio Card,6,20,0,10,,,,,,,16,,,,{},{ if(readparam(bDex)<=77) bonus2 bAddEffWhenHit,Eff_Stan,1000; if(readparam(bDex)>77) bonus2 bAddEffWhenHit,Eff_Stan,3000; } //??OK
4195,Leaf_Cat_Card,Leaf Cat Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bSubEle,1,10; } //missing getitemonracekill??
4196,Marin_Card,Marin Card,6,20,0,10,,,,,,,136,,,,{},{} //missing bRandomDrop,Item1,Chance,Item2,Chance,etc
4197,Mastering_Card,Mastering Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bLuk,1; if(isequipped(4001)) bonus bFlee,18; } //OK
4198,Maya_Purple_Card,Maya Purple Card,6,20,0,10,,,,,,,136,,,,{},{} //missing bIntravision (always see Cloaked & Hidden)
-4199,Merman_Card,Merman Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bHPrecovRate,10; bonus bSPrecovRate,10; } //OK
-4200,Megalith_Card,Megalith Card,6,20,0,10,,,,,,,64,,,,{},{ if(getrefine<6) bonus bMdef,7; } //OK
+4199,Merman_Card,Merman Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bHPrecovRate,10; bonus bSPrecovRate,10; if(!isequipped(4297,4234,4252,4178)) end; bonus bAgi,5; bonus bDex,3; bonus bLongAtkRate,20; bonus bPerfectHitAddRate,20; if(callfunc("Is_Bow_Class")==0) end; bonus2 bWeaponComaRace,2,500; } // missing increaseexponracekill
+4200,Megalith_Card,Megalith Card,6,20,0,10,,,,,,,64,,,,{},{ if(getrefine<6) bonus bMdef,7; } //OK
4201,Majoruros_Card,Majoruros Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bAddEffWhenHit,Eff_Stan,2000; } //?OK
4202,Civil_Servant_Card,Civil Servant Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEle,8,20; } //OK
-4203,Mutant_Dragonoid_Card,Mutant Dragonoid Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtk,15; if(getskilllv(17)==10) goto FB_10; bonus3 bAutoSpell,17,3,1; end; FB_10: bonus3 bAutoSpell,17,10,25; } //??OK
+4203,Mutant_Dragonoid_Card,Mutant Dragonoid Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtk,15; if(getskilllv(17)==10) goto FB_10; bonus3 bAutoSpell,17,3,1; end; FB_10: bonus3 bAutoSpell,17,10,1; } //??OK
4204,Mini_Demon_Card,Mini Demon Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubRace,2,-20; } //missing increaseexponracekill??
4205,Mimic_Card,Mimic Card,6,20,0,10,,,,,,,136,,,,{},{} //missing getitemonkill??
4206,Myst_Case_Card,Mystcase Card,6,20,0,10,,,,,,,769,,,,{},{} //missing getitemonkill??
@@ -1262,8 +1260,8 @@
4214,Bloody_Murderer_Card,Bloody Murderer Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bCritAtkRate,10; bonus2 bCriticalAddRace,4,7; } //OK
4215,Blazer_Card,Blazer Card,6,20,0,10,,,,,,,136,,,,{},{} //missing getitemonracekill??
4216,Sasquatch_Card,Sasquatch Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bAddEffWhenHit,Eff_Freeze,2000; } //??OK
-4217,Enchanted_Peach_Tree_Card,Enchanted Peach Tree Card,6,20,0,10,,,,,,,32,,,,{},{ if(getskilllv(28)==10) goto HE_10; bonus3 bAutoSpell,28,1,1; end; HE_10: bonus3 bAutoSpell,28,10,1; } //??OK
-4218,Succubus_Card,Succubus Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bMaxHP,1000; if(isequipped(4268)) goto L_INCUB; bonus bVit,-3; bonus bHPrecovRate,-20; end; L_INCUB: bonus bVit,4; bonus bHPrecovRate,30; } //??OK HpRecoveryRate != +30% when combo
+4217,Enchanted_Peach_Tree_Card,Enchanted Peach Tree Card,6,20,0,10,,,,,,,32,,,,{},{ if(!getskilllv(28)==10) bonus3 bAutoSpell,28,1,1; if(getskilllv(28)==10) bonus3 bAutoSpell,28,10,1; if(!isequipped(4280,4185,4293,4312)) end; bonus bVit,10; bonus bCastrate,-10; bonus bUseSPRate,-10; if(callfunc("Is_Holy_Class")==0) end; bonus2 bSubRace,1,30; bonus2 bSubRace,6,30; } // missing increaseexponracekill??
+4218,Succubus_Card,Succubus Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bMaxHP,1000; if(isequipped(4268)) goto L_INCUB; bonus bVit,-3; bonus bHPrecovRate,-20; end; L_INCUB: bonus bVit,4; bonus bHPrecovRate,30; } //??OK HpRecoveryRate != +30% when combo
4219,Sage_Worm_Card,Sage Worm Card,6,20,0,10,,,,,,,136,,,,{},{} //missing getitemonkill??
4220,Solider_Card,Solider Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDef,2; bonus bMdef,2; } //OK
4221,Skeleton_General_Card,Skeleton General Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubRace,4,-20; } //missing increaseexponracekill??
@@ -1278,7 +1276,7 @@
4230,Shinobi_Card,Shinobi Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bAgi,1; bonus4 bAutoSpellWhenHit,135,5,1,0; } //??OK
4231,Increase_Soil_Card,Increase Soil Card,6,20,0,10,,,,,,,,,,,{},{}
4232,Hermit_Plant_Card,Hermit Plant Card,6,20,0,10,,,,,,,,,,,{},{}
-4233,Baby_Leopard_Card,Baby Leopard Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bLuk,3; if(!callfunc("Is_Merc_Class")) end; bonus bUnbreakableArmor,0; bonus bUnstrippable,0; } //??OK
+4233,Baby_Leopard_Card,Baby Leopard Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bLuk,3; if(callfunc("Is_Merc_Class")==0) end; bonus bUnbreakableArmor,0; bonus bUnstripableArmor,0; } //??OK
4234,Anolian_Card,Anolian Card,6,20,0,10,,,,,,,16,,,,{},{ if(getskilllv(45)==10) goto IC_10; bonus4 bAutoSpellWhenHit,45,1,1,0; end; IC_10: bonus4 bAutoSpellWhenHit,45,10,1,0; } //??OK
4235,Cookie_Xmas_Card,Cookie Xmas Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubRace,8,-20; } //missing increaseexponracekill??
4236,Amon_Ra_Card,Amon Ra Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bAllStats,1; bonus4 bAutoSpellWhenHit,73,10,1+(readparam(bInt)>=99),0; } //??OK (X>=Y) returns 0 or 1
@@ -1321,16 +1319,14 @@
4273,Shellfish_Card,Shellfish Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtk,5; bonus2 bAddDamageClass,1073,30; } //OK
4274,Zombie_Master_Card,Zombie Master Card,6,20,0,10,,,,,,,2,,,,{},{} //missing recoversponracekill??
4275,Zombie_Prisoner_Card,Zombie Prisoner Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubRace,1,-20; } //missing increaseexponracekill??
-4276,Lord_of_Death_Card,Lord of Death Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Stan,100; bonus2 bAddEff,Eff_Curse,100; bonus2 bAddEff,Eff_Poison,100; bonus2 bAddEff,Eff_Bleeding,100; } //missing Coma Effect??
+4276,Lord_of_Death_Card,Lord of Death Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddEff,Eff_Stan,100; bonus2 bAddEff,Eff_Curse,100; bonus2 bAddEff,Eff_Poison,100; bonus2 bAddEff,Eff_Bleeding,100; bonus2 bAddWeaponComaRace,11,30; } //??OK
4277,Zherlthsh_Card,Zherlthsh Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bLuk,2; bonus2 bSkillAtk,316,10; bonus2 bSkillAtk,324,10; } //??OK
4278,Gibbet_Card,Gibbet Card,6,20,0,10,,,,,,,769,,,,{},{ if(getrefine<6) bonus bMdef,5; } //OK
4279,Earth_Deleter_Card,Earth Deleter Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bNoRegen,2; bonus bSPGainValue,15; } //??OK
4280,Geographer_Card,Geographer Card,6,20,0,10,,,,,,,16,,,,{},{ if(getskilllv(34)==10) goto BL_10; bonus4 bAutoSpellWhenHit,34,2,1,0; end; BL_10: bonus4 bAutoSpellWhenHit,34,10,1,0; } //??OK
-4281,Zipper_Bear_Card,Zipper Bear Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtk,30; bonus3 bSPDrainValue,100,-1,0; if(!callfunc("Is_Merc_Class")) end; bonus bUnbreakableWeapon,0; bonus bUnstrippable,0; } //??OK
+4281,Zipper_Bear_Card,Zipper Bear Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtk,30; bonus3 bSPDrainValue,100,-1,0; if(callfunc("Is_Merc_Class")==0) end; bonus bUnbreakableWeapon,0; bonus bUnstripableWeapon,0; } //??OK
4282,Tengu_Card,Tengu Card,6,20,0,10,,,,,,,136,,,,{},{} //missing getitemonkill??
-//for testing purpose:
-4283,Test_Card,Test Card,6,20,0,10,,,,,,,2,,,,{},{ dispbottom "Test Card OK:"; dispbottom isequipped(4149)+" "+isequippedcnt(4149)+" "+cardscnt(4149)+" "+getrefine; } //For test purposes only
-4283,Greatest_General_Card,Greatest General Card,6,20,0,10,,,,,,,,,,,{},{}
+4283,Greatest_General_Card,Greatest General Card,6,20,0,10,,,,,,,136,,,,{},{ bonus3 bAutospell,261,1,1+callfunc("Is_Holy_Class"); } //??OK
4284,Chepet_Card,Chepet Card,6,20,0,10,,,,,,,2,,,,{},{ bonus3 bAutoSpell,28,5,5; } //??OK
4285,Choco_Card,Choco Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bFlee2,5; bonus bFlee,10; } //OK
4286,Karakasa_Card,Karakasa Card,6,20,0,10,,,,,,,16,,,,{},{ if(readparam(bStr)<=77) bonus2 bAddEffWhenHit,Eff_Confusion,1000; if(readparam(bStr)>77) bonus2 bAddEffWhenHit,Eff_Confusion,3000; } //??OK
@@ -1341,7 +1337,7 @@
4291,Kobold_Leader_Card,Kobold Leader Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace2,2,30; } //OK
4292,Kobold_Archer_Card,Kobold Archer Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bCritAtkRate,10; bonus2 bCriticalAddRace,3,7; } //OK
4293,Cookie_Card,Cookie Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bLuk,2; bonus2 bSkillAtk,156,10; } //OK
-4294,Quve_Card,Quve Card,6,20,0,10,,,,,,,136,,,,{},{ if((Class==Job_Novice)||(Class==Job_Super_Novice)) bonus4 bAutoSpellWhenHit,29,1,20,0; if(isequipped(4193)) bonus bMaxSP,60; } //??OK
+4294,Quve_Card,Quve Card,6,20,0,10,,,,,,,136,,,,{},{ if((Class==Job_Novice)||(Class==Job_SuperNovice)||(Class==4001)) bonus4 bAutoSpellWhenHit,29,1,20,0; if(isequipped(4193)) bonus bMaxSP,60; } //??OK
4295,Kraben_Card,Kraben Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bAddEffWhenHit,Eff_Blind,2000; } //??OK
4296,Cramp_Card,Cramp Card,6,20,0,10,,,,,,,769,,,,{},{ if(isequipped(4028)) bonus bStr,3; } //missing getzenybychance??
4297,Cruiser_Card,Cruiser Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bCritAtkRate,10; bonus2 bCriticalAddRace,2,7; } //OK
@@ -1352,14 +1348,14 @@
4302,Tao_Gunka_Card,Tao Gunka Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bMaxHPrate,100; bonus bDef,-50; bonus bMdef,-50; } //??OK
//4303,Some_card, Whisper Boss Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bFlee,10; if(readparam(bStr)>80) bonus bAtk,20; if(readparam(bVit)>80) bonus bMaxHPrate,30; if(readparam(bLuk)>80) bonus bCritical,3; }; //Temp ID until the true one is found
4304,Tamruan_Card,Tamruan Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bDef,2; bonus2 bSkillAtk,250,10; bonus2 bSkillAtk,251,10; } //??OK
-4305,Turtle_General_Card,Turtle General Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkRate,20; if(callfunc("Is_Sword_Class")!=0) bonus3 bAutoSpell,7,10,1; } //??OK
+4305,Turtle_General_Card,Turtle General Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtkRate,20; if(callfunc("Is_Sword_Class")) bonus3 bAutoSpell,7,10,1; } //??OK
4306,Toad_Card,Toad Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bFlee2,1; if(isequipped(4014)) bonus bFlee,18; } //OK
4307,Beetle_King_Card,Beetle King Card,6,20,0,10,,,,,,,2,,,,{},{} //missing recoversponracekill??
4308,Tri_Joint_Card,Tri Joint Card,6,20,0,10,,,,,,,2,,,,{},{} //missing recoversponracekill??
4309,Parasite_Card,Parasite Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bDef,1; bonus2 bSubEle,0,5; } //OK
4310,Panzer_Goblin_Card,Panzer Goblin Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bCritAtkRate,10; bonus2 bCriticalAddRace,6,7; } //OK
4311,Permeter_Card,Permeter Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bSubEle,7,15; bonus2 bSubEle,9,15; } //OK
-4312,Seal_Card,Seal Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bFlee,3; bonus bHit,10; if(!callfunc("Is_Holy_Class")) end; bonus2 bCriticalAddRace,1,9; bonus2 bCriticalAddRace,6,9; } //??OK
+4312,Seal_Card,Seal Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bFlee,3; bonus bHit,10; if(callfunc("Is_Holy_Class")==0) end; bonus2 bCriticalAddRace,1,9; bonus2 bCriticalAddRace,6,9; } //??OK
4313,Punk_Card,Punk Card,6,20,0,10,,,,,,,4,,,,{},{ if(getskilllv(92)==5) goto QU_5; bonus4 bAutoSpellWhenHit,92,1,1,0; end; QU_5: bonus4 bAutoSpellWhenHit,10,5,1,0; } //??OK
4314,Penomena_Card,Penomena Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,0,30; } //OK
4315,Pest_Card,Pest Card,6,20,0,10,,,,,,,16,,,,{},{ if(readparam(bInt)<=77) bonus2 bAddEffWhenHit,Eff_Stone,1000; if(readparam(bInt)>77) bonus2 bAddEffWhenHit,Eff_Stone,3000; } //??OK
@@ -1372,7 +1368,7 @@
4322,High_Orc_Card,High Orc Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bDef,1; } //missing damagereturnbychance??
4323,Garm_Baby_Card,Garm Baby Card,6,20,0,10,,,,,,,2,,,,{},{ if(isequipped(4324)) goto GARM; bonus3 bAutoSpell,15,3,1; end; GARM: bonus3 bAutoSpell,15,3,2; } //??OK
4324,Garm_Card,Garm Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bAddEffWhenHit,Eff_Freeze,5000; } //OK
-4325,Harpy_Card,Harpy Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,0,15; bonus2 bSkillAtk,11,5; if(!isequipped(4208,4258,4309,4327)) end; bonus bMaxHP,500; bonus bDef,5; bonus bMDef,5; bonus2 bSkillAtk,14,10; bonus2 bSkillAtk,19,10; bonus2 bSkillAtk,20,10; if(!callfunc("Is_Magic_Class")) end; bonus bMatkRate,3; bonus bCastrate,-15; } //??OK
+4325,Harpy_Card,Harpy Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,0,15; bonus2 bSkillAtk,11,5; if(!isequipped(4208,4258,4309,4327)) end; bonus bMaxHP,500; bonus bDef,5; bonus bMDef,5; bonus2 bSkillAtk,14,10; bonus2 bSkillAtk,19,10; bonus2 bSkillAtk,20,10; if(callfunc("Is_Magic_Class")==0) end; bonus bMatkRate,3; bonus bCastrate,-15; } //??OK
4326,Sea_Otter_Card,Sea Otter Card,6,20,0,10,,,,,,,136,,,,{},{ bonus2 bAddItemHealRate,7,50; bonus3 bAddMonsterDropItem,544,5,5000; bonus3 bAddMonsterDropItem,551,5,5000; }
4327,Bloody_Butterfly_Card,Bloody Butterfly Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bCastrate,30; bonus bNoCastCancel2,0; bonus2 bSkillAtk,18,5; } //??OK
4328,Hyegun_Card,Hyegun Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bFlee,15; bonus bCritical,1; if(isequipped(4090,4212)) bonus bAllStats,1; } //??OK
diff --git a/doc/item_bonus.txt b/doc/item_bonus.txt
index d0113595d..9560aa53f 100644
--- a/doc/item_bonus.txt
+++ b/doc/item_bonus.txt
@@ -1,140 +1,119 @@
//eAthena Items Scripting Manual
-skill n,x; skill n of level x
-
-bonus bStr,n; STR + n
-bonus bAgi,n; AGI + n
-bonus bVit,n; VIT + n
-bonus bInt,n; INT + n
-bonus bDex,n; DEX + n
-bonus bLuk,n; LUK + n
-
-bonus bAllStats,n; STR + n, AGI + n, VIT + n, INT + n, DEX + n, LUK + n
-
-bonus bMaxHP,n; MAXHP + n
-bonus bMaxSP,n; MAXSP + n
-bonus bMaxHPrate,n; MAXHP + n%
-bonus bMaxSPrate,n; MAXSP + n%
-bonus bAtk,n; ATK + n
-bonus bAtk2,n; ATK2 + n
-bonus bAtkRate attack power + n%
-bonus bBaseAtk,n; Basic attack power + n
-bonus bMatk,n; Magical attack power 1 + n and magical attack power 2 + n
-bonus bMatk1,n; Magical attack power 1 + n
-bonus bMatk2,n; Magical attack power 2 + n
-bonus bMatkRate,n; Magical attack power + n%
-bonus bMdef,n; Magical defensive power + n
-bonus bDef,n; DEF + n
-bonus bHit,n; On-target hit power + n
-bonus bCritical,n; Critical + n
-bonus bCriticalRate,n; Critical ratio + n%
-bonus bFlee,n; Evasion power + n
-bonus bFlee2,n; Perfection evasion + n
-bonus bSpeed,n; Drift speed + n
-bonus bAspd,n; Attack speed + n
-bonus bSpeedRate,n; Drift speed + n% (just high ones application)
-bonus bAspdRate,n; Attack speed + n% (just high ones application)
-bonus bSpeedAddRate drift speed + n%
-bonus bAspdAddRate attack speed + n%
-bonus bAtkRange,n; Attack Range + n
-bonus bCastrate,n; Cast rate + n%
-bonus bUseSPrate,n; SP consumption + n%
-bonus bHPrecovRate,n; HP automatic recovery ratio + n% (you exclude the recovery with skill)
-bonus bSPrecovRate,n; SP automatic recovery ratio + n% (you exclude the recovery with skill)
-bonus bDoubleRate,n; attack probability n% (with weapon disregard just high ones application)
-bonus bDoubleAddRate,n; Double attack probability + n% (weapon disregard)
-bonus bPerfectHitRate,n; On-target impact attack probability n% (just high ones application)
-bonus bPerfectHitAddRate,n; On-target impact attack probability +n%
-bonus bGetZenyNum,n; When pushing down the monster with physical attack, rand () ?? of %n+1 is obtained, (as for n just high ones application)
-bonus bAddGetZenyNum,n; When pushing down the monster with physical attack, rand () ?? of %n+1 is obtained, (n is done +)
-bonus bCriticalDef,n; Critical ? and others the trap it is, probability + n%
-bonus bNearAtkDef,n; The damage of short-range attack n% reduction (magic and the trap, the ? is excluded)
-bonus bLongAtkDef,n; damage of stand off attack n% reduction (magic and the trap, the ? is excluded)
-bonus bMagicAtkDef the damage of magical attack n% reduction
-bonus bMiscAtkDef MISC attack (the trap and ?) the damage n% reduction
-
-bonus bIgnoreDefRace,n Defense disregard of enemy of n race
- 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than (normal monster) boss monster
-bonus bIgnoreDefEle,n; Defense disregard of enemy of n attribute
- 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
-bonus bIgnoreMDefRace n race the magical defensive power disregard damage
- 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
-bonus bIgnoreMDefEle n attribute the magical defensive power disregard damage
- 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
-bonus bDefRatioAtkRace,n; n race if defensive power is high the high extent big damage is given, (defense disregard)
- 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
-bonus bDefRatioAtkEle,n; n attribute if defensive power is high the high extent big damage is given, (defense disregard)
- 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
-bonus bAtkEle,n; Attack with element n
- 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
-bonus bDefEle,n; Guard against element n
- 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
-bonus bHitRate,n; on-target hit ratio +n%
-bonus bFleeRate,n; evasion ratio +n%
-bonus bFlee2Rate,n; complete evasion ratio +n%
-bonus bDefRate,n; earned-run average +n% (equipment)
-bonus bDef2Rate,n; earned-run average +n% (those due to vit)
-bonus bMdefRate,n; magical earned-run average +n% (equipment)
-bonus bMdef2Rate,n; magical earned-run average +n% (those due to int)
-bonus bSplashRange n; damage is given to the peripheral n cell of the target with usual weapon attack, if (as for n just high ones application, 1 if the 3*3, 2 the 5*5)
-bonus bSplashAddRange n; damage is given to the peripheral n cell of the target with usual weapon attack, (range + n)
-
-bonus bInfiniteEndure,n; Unlimited Endure (n is meaningless)
-bonus bRestartFullRecover,n; When reviving, HP and SP all recoveries (non mind there is no n)
-bonus bNoCastCancel,n; The casting is not cancelled (non mind there is no n)
-bonus bNoCastCancel2,n; The casting is not cancelled (is not cancelled even with GVG, n is meaningless)
-bonus bNoSizeFix,n; The attack revision with the size of the monster is not received, (non mind there is no n)
-bonus bNoWeaponDamage,n; The damage is not received to physical attack, (non mind there is no n)
-bonus bNoMagicDamage,n; The damage is not received to magic, (including also the heel, non mind there is no n)
-bonus bNoGemStone,n; When using skill, the gemstone is not consumed (non mind there is no n)
-
-
-bonus2 bAddEff,Eff_Blind,n; With the establishment of n% dark grant
-bonus2 bAddEff,Eff_Sleep,n; With the establishment of n% sleep grant
-bonus2 bAddEff,Eff_Poison,n; With the establishment of n% poison grant
-bonus2 bAddEff,Eff_Freeze,n; With the establishment of n% freezing grant
-bonus2 bAddEff,Eff_Silence,n; With the establishment of n% silence grant
-bonus2 bAddEff,Eff_Stan,n; With the establishment of n% stun grant
-bonus2 bAddEff,Eff_Curse,n; You curse with the establishment of n%, grant
-bonus2 bAddEff,Eff_Confusion,n; With the establishment of n% confusion grant
-bonus2 bAddEff,Eff_Stone,n; With the establishment of n% petrochemical grant
-
-bonus2 bResEff,Eff_Blind,n; Dark tolerance + n%
-bonus2 bResEff,Eff_Sleep,n; Sleep tolerance + n%
-bonus2 bResEff,Eff_Poison,n; Poison tolerance + n%
-bonus2 bResEff,Eff_Freeze,n; Freezing tolerance + n%
-bonus2 bResEff,Eff_Silence,n; Silence tolerance + n%
-bonus2 bResEff,Eff_Stan,n; Stun tolerance + n%
-bonus2 bResEff,Eff_Curse,n; Cursing tolerance + n%
-bonus2 bResEff,Eff_Confusion,n; Confusion tolerance + n%
-bonus2 bResEff,Eff_Stone,n; Petrochemical tolerance + n%
-
+skill i,n; Gives skill #i at level n
+
+bonus bStr,n; STR + n
+bonus bAgi,n; AGI + n
+bonus bVit,n; VIT + n
+bonus bInt,n; INT + n
+bonus bDex,n; DEX + n
+bonus bLuk,n; LUK + n
+bonus bAllStats,n; STR + n, AGI + n, VIT + n, INT + n, DEX + n, LUK + n
+bonus bMaxHP,n; MaxHP + n
+bonus bMaxSP,n; MaxSP + n
+bonus bMaxHPrate,n; MaxHP + n%
+bonus bMaxSPrate,n; MaxSP + n%
+bonus bAtk,n; ATK + n
+bonus bAtk2,n; ATK2 + n
+bonus bAtkRate Attack power + n%
+bonus bBaseAtk,n; Basic attack power + n
+bonus bMatk,n; Magical attack power 1 + n and magical attack power 2 + n
+bonus bMatk1,n; Magical attack power 1 + n
+bonus bMatk2,n; Magical attack power 2 + n
+bonus bMatkRate,n; Magical attack power + n%
+bonus bDef,n; Equipment DEF + n
+bonus bDefRate,n; Equipment DEF + n%
+bonus bDef2Rate,n; VIT DEF + n%
+bonus bMdef,n; Equipment MDEF + n
+bonus bMdefRate,n; Equipment MDEF + n%
+bonus bMdef2Rate,n; INT MDEF + n%
+bonus bHit,n; Hit + n
+bonus bHitRate,n; Hit + n%
+bonus bCritical,n; Critical + n
+bonus bCriticalRate,n; Critical + n%
+bonus bFlee,n; Flee + n
+bonus bFleeRate,n; Flee +n%
+bonus bFlee2,n; Lucky Flee + n
+bonus bFlee2Rate,n; Lucky Flee + n%
+bonus bSpeed,n; Moving speed + n
+bonus bAspd,n; Attack speed + n
+bonus bSpeedRate,n; Moving speed + n% (only the highest among all is applied)
+bonus bAspdRate,n; Attack speed + n% (only the highest among all is applied)
+bonus bSpeedAddRate Moving speed + n%
+bonus bAspdAddRate Attack speed + n%
+bonus bAtkRange,n; Attack range + n
+bonus bCastrate,n; Skill casting time rate + n%
+bonus bUseSPrate,n; SP consumption + n%
+bonus bHPrecovRate,n; Natural HP recovery ratio + n%
+bonus bSPrecovRate,n; Natural SP recovery ratio + n%
+bonus bDoubleRate,n; Double Attack probability n% (works with all weapons | only the highest among all is applied)
+bonus bDoubleAddRate,n; Double Attack probability + n% (works with all weapons)
+bonus bPerfectHitRate,n; On-target impact attack probability n% (only the highest among all is applied)
+bonus bPerfectHitAddRate,n; On-target impact attack probability + n%
+bonus bGetZenyNum,n; When killing the monster with physical attack, rand () ?? of %n+1 is obtained, (only the highest among all is applied)
+bonus bAddGetZenyNum,n; When killing the monster with physical attack, rand () ?? of %n+1 is obtained, (n is done +)
+bonus bCriticalDef,n; Critical ? and others the trap it is, probability + n%
+bonus bNearAtkDef,n; Adds n% damage reduction against melee physical attacks
+bonus bLongAtkDef,n; Adds n% damage reduction against ranged physical attacks
+bonus bMagicAtkDef,n; Adds n% damage reduction against magical attacks
+bonus bMiscAtkDef,n; Adds n% damage reduction against MISC attacks (traps, falcon, ...)
+bonus bIgnoreDefRace,n Disregard DEF against enemies of race n
+ n: 0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect, 5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 10=Boss monster, 11=Other than (normal monster) boss monster
+bonus bIgnoreDefEle,n; Disregard DEF against enemies of element n
+ n: 0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison, 6=Holy, 7=Dark, 8=Spirit, 9=Undead
+bonus bIgnoreMDefRace Disregard MDEF against enemies of race n
+ n: 0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect, 5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 10=Boss monster, 11=Other than (normal monster) boss monster
+bonus bIgnoreMDefEle Disregard MDEF against enemies of element n
+ n: 0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison, 6=Holy, 7=Dark, 8=Spirit, 9=Undead
+bonus bDefRatioAtkRace,n; n race if defensive power is high the high extent big damage is given, (defense disregard) :
+ n: 0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect, 5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 10=Boss monster, 11=Other than (normal monster) boss monster
+bonus bDefRatioAtkEle,n; n attribute if defensive power is high the high extent big damage is given, (defense disregard) :
+ n: 0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison, 6=Holy, 7=Dark, 8=Spirit, 9=Undead
+bonus bAtkEle,n; Gives the player's attacks element n
+ n: 0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison, 6=Holy, 7=Dark, 8=Spirit, 9=Undead
+bonus bDefEle,n; Gives the player's defense element n
+ n: 0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison, 6=Holy, 7=Dark, 8=Spirit, 9=Undead
+bonus bSplashRange n; Splash attack radius + n (e.g. n=1 makes a 3*3 cells area, n=2 a 5*5 area, etc | only the highest among all is applied)
+bonus bSplashAddRange n; Splash attack radius + n (e.g. n=1 makes a 3*3 cells area, n=2 a 5*5 area, etc)
+bonus bInfiniteEndure,n; Unlimited Endure effect, n is meaningless
+bonus bRestartFullRecover,n; When reviving, HP and SP all recoveries, n is meaningless
+bonus bNoCastCancel,n; Prevents casting from being interrupted when hit (does not work in GvG | n is meaningless)
+bonus bNoCastCancel2,n; Prevents casting from being interrupted when hit (works even in GvG | n is meaningless)
+bonus bNoSizeFix,n; The attack revision with the size of the monster is not received (n is meaningless)
+bonus bNoWeaponDamage,n; Prevents from receiving any physical damage, n is meaningless
+bonus bNoMagicDamage,n; Prevents from receiving any magical effect (Attack, Healing, Support spells are all blocked | n is meaningless)
+bonus bNoGemStone,n; Skills requiring Gemstones do no more require them (Hocus Pocus will still require 1 Yellow one | n is meaningless)
+
+bonus2 bAddEff,e,x; Adds a x/10000 chance to cause effect e to the target when attacking (e.g. x=100 makes 1% chance, x=10000 makes 100% chance, etc)
+ e: Eff_Blind, Eff_Sleep, Eff_Poison, Eff_Freeze, Eff_Silence, Eff_Stan, Eff_Curse, Eff_Confusion, Eff_Stone, Eff_Bleeding
+bonus2 bResEff,e,x; Adds a x/10000 tolerance to effect e (e.g. x=100 makes 1% tolerance, x=10000 makes 100% tolerance, etc)
+ e: Eff_Blind, Eff_Sleep, Eff_Poison, Eff_Freeze, Eff_Silence, Eff_Stan, Eff_Curse, Eff_Confusion, Eff_Stone, Eff_Bleeding
bonus2 bAddSize,n,x; In n size the damage addition of x%
- 0,Small size 1,Medium size 2,Large size
+ n: 0=Small 1=Medium 2=Large
bonus2 bAddRace,n,x; In n race the damage addition of x%
- 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+ n: 0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect, 5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 10=Boss monster, 11=Other than (normal monster) boss monster
bonus2 bSubRace,n,x; Damage x% reduction from n race
- 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+ n: 0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect, 5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 10=Boss monster, 11=Other than (normal monster) boss monster
bonus2 bMagicAddRace,n,x; In n race the damage addition of x% (only magical attack)
- 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+ n: 0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect, 5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 10=Boss monster, 11=Other than (normal monster) boss monster
bonus2 bMagicSubRace,n,x; Magical damage x% reduction from n race
- 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+ n: 0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect, 5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 10=Boss monster, 11=Other than (normal monster) boss monster
bonus2 bAddEle,n,x; In n attribute the damage addition of x%
- 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
-bonus2 bMagicAddEle,n,x In n attribute the damage addition of x% (only magical attack)
- 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
+ n: 0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison, 6=Holy, 7=Dark, 8=Spirit, 9=Undead
+bonus2 bMagicAddEle,n,x In n attribute the damage addition of x% (only magical attack)
+ n: 0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison, 6=Holy, 7=Dark, 8=Spirit, 9=Undead
bonus2 bSubEle,n,x; Damage x% reduction from n attribute
- 0,Nothing 1,Water 2,Earth 3,Fire 4,Wind 5,Poison 6,Saint 7,Darkness 8,Sense 9,Immortality
+ n: 0=Neutral, 1=Water, 2=Earth, 3=Fire, 4=Wind, 5=Poison, 6=Holy, 7=Dark, 8=Spirit, 9=Undead
bonus2 bAddDamageClass,n,x; In monster of class n the damage addition of x% (only physical attack), in case of prayer in n occupation the damage addition of x%
-bonus2 bAddMagicDamageClass,n,x; In monster of class n in case of the magical damage addition and prayer of x% in n occupation the magical damage addition of x%
+bonus2 bAddMagicDamageClass,n,x; In monster of class n in case of the magical damage addition and prayer of x% in n occupation the magical damage addition of x%
bonus2 bAddDefClass,n,x; In monster of class n the damage reduction of x% (only physical attack), in case of prayer in n occupation the damage reduction of x%
bonus2 bAddMDefClass,n,x; In monster of class n in case of the magical damage reduction and prayer of x% in n occupation the magical damage reduction of x%
bonus2 bHPDrainRate,n,x; it obtained to the enemy -- ? ME ? JI -- n % probability -- x % -- HP -- absorption (+ n and x are carried out)
bonus2 bSPDrainRate,n,x; it obtained to the enemy -- ? ME ? JI -- n % probability -- x % -- SP -- absorption (+ n and x are carried out)
-bonus3 bAddMonsterDropItem,n,x; When pushing down the monster with physical attack, the probability which drops item n +x% (the item which the monster drops unrelated ones)
- 0,Intangibility 1,Immortality 2,Animal 3,Plant 4,Insect 5,Fish and shellfish 6,Demon 7,Human 8,Angel 9,Dragon family 10:Boss monster 11:Other than boss monster (normal monster)
+bonus3 bAddMonsterDropItem,n,x; When killing the monster with physical attack, the probability which drops item n +x% (the item which the monster drops unrelated ones)
+ 0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect, 5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 10=Boss monster, 11=Other than (normal monster) boss monster
bonus3 bAutoSpell,n,x,y; Auto Spell casting of spell n at level x with y% chance
// bAddDamageClass, bAddMagicDamageClass and bAddMonsterDropItem it is setting possible up to 10. Those which exceed 10 are ignored.
@@ -145,20 +124,20 @@ bonus3 bAutoSpell,n,x,y; Auto Spell casting of spell n at level x with y% chanc
//---- 2/15 new card effects ----
bonus bCritAtkRate,n; Increase critical damage by +n%
-bonus bNoRegen,n; Stops regeneration for n.
+bonus bNoRegen,n; Stops regeneration for n
n: 1=HP, 2=SP
-bonus bUnstripable,n; Armor cannot be taken off via Strip skills
-bonus bSPGainValue,n; When killing a monster by physical attack
- gain n amount of sp
-bonus bHPGainValue,n; When killing a monster by physical attack
- gain n amount of hp
+bonus bUnstripableWeapon,n; Weapon cannot be taken off via Strip skills
+bonus bUnstripableArmor,n; Armor cannot be taken off via Strip skills
+bonus bUnstripableHelm,n; Helm cannot be taken off via Strip skills
+bonus bUnstripableShield,n; Shield cannot be taken off via Strip skills
+bonus bSPGainValue,n; When killing a monster by physical attack, you gain n SP
+bonus bHPGainValue,n; When killing a monster by physical attack, you gain n HP
bonus bIgnoreDefMob,n; Ignore monster's DEF when attacking.
- n:0=All normal monsters, except Bosses
- 1=All monsters
-bonus bDamageWhenUnequip,n; Lose n HP when the item is unequipped
-
-bonus2 bCriticalAddRace,n,x; Increase critical + n vs. enemies of type x
-bonus2 bHPLossRate,n,x; Lose n amount of hp every x amount of time
+ n: 0=All normal monster except Bosses, 1=All monsters
+bonus bDamageWhenUnequip,n; You lose n HP when the item is unequipped
+bonus2 bCriticalAddRace,n,r; Critical + n vs. enemies of race r
+ r: 0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect, 5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon, 10=Boss monster, 11=Other than (normal monster) boss monster
+bonus2 bHPLossRate,n,x; Lose n HP every x milliseconds
bonus2 bAddEffWhenHit,n,x; n% chance to cause x state to the enemy when
being hit by physical damage
bonus2 bAddEffWhenHitShort,n,x; n% chance to cause x state to the enemy when
@@ -169,16 +148,16 @@ bonus2 bAddDamageByClass,n,x; When being hit by monster of class n increase
bonus2 bAddRace2,n,x; Increase damage by x% vs. enemies of race n
(Check db/mob_race2_db.txt)
bonus2 bSubSize,n,x; Damage x% reduction from n size
- n:0=Small 1=Medium 2=Large
+ n: 0=Small 1=Medium 2=Large
bonus3 bHPLossRate,n,x,y; Lose n amount of hp every x amount of time
- y:0=Don't show damage 1=Show damage
+ y: 0=Don't show damage 1=Show damage
bonus3 bAutoSpellWhenHit,x,y,n; n% chance to cast skill x of level y when
being hit by physical close range damage
bonus3 bSPDrainRate,n,x,y; When attacking there is a n% chance to either
gain SP equivalent to x% of damage dealt, OR
drain the amount of sp from the enemy.
- y:0=gain sp 1:drain enemy sp
+ y: 0=gain sp 1:drain enemy sp
bonus3 bSPDrainValue,n,x,y; When attacking there is a n% chance to either
gain x SP, OR drain the amount of sp from the
enemy. y:0=gain sp 1:drain enemy sp
@@ -192,8 +171,7 @@ bonus4 bAutoSpellWhenHit,x,y,n,i; n% chance to cast skill x of level y when
//---- 2/22 new card effects ----
bonus2 bAddItemHealRate,n,x; Increases HP recovered by n type items by x%
- n:1=potions 2=herbs 3=fruits 4=meat 5=candy
- 6=juice 7=sashimi
+ n: 1=potions, 2=herbs, 3=fruits, 4=meat, 5=candy, 6=juices, 7=sashimi
//---- 3/15 new card effects ----
diff --git a/src/map/map.h b/src/map/map.h
index ceddea0e8..01d9fef0e 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -660,7 +660,8 @@ enum {
SP_SKILL_ATK, SP_UNSTRIPABLE, SP_ADD_DAMAGE_BY_CLASS, // 2018-2020
SP_SP_GAIN_VALUE, SP_IGNORE_DEF_MOB, SP_HP_LOSS_RATE, SP_ADDRACE2, SP_HP_GAIN_VALUE, // 2021-2025
SP_SUBSIZE, SP_DAMAGE_WHEN_UNEQUIP, SP_ADD_ITEM_HEAL_RATE, SP_LOSESP_WHEN_UNEQUIP, SP_EXP_ADDRACE, // 2026-2030
- SP_SP_GAIN_RACE, SP_SUBRACE2, SP_ADDEFF_WHENHIT_SHORT // 2031-2033
+ SP_SP_GAIN_RACE, SP_SUBRACE2, SP_ADDEFF_WHENHIT_SHORT, // 2031-2033
+ SP_UNSTRIPABLE_WEAPON,SP_UNSTRIPABLE_ARMOR,SP_UNSTRIPABLE_HELM,SP_UNSTRIPABLE_SHIELD // 2034-2037
};
enum {
diff --git a/src/map/pc.c b/src/map/pc.c
index b49012e01..16931043b 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -1457,22 +1457,6 @@ int pc_bonus(struct map_session_data *sd,int type,int val)
if(sd->state.lr_flag != 2)
sd->special_state.infinite_endure = 1;
break;
- case SP_UNBREAKABLE_WEAPON:
- if(sd->state.lr_flag != 2)
- sd->unbreakable_equip |= EQP_WEAPON;
- break;
- case SP_UNBREAKABLE_ARMOR:
- if(sd->state.lr_flag != 2)
- sd->unbreakable_equip |= EQP_ARMOR;
- break;
- case SP_UNBREAKABLE_HELM:
- if(sd->state.lr_flag != 2)
- sd->unbreakable_equip |= EQP_HELM;
- break;
- case SP_UNBREAKABLE_SHIELD:
- if(sd->state.lr_flag != 2)
- sd->unbreakable_equip |= EQP_SHIELD;
- break;
case SP_SPLASH_RANGE:
if(sd->state.lr_flag != 2 && sd->splash_range < val)
sd->splash_range = val;
@@ -1537,6 +1521,22 @@ int pc_bonus(struct map_session_data *sd,int type,int val)
sd->unbreakable += val;
}
break;
+ case SP_UNBREAKABLE_WEAPON:
+ if(sd->state.lr_flag != 2)
+ sd->unbreakable_equip |= EQP_WEAPON;
+ break;
+ case SP_UNBREAKABLE_ARMOR:
+ if(sd->state.lr_flag != 2)
+ sd->unbreakable_equip |= EQP_ARMOR;
+ break;
+ case SP_UNBREAKABLE_HELM:
+ if(sd->state.lr_flag != 2)
+ sd->unbreakable_equip |= EQP_HELM;
+ break;
+ case SP_UNBREAKABLE_SHIELD:
+ if(sd->state.lr_flag != 2)
+ sd->unbreakable_equip |= EQP_SHIELD;
+ break;
case SP_CLASSCHANGE: // [Valaris]
if(sd->state.lr_flag !=2){
sd->classchange=val;
@@ -1570,10 +1570,23 @@ int pc_bonus(struct map_session_data *sd,int type,int val)
if(sd->state.lr_flag != 2)
sd->no_regen = val;
break;
+ case SP_UNSTRIPABLE_WEAPON:
+ if(sd->state.lr_flag != 2)
+ sd->unstripable_equip |= EQP_WEAPON;
+ break;
case SP_UNSTRIPABLE:
+ case SP_UNSTRIPABLE_ARMOR:
if(sd->state.lr_flag != 2)
sd->unstripable_equip |= EQP_ARMOR;
break;
+ case SP_UNSTRIPABLE_HELM:
+ if(sd->state.lr_flag != 2)
+ sd->unstripable_equip |= EQP_HELM;
+ break;
+ case SP_UNSTRIPABLE_SHIELD:
+ if(sd->state.lr_flag != 2)
+ sd->unstripable_equip |= EQP_SHIELD;
+ break;
case SP_SP_GAIN_VALUE:
if(!sd->state.lr_flag)
sd->sp_gain_value += val;