mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-28 06:30:18 +00:00
tfv: add vortex cannon summon
This commit is contained in:
parent
08d0b4c429
commit
af2418ebcb
@ -331,6 +331,13 @@ static int draw_battle_bottom(int enemy_type) {
|
|||||||
|
|
||||||
if (menu_state==MENU_MAIN) {
|
if (menu_state==MENU_MAIN) {
|
||||||
|
|
||||||
|
if (limit>3) {
|
||||||
|
if (menu_position>5) menu_position=5;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (menu_position>4) menu_position=4;
|
||||||
|
}
|
||||||
|
|
||||||
vtab(21);
|
vtab(21);
|
||||||
htab(24);
|
htab(24);
|
||||||
move_cursor();
|
move_cursor();
|
||||||
@ -372,6 +379,9 @@ static int draw_battle_bottom(int enemy_type) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
if (menu_state==MENU_SUMMON) {
|
if (menu_state==MENU_SUMMON) {
|
||||||
|
|
||||||
|
if (menu_position>1) menu_position=1;
|
||||||
|
|
||||||
vtab(21);
|
vtab(21);
|
||||||
htab(25);
|
htab(25);
|
||||||
move_cursor();
|
move_cursor();
|
||||||
@ -390,6 +400,9 @@ static int draw_battle_bottom(int enemy_type) {
|
|||||||
else print("VORTEXCN");
|
else print("VORTEXCN");
|
||||||
}
|
}
|
||||||
if (menu_state==MENU_MAGIC) {
|
if (menu_state==MENU_MAGIC) {
|
||||||
|
|
||||||
|
if (menu_position>4) menu_position=4;
|
||||||
|
|
||||||
vtab(21);
|
vtab(21);
|
||||||
htab(24);
|
htab(24);
|
||||||
move_cursor();
|
move_cursor();
|
||||||
@ -428,6 +441,9 @@ static int draw_battle_bottom(int enemy_type) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (menu_state==MENU_LIMIT) {
|
if (menu_state==MENU_LIMIT) {
|
||||||
|
|
||||||
|
if (menu_position>2) menu_position=2;
|
||||||
|
|
||||||
vtab(21);
|
vtab(21);
|
||||||
htab(24);
|
htab(24);
|
||||||
move_cursor();
|
move_cursor();
|
||||||
@ -1051,7 +1067,7 @@ static void limit_break(int which) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void summon(int which) {
|
static void summon_metrocat(void) {
|
||||||
|
|
||||||
int tx=34,ty=20;
|
int tx=34,ty=20;
|
||||||
int damage=100;
|
int damage=100;
|
||||||
@ -1156,7 +1172,92 @@ static void summon(int which) {
|
|||||||
for(i=0;i<20;i++) {
|
for(i=0;i<20;i++) {
|
||||||
usleep(100000);
|
usleep(100000);
|
||||||
}
|
}
|
||||||
limit=0;
|
}
|
||||||
|
|
||||||
|
static void summon_vortex_cannon(void) {
|
||||||
|
|
||||||
|
int tx=34,ty=20;
|
||||||
|
int damage=5;
|
||||||
|
int i;
|
||||||
|
int ax=20,ay=20;
|
||||||
|
|
||||||
|
/* draw the cannon */
|
||||||
|
|
||||||
|
i=0;
|
||||||
|
while(i<30) {
|
||||||
|
|
||||||
|
gr_copy_to_current(0xc00);
|
||||||
|
|
||||||
|
grsim_put_sprite(tfv_stand_left,tx,ty);
|
||||||
|
grsim_put_sprite(tfv_led_sword,tx-5,ty);
|
||||||
|
|
||||||
|
grsim_put_sprite(enemies[enemy_type].sprite,enemy_x,20);
|
||||||
|
|
||||||
|
grsim_put_sprite(vortex_cannon,ax,ay);
|
||||||
|
|
||||||
|
draw_battle_bottom(enemy_type);
|
||||||
|
|
||||||
|
page_flip();
|
||||||
|
|
||||||
|
i++;
|
||||||
|
|
||||||
|
usleep(20000);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fire vortices */
|
||||||
|
|
||||||
|
ax=20;
|
||||||
|
for(i=0;i<5;i++) {
|
||||||
|
while(ax>5) {
|
||||||
|
|
||||||
|
gr_copy_to_current(0xc00);
|
||||||
|
|
||||||
|
grsim_put_sprite(tfv_stand_left,tx,ty);
|
||||||
|
grsim_put_sprite(tfv_led_sword,tx-5,ty);
|
||||||
|
|
||||||
|
grsim_put_sprite(enemies[enemy_type].sprite,enemy_x,20);
|
||||||
|
|
||||||
|
grsim_put_sprite(vortex_cannon,20,20);
|
||||||
|
|
||||||
|
grsim_put_sprite(vortex,ax,24);
|
||||||
|
|
||||||
|
draw_battle_bottom(enemy_type);
|
||||||
|
|
||||||
|
if (ax<10) {
|
||||||
|
gr_put_num(2,10,damage);
|
||||||
|
}
|
||||||
|
|
||||||
|
page_flip();
|
||||||
|
|
||||||
|
ax-=1;
|
||||||
|
|
||||||
|
usleep(50000);
|
||||||
|
}
|
||||||
|
damage_enemy(damage);
|
||||||
|
ax=20;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
gr_copy_to_current(0xc00);
|
||||||
|
|
||||||
|
grsim_put_sprite(enemies[enemy_type].sprite,enemy_x,20);
|
||||||
|
|
||||||
|
grsim_put_sprite(tfv_stand_left,tx,ty);
|
||||||
|
grsim_put_sprite(tfv_led_sword,tx-5,ty);
|
||||||
|
draw_battle_bottom(enemy_type);
|
||||||
|
|
||||||
|
page_flip();
|
||||||
|
|
||||||
|
for(i=0;i<20;i++) {
|
||||||
|
usleep(100000);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static void summon(int which) {
|
||||||
|
|
||||||
|
if (which==0) summon_metrocat();
|
||||||
|
else summon_vortex_cannon();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,6 +4,13 @@ extern unsigned char tfv_stand_left[];
|
|||||||
extern unsigned char tfv_walk_left[];
|
extern unsigned char tfv_walk_left[];
|
||||||
extern unsigned char tfv_victory[];
|
extern unsigned char tfv_victory[];
|
||||||
extern unsigned char tfv_led_sword[];
|
extern unsigned char tfv_led_sword[];
|
||||||
|
|
||||||
|
extern unsigned char tfg_stand_right[];
|
||||||
|
extern unsigned char tfg_walk_right[];
|
||||||
|
extern unsigned char tfg_stand_left[];
|
||||||
|
extern unsigned char tfg_walk_left[];
|
||||||
|
extern unsigned char tfg_victory[];
|
||||||
|
|
||||||
extern unsigned char bird_rider_stand_right[];
|
extern unsigned char bird_rider_stand_right[];
|
||||||
extern unsigned char bird_rider_walk_right[];
|
extern unsigned char bird_rider_walk_right[];
|
||||||
extern unsigned char bird_rider_stand_left[];
|
extern unsigned char bird_rider_stand_left[];
|
||||||
@ -37,7 +44,7 @@ extern unsigned char evil_penguin[];
|
|||||||
/* summons */
|
/* summons */
|
||||||
extern unsigned char metrocat[];
|
extern unsigned char metrocat[];
|
||||||
extern unsigned char vortex_cannon[];
|
extern unsigned char vortex_cannon[];
|
||||||
extern unsigned char vortexes[];
|
extern unsigned char vortex[];
|
||||||
|
|
||||||
/* ground scatter */
|
/* ground scatter */
|
||||||
extern unsigned char palm_tree[];
|
extern unsigned char palm_tree[];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user