zrobilem pare zmian w kodzie...
i jest tak :
uderzam kolesia, pokazuje sie fala mrozu
i zamrarza go, nastepny cios i nie ma juz fali ; /
dopiero jak sie odmrozi koles to jest nastepna fala
i jak koleś jest zamrożony to nie ma na nim lodu.
func int CmpNpc(var c_npc p1,var c_npc p2)
{
var int old1;
var int old2;
var int result;
old1=p1.aivar[0];
old2=p2.aivar[0];
p1.aivar[0]=0;
p2.aivar[0]=1;
result=p1.aivar[0];
p1.aivar[0]=old1;p2.aivar[0]=old2;
return result;
};
//////////////////////////////////////////////////////////////
func void weaponreaction(var c_npc Hero,var c_npc Self)
{
if(!Npc_IsInFightMode(hero,FMODE_MELEE))
{
return;
};
var c_item weapon;
var c_item eqweapon;
weapon=Npc_GetReadiedWeapon(hero);
eqweapon=Npc_GetEquippedMeleeWeapon(hero);
if(Hlp_IsItem(weapon,asdtest))
{
Wld_PlayEffect("SPELLFX_ICEWAVE",self,self,0,50,DAM_MAGIC,FALSE);
PrintDebugNpc( PD_MAGIC, "B_AssessMagic ...IceCube oder IceWave" );
Npc_SendPassivePerc(self, PERC_ASSESSFIGHTSOUND, self, other);
if ( !( (self.guild == GIL_SLF) ||
(self.guild == GIL_DEMON) ||
(self.guild == GIL_GOLEM) ||
(self.guild == GIL_SWAMPSHARK) ||
(self.guild == GIL_TROLL)) ) &&
( ! (C_BodystateContains(self,BS_SWIM)) || (C_BodystateContains(self,BS_DIVE)) )
{
Npc_ClearAIQueue(self);
AI_StartState (self, ZS_MagicFreeze, 0, "");
};
}
else if (Hlp_IsItem(eqweapon,asdtest))
{
Wld_SendTrigger("weaponreaction");
};
};
///////////////////////////////////////////////////////////////////////////////
func void Sbd_is_damaged()
{
if (self==other&&hero==victim)
{
if(Npc_IsPlayer(victim)&&CmpNpc(self,other))
{
weaponreaction(self,hero);
};
};
};
//-----------------------------------------------------------
//MIECZ
//-----------------------------------------------------------
INSTANCE asdtest (C_Item)
{
name = "asdtest miecza";
mainflag = ITEM_KAT_NF;
flags = ITEM_SWD;
material = MAT_METAL;
value = 2500;
damageTotal = 110;
damagetype = DAM_EDGE;
range = 130;
cond_atr[2] = ATR_STRENGTH;
cond_value[2] = 5;
visual = "ItMw_1H_Sword_Bastard_04.3DS";
description = name;
TEXT[2] = NAME_Damage; COUNT[2] = damageTotal;
TEXT[3] = NAME_Str_needed; COUNT[3] = cond_value[2];
TEXT[4] = NAME_TwoHanded;
TEXT[5] = NAME_Value; COUNT[5] = value;
};