mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-06-30 17:02:51 +00:00
left-handed player characters
This commit is contained in:
parent
18272634cd
commit
1d0b5878fc
@ -82,6 +82,7 @@ void addsaver(charstyle& cs, string s) {
|
|||||||
addsaver(cs.swordcolor, s + ".swordcolor");
|
addsaver(cs.swordcolor, s + ".swordcolor");
|
||||||
addsaver(cs.dresscolor2, s + ".dresscolor2");
|
addsaver(cs.dresscolor2, s + ".dresscolor2");
|
||||||
addsaver(cs.uicolor, s + ".uicolor");
|
addsaver(cs.uicolor, s + ".uicolor");
|
||||||
|
addsaver(cs.lefthanded, s + ".lefthanded");
|
||||||
}
|
}
|
||||||
|
|
||||||
// R:239, G:208, B:207
|
// R:239, G:208, B:207
|
||||||
@ -102,6 +103,7 @@ void initcs(charstyle &cs) {
|
|||||||
cs.swordcolor = 0xD0D0D0FF;
|
cs.swordcolor = 0xD0D0D0FF;
|
||||||
cs.dresscolor2= 0x8080FFC0;
|
cs.dresscolor2= 0x8080FFC0;
|
||||||
cs.uicolor = 0xFF0000FF;
|
cs.uicolor = 0xFF0000FF;
|
||||||
|
cs.lefthanded = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CAP_CONFIG
|
#if CAP_CONFIG
|
||||||
@ -1409,6 +1411,8 @@ void showCustomizeChar() {
|
|||||||
|
|
||||||
if(numplayers() > 1) dialog::addSelItem(XLAT("player"), its(shmup::cpid+1), 'a');
|
if(numplayers() > 1) dialog::addSelItem(XLAT("player"), its(shmup::cpid+1), 'a');
|
||||||
|
|
||||||
|
dialog::addBoolItem(XLAT("left-handed"), cs.lefthanded, 'l');
|
||||||
|
|
||||||
dialog::addBreak(50);
|
dialog::addBreak(50);
|
||||||
dialog::addBack();
|
dialog::addBack();
|
||||||
dialog::display();
|
dialog::display();
|
||||||
@ -1442,6 +1446,7 @@ void showCustomizeChar() {
|
|||||||
else if(uni == 'd') switchcolor(cs.dresscolor, cat ? haircolors : dresscolors);
|
else if(uni == 'd') switchcolor(cs.dresscolor, cat ? haircolors : dresscolors);
|
||||||
else if(uni == 'f') switchcolor(cs.dresscolor2, dresscolors2);
|
else if(uni == 'f') switchcolor(cs.dresscolor2, dresscolors2);
|
||||||
else if(uni == 'u') switchcolor(cs.uicolor, eyecolors);
|
else if(uni == 'u') switchcolor(cs.uicolor, eyecolors);
|
||||||
|
else if(uni == 'l') cs.lefthanded = !cs.lefthanded;
|
||||||
else if(doexiton(sym, uni)) popScreen();
|
else if(doexiton(sym, uni)) popScreen();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
18
graph.cpp
18
graph.cpp
@ -894,27 +894,29 @@ bool drawMonsterType(eMonster m, cell *where, const transmatrix& V, color_t col,
|
|||||||
if(items[itOrbSide1] && !shmup::on)
|
if(items[itOrbSide1] && !shmup::on)
|
||||||
queuepoly(VBODY * spin(-M_PI/24), cs.charid >= 2 ? shSabre : shPSword, fc(314, cs.swordcolor, 3)); // 3 not colored
|
queuepoly(VBODY * spin(-M_PI/24), cs.charid >= 2 ? shSabre : shPSword, fc(314, cs.swordcolor, 3)); // 3 not colored
|
||||||
|
|
||||||
|
transmatrix VWPN = cs.lefthanded ? VBODY * Mirror : VBODY;
|
||||||
|
|
||||||
if(peace::on) ;
|
if(peace::on) ;
|
||||||
else if(items[itOrbThorns])
|
else if(items[itOrbThorns])
|
||||||
queuepoly(VBODY, shHedgehogBladePlayer, items[itOrbDiscord] ? watercolor(0) : 0x00FF00FF);
|
queuepoly(VWPN, shHedgehogBladePlayer, items[itOrbDiscord] ? watercolor(0) : 0x00FF00FF);
|
||||||
else if(!shmup::on && items[itOrbDiscord])
|
else if(!shmup::on && items[itOrbDiscord])
|
||||||
queuepoly(VBODY, cs.charid >= 2 ? shSabre : shPSword, watercolor(0));
|
queuepoly(VWPN, cs.charid >= 2 ? shSabre : shPSword, watercolor(0));
|
||||||
else if(items[itRevolver])
|
else if(items[itRevolver])
|
||||||
queuepoly(VBODY, shGunInHand, fc(314, cs.swordcolor, 3)); // 3 not colored
|
queuepoly(VWPN, shGunInHand, fc(314, cs.swordcolor, 3)); // 3 not colored
|
||||||
else if(items[itOrbSlaying]) {
|
else if(items[itOrbSlaying]) {
|
||||||
queuepoly(VBODY, shFlailTrunk, fc(314, cs.swordcolor, 3));
|
queuepoly(VWPN, shFlailTrunk, fc(314, cs.swordcolor, 3));
|
||||||
queuepoly(VBODY, shHammerHead, fc(314, cs.swordcolor, 3));
|
queuepoly(VWPN, shHammerHead, fc(314, cs.swordcolor, 3));
|
||||||
}
|
}
|
||||||
else if(!shmup::on)
|
else if(!shmup::on)
|
||||||
queuepoly(VBODY, cs.charid >= 2 ? shSabre : shPSword, fc(314, cs.swordcolor, 3)); // 3 not colored
|
queuepoly(VWPN, cs.charid >= 2 ? shSabre : shPSword, fc(314, cs.swordcolor, 3)); // 3 not colored
|
||||||
else if(shmup::curtime >= shmup::getPlayer()->nextshot)
|
else if(shmup::curtime >= shmup::getPlayer()->nextshot)
|
||||||
queuepoly(VBODY, shPKnife, fc(314, cs.swordcolor, 3)); // 3 not colored
|
queuepoly(VWPN, shPKnife, fc(314, cs.swordcolor, 3)); // 3 not colored
|
||||||
|
|
||||||
if(items[itOrbBeauty]) {
|
if(items[itOrbBeauty]) {
|
||||||
if(cs.charid&1)
|
if(cs.charid&1)
|
||||||
queuepoly(VHEAD, shFlowerHair, darkena(iinf[itOrbBeauty].color, 0, 0xFF));
|
queuepoly(VHEAD, shFlowerHair, darkena(iinf[itOrbBeauty].color, 0, 0xFF));
|
||||||
else
|
else
|
||||||
queuepoly(VBODY, shFlowerHand, darkena(iinf[itOrbBeauty].color, 0, 0xFF));
|
queuepoly(VWPN, shFlowerHand, darkena(iinf[itOrbBeauty].color, 0, 0xFF));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(where && where->land == laWildWest) {
|
if(where && where->land == laWildWest) {
|
||||||
|
1
hyper.h
1
hyper.h
@ -749,6 +749,7 @@ void activateActiv(cell *c, bool msg);
|
|||||||
struct charstyle {
|
struct charstyle {
|
||||||
int charid;
|
int charid;
|
||||||
color_t skincolor, haircolor, dresscolor, swordcolor, dresscolor2, uicolor;
|
color_t skincolor, haircolor, dresscolor, swordcolor, dresscolor2, uicolor;
|
||||||
|
bool lefthanded;
|
||||||
};
|
};
|
||||||
|
|
||||||
string csname(charstyle& cs);
|
string csname(charstyle& cs);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user