- float damg = 0, edamg = 0, rad = 1;
- switch(self.realowner.spider_type)
- {
- case SPIDER_TYPE_ICE:
- rad = 25;
- pointparticles(particleeffectnum("electro_impact"), self.origin, '0 0 0', 1);
- break;
- case SPIDER_TYPE_FIRE:
- pointparticles(particleeffectnum("fireball_explode"), self.origin, '0 0 0', 1);
- damg = 15;
- rad = 25;
- edamg = 6;
- break;
- }
-
- RadiusDamage(self, self.realowner, damg, edamg, 0, world, rad, DEATH_MONSTER_SPIDER_FIRE, world); // ice deals no damage anyway
-
- for(e = findradius(self.origin, rad); e; e = e.chain) if(e != self) if(e.takedamage && e.deadflag == DEAD_NO) if(e.health > 0)
- {
- switch(self.realowner.spider_type)
- {
- case SPIDER_TYPE_ICE:
- Freeze(e, 0.3, 2, FALSE);
- break;
- case SPIDER_TYPE_FIRE:
- Fire_AddDamage(e, self.realowner, 5 * monster_skill, MON_CVAR(spider, attack_web_damagetime), DEATH_MONSTER_SPIDER_FIRE);
- break;
- }
- }
-
+ pointparticles(particleeffectnum("electro_impact"), self.origin, '0 0 0', 1);
+ RadiusDamage(self, self.realowner, 0, 0, 25, world, world, 25, self.projectiledeathtype, world);
+
+ for(e = findradius(self.origin, 25); e; e = e.chain) if(e != self) if(e.takedamage && e.deadflag == DEAD_NO) if(e.health > 0) if(e.monsterid != MON_SPIDER)
+ e.spider_slowness = time + (autocvar_g_monster_spider_attack_web_damagetime);
+