diff --git a/1.6/1.6/Assemblies/ArachnaeSwarm.dll b/1.6/1.6/Assemblies/ArachnaeSwarm.dll index 0da3aff..1bc87fa 100644 Binary files a/1.6/1.6/Assemblies/ArachnaeSwarm.dll and b/1.6/1.6/Assemblies/ArachnaeSwarm.dll differ diff --git a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Missile_Weapon.xml b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Missile_Weapon.xml new file mode 100644 index 0000000..6082bc4 --- /dev/null +++ b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Missile_Weapon.xml @@ -0,0 +1,122 @@ + + + + Bullet_RW_Missile_AR_Gun + + + Graphic_Single_AgeSecs + ArachnaeSwarm/Mote/ARA_CatastropheMissile_Shell + (1,1) + MoteGlow + + ArachnaeSwarm.Projectile_ExplosiveTrackingBullet + + 60 + ARA_AcidBurn + 5 + Filth_SpentAcid + 2 + true + 1.1 + Shell_AcidSpitImpact + 60 + Explosion_EMP + 0.25 + 0.5 + true + + +
  • + 1.1 + ARA_AcidBurn +
  • +
  • + 0.75 + 15 + + 60 + 120 + + Fleck_AcidSpitLaunchedDenseMist + 3 + 1 +
  • +
    +
    + + + ARA_RW_Missile_AR_Gun + + 阿拉克涅虫群的大型武装器官,成排的发射出微型酸爆虫导弹。这种武器的特点就是其巨大的弹容量和全自动发射爆炸导弹。 + Normal + Animal + + ARA_Cocoon_Weapon_2Stage + + + ArachnaeSwarm/Weapon/ARA_RW_Basic_SniperCannon_Gun + Graphic_Single + 1.5 + + 0.75 + SpitterSpawn + + + ARA_Technology_7PAV + UnfinishedWeapon + + + 1300 + + 4 + 0.5 + 0.4 + 0.35 + 0.3 + 2.5 + + +
  • + Verb_Shoot + true + false + 0.8 + Bullet_RW_Missile_AR_Gun + 38 + 8 + 4 + SpitterSpit + + true + +
  • +
    + + 50 + + +
  • ARA_Armed_Organ
  • +
  • ARA_Armed_Organ_Ranged
  • +
  • ARA_Armed_Organ_T2
  • +
    + +
  • RewardStandardQualitySuper
  • +
    + +
  • + ARA_ChainReload + 1 +
  • +
  • + +
  • ARA_Huge_Weapon
  • +
  • ARA_Weapon_Damage_Acid
  • + + + 2 + 2 + + +
    +
    +
    \ No newline at end of file diff --git a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml index 788b960..7221bf2 100644 --- a/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml +++ b/1.6/1.6/Defs/Thing_Misc/Weapons/ARA_Weapon.xml @@ -318,7 +318,7 @@ - + Bullet_ARA_RW_Basic_Fist_Needle_Gun @@ -335,6 +335,15 @@ 40 + + Bullet_ARA_RW_Basic_Fist_Needle_Gun_SG + + +
  • + 5 +
  • +
    +
    ARA_RW_Toxic_Needle_MG @@ -405,6 +414,76 @@ + + ARA_RW_Toxic_Needle_SG + + 阿拉克涅虫群督虫所使用的武装器官,拥有双联装多排排刺针管道,可以在联结神经束的指挥下交替发射大量的毒针,虽然准度较差但是威力不逊色于人类所使用的自动霰弹枪。 + Normal + Animal + + ARA_Cocoon_Weapon_1Stage + + + ArachnaeSwarm/Weapon/ARA_RW_Toxic_Needle_MG + Graphic_Single + 1 + + 1 + SpitterSpawn + + + ARA_Technology_6PAV + UnfinishedWeapon + + + 1300 + + 4 + 0.5 + 0.4 + 0.35 + 0.3 + 2.5 + + +
  • + ArachnaeSwarm.Verb_ShootShotgun + true + false + 0.8 + Bullet_ARA_RW_Basic_Fist_Needle_Gun_SG + 22 + 3 + 12 + SpitterSpit + + true + +
  • +
    + + 25 + + +
  • ARA_Armed_Organ
  • +
  • ARA_Armed_Organ_Ranged
  • +
  • ARA_Armed_Organ_T2
  • +
    + +
  • RewardStandardQualitySuper
  • +
    + +
  • + +
  • ARA_Weapon_Damage_Toxid
  • + + + 1 + 1 + + +
    +
    ARA_RW_Basic_SniperCannon_Gun diff --git a/Source/ArachnaeSwarm/Verbs/Projectiles/Projectile_ExplosiveTrackingBullet.cs b/Source/ArachnaeSwarm/Verbs/Projectiles/Projectile_ExplosiveTrackingBullet.cs index 3f23eb8..6edd1b7 100644 --- a/Source/ArachnaeSwarm/Verbs/Projectiles/Projectile_ExplosiveTrackingBullet.cs +++ b/Source/ArachnaeSwarm/Verbs/Projectiles/Projectile_ExplosiveTrackingBullet.cs @@ -96,22 +96,26 @@ namespace ArachnaeSwarm // modExtension_Cone.DoConeExplosion(position, map2, exactRotation, damageDef, launcher, damageAmount, armorPenetration, soundExplode, equipmentDef, def, thing, postExplosionSpawnThingDef, postExplosionSpawnChance, postExplosionSpawnThingCount, null, null, 255, false, null, 0f, 1, 0f, false, null, null, 1f, 0f, null, screenShakeFactor, null, null); // } - // Explosion effect (if needed, based on def.projectile.explosionEffect) - Currently not implemented for this class - // bool flag2 = this.def.projectile.explosionEffect != null; - // if (flag2) - // { - // Effecter effecter = this.def.projectile.explosionEffect.Spawn(); - // bool flag3 = this.def.projectile.explosionEffectLifetimeTicks != 0; - // if (flag3) - // { - // map.effecterMaintainer.AddEffecterToMaintain(effecter, base.Position.ToVector3().ToIntVec3(), this.def.projectile.explosionEffectLifetimeTicks); - // } - // else - // { - // effecter.Trigger(new TargetInfo(base.Position, map, false), new TargetInfo(base.Position, map, false), -1); - // effecter.Cleanup(); - // } - // } + // Explosion effect (if needed, based on def.projectile.explosionEffect) + bool flag2 = this.def.projectile.explosionEffect != null; + if (flag2) + { + Effecter effecter = this.def.projectile.explosionEffect.Spawn(); + bool flag3 = this.def.projectile.explosionEffectLifetimeTicks != 0; + if (flag3) + { + map.effecterMaintainer.AddEffecterToMaintain(effecter, ExactPosition.ToIntVec3(), this.def.projectile.explosionEffectLifetimeTicks); + } + else + { + effecter.Trigger(new TargetInfo(ExactPosition.ToIntVec3(), map, false), new TargetInfo(ExactPosition.ToIntVec3(), map, false), -1); + effecter.Cleanup(); + } + } + if (def.projectile.explosionSpawnsSingleFilth && def.projectile.filth != null && def.projectile.filthCount.TrueMax > 0 && Rand.Chance(def.projectile.filthChance) && !base.Position.Filled(map)) + { + FilthMaker.TryMakeFilth(base.Position, map, def.projectile.filth, def.projectile.filthCount.RandomInRange); + } this.Destroy(DestroyMode.Vanish); }