Merge branch 'master' into stage5
This commit is contained in:
commit
8750e83e8b
5 changed files with 122 additions and 10 deletions
BIN
gfx/proj/bullet.png
Normal file
BIN
gfx/proj/bullet.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 454 B |
102
gfx/proj/bullet.svg
Normal file
102
gfx/proj/bullet.svg
Normal file
|
@ -0,0 +1,102 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="13"
|
||||
height="22"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="bullet.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
id="filter3852"
|
||||
x="-0.14808512"
|
||||
width="1.2961702"
|
||||
y="-0.077939533"
|
||||
height="1.1558791"
|
||||
color-interpolation-filters="sRGB">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.61702128"
|
||||
id="feGaussianBlur3854" />
|
||||
</filter>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="22.075"
|
||||
inkscape:cx="1.2644394"
|
||||
inkscape:cy="14.218009"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1061"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3758"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true"
|
||||
originx="0.5px"
|
||||
originy="1.5000018px" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Ebene 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0.5,-1031.8622)">
|
||||
<path
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#00ff00"
|
||||
d="m 1,1040.3622 c 0,-3.8165 3.3333333,-7 5,-7 1.6666667,0 5,3.1835 5,7 l 0,12 -10,0 z"
|
||||
id="rect2987"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cscccc" />
|
||||
<path
|
||||
sodipodi:nodetypes="cscccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3770"
|
||||
d="m 1,1040.3622 c 0,-3.8165 3.3333333,-7 5,-7 1.6666667,0 5,3.1835 5,7 l 0,12 -10,0 z"
|
||||
style="fill:#00ff00;fill-opacity:1;fill-rule:nonzero;stroke:#00ff00;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
<path
|
||||
style="fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;filter:url(#filter3852)"
|
||||
d="m 1,1040.3622 c 0,-3.8165 3.3333333,-7 5,-7 1.6666667,0 5,3.1835 5,7 l 0,12 -10,0 z"
|
||||
id="path3772"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cscccc" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.1 KiB |
|
@ -463,14 +463,13 @@ void stage_loop(StageInfo* info, StageRule start, StageRule end, StageRule draw,
|
|||
if(REPLAY_ASKSAVE) {
|
||||
global.menu = create_saverpy_menu();
|
||||
while(global.menu) {
|
||||
stage_draw(draw, shaderrules, endtime);
|
||||
ingame_menu_logic(&global.menu);
|
||||
|
||||
if(!global.menu)
|
||||
break;
|
||||
|
||||
menu_input(global.menu);
|
||||
stage_draw(draw, shaderrules, endtime);
|
||||
|
||||
menu_input(global.menu);
|
||||
SDL_GL_SwapBuffers();
|
||||
frame_rate(&global.lasttime);
|
||||
}
|
||||
|
|
|
@ -407,7 +407,7 @@ void kurumi_boss_intro(Boss *b, int t) {
|
|||
TIMER(&t);
|
||||
GO_TO(b, VIEWPORT_W/2.0+200I, 0.01);
|
||||
|
||||
AT(150)
|
||||
AT(400)
|
||||
global.dialog = stage3_dialog();
|
||||
}
|
||||
|
||||
|
@ -449,8 +449,14 @@ int aniwall_bullet(Projectile *p, int t) {
|
|||
if(t < 0)
|
||||
return 1;
|
||||
|
||||
if(t > creal(p->args[1]))
|
||||
if(t > creal(p->args[1])) {
|
||||
if(global.diff > D_Normal) {
|
||||
p->args[0] += (0.1-0.2*frand() + 0.1I-0.2I*frand())*(global.diff-2);
|
||||
p->args[0] += 0.005*cexp(I*carg(global.plr.pos - p->pos));
|
||||
}
|
||||
|
||||
p->pos += p->args[0];
|
||||
}
|
||||
|
||||
p->clr->r = cimag(p->pos)/VIEWPORT_H;
|
||||
|
||||
|
@ -495,7 +501,7 @@ int aniwall_slave(Enemy *e, int t) {
|
|||
e->pos += e->args[2];
|
||||
|
||||
|
||||
if(!(t % 7-global.diff)) {
|
||||
if(!(t % 7-global.diff-2*(global.diff > D_Normal))) {
|
||||
complex v = e->args[2]/cabs(e->args[2])*I*copysign(1,creal(e->args[0]));
|
||||
create_projectile2c("ball", e->pos, rgb(1,0,0), aniwall_bullet, 1*v, 40);
|
||||
}
|
||||
|
@ -692,9 +698,9 @@ void kurumi_danmaku(Boss *b, int time) {
|
|||
|
||||
Boss *create_kurumi() {
|
||||
Boss* b = create_boss("Kurumi", "kurumi", -400I);
|
||||
boss_add_attack(b, AT_Move, "Introduction", 5, 0, kurumi_boss_intro, NULL);
|
||||
boss_add_attack(b, AT_Move, "Introduction", 9, 0, kurumi_boss_intro, NULL);
|
||||
boss_add_attack(b, AT_Normal, "Sin Breaker", 20, 20000, kurumi_sbreaker, NULL);
|
||||
boss_add_attack(b, AT_Spellcard, "Limit ~ Animate Wall", 30, 30000, kurumi_aniwall, kurumi_spell_bg);
|
||||
boss_add_attack(b, AT_Spellcard, global.diff < D_Hard ? "Limit ~ Animate Wall" : "Summoning ~ Demon Wall", 30, 40000, kurumi_aniwall, kurumi_spell_bg);
|
||||
boss_add_attack(b, AT_Normal, "Cold Breaker", 20, 20000, kurumi_breaker, NULL);
|
||||
boss_add_attack(b, AT_Spellcard, "Power Sign ~ Blow the Walls", 30, 32000, kurumi_blowwall, kurumi_spell_bg);
|
||||
if(global.diff > D_Normal)
|
||||
|
@ -708,8 +714,8 @@ Boss *create_kurumi() {
|
|||
void stage3_events() {
|
||||
TIMER(&global.timer);
|
||||
|
||||
// AT(0)
|
||||
// global.timer = 3200;
|
||||
AT(0)
|
||||
global.timer = 5200;
|
||||
|
||||
AT(70) {
|
||||
create_enemy1c(VIEWPORT_H/4*3*I, 3000, BigFairy, stage3_splasher, 3-4I);
|
||||
|
|
|
@ -6,6 +6,11 @@
|
|||
*/
|
||||
|
||||
#include "stage4_events.h"
|
||||
#include <global.h>
|
||||
|
||||
void stage4_events() {
|
||||
TIMER(&global.timer);
|
||||
|
||||
FROM_TO(0, 500, 10)
|
||||
create_projectile2c("bullet", VIEWPORT_W/2, rgb(0.3,0,1), asymptotic, 2I+1-2*frand(), 5);
|
||||
}
|
Loading…
Reference in a new issue