// effects
//
// projectiles don't send angles, because they always follow the velocity
-
+
f = ReadByte();
self.count = (f & 0x80);
self.iflags = (self.iflags & IFLAG_INTERNALMASK) | IFLAG_AUTOANGLES | IFLAG_ANGLES;
case PROJECTILE_TAG: setmodel(self, "models/laser.mdl"); self.traileffect = particleeffectnum("TR_ROCKET"); break;
case PROJECTILE_FLAC: setmodel(self, "models/hagarmissile.mdl"); self.scale = 0.4; self.traileffect = particleeffectnum("TR_ROCKET"); break;
case PROJECTILE_SEEKER: setmodel(self, "models/tagrocket.md3"); self.scale = 2; self.traileffect = particleeffectnum("TR_ROCKET"); break;
+ case PROJECTILE_RAPTORBOMB: setmodel(self, "models/vehicles/raptor_bomb.dpm"); self.gravity = 1; self.traileffect = particleeffectnum("TR_GRENADE"); break;
default:
error("Received invalid CSQC projectile, can't work with this!");
break;
self.mins = '-4 -4 -4';
self.maxs = '4 4 4';
break;
+ case PROJECTILE_RAPTORBOMB:
+ self.mins = '-3 -3 -3';
+ self.maxs = '3 3 3';
+ break;
default:
break;
}
if(!(self.count & 0x80))
InterpolateOrigin_Note();
-
+
self.draw = Projectile_Draw;
self.entremove = Ent_RemoveProjectile;
}
precache_model("models/rocket.md3");
precache_model("models/tagrocket.md3");
precache_model("models/tracer.mdl");
+ precache_model("models/vehicles/raptor_bomb.dpm");
+
precache_sound("weapons/electro_fly.wav");
precache_sound("weapons/rocket_fly.wav");
precache_sound("weapons/fireball_fly.wav");
precache_sound("weapons/fireball_fly2.wav");
precache_sound("weapons/tag_rocket_fly.wav");
+
}
bomblet = spawn();
setorigin(bomblet,self.origin);
- setmodel(bomblet,"models/vehicles/raptor_bomb.dpm");
+ //setmodel(bomblet,"models/vehicles/raptor_bomb.dpm");
bomblet.scale = 0.5;
bomblet.solid = SOLID_TRIGGER;
bomblet.nextthink = time + 5;
bomblet.owner = self.owner;
- bomblet.modelflags = MF_GRENADE;
+ //bomblet.modelflags = MF_GRENADE;
bomblet.velocity = normalize(d + (randomvec() * autocvar_g_vehicle_raptor_bomblet_spread)) * v;
- bomblet.angles = vectoangles(bomblet.velocity);
+ //bomblet.angles = vectoangles(bomblet.velocity);
+ CSQCProjectile(bomblet, TRUE, PROJECTILE_RAPTORBOMB, TRUE);
}
remove(self);
bomb_1 = spawn();
bomb_2 = spawn();
- setmodel(bomb_1,"models/vehicles/raptor_bomb.dpm");
- setmodel(bomb_2,"models/vehicles/raptor_bomb.dpm");
-
setorigin(bomb_1, gettaginfo(self, gettagindex(self, "bombmount_left")));
setorigin(bomb_2, gettaginfo(self, gettagindex(self, "bombmount_right")));
else
bomb_1.nextthink = bomb_2.nextthink = time + autocvar_g_vehicle_raptor_bomblet_time;
- bomb_1.avelocity = bomb_2.avelocity = '0 0 180';
+ //bomb_1.avelocity = bomb_2.avelocity = '0 0 180';
bomb_1.owner = bomb_2.owner = self;
bomb_1.enemy = bomb_2.enemy = self.owner;
- bomb_1.angles = bomb_2.angles = self.angles;
+ //bomb_1.angles = bomb_2.angles = self.angles;
bomb_1.solid = bomb_2.solid = SOLID_BBOX;
+ CSQCProjectile(bomb_1, TRUE, PROJECTILE_RAPTORBOMB, TRUE);
+ CSQCProjectile(bomb_2, TRUE, PROJECTILE_RAPTORBOMB, TRUE);
+
bomb_1 = spawn();
bomb_1.owner = self;
bomb_1.think = raptor_bombs_return;
pointparticles(particleeffectnum("raptor_cannon_muzzleflash"), bolt.origin, bolt.velocity, 1);
//pointparticles(particleeffectnum("spiderbot_minigun_muzzleflash"), bolt.origin, bolt.velocity, 1);
- CSQCProjectile(bolt, TRUE, PROJECTILE_CRYLINK , TRUE);
+ CSQCProjectile(bolt, TRUE, PROJECTILE_CRYLINK, TRUE);
}
void raptor_think()