📄 op_inv.cpp
字号:
}
//010604 lsw
int CItem_Disposable::EquipItem(CHARLIST *ch ) // 010605_2 YGI
{
EquipItemHitAndDefenceRate(ch, Hit_rate, 0);//020314 lsw//叼奇胶 饭捞飘 绝促 叼胶器历喉篮
EquipItemCalcAttackPower(ch,GetDamage());//020303 lsw
return EquipItemCommon( ch ); // 001219_2 YGI
}
//#####################################################
// 酒赣 厘馒
////010604 lsw
int CItem_Armor::EquipItem(CHARLIST *ch)//020303 lsw
{ //ch 郴何俊 CalcNew 矫府令 窃荐甸捞 hp棺 Mp hungry 蔼阑 棱酒霖促
EquipItemSetAbility(ch, Change_str, Change_con, Change_dex, Change_wis,
Change_int, Change_Movp, Change_cha, Change_end, Change_mor, Change_luc);
if( ch->Spell ) ch->wspsw += Change_ps; // 001212 YGI
else ch->wspsw += Change_ws; // 001212 YGI
EquipItemHitAndDefenceRate(ch, Hit_rate, Defense_rate);//020314 lsw
EquipItemResist(ch, Increase_Poisoning, Increase_Stone, Increase_Magic, Increase_Fire, Increase_Ice, Increase_lightning);//020314 lsw
EquipItemCalcAttackPower(ch,GetDamage());
return EquipItemCommon( ch ); // 001219_2 YGI
}
//#####################################################
// 厩技荤府 厘馒
//010604 lsw
int CItem_Accessory::EquipItem(CHARLIST *ch)
{
EquipItemSetAbility(ch, Change_str, Change_con, Change_dex, Change_wis,
Change_int, Change_Movp, Change_cha, Change_end, Change_mor, Change_luc);
EquipItemHitAndDefenceRate(ch,Hit_rate,Defense_rate);//020314 lsw
if( ch->Spell ) ch->wspsw += Change_ps; // 001217 YGI
else ch->wspsw += Change_ws; // 001217 YGI
EquipItemResist(ch, Increase_Poisoning, Increase_Stone, Increase_Magic, Increase_Fire, Increase_Ice, Increase_lightning);//020314 lsw
EquipItemCalcAttackPower(ch,GetDamage());//020303 lsw
return EquipItemCommon( ch ); // 001219_2 YGI
}
//#####################################################
// ETC 厘馒
//010604 lsw
int CItem_Etc::EquipItem(CHARLIST *ch)
{
EquipItemSetAbility(ch, Change_str, Change_con, Change_dex, Change_wis,
Change_int, 0, Change_cha, Change_end, Change_mor, Change_luc);//Movp啊 绝促
EquipItemHitAndDefenceRate(ch,Hit_rate,Defense_rate);//020314 lsw
if( ch->Spell ) ch->wspsw += Change_ps;
else ch->wspsw += Change_ws;
EquipItemResist(ch, Increase_Poisoning, Increase_Stone, Increase_Magic, Increase_Fire, Increase_Ice, Increase_lightning);//020314 lsw
EquipItemCalcAttackPower(ch,GetDamage());//020303 lsw
return EquipItemCommon( ch ); // 001219_2 YGI
}
/////////////////////////////////////////////////////////////////////////////////
// 酒捞袍 秦力矫 某腐磐 瓷仿摹 皑家 眉农
//
/////////////////////////////////////////////////////////////////////////////////
// 公扁 秦力 // 0206
//010604 lsw
int CItem_Weapon::ReleaseItem( CHARLIST *ch )
{
ReleaseItemSetAbility(ch, Change_str, Change_con, Change_dex, Change_wis,
Change_int, Change_Movp, Change_cha, Change_end, Change_mor, Change_luc);
ReleaseItemHitAndDefenceRate(ch,Hit_rate,Defense_rate);//020314 lsw
ReleaseItemResist(ch, Increase_Poisoning, Increase_Stone, Increase_Magic, Increase_Fire, Increase_Ice, Increase_lightning);//020314 lsw
ReleaseItemCalcAttackPower(ch,GetDamage());//020303 lsw
ReleaseItemCommon(ch);//020314 lsw
return 1;
}
int CItem_Disposable::ReleaseItem( CHARLIST *ch ) // 010605_2 YGI
{
ReleaseItemHitAndDefenceRate(ch,Hit_rate,0);//020314 lsw
ReleaseItemCalcAttackPower(ch,GetDamage());//020303 lsw
ReleaseItemCommon(ch);//020314 lsw
return 1;
}
//#####################################################
// 癌渴 规菩 秦力
////010604 lsw
int CItem_Armor::ReleaseItem( CHARLIST *ch )
{
ReleaseItemSetAbility(ch, Change_str, Change_con, Change_dex, Change_wis,
Change_int, Change_Movp, Change_cha, Change_end, Change_mor, Change_luc);
ReleaseItemHitAndDefenceRate(ch,Hit_rate,Defense_rate);//020314 lsw
ReleaseItemResist(ch, Increase_Poisoning, Increase_Stone, Increase_Magic, Increase_Fire, Increase_Ice, Increase_lightning);//020314 lsw
ReleaseItemCalcAttackPower(ch,GetDamage());//020303 lsw
ReleaseItemCommon(ch);//020314 lsw
return 1;
}
//#####################################################
// 厩技荤府 秦力
////010604 lsw
int CItem_Accessory::ReleaseItem(CHARLIST *ch )
{
ReleaseItemSetAbility(ch, Change_str, Change_con, Change_dex, Change_wis,
Change_int, Change_Movp, Change_cha, Change_end, Change_mor, Change_luc);
ReleaseItemHitAndDefenceRate(ch,Hit_rate,Defense_rate);//020314 lsw
if( ch->Spell ) ch->wspsw -= Change_ps; // 001217 YGI
else ch->wspsw -= Change_ws; // 001217 YGI
ReleaseItemResist(ch, Increase_Poisoning, Increase_Stone, Increase_Magic, Increase_Fire, Increase_Ice, Increase_lightning);//020314 lsw
ReleaseItemCalcAttackPower(ch,GetDamage());//020303 lsw
ReleaseItemCommon(ch);//020314 lsw
return 1;
}
//#####################################################
// ETC 秦力
////010604 lsw
int CItem_Etc::ReleaseItem( CHARLIST *ch )
{
ReleaseItemSetAbility(ch, Change_str, Change_con, Change_dex, Change_wis,
Change_int, 0, Change_cha, Change_end, Change_mor, Change_luc);
ReleaseItemHitAndDefenceRate(ch,Hit_rate,Defense_rate);//020314 lsw
if( ch->Spell ) ch->wspsw -= Change_ps; // 001217 YGI
else ch->wspsw -= Change_ws; // 001217 YGI
ReleaseItemResist(ch, Increase_Poisoning, Increase_Stone, Increase_Magic, Increase_Fire, Increase_Ice, Increase_lightning);//020314 lsw
ReleaseItemCalcAttackPower(ch,GetDamage());//020303 lsw
ReleaseItemCommon(ch);//020314 lsw
return 1;
}
//////////////////////////////////////////////////////////////////////////////////
// //
// 汲疙: Item捞 Equip啊瓷茄瘤 check窍绰 皋家靛甸 //
// 唱赣瘤 皋家靛甸档 内靛甸篮 葛滴 悼老窃. //
// virtual 窃荐甸 //
// //
// 颇扼固磐: char_id; 厘馒 青困甫 窍绰 秦寸 某腐磐狼 id(index) //
// cstatus; 某腐磐狼 惑怕函拳甫 努扼捞攫飘俊 舅妨临 STRUCTURE * //
// source, dest; POS汲疙 曼炼 //
// //
//////////////////////////////////////////////////////////////////////////////////
int CItem_Weapon::is_equipable(int char_id, t_chr_status_info *cstatus, POS source, POS dest)
{
const CHARLIST *ch =CheckServerId(char_id);
if( !ch ) { return 0;}
if( wear_able != equip_able[dest.p3] ) // 0613 YGI
{
if( (wear_able != WEAR_TWO_HAND) ) return NOT;
if( ch->equip[WT_SHIELD].item_no )
{
switch(Item_kind)
{
case IK_DUAL_BOW://030102 lsw Dual BOW
case IK_SHORT_BOW:
case IK_LONG_BOW:
{
}break;
default:
{
return NOT; // 劝捞 酒囱版快
}
}
CItem *t = ::ItemUnit( ch->equip[WT_SHIELD] );
if( t )
{
switch(t->GetItemKind())
{
case IK_TWO_ARROW:
case IK_DUAL_ARROW://030102 lsw ARROW
{
}break;
default:
{
return NOT;// 劝捞变 茄单 劝捞寇狼 巴阑 甸绊 乐绰 版快
}
}
}
}
if( dest.p3 != WT_WEAPON ) return NOT;
}
else
{
switch(wear_able)
{
case WEAR_RIGHT_HAND://WT_WEAPON Position
{
CItem *t = ItemUnit( ch->equip[WT_SHIELD] );
if( t )
{
switch(t->GetItemKind())
{
case IK_TWO_ARROW:
case IK_DUAL_ARROW://030102 lsw ARROW
{
return NOT;//SHIELD Position in Arrow
}break;
}
}
}break;
case WEAR_LEFT_HAND:
{
switch(GetItemKind())//My Weapon is Arrow // Case Dual Arrow
{
case IK_TWO_ARROW:
case IK_DUAL_ARROW:
{
CItem *t = ItemUnit( ch->equip[WT_WEAPON] );
if( t )
{
switch(t->GetItemKind())
{
case IK_DUAL_BOW://030102 lsw Dual BOW
case IK_SHORT_BOW:
case IK_LONG_BOW:
{
}break;
default:
{
return NOT;
}break;
}
}
}
}
}break;
}
}
if(!IsEquipAbleAbilityCheck (Need3_str , ch->GetAbility(STR))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_con , ch->GetAbility(CON))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_dex , ch->GetAbility(DEX))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_end , ch->GetAbility(ENDU))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_cha , ch->GetAbility(CHA))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_mor , ch->GetAbility(MOR))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_Movp , ch->GetAbility(MOVP))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_luc , ch->GetAbility(LUCK))) {return 0;}
if(!IsEquipAbleCheckMouseMRD(Mouse_MRD , ch->Skill[Skill_Ability])){return 0;}
if(!IsEquipAbleCheckWisInt (Need3_wis , Need3_int, ch->GetAbility(WIS),ch->GetAbility(INT_)) ){return 0;}
if(!IsEquipAbleCheckWsPs (Need3_ws , Need3_ps, ch->GetAbility(WSPS), ch->Spell) ){return 0;}
if(!IsEquipAbleCheckGender (Need3_gender, ch->Gender) ) {return 0;}
if(!IsEquipAbleCheckAbleDay (Repair_Skill2_min,Repair_Res1) ) {return 0;}
if(!IsEquipAbleCheckNation(Imunity_Cure_4, ch)) {return 0;}
if(!IsEquipAbleCheckLv(Imunity_Cure_5, ch)) {return 0;}
if(!IsEquipAbleCheckFame(Imunity_Cure_6, ch)) {return 0;}
if(!IsEquipAbleItemKind(GetItemKind(),ch)) {return 0;}
if(!IsEquipAbleDualStep(GetNeedDualStep(),ch)){return 0;}
if(!IsEquipAbleClass(
GetClassWarriorAble(),GetClassThiefAble(),
GetClassArcherAble(),GetClassWizardAble(),
GetClassClericAble(),ch)){return 0;}//021113 lsw
return IsEquipAbleCommon(ch);
}
int CItem_Tool::is_equipable(int char_id, t_chr_status_info *cstatus, POS source, POS dest)
{
const CHARLIST *ch =CheckServerId(char_id);
if( !ch ) { return 0;}
if(!IsEquipAbleCheckAbleDay (Repair_Skill2_min,Repair_Res1) ){return 0;}
if(!IsEquipAbleItemKind(GetItemKind(),ch)) {return 0;}
return IsEquipAbleCommon(ch);
}
int CItem_Potion::is_equipable(int char_id, t_chr_status_info *cstatus, POS source, POS dest)
{
const CHARLIST *ch =CheckServerId(char_id);
if( !ch ) { return 0;}
return 0;//器记篮 馒侩 陛瘤
}
int CItem_Armor::is_equipable(int char_id, t_chr_status_info *cstatus, POS source, POS dest)
{
const CHARLIST *ch =CheckServerId(char_id);
if( !ch ) { return 0;}
if( wear_able != equip_able[dest.p3] ) // 困摹啊 救 嘎阑 版快 // 0621 YGI
{
if( (wear_able != WEAR_TWO_HAND) ) return NOT;
if( ch->equip[WT_SHIELD].item_no ) return NOT;
if( dest.p3 != WT_WEAPON ) return NOT;
}
if( wear_able == WEAR_LEFT_HAND ) // 剧颊八阑 荤侩且锭 规菩甫 馒侩窍搁...
{
CItem *t = ItemUnit( ch->equip[0] );
if( t && t->GetWearAble() == WEAR_TWO_HAND ) return NOT;
}
if(!IsEquipAbleAbilityCheck (Need3_str , ch->GetAbility(STR))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_con , ch->GetAbility(CON))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_dex , ch->GetAbility(DEX))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_end , ch->GetAbility(ENDU))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_cha , ch->GetAbility(CHA))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_mor , ch->GetAbility(MOR))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_Movp , ch->GetAbility(MOVP))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_luc , ch->GetAbility(LUCK))) {return 0;}
if(!IsEquipAbleCheckMouseMRD(Mouse_MRD , ch->Skill[Skill_Ability])){return 0;}
if(!IsEquipAbleCheckWisInt (Need3_wis , Need3_int, ch->GetAbility(WIS),ch->GetAbility(INT_)) ){return 0;}
if(!IsEquipAbleCheckWsPs (Need3_ws , Need3_ps, ch->GetAbility(WSPS), ch->Spell) ){return 0;}
if(!IsEquipAbleCheckGender (Need3_gender, ch->Gender) ) {return 0;}
if(!IsEquipAbleCheckAbleDay (Repair_Skill2_min,Repair_Res1) ){return 0;}
if(!IsEquipAbleCheckNation(Imunity_Cure_4, ch)) {return 0;}
if(!IsEquipAbleCheckLv(Imunity_Cure_5, ch)) {return 0;}
if(!IsEquipAbleCheckFame(Imunity_Cure_6, ch)) {return 0;}
if(!IsEquipAbleItemKind(GetItemKind(),ch)) {return 0;}
if(!IsEquipAbleDualStep(GetNeedDualStep(),ch)){return 0;}
if(!IsEquipAbleClass(
GetClassWarriorAble(),GetClassThiefAble(),
GetClassArcherAble(),GetClassWizardAble(),
GetClassClericAble(),ch)){return 0;}//021113 lsw
return IsEquipAbleCommon(ch);
}
int CItem_Disposable::is_equipable(int char_id, t_chr_status_info *cstatus, POS source, POS dest)
{
const CHARLIST *ch =CheckServerId(char_id);
if( !ch ) { return 0;}
if( wear_able != equip_able[dest.p3] )// 困摹啊 救 嘎阑 版快 // 0621 YGI
{
if( (wear_able != WEAR_TWO_HAND) ) return NOT; // 剧颊公扁啊 酒匆锭
if( ch->equip[WT_SHIELD].item_no ) return NOT; // 规菩磊府俊 购啊 乐促搁
if( dest.p3 != WT_WEAPON ) return NOT; // 困摹啊 公扁 磊府啊 酒聪搁 NOT甫 府畔
}
else
{
if( Item_kind == IK_TWO_ARROW
|| Item_kind == IK_DUAL_ARROW)
{
CItem *t = ItemUnit( ch->equip[WT_WEAPON] );
if(t)
{
switch(t->GetItemKind())
{
case IK_DUAL_BOW://030102 lsw Dual BOW
case IK_SHORT_BOW:
case IK_LONG_BOW:
{
}break;
default:
{
return NOT; // 劝捞 酒囱版快
}
}
}
else
{
return NOT; // 劝捞 酒囱版快
}
}
}
if(!IsEquipAbleAbilityCheck (Need3_str , ch->GetAbility(STR))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_con , ch->GetAbility(CON))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_dex , ch->GetAbility(DEX))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_end , ch->GetAbility(ENDU))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_cha , ch->GetAbility(CHA))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_mor , ch->GetAbility(MOR))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_Movp , ch->GetAbility(MOVP))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_luc , ch->GetAbility(LUCK))) {return 0;}
if(!IsEquipAbleCheckMouseMRD(Mouse_MRD , ch->Skill[Skill_Ability])){return 0;}
if(!IsEquipAbleCheckWisInt (Need3_wis , Need3_int, ch->GetAbility(WIS),ch->GetAbility(INT_)) ){return 0;}
if(!IsEquipAbleCheckWsPs (Need3_ws , Need3_ps, ch->GetAbility(WSPS), ch->Spell) ){return 0;}
if(!IsEquipAbleCheckGender (Need3_gender, ch->Gender) ) {return 0;}
// if(!IsEquipAbleCheckAbleDay (Repair_Skill2_min,Repair_Res1) ){return 0;}//DisPosable篮 Repair_Skill2_min绝促
// if(!IsEquipAbleCheckNation(Imunity_Cure_4, ch)) {return 0;}
// if(!IsEquipAbleCheckLv(Imunity_Cure_5, ch)) {return 0;}
// if(!IsEquipAbleCheckFame(Imunity_Cure_6, ch)) {return 0;}
if(!IsEquipAbleItemKind(GetItemKind(),ch)) {return 0;}
return IsEquipAbleCommon(ch);
}
int CItem_Accessory::is_equipable(int char_id, t_chr_status_info *cstatus, POS source, POS dest)
{
const CHARLIST *ch =CheckServerId(char_id);
if( !ch ) { return 0;}
if( wear_able != equip_able[dest.p3] ) return NOT; // 困摹啊 救 嘎阑 版快
if(!IsEquipAbleAbilityCheck (Need3_str , ch->GetAbility(STR))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_con , ch->GetAbility(CON))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_dex , ch->GetAbility(DEX))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_end , ch->GetAbility(ENDU))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_cha , ch->GetAbility(CHA))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_mor , ch->GetAbility(MOR))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_Movp , ch->GetAbility(MOVP))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_luc , ch->GetAbility(LUCK))) {return 0;}
if(!IsEquipAbleCheckMouseMRD(Mouse_MRD , ch->Skill[Skill_Ability])){return 0;}
if(!IsEquipAbleCheckWisInt (Need3_wis , Need3_int, ch->GetAbility(WIS),ch->GetAbility(INT_)) ){return 0;}
if(!IsEquipAbleCheckWsPs (Need3_ws , Need3_ps, ch->GetAbility(WSPS), ch->Spell) ){return 0;}
if(!IsEquipAbleCheckGender (Need3_gender, ch->Gender) ) {return 0;}
if(!IsEquipAbleCheckAbleDay (Repair_Skill2_min,Repair_Res1) ){return 0;}//DisPosable篮 Repair_Skill2_min绝促
if(!IsEquipAbleCheckNation(Imunity_Cure_4, ch)) {return 0;}
if(!IsEquipAbleCheckLv(Imunity_Cure_5, ch)) {return 0;}
if(!IsEquipAbleCheckFame(Imunity_Cure_6, ch)) {return 0;}
if(!IsEquipAbleItemKind(GetItemKind(),ch)) {return 0;}
if(!IsEquipAbleDualStep(GetNeedDualStep(),ch)){return 0;}
if(!IsEquipAbleClass(
GetClassWarriorAble(),GetClassThiefAble(),
GetClassArcherAble(),GetClassWizardAble(),
GetClassClericAble(),ch)){return 0;}//021113 lsw
return IsEquipAbleCommon(ch);
}
int CItem_Etc::is_equipable(int char_id, t_chr_status_info *cstatus, POS source, POS dest)
{
const CHARLIST *ch =CheckServerId(char_id);
if( !ch ) { return 0;}
if( wear_able != equip_able[dest.p3] ) return NOT; // 困摹啊 救 嘎阑 版快
if(!IsEquipAbleAbilityCheck (Need3_str , ch->GetAbility(STR))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_con , ch->GetAbility(CON))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_dex , ch->GetAbility(DEX))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_end , ch->GetAbility(ENDU))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_cha , ch->GetAbility(CHA))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_mor , ch->GetAbility(MOR))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_Movp , ch->GetAbility(MOVP))) {return 0;}
if(!IsEquipAbleAbilityCheck (Need3_luc , ch->GetAbility(LUCK))) {return 0;}
if(!IsEquipAbleCheckMouseMRD(Mouse_MRD , ch->Skill[Skill_Ability])){return 0;}
if(!IsEquipAbleCheckWisInt (Need3_wis , Need3_int, ch->GetAbility(WIS),ch->GetAbility(INT_)) ){return 0;}
if(!IsEquipAbleCheckWsPs (Need3_ws , Need3_ps, ch->GetAbility(WSPS), ch->Spell) ){return 0;}
if(!IsEquipAbleCheckGender (Need3_gender, ch->Gender) ) {return 0;}
if(!IsEquipAbleCheckAbleDay (Repair_Skill2_min,Repair_Res1) ){return 0;}//DisPosable篮 Repair_Skill2_min绝促
if(!IsEquipAbleCheckNation(Imunity_Cure_4, ch)) {return 0;}
if(!IsEquipAbleCheckLv(Imunity_Cure_5, ch)) {return 0;}
if(!IsEquipAbleCheckFame(Imunity_Cure_6, ch)) {return 0;}
if(!IsEquipAbleItemKind(GetItemKind(),ch)) {return 0;}
if(!IsEquipAbleDualStep(GetNeedDualStep(),ch)){return 0;}
if(!IsEquipAbleClass(
GetClassWarriorAble(),GetClassThiefAble(),
GetClassArcherAble(),GetClassWizardAble(),
GetClassClericAble(),ch)){return 0;}//021113 lsw
return IsEquipAbleCommon(ch);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -