Ki-Be kapcsolható krit és átható

Indította devilcon, 2019-08-09, 11:41:21

Sziasztok!
Beraktam a ki-be kapcsolható örökös potikat (lila, zöld), tökéletesen működnek.
Én ez alapján szerettem volna létrehozni egy kritet és áthatót, de sajna nem jött össze.
Leírás:
https://forum.turkmmo.com/konu/3678272-c-python-yesil-ve-mor-pot-rubinum-tarzi/
Így néz ki a kód:
case CRITICAL:
case PENETRATE:
{
EAffectTypes type = AFFECT_NONE;

if (item->GetVnum() == CRITICAL)
type = AFFECT_MALL;

if (item->GetVnum() == PENETRATE)
type = AFFECT_MALL;

if (AFFECT_NONE == type)
break;

CAffect * pAffect = FindAffect(type);

if (NULL == pAffect)
{
EPointTypes bonus = POINT_NONE;
EAffectBits flag = AFF_NONE;

if (item->GetVnum() == CRITICAL)
{
bonus = POINT_CRITICAL_PCT;
}

if (item->GetVnum() == PENETRATE)
{
bonus = POINT_PENETRATE_PCT;
}

AddAffect(type, bonus, item->GetValue(2), flag, INFINITE_AFFECT_DURATION, 0, true);

item->Lock(true);
item->SetSocket(0, true);
}
else
{
RemoveAffect(pAffect);
item->Lock(false);
item->SetSocket(0, false);
}
}
break;


Ez a hiba:
char_item.cpp: 'CRITICAL' was not declared in this scope
char_item.cpp: 'PENETRATE' was not declared in this scope

Az eredeti kóddal nem volt ilyen baj, pedig máshol nem kellett módosítani a forrásban...
Az így néz ki:
case NEW_MOVE_SPEED_POTION:
case NEW_ATTACK_SPEED_POTION:
{
EAffectTypes type = AFFECT_NONE;

if (item->GetVnum() == NEW_MOVE_SPEED_POTION)
type = AFFECT_MOV_SPEED;

if (item->GetVnum() == NEW_ATTACK_SPEED_POTION)
type = AFFECT_ATT_SPEED;

if (AFFECT_NONE == type)
break;

CAffect * pAffect = FindAffect(type);

if (NULL == pAffect)
{
EPointTypes bonus = POINT_NONE;
EAffectBits flag = AFF_NONE;

if (item->GetVnum() == NEW_MOVE_SPEED_POTION)
{
bonus = POINT_MOV_SPEED;
flag = AFF_MOV_SPEED_POTION;
}

if (item->GetVnum() == NEW_ATTACK_SPEED_POTION)
{
bonus = POINT_ATT_SPEED;
flag = AFF_ATT_SPEED_POTION;
}

AddAffect(type, bonus, item->GetValue(2), flag, INFINITE_AFFECT_DURATION, 0, true);

item->Lock(true);
item->SetSocket(0, true);
}
else
{
RemoveAffect(pAffect);
item->Lock(false);
item->SetSocket(0, false);
}
}
break;


Segítséget előre is köszönöm!

Szia.

Valószínűleg innen kihagytad: unique_item.h
CRITICAL = ITEM_ID,
PENETRATE = ITEM_ID,

2019-08-09, 11:49:34 #2 Utolsó szerkesztés: 2019-08-09, 13:04:46 Szerző: devilcon
Igen, kimaradt.. :-X
Köszönöm a segítséget! ;D