1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-06-13 08:59:27 +00:00

more bubbles, SE config

This commit is contained in:
Zeno Rogue 2019-12-25 23:04:07 +01:00
parent 5cdafd4488
commit f4613e9945
3 changed files with 35 additions and 4 deletions

View File

@ -690,6 +690,17 @@ EX void killMonster(cell *c, eMonster who, flagtype deathflags IS(0)) {
} }
if(m == moLesser && !(kills[m] % 10)) if(m == moLesser && !(kills[m] % 10))
degradeDemons(); degradeDemons();
if(m == moLesser) {
if(kills[m] % 10) {
if(vid.bubbles_special)
drawBubble(c, 0xFF0000, its(kills[m]%10), 1);
}
else {
if(vid.bubbles_special)
drawBubble(c, 0xFF8000, "+1 XP", .8);
degradeDemons();
}
}
if(isIvy(c)) { if(isIvy(c)) {
pcount = 0; pcount = 0;
eMonster m = c->monst; eMonster m = c->monst;

View File

@ -618,6 +618,10 @@ EX void initConfig() {
addsaver(s2xe::qrings, "s2xe-rings"); addsaver(s2xe::qrings, "s2xe-rings");
addsaver(rots::underlying_scale, "rots-underlying-scale"); addsaver(rots::underlying_scale, "rots-underlying-scale");
addsaver(vid.bubbles_special, "bubbles-special", 1);
addsaver(vid.bubbles_threshold, "bubbles-special", 1);
addsaver(vid.bubbles_all, "bubbles-special", 0);
#if CAP_SHMUP #if CAP_SHMUP
multi::initConfig(); multi::initConfig();
@ -996,6 +1000,22 @@ EX void menuitem_sightrange(char c IS('c')) {
dialog::add_action(edit_sightrange); dialog::add_action(edit_sightrange);
} }
EX void showSpecialEffects() {
cmode = vid.xres > vid.yres * 1.4 ? sm::SIDE : sm::MAYDARK;
gamescreen(0);
dialog::init(XLAT("extra graphical effects"));
dialog::addBoolItem_action(XLAT("particles on attack"), (vid.particles), 'p');
dialog::addBoolItem_action(XLAT("floating bubbles: special"), vid.bubbles_special, 's');
dialog::addBoolItem_action(XLAT("floating bubbles: treasure thresholds"), vid.bubbles_threshold, 't');
dialog::addBoolItem_action(XLAT("floating bubbles: all treasures"), vid.bubbles_all, 'a');
dialog::addBoolItem_action(XLAT("background particle effects"), (vid.backeffects), 'b');
dialog::addBreak(50);
dialog::addBack();
dialog::display();
}
EX void showGraphConfig() { EX void showGraphConfig() {
cmode = vid.xres > vid.yres * 1.4 ? sm::SIDE : sm::MAYDARK; cmode = vid.xres > vid.yres * 1.4 ? sm::SIDE : sm::MAYDARK;
gamescreen(0); gamescreen(0);
@ -1039,8 +1059,7 @@ EX void showGraphConfig() {
dialog::addSelItem(XLAT("movement animation speed"), fts(vid.mspeed), 'm'); dialog::addSelItem(XLAT("movement animation speed"), fts(vid.mspeed), 'm');
dialog::addBoolItem(XLAT("extra graphical effects"), (vid.particles), 'u'); dialog::addItem(XLAT("extra graphical effects"), 'u');
dialog::addBoolItem(XLAT("background particle effects"), (vid.backeffects), 'p');
dialog::addBreak(50); dialog::addBreak(50);
dialog::addBack(); dialog::addBack();
@ -1055,7 +1074,7 @@ EX void showGraphConfig() {
if((uni >= 32 && uni < 64) || uni == 'L' || uni == 'C') xuni = uni; if((uni >= 32 && uni < 64) || uni == 'L' || uni == 'C') xuni = uni;
if(xuni == 'u') vid.particles = !vid.particles; if(xuni == 'u') pushScreen(showSpecialEffects);
else if(xuni == 'a') dialog::editNumber(vid.sspeed, -5, 5, 1, 0, else if(xuni == 'a') dialog::editNumber(vid.sspeed, -5, 5, 1, 0,
XLAT("scrolling speed"), XLAT("scrolling speed"),

View File

@ -250,7 +250,7 @@ struct videopar {
ld xposition, yposition; ld xposition, yposition;
bool grid; bool grid;
int particles; bool particles;
int fsize; int fsize;
int flashtime; int flashtime;
@ -329,6 +329,7 @@ struct videopar {
ld collignon_parameter; bool collignon_reflected; ld collignon_parameter; bool collignon_reflected;
ld plevel_factor; ld plevel_factor;
bool bubbles_special, bubbles_threshold, bubbles_all;
}; };
extern videopar vid; extern videopar vid;