1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-01-11 18:00:34 +00:00

adjusting dragon breath for possible name change

This commit is contained in:
Zeno Rogue 2017-11-13 00:35:07 +01:00
parent 214af58f7c
commit 5fe8c300ee

View File

@ -5210,6 +5210,8 @@ void moverefresh(bool turn = true) {
c->stuntime--; c->stuntime--;
int breathrange = sphere ? 2 : 3; int breathrange = sphere ? 2 : 3;
if(c->stuntime == 0 && c->monst == moDragonHead) { if(c->stuntime == 0 && c->monst == moDragonHead) {
// if moDragonHead is renamed to "Dragon Head", we might need to change this
eMonster subject = c->monst;
if(!c->hitpoints) c->hitpoints = 1; if(!c->hitpoints) c->hitpoints = 1;
else if(shmup::on && dragon::totalhp(c) > 2 && shmup::dragonbreath(c)) { else if(shmup::on && dragon::totalhp(c) > 2 && shmup::dragonbreath(c)) {
c->hitpoints = 0; c->hitpoints = 0;
@ -5217,7 +5219,7 @@ void moverefresh(bool turn = true) {
else if(dragon::totalhp(c) <= 2) ; else if(dragon::totalhp(c) <= 2) ;
else if(items[itOrbDomination] && isMounted(c)) { else if(items[itOrbDomination] && isMounted(c)) {
if(dragon::target && celldistance(c, dragon::target) <= breathrange && makeflame(dragon::target, 5, true)) { if(dragon::target && celldistance(c, dragon::target) <= breathrange && makeflame(dragon::target, 5, true)) {
addMessage(XLAT("%The1 breathes fire!", c->monst)); addMessage(XLAT("%The1 breathes fire!", subject));
makeflame(dragon::target, 5, false); makeflame(dragon::target, 5, false);
playSound(dragon::target, "fire"); playSound(dragon::target, "fire");
c->hitpoints = 0; c->hitpoints = 0;
@ -5227,11 +5229,11 @@ void moverefresh(bool turn = true) {
for(int i=0; i<size(targets); i++) { for(int i=0; i<size(targets); i++) {
cell *t = targets[i]; cell *t = targets[i];
if(celldistance(c, t) <= breathrange && makeflame(t, 5, true)) { if(celldistance(c, t) <= breathrange && makeflame(t, 5, true)) {
if(isPlayerOn(t)) addMessage(XLAT("%The1 breathes fire at you!", c->monst)); if(isPlayerOn(t)) addMessage(XLAT("%The1 breathes fire at you!", subject));
else if(t->monst) else if(t->monst)
addMessage(XLAT("%The1 breathes fire at %the2!", c->monst, t->monst)); addMessage(XLAT("%The1 breathes fire at %the2!", subject, t->monst));
else else
addMessage(XLAT("%The1 breathes fire!", c->monst)); addMessage(XLAT("%The1 breathes fire!", subject));
makeflame(t, 5, false); makeflame(t, 5, false);
playSound(t, "fire"); playSound(t, "fire");
c->hitpoints = 0; c->hitpoints = 0;
@ -5820,17 +5822,17 @@ void checkmove() {
// do not activate orbs! // do not activate orbs!
for(int i=0; i<ittypes; i++) orbusedbak[i] = orbused[i]; for(int i=0; i<ittypes; i++) orbusedbak[i] = orbused[i];
for(int i=0; i<8; i++) legalmoves[i] = false; for(int i=0; i<=MAX_EDGE; i++) legalmoves[i] = false;
canmove = false; canmove = false;
items[itWarning]+=2; items[itWarning]+=2;
if(movepcto(-1, 0, true)) canmove = legalmoves[MAX_EDGE] = true; if(movepcto(-1, 0, true)) canmove = legalmoves[MAX_EDGE] = true;
if(ISMOBILE || !canmove) if(vid.mobilecompasssize || !canmove)
for(int i=0; i<cwt.c->type; i++) for(int i=0; i<cwt.c->type; i++)
if(movepcto(1, -1, true)) if(movepcto(1, -1, true))
canmove = legalmoves[cwt.spin] = true; canmove = legalmoves[cwt.spin] = true;
if(ISMOBILE || !canmove) if(vid.mobilecompasssize || !canmove)
for(int i=0; i<cwt.c->type; i++) for(int i=0; i<cwt.c->type; i++)
if(movepcto(1, 1, true)) if(movepcto(1, 1, true))
canmove = legalmoves[cwt.spin] = true; canmove = legalmoves[cwt.spin] = true;