diff options
-rw-r--r-- | Changelog-SVN.txt | 2 | ||||
-rw-r--r-- | db/Changelog.txt | 3 | ||||
-rw-r--r-- | db/item_db.txt | 178 | ||||
-rw-r--r-- | src/map/trade.c | 4 |
4 files changed, 97 insertions, 90 deletions
diff --git a/Changelog-SVN.txt b/Changelog-SVN.txt index fe5b0ae95..03b5d1291 100644 --- a/Changelog-SVN.txt +++ b/Changelog-SVN.txt @@ -1,6 +1,8 @@ Date Added 03/17 + * Added ~86 new cards. Fixed new cards bugs, optimized [Lupus] thanks to Indiona,Landarma + * Removed nullpo warning from trade.c (my prev anti-spoof protection) [Lupus] * Added the new Einbroch/Einbech maps to maps_athena.conf [celest] * Added display script filename when a script error is found while parsing [celest] diff --git a/db/Changelog.txt b/db/Changelog.txt index e971976ba..44876c60e 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -5,6 +5,9 @@ Ayathoya items == Added but no effect ( all are "etc" itens) Skill databases == celest working on them i believe. +03/18 + * Added ~86 new cards. Fixed, optimized [Lupus] + Thanks to Indiona,Landarma. Gosh, I had to fix some bugz ^_- 03/16 * Added new items. Thanks to Landarma [Lupus] 03/15 diff --git a/db/item_db.txt b/db/item_db.txt index 48a18db57..de4ff01cb 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -1184,9 +1184,10 @@ // New Cards // //OK = Tested, Works fine. //??OK = looks right, but not properly tested yet //=================================================================== -4149,Gargoyle_Card,Gargoyle Card,6,20,0,10,,,,,,,2,,,,{},{ dispbottom "Gagoyle OK:"; dispbottom isequipped(4149); dispbottom isequippedcnt(4149); dispbottom cardscnt(4149); } //For test purposes only -4150,Goat_Card,Goat Card,6,20,0,10,,,,,,,,,,,{},{} -4151,Gajomart_Card,Gajomart Card,6,20,0,10,,,,,,,,,,,{},{} +//4149,Gargoyle_Card,Gargoyle Card,6,20,0,10,,,,,,,2,,,,{},{ dispbottom "Gagoyle OK:"; dispbottom isequipped(4149); dispbottom isequippedcnt(4149); dispbottom cardscnt(4149); } //For test purposes only +4149,Gargoyle_Card,Gargoyle Card,6,20,0,10,,,,,,,136,,,,{},{} //missing getitemonkill?? (item not implemented) +4150,Goat_Card,Goat Card,6,20,0,10,,,,,,,16,,,,{},{ if(getequiprefinerycnt(2)<6) goto BON; end; BON: bonus bMdef,5; bonus bDef,2; } //OK +4151,Gajomart_Card,Gajomart Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubRace,3,-20; } //missing increaseexponracekill?? 4152,Galapago_Card,Galapago Card,6,20,0,10,,,,,,,136,,,,{},{} //missing bItemHealRate,ListItems or kind & bRandomDrop,Item1,Chance,Item2,Chance,etc 4153,Crab_Card,Crab Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtk,5; bonus2 bAddDamageClass,1266,30; bonus2 bAddEle,4,30; if(isequipped(4247,4273)) bonus3 bAddMonsterDropItem,544,5,3000; } //OK 4154,Dumpling_Child_Card,Dumpling Child Card,6,20,0,10,,,,,,,,,,,{},{} @@ -1194,104 +1195,104 @@ 4156,Goblin_Rider_Card,Goblin Steam Rider Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bCritAtkRate,10; bonus2 bCriticalAddRace,0,7; } //OK 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,,,,,,,,,,,{},{} -4160,Firelock_Soldier_Card,Firelock Soldier Card,6,20,0,10,,,,,,,,,,,{},{} -4161,Grand_Peco_Card,Grand Peco Card,6,20,0,10,,,,,,,,,,,{},{} +4159,Nine_Tail_Card,Nine Tail Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bAgi,2; if(getequiprefinerycnt(5)>8) bonus bFlee,20; } //OK +4160,Firelock_Soldier_Card,Firelock Soldier Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bStr,2; if(getequiprefinerycnt(6)<=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)) goto Peco; end; Peco: 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 -4164,Gullinbursti_Card,Gullinbursti Card,6,20,0,10,,,,,,,,,,,{},{} -4165,Gig_Card,Gig Card,6,20,0,10,,,,,,,,,,,{},{} +4164,Gullinbursti_Card,Gullinbursti Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubRace,5,-20; } //missing increaseexponracekill?? +4165,Gig_Card,Gig Card,6,20,0,10,,,,,,,2,,,,{},{} //missing recoversponracekill?? 4166,Nightmare_Terror_Card,Nightmare Terror Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDef,2; if(isequipped(4127)) bonus2 bAddEffWhenHit,Eff_Curse,3000; } //OK -4167,Nereid_Card,Neraid Card,6,20,0,10,,,,,,,,,,,{},{} -4168,Dark_Lord_Card,Dark Lord Card,6,20,0,10,,,,,,,,,,,{},{} -4169,Dark_Illusion_Card,Dark Illusion Card,6,20,0,10,,,,,,,,,,,{},{} -4170,Dark_Frame_Card,Dark Frame Card,6,20,0,10,,,,,,,,,,,{},{} +4167,Nereid_Card,Neraid Card,6,20,0,10,,,,,,,2,,,,{},{} //missing recoversponracekill?? +4168,Dark_Lord_Card,Dark Lord Card,6,20,0,10,,,,,,,64,,,,{},{ bonus4 bAutoSpellWhenHit,83,5,1,0; if(isequipped(4169)) goto D_ILLU; end; D_ILLU: bonus bMaxHPrate,20; bonus bMaxSPrate,20; } //??OK +4169,Dark_Illusion_Card,Dark Illusion Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bMaxHPrate,-10; bonus bMaxSPrate,-10; if(isequipped(4168)) goto D_LORD; bonus bDelayrate,-10; D_LORD: bonus bDelayrate,-20; } //??OK +4170,Dark_Frame_Card,Dark Frame Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bAddEffWhenHit,Eff_Stone,2000; } //??OK 4171,Dark_Priest_Card,Dark Priest Card,6,20,0,10,,,,,,,2,,,,{},{ bonus3 bSPDrainRate,3,10,1; if(BaseJob==Job_Sage) bonus bSPGainValue,1; } //? Now it just drains 10% SP by 3% chance. 4172,The_Paper_Card,The Paper Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bCritAtkRate,15; if(BaseJob==Job_Assassin) bonus bCritical,4; } //??OK -4173,Demon_Pungus_Card,Demon Pungus Card,6,20,0,10,,,,,,,,,,,{},{} -4174,Deviling_Card,Deviling Card,6,20,0,10,,,,,,,,,,,{},{} +4173,Demon_Pungus_Card,Demon Pungus Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bAddEffWhenHit,Eff_Sleep,2000; } //??OK +4174,Deviling_Card,Deviling Card,6,20,0,10,,,,,,,4,,,,{},{ bonus2 bSubEle,1,-50; bonus2 bSubEle,2,-50; bonus2 bSubEle,3,-50; bonus2 bSubEle,4,-50; bonus2 bSubEle,0,50; } //??OK 4175,Poisonous_Toad_Card,Poisonous Toad Card,6,20,0,10,,,,,,,2,,,,{},{ bonus3 bAutoSpell,52,1,2; } //OK 4176,Dullahan_Card,Dullahan Card,6,20,10,10,,,,,,,2,,,,{},{ bonus bCritAtkRate,10; bonus2 bCriticalAddRace,9,7; } //OK -4177,Dryad_Card,Dryad Card,6,20,0,10,,,,,,,,,,,{},{} -4178,Dragon_Tail_Card,Dragon Tail Card,6,20,0,10,,,,,,,,,,,{},{} +4177,Dryad_Card,Dryad Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bSubEle,2,10; } //missing getitemonracekill?? +4178,Dragon_Tail_Card,Dragon Tail Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bAgi,1; bonus bFlee,10; bonus2 bSkillAtk,46,5; bonus2 bSkillAtk,47,5; } //??OK 4179,Dragon_Fly_Card,Dragon Fly Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bAgi,1; if(isequipped(4009)) bonus bFlee,18; } //OK -4180,Driller_Card,Driller Card,6,20,0,10,,,,,,,,,,,{},{} +4180,Driller_Card,Driller Card,6,20,0,10,,,,,,,2,,,,{},{} //missing recoversponracekill?? 4181,Disguise_Card,Disguise Card,6,20,0,10,,,,,,,16,,,,{},{ if(readparam(bVit)<=77) bonus2 bAddEffWhenHit,Eff_Silence,1000; if(readparam(bVit)>77) bonus2 bAddEffWhenHit,Eff_Silence,3000; } //??OK -4182,Diabolic_Card,Diabolic Card,6,20,0,10,,,,,,,,,,,{},{} +4182,Diabolic_Card,Diabolic Card,6,20,0,10,,,,,,,2,,,,{},{} //missing recoversponracekill?? 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 -4187,Raydric_Archer_Card,Raydric Archer Card,6,20,0,10,,,,,,,,,,,{},{} -4188,Leib_Olmai_Card,Leib Olmai Card,6,20,0,10,,,,,,,,,,,{},{} -4189,Wraith_Dead_Card,Wraith Dead Card,6,20,0,10,,,,,,,,,,,{},{} -4190,Wraith_Card,Wraith Card,6,20,0,10,,,,,,,,,,,{},{} +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 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,,,,,,,,,,,{},{} -4196,Marin_Card,Marin Card,6,20,0,10,,,,,,,,,,,{},{} +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,,,,,,,,,,,{},{} -4201,Majoruros_Card,Majoruros Card,6,20,0,10,,,,,,,,,,,{},{} +4200,Megalith_Card,Megalith Card,6,20,0,10,,,,,,,64,,,,{},{ if(getequiprefinerycnt(6)<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,,,,,,,,,,,{},{} -4204,Mini_Demon_Card,Mini Demon Card,6,20,0,10,,,,,,,,,,,{},{} -4205,Mimic_Card,Mimic Card,6,20,0,10,,,,,,,,,,,{},{} -4206,Myst_Case_Card,Mystcase Card,6,20,0,10,,,,,,,,,,,{},{} +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; FB_10: bonus3 bAutoSpell,17,10,25; } //??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?? 4207,Mysteltainn_Card,Mysteltainn Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubSize,0,30; } //OK 4208,Miyabi_Ningyo_Card,Miyabi Ningyo Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bMaxSPrate,10; bonus2 bSkillAtk,15,5; } //OK -4209,Violy_Card,Violy Card,6,20,0,10,,,,,,,,,,,{},{} +4209,Violy_Card,Violy Card,6,20,0,10,,,,,,,136,,,,{},{ if(getskilllv(318)==5) goto FJ_5; bonus3 bAutoSpell,318,1,1; FJ_5: bonus3 bAutoSpell,318,5,1; } //??OK 4210,Wanderer_Card,Wanderer Card,6,20,0,10,,,,,,,4,,,,{},{ bonus3 bAutoSpell,219,1,1; if(callfunc("Is_Thief_Class")) bonus bFlee,20; } //??OK 4211,Vocal_Card,Vocal Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bMdef,3; if(isequipped(4021)) bonus bFlee,18; } //OK 4212,Bongun_Card,Bongun Card,6,20,0,10,,,,,,,136,,,,{},{ bonus3 bAutoSpell,5,1,1; bonus2 bAddDamageByClass,1026,100; } //??OK -4213,Brilight_Card,Brilight Card,6,20,0,10,,,,,,,,,,,{},{} +4213,Brilight_Card,Brilight Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bAddEffWhenHit,Eff_Silence,2000; } //??OK 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,,,,,,,,,,,{},{} -4216,Sasquatch_Card,Sasquatch Card,6,20,0,10,,,,,,,,,,,{},{} -4217,Enchanted_Peach_Tree_Card,Enchanted Peach Tree Card,6,20,0,10,,,,,,,,,,,{},{} +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; 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 -4219,Sage_Worm_Card,Sage Worm Card,6,20,0,10,,,,,,,,,,,{},{} +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,,,,,,,,,,,{},{} +4221,Skeleton_General_Card,Skeleton General Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubRace,4,-20; } //missing increaseexponracekill?? 4222,Skeleton_Prisoner_Card,Skel Prisoner Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDef,2; if(isequipped(4025)) bonus2 bAddEffWhenHit,Eff_Sleep,3000; } //OK -4223,Stalactic_Golem_Card,Stalactic Golem Card,6,20,0,10,,,,,,,,,,,{},{} -4224,Stem_Worm_Card,Stem Worm Card,6,20,0,10,,,,,,,,,,,{},{} +4223,Stalactic_Golem_Card,Stalactic Golem Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bDef,1; bonus2 bResEff,Eff_Stan,2000;} //??OK +4224,Stem_Worm_Card,Stem Worm Card,6,20,0,10,,,,,,,136,,,,{},{} //missing getitemonkill?? (item not implemented) 4225,Stone_Shooter_Card,Stone Shooter Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtk,10; bonus bHit,10; } //OK -4226,Sting_Card,Sting Card,6,20,0,10,,,,,,,,,,,{},{} +4226,Sting_Card,Sting Card,6,20,0,10,,,,,,,32,,,,{},{ bonus bDef,2; if(getequiprefinerycnt(3)>8) bonus bMdef,5; } //OK 4227,Spring_Rabbit_Card,Spring Rabbit Card,6,20,0,10,,,,,,,136,,,,{},{} //missing bItemHealRate,ListOfHealingItems & bRandomDrop,Item1,Chance,Item2,Chance,etc -4228,Sleeper_Card,Sleeper Card,6,20,0,10,,,,,,,,,,,{},{} -4229,Clock_Tower_Manager_Card,Clock Tower Manager Card,6,20,0,10,,,,,,,,,,,{},{} -4230,Shinobi_Card,Shinobi Card,6,20,0,10,,,,,,,,,,,{},{} +4228,Sleeper_Card,Sleeper Card,6,20,0,10,,,,,,,136,,,,{},{} //missing getitemonkill?? (item not implemented) +4229,Clock_Tower_Manager_Card,Clock Tower Manager Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bInt,1; bonus bDelayrate,-5; if(!isequipped(4244,4299,4313)) end; bonus bDef,3; bonus bMdef,3; } //??OK +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 -4234,Anolian_Card,Anolian Card,6,20,0,10,,,,,,,,,,,{},{} -4235,Cookie_Xmas_Card,Cookie Xmas Card,6,20,0,10,,,,,,,136,,,,{},{} +4234,Anolian_Card,Anolian Card,6,20,0,10,,,,,,,16,,,,{},{ if(getskilllv(45)==10) goto IC_10; bonus4 bAutoSpellWhenHit,45,1,1,0; 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; bonus bDef,1; bonus bMdef,1; bonus4 bAutoSpellWhenHit,73,10,1+(readparam(bInt)>=99),0; } //??OK (X>=Y) returns 0 or 1 -4237,Owl_Duke_Card,Owl Duke Card,6,20,0,10,,,,,,,,,,,{},{} -4238,Owl_Baron_Card,Owl Baron Card,6,20,0,10,,,,,,,,,,,{},{} -4239,Iron_Fist_Card,Iron Fist Card,6,20,0,10,,,,,,,,,,,{},{} -4240,Arclouze_Card,Arclouze Card,6,20,0,10,,,,,,,,,,,{},{} +4237,Owl_Duke_Card,Owl Duke Card,6,20,0,10,,,,,,,136,,,,{},{ bonus3 bAutoSpell,66,3,1; if(isequipped(4238)) bonus3 bAutoSpell,20,5,1; } //??OK +4238,Owl_Baron_Card,Owl Baron Card,6,20,0,10,,,,,,,136,,,,{},{ bonus3 bAutoSpell,78,1,1; } //??OK +4239,Iron_Fist_Card,Iron Fist Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubRace,0,-20; } //missing increaseexponracekill?? +4240,Arclouze_Card,Arclouze Card,6,20,0,10,,,,,,,32,,,,{},{ if(getequiprefinerycnt(3)>=6) end; bonus bMdef,3; bonus bDef,2; } //OK 4241,Archangeling_Card,Archangeling Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bMaxHP,300; if(readparam(bLuk)<=77) end; bonus bHPrecovRate,100; bonus bSPrecovRate,100; } //??OK -4242,Apocalipse_Card,Apocalipse Card,6,20,0,10,,,,,,,,,,,{},{} -4243,Antonio_Card,Antonio Card,6,20,0,10,,,,,,,,,,,{},{} -4244,Alarm_Card,Alarm Card,6,20,0,10,,,,,,,,,,,{},{} -4245,Am_Mut_Card,Am Mut Card,6,20,0,10,,,,,,,,,,,{},{} +4242,Apocalipse_Card,Apocalipse Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bVit,2; if(getequiprefinerycnt(2)>8) bonus bMaxHP,800; } //OK +4243,Antonio_Card,Antonio Card,6,20,0,10,,,,,,,16,,,,{},{ bonus4 bAutoSpellWhenHit,26,1,1,0; } //??OK +4244,Alarm_Card,Alarm Card,6,20,0,10,,,,,,,64,,,,{},{ bonus4 bAutoSpellWhenHit,10,1,1,0; bonus bMaxHP,300; bonus bVit,1; } //??OK +4245,Am_Mut_Card,Am Mut Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubRace,7,-20; } //missing increaseexponracekill?? 4246,Assulter_Card,Assulter Card,6,20,0,10,,,,,,,2,,,,{},{} 4247,Aster_Card,Aster Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bAtk,5; bonus2 bAddDamageClass,1074,30; } //OK -4248,Ancient_Mummy_Card,Ancient Mummy Card,6,20,0,10,,,,,,,,,,,{},{} -4249,Ancient_Worm_Card,Ancient Worm Card,6,20,0,10,,,,,,,,,,,{},{} +4248,Ancient_Mummy_Card,Ancient Mummy Card,6,20,0,10,,,,,,,32,,,,{},{ bonus4 bAutoSpellWhenHit,32,5,1,0; } +4249,Ancient_Worm_Card,Ancient Worm Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubRace,6,-20; } //missing increaseexponracekill?? 4250,Executioner_Card,Executioner Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubSize,2,30; } //OK 4251,Elder_Card,Elder Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace2,5,40; } //OK 4252,Alligator_Card,Alligator Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bLongAtkDef,5; } //OK 4253,Alice_Card,Alice Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubRace,10,40; bonus2 bSubRace,11,-40; } //??OK 4254,Tirfing_Card,Tirfing Card,6,20,0,10,,,,,,,32,,,,{},{ bonus2 bSubSize,1,30; } //OK 4255,Orc_Lady_Card,Orc Lady Card,6,20,0,10,,,,,,,2,,,,{},{ bonus2 bAddRace2,3,30; } //OK -4256,Orc_Archer_Card,Orc Archer Card,6,20,0,10,,,,,,,,,,,{},{} +4256,Orc_Archer_Card,Orc Archer Card,6,20,0,10,,,,,,,136,,,,{},{} //missing getitemonkill?? (item not implemented) 4257,Wild_Rose_Card,Wild Rose Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bAgi,1; if(callfunc("Is_Thief_Class")) bonus bFlee2,5; } //OK 4258,Evil_Nymph_Card,Evil Nymph Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bInt,1; bonus bMaxSP,50; } //OK 4259,Wooden_Golem_Card,Wooden Golem Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bDef,1; bonus bHPrecovRate,30; } //OK @@ -1299,71 +1300,72 @@ 4261,Wootan_Fighter_Card,Wootan Fighter Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bDef,1; bonus2 bResEff,Eff_Bleeding,2000; } //OK 4262,Taoist_Hermit_Card,Taoist Hermit Card,6,20,0,10,,,,,,,,,,,{},{} 4263,Incantation_Samurai_Card,Incantation Samurai Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bIgnoreDefMob,0; bonus2 bHPLossRate,300,10; bonus bDamageWhenUnequip,1000; } //??OK -4264,Wind_Ghost_Card,Wind Ghost Card,6,20,0,10,,,,,,,,,,,{},{} +4264,Wind_Ghost_Card,Wind Ghost Card,6,20,0,10,,,,,,,136,,,,{},{ if(getskilllv(84)==10) goto JT_10; bonus3 bAutoSpell,84,3,1; JT_10: bonus3 bAutoSpell,66,10,1; } //??OK 4265,Li_Me_Mang_Ryang_Card,Li Me Mang Ryang Card,6,20,0,10,,,,,,,,,,,{},{} 4266,Eclipse_Card,Eclipse Card,6,20,0,10,,,,,,,4,,,,{},{ bonus bVit,1; if(isequipped(4006)) bonus bFlee,18; } //OK -4267,Explosion_Card,Explosion Card,6,20,0,10,,,,,,,,,,,{},{} +4267,Explosion_Card,Explosion Card,6,20,0,10,,,,,,,64,,,,{},{ bonus2 bSubRace,9,-20; } //missing increaseexponracekill?? 4268,Incubus_Card,Incubus Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bMaxSP,150; if(isequipped(4218)) goto L_SUC; bonus bInt,-3; bonus bSPrecovRate,-20; end; L_SUC: bonus bInt,3; bonus bSPrecovRate,30; } //??OK -4269,Injustice_Card,Injustice Card,6,20,0,10,,,,,,,,,,,{},{} -4270,Giant_Spider_Card,Giant Spider Card,6,20,0,10,,,,,,,,,,,{},{} -4271,Giant_Hornet_Card,Giant Hornet Card,6,20,0,10,,,,,,,,,,,{},{} +4269,Injustice_Card,Injustice Card,6,20,0,10,,,,,,,2,,,,{},{ bonus3 bAutoSpell,136,1,1; if(isequipped(4277)) goto ZEA; ZEA: bonus bAtk,20; bonus bLuk,3; } //??OK +4270,Giant_Spider_Card,Giant Spider Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bAddEffWhenHit,Eff_Poison,2000; } //??OK +4271,Giant_Hornet_Card,Giant Hornet Card,6,20,0,10,,,,,,,769,,,,{},{ bonus2 bSubEle,4,10; } //missing getitemonracekill?? 4272,Dancing_Dragon_Card,Dancing Dragon Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bAgi,1; bonus bCritical,3; } //OK 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,,,,,,,,,,,{},{} -4275,Zombie_Prisoner_Card,Zombie Prisoner Card,6,20,0,10,,,,,,,,,,,{},{} -4276,Lord_of_Death_Card,Lord of Death Card,6,20,0,10,,,,,,,,,,,{},{} -4277,Zherlthsh_Card,Zherlthsh Card,6,20,0,10,,,,,,,,,,,{},{} -4278,Gibbet_Card,Gibbet Card,6,20,0,10,,,,,,,,,,,{},{} +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,,,,{},{} //missing Coma Effect?? +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(getequiprefinerycnt(1)<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,,,,,,,,,,,{},{} +4280,Geographer_Card,Geographer Card,6,20,0,10,,,,,,,16,,,,{},{ if(getskilllv(34)==10) goto BL_10; bonus4 bAutoSpellWhenHit,34,2,1,0; 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 -4282,Tengu_Card,Tengu Card,6,20,0,10,,,,,,,,,,,{},{} +4282,Tengu_Card,Tengu Card,6,20,0,10,,,,,,,136,,,,{},{} //missing getitemonkill?? //4283,Removed_Card,Greatest General Card,6,20,0,10,,,,,,,,,,,{},{} 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 -4287,Kapha_Card,Kapha Card,6,20,0,10,,,,,,,,,,,{},{} -4288,Carat_Card,Carat Card,6,20,0,10,,,,,,,,,,,{},{} -4289,Caterpillar_Card,Caterpillar Card,6,20,0,10,,,,,,,,,,,{},{} +4287,Kapha_Card,Kapha Card,6,20,0,10,,,,,,,4,,,,{},{ if(getequiprefinerycnt(5)<6) bonus bMdef,8; } //OK +4288,Carat_Card,Carat Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bInt,2; if(getequiprefinerycnt(1)>8) bonus bMaxSP,150; } //??OK +4289,Caterpillar_Card,Caterpillar Card,6,20,0,10,,,,,,,2,,,,{},{} //missing recoversponracekill?? 4290,Cat_o'_Nine_Tail_Card,Cat o' Nine Tail Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bMdef,3; bonus bMagicDamageReturn,5; } //OK 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 -4295,Kraben_Card,Kraben Card,6,20,0,10,,,,,,,,,,,{},{} -4296,Cramp_Card,Cramp Card,6,20,0,10,,,,,,,,,,,{},{} +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 -4298,Creamy_Fear_Card,Creamy Fear Card,6,20,0,10,,,,,,,,,,,{},{} -4299,Clock_Card,Clock Card,6,20,0,10,,,,,,,,,,,{},{} +4298,Creamy_Fear_Card,Creamy Fear Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bAddEffWhenHit,Eff_Confusion,2000; } //??OK +4299,Clock_Card,Clock Card,6,20,0,10,,,,,,,16,,,,{},{ if(getskilllv(249)==10) goto AG_10; bonus4 bAutoSpellWhenHit,249,3,1,0; AG_10: bonus4 bAutoSpellWhenHit,249,10,1,0; } //??OK 4300,Chimera_Card,Chimera Card,6,20,0,10,,,,,,,16,,,,{},{ if(BaseJob!=Job_Assassin) bonus2 bAddEffWhenHit,Eff_Poison,1000; if(BaseJob==Job_Assassin) bonus2 bAddEffWhenHit,Eff_Poison,3000; } //??OK -4301,Killer_Mantis_Card,Killer Mantis Card,6,20,0,10,,,,,,,,,,,{},{} -4302,Tao_Gunka_Card,Tao Gunka Card,6,20,0,10,,,,,,,,,,,{},{} -4304,Tamruan_Card,Tamruan Card,6,20,0,10,,,,,,,,,,,{},{} -4305,Turtle_General_Card,Turtle General Card,6,20,0,10,,,,,,,,,,,{},{} +4301,Killer_Mantis_Card,Killer Mantis Card,6,20,0,10,,,,,,,16,,,,{},{ bonus2 bAddEffWhenHit,Eff_Bleeding,2000; } //??OK +4302,Tao_Gunka_Card,Tao Gunka Card,6,20,0,10,,,,,,,16,,,,{},{ bonus bMaxHPrate,100; bonus bDefRate,-50; } //??OK +//4303,Some_card +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 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,,,,,,,,,,,{},{} -4308,Tri_Joint_Card,Tri Joint Card,6,20,0,10,,,,,,,,,,,{},{} +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 -4313,Punk_Card,Punk Card,6,20,0,10,,,,,,,,,,,{},{} +4313,Punk_Card,Punk Card,6,20,0,10,,,,,,,4,,,,{},{ if(getskilllv(92)==5) goto QU_5; bonus4 bAutoSpellWhenHit,92,1,1,0; 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 -4316,False_Angel_Card,False Angel Card,6,20,0,10,,,,,,,,,,,{},{} +4316,False_Angel_Card,False Angel Card,6,20,0,10,,,,,,,2,,,,{},{} //missing recoversponracekill?? 4317,Mobster_Card,Mobster Card,6,20,0,10,,,,,,,2,,,,{},{ bonus bCritAtkRate,20; bonus3 bSPDrainValue,100,-1,0; } //??OK 4318,Stormy_Knight_Card,Stormy Knight Card,6,20,0,10,,,,,,,2,,,,{},{ bonus3 bAutoSpell,89,1,2; bonus2 bAddEffWhenHit,Eff_Freeze,2000; } //??OK -4319,Freezer_Card,Freezer Card,6,20,0,10,,,,,,,,,,,{},{} +4319,Freezer_Card,Freezer Card,6,20,0,10,,,,,,,64,,,,{},{ bonus bMaxHP,300; if(getequiprefinerycnt(6)>7) bonus2 bSkillAtk,5,10; } 4320,Bloody_Knight_Card,Bloody Knight Card,6,20,0,10,,,,,,,2,,,,{},{ bonus3 bAutoSpell,83,1,2; } //OK -4321,Heirozoist_Card,Heirozoist Card,6,20,0,10,,,,,,,,,,,{},{} -4322,High_Orc_Card,High Orc Card,6,20,0,10,,,,,,,,,,,{},{} -4323,Garm_Baby_Card,Garm Baby Card,6,20,0,10,,,,,,,,,,,{},{} +4321,Heirozoist_Card,Heirozoist Card,6,20,0,10,,,,,,,136,,,,{},{ bonus bClassChange,1; } //??OK +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; 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; } //??OK 4326,Sea_Otter_Card,Sea Otter Card,6,20,0,10,,,,,,,136,,,,{},{} //missing bItemHealRate,ListItems or kind & bRandomDrop,Item1,Chance,Item2,Chance,etc 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 -4329,Phendark_Card,Phendark Card,6,20,0,10,,,,,,,,,,,{},{} +4329,Phendark_Card,Phendark Card,6,20,0,10,,,,,,,2,,,,{},{} //missing recoversponracekill?? 4330,Evil_Snake_Lord_Card,Evil Snake Lord Card,6,20,0,10,,,,,,,769,,,,{},{ bonus bInt,3; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Curse,10000; } //OK 4331,Heater_Card,Heater Card,6,20,0,10,,,,,,,,,,,{},{ bonus bCritical,3; if(callfunc("Is_Sword_Class")) bonus bFlee2,3; } //OK diff --git a/src/map/trade.c b/src/map/trade.c index 7bb6f77f5..62dd65831 100644 --- a/src/map/trade.c +++ b/src/map/trade.c @@ -76,8 +76,8 @@ void trade_tradeack(struct map_session_data *sd, int type) { npc_event_dequeue(target_sd); //close STORAGE window if it's open. It protects from spooffing packets [Lupus] - nullpo_retv(stor=account2storage2(sd->status.account_id)); - if(stor->storage_status == 1) { + stor=account2storage2(sd->status.account_id); + if(stor!=NULL && stor->storage_status == 1) { if (sd->state.storage_flag) //is it Guild Storage or Common storage_guild_storageclose(sd); else |