stage4: adjust vampiric_vapour

same but less trivial. mostly made the projectile live beyond the screen.
This commit is contained in:
laochailan 2023-05-25 21:23:56 -04:00 committed by Andrei Alexeyev
parent 25cb29f3ce
commit 56e69ecbd5
No known key found for this signature in database
GPG key ID: 72D26128040B9690

View file

@ -40,13 +40,16 @@ TASK(kurumi_vampvape_proj, { int delay; cmplx pos; cmplx vel; }) {
.color = RGBA(1.0, 0.5, 0.5, 0.0),
.move = move_linear(ARGS.vel),
.flags = PFLAG_NOSPAWNFLARE,
.max_viewport_dist = 150,
));
WAIT(ARGS.delay);
p->color = *RGBA(0.3, 0.8, 0.8, 0.0);
projectile_set_prototype(p, pp_bullet);
p->move = move_linear((global.plr.pos - p->pos) * 0.001);
cmplx vel = cdir(rng_sreal()*0.01) * (global.plr.pos - p->pos) * 0.001;
p->move = move_linear(vel);
p->move.retention = 1.02;
if(rng_chance(0.5)) {
@ -83,16 +86,16 @@ TASK(kurumi_vampvape_slave, { cmplx pos; cmplx target; int time_offset; }) {
int travel_time = sqrt(2 * cabs(ARGS.target - ARGS.pos) / cabs(acceleration));
WAIT(travel_time);
real step = 5;
int step_count = VIEWPORT_H / step;
int step_count = 1.2 * VIEWPORT_H / step;
for(int i = ARGS.time_offset; i < ARGS.time_offset + step_count; i++, YIELD) {
real y = step * i;
int count = difficulty_value(3, 4, 5, 5);
int count = difficulty_value(1, 3, 4, 5);
float speed = difficulty_value(0.5, 0.7, 0.9, 0.95);
for(int j = 0; j < count; j++) {
cmplx p = VIEWPORT_W / (real)count * (j + psin(i * i * j * j + i * i)) + I * y;
cmplx p = VIEWPORT_W * (-0.3 + 1.6 / (real)count * (j + psin(i * exp(i) * j * j + i * i))) + I * y;
cmplx dir = cdir(M_TAU * sin(245 * i + j * j * 3501));
if(cabs(p-global.plr.pos) > 60) {