You can use the XmlWeaponAbility attachment to give any mob special attacks.
You can add special attacks to a spawned mob with a spawn entry like
orc/ATTACH/xmlweaponability,BleedAttack
or manually add it to any mob with
[addatt xmlweaponability BleedAttack
and then target the mob.
Note, the attack name is case sensitive and can be any of
ArmorIgnore
BleedAttack
ConcussionBlow
CrushingBlow
Disarm
Dismount
DoubleStrike
InfectiousStrike
MortalStrike
MovingShot
ParalyzingBlow
ShadowStrike
WhirlwindAttack
which are the special weapon abilities defined in WeaponAbility.cs
You will also need to make this modification to basecreature.cs (or your custom mob script if you only want it to apply to certain mobs).
around line 290 change this
CODE |
public virtual WeaponAbility GetWeaponAbility() { return null; }
|
to this
CODE |
public virtual WeaponAbility GetWeaponAbility() { // ARTEGORDONMOD // allow creatures special attack ability to be specified by the xmlweaponability attachment
XmlWeaponAbility a = (XmlWeaponAbility)XmlAttach.FindAttachment(this, typeof(XmlWeaponAbility)); if (a != null) { return a.WeaponAbility; } else { return null; } }
|
and make sure that you have this at the beginning of the script
CODE |
using Server.Engines.XmlSpawner2;
|
K přiřazení speciálních útoků mobům můžete použít attach XmlWeaponAbility.
Speciální útok můžete přidat mobovi buď tímto zápisem:
orc/ATTACH/xmlweaponability,BleedAttack
nebo je přidat manuálně:
[addatt xmlweaponability BleedAttack
(a zatargetit moba)
Pozor - jména specek jsou case-sensitivní. Mohou být následující:
ArmorIgnore
BleedAttack
ConcussionBlow
CrushingBlow
Disarm
Dismount
DoubleStrike
InfectiousStrike
MortalStrike
MovingShot
ParalyzingBlow
ShadowStrike
WhirlwindAttack
(toto jsou ability definované v souboru WeaponAbility.cs)
Pro funkčnost tohoto musíte provést drobnou modifikaci v souboru basecreature.cs (nebo přímo ve scriptu moba, pokud to chcete používat jen u něj).
někde kolem řádku 290 změňte toto:
CODE |
public virtual WeaponAbility GetWeaponAbility() { return null; }
|
za toto:
CODE |
public virtual WeaponAbility GetWeaponAbility() { // ARTEGORDONMOD // allow creatures special attack ability to be specified by the xmlweaponability attachment
XmlWeaponAbility a = (XmlWeaponAbility)XmlAttach.FindAttachment(this, typeof(XmlWeaponAbility)); if (a != null) { return a.WeaponAbility; } else { return null; } }
|
a ujistěte se, že máte na začátku skriptu toto:
CODE |
using Server.Engines.XmlSpawner2;
|
poděkování patří mongbatově továrně na blbosti!