public WeaponObject( string id, string template, int level, //float damage, WeaponDamage damage, float optimalDistance, ObjectColor color, WeaponDamageType damageType, float inBaseCritChance, int workshop) { this.id = id; this.template = template; this.level = level; //this.damage = damage; m_Damage.SetFromDamage(damage); this.optimalDistance = optimalDistance; this.color = color; this.damageType = damageType; this.baseCritChance = inBaseCritChance; this.mWorkshop = workshop; isNew = true; mRaw = GetInfo(); }
private void StartDamageDron(DamagableObject targetObject, WeaponDamage inputDamage, byte workshop, int level, byte race) { if (nebulaObject.IsPlayer()) { if (mPassiveBonuses != null && mPassiveBonuses.damageDronTier > 0) { WeaponDamage dronDamage = new WeaponDamage(); dronDamage.SetFromDamage(inputDamage); dronDamage.Mult(mPassiveBonuses.damageDronBonus); InputDamage inpDamage = new InputDamage(nebulaObject, dronDamage); targetObject.ReceiveDamage(inpDamage); Hashtable dronInfo = new Hashtable { { (int)SPC.Target, targetObject.nebulaObject.Id }, { (int)SPC.TargetType, targetObject.nebulaObject.Type }, { (int)SPC.Damage, dronDamage.totalDamage } }; mMessage.SendDamageDron(dronInfo); } } }