B_AssessDamage.d:
func void B_U (var C_NPC oth, var C_NPC slf) { if (Hlp_GetInstanceID(oth) == Hlp_GetInstanceID(hero)) { var C_ITEM ready; var int randomdmg; var int procent_trafienia; var int obrazenia; ready = Npc_GetReadiedWeapon(hero); randomdmg = Hlp_Random (1); procent_trafienia = 100; obrazenia = 200; if (Npc_HasItems(hero, ItMw_zakazany_kod) == TRUE && Hlp_IsItem(ready, ItMw_zakazany_kod) == TRUE) && (randomdmg <= procent_trafienia) { if (slf.flags != NPC_FLAG_IMMORTAL) { Wld_PlayEffect("spellFX_Firestorm_SPREAD", slf, slf, 1, 1, 1, FALSE ); B_MagicHurtNpc (slf, slf, obrazenia); Wld_PlayEffect("spellFX_FireRain", slf, slf, 1, 1, 1, FALSE ); B_MagicHurtNpc (slf, slf, obrazenia); Wld_PlayEffect("spellFX_Beliarweapon", slf, slf, 1, 1, 1, FALSE ); B_MagicHurtNpc (slf, slf, obrazenia); Wld_PlayEffect("spellFX_FireRain_RAIN", slf, slf, 1, 1, 1, FALSE ); B_MagicHurtNpc (slf, slf, obrazenia); }; Wld_PlayEffect("spellFX_Zap_COLLIDE", hero, hero, 1, 1, 1, FALSE ); Wld_PlayEffect("spellFX_Sleep_ORIGIN", hero, hero, 1, 1, 1, FALSE ); }; if (Npc_HasItems(hero, ItMw_zakazany_kod) == TRUE && Hlp_IsItem(ready, ItMw_zakazany_kod) == TRUE) && (randomdmg <= procent_trafienia) { Wld_PlayEffect("spellFX_Zap_COLLIDE", hero, hero, 1, 1, 1, FALSE ); Wld_PlayEffect("spellFX_Sleep_ORIGIN", hero, hero, 1, 1, 1, FALSE ); }; }; }; func void B_AssessDamage () { var C_NPC Quarho; Quarho = Hlp_GetNpc (NONE_ADDON_111_Quarhodron); var C_NPC Rhadem; Rhadem = Hlp_GetNpc (NONE_ADDON_112_Rhademes); if ((Hlp_GetInstanceID(self) == Hlp_GetInstanceID(Quarho))) || ((Hlp_GetInstanceID(self) == Hlp_GetInstanceID(Rhadem))) { B_GhostSpecialDamage (other, self); return; }; B_BeliarsWeaponSpecialDamage (other, self); B_U (other, self); miecz(); if (self.aivar[AIV_ArenaFight] == AF_AFTER) { self.aivar[AIV_ArenaFight] = AF_AFTER_PLUS_DAMAGE; }; if self.aivar [AIV_EnemyOverride] == TRUE { var C_NPC RAV; RAV = Hlp_GetNpc(BDT_1090_Addon_Raven); if (Hlp_GetInstanceID(self) == (Hlp_GetInstanceID(RAV))) { self.aivar [AIV_EnemyOverride] = FALSE; }; }; if (Npc_IsInState(self,ZS_Attack)) { if (Npc_IsPlayer (other)) && (self.npctype == NPCTYPE_FRIEND) { return; }; if (Npc_IsPlayer (other)) && (self.aivar[AIV_PARTYMEMBER] == TRUE) { return; }; if (Hlp_GetInstanceID (other) != self.aivar[AIV_LASTTARGET]) { if (self.aivar[AIV_HitByOtherNpc] == Hlp_GetInstanceID (other)) || (Hlp_GetInstanceID(other) != Hlp_GetInstanceID(hero)) { Npc_SetTarget (self, other); } else { self.aivar[AIV_HitByOtherNpc] = Hlp_GetInstanceID (other); }; }; return; }; if (B_AssessEnemy()) { return; }; if (!Npc_IsPlayer(other)) && (other.aivar[AIV_ATTACKREASON] == AR_NONE) { B_Attack (self, other, AR_NONE, 0); return; }; if (Npc_IsInFightMode (other, FMODE_MELEE)) || (Npc_IsInFightMode (other, FMODE_FIST)) || (Npc_IsInFightMode (other, FMODE_NONE)) { if (Npc_GetAttitude (self, other) == ATT_FRIENDLY) || ( (self.npctype == NPCTYPE_FRIEND) && Npc_IsPlayer(other) ) { if (!Npc_IsInState(self, ZS_ReactToDamage)) { Npc_ClearAIQueue (self); B_ClearPerceptions (self); AI_StartState (self, ZS_ReactToDamage, 0, ""); return; }; }; }; B_Attack (self, other, AR_ReactToDamage, 0); return; };
B_MM_AssessDamage.d:
func void B_MM_AssessDamage () { self.aivar[AIV_MM_PRIORITY] = PRIO_ATTACK; B_BeliarsWeaponSpecialDamage (other, self); B_U (other, self); miecz(); if (Npc_HasItems (other, Holy_Hammer_MIS) > 0) { var C_NPC MagGol; MagGol = Hlp_GetNpc(MagicGolem); Npc_GetInvItem(other, Holy_Hammer_MIS); var C_ITEM OthWeap; OthWeap = Npc_GetReadiedWeapon(other); if (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(MagGol)) && (Hlp_GetInstanceID(OthWeap) == Hlp_GetInstanceID(item)) { Npc_ChangeAttribute (self, ATR_HITPOINTS, -1000); return; }; }; if (self.guild == GIL_STONEGUARDIAN) && (self.aivar[AIV_EnemyOverride] == TRUE) { B_AWAKE_STONEGUARDIAN (self); }; if (C_PredatorFoundPrey(other,self)) { Npc_ClearAIQueue (self); Npc_SetTarget (self, other); B_ClearPerceptions (self); AI_StartState (self, ZS_MM_Flee, 0, ""); return; }; if (Npc_IsInState(self,ZS_MM_Attack)) { if (Npc_IsPlayer (other)) && (self.aivar[AIV_PARTYMEMBER] == TRUE) { return; }; if (self.aivar[AIV_MM_REAL_ID] == ID_SKELETON) && (other.aivar[AIV_MM_REAL_ID] == ID_SKELETON_MAGE) { return; }; if (Hlp_GetInstanceID (other) != self.aivar[AIV_LASTTARGET]) { if (self.aivar[AIV_HitByOtherNpc] == Hlp_GetInstanceID (other)) { Npc_SetTarget (self, other); } else { self.aivar[AIV_HitByOtherNpc] = Hlp_GetInstanceID (other); }; }; return; }; Npc_ClearAIQueue (self); Npc_SetTarget (self, other); B_ClearPerceptions (self); AI_StartState (self, ZS_MM_Attack, 0, ""); return; };
It_mieczBUDZIS.d:
FUNC VOID miecz() { var c_item weapon; weapon = Npc_GetReadiedWeapon (other); if(Hlp_IsItem(weapon,ItMw_zakazany_kod)) { Wld_PlayEffect("spellFX_FireRain_RAIN",self,self,0,0,0,FALSE); }; };
i zmień żeby było wiencej efektów :naughty: :naughty: