mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-31 14:02:59 +00:00 
			
		
		
		
	monster added: Hag
This commit is contained in:
		| @@ -1682,6 +1682,10 @@ ITEM('>', 0xFF6060, "fatigue", itFatigue, IC_NAI, ZERO, RESERVED, osNone, | |||||||
|     "Press 't' or click the destination to activate." |     "Press 't' or click the destination to activate." | ||||||
|     ) |     ) | ||||||
|  |  | ||||||
|  | MONSTER('H', 0x181818, "Hag", moHexer, CF_FACE_UP, RESERVED, moYeti, | ||||||
|  |   "Hags can curse you from afar!") | ||||||
|  |  | ||||||
|  |  | ||||||
| //shmupspecials | //shmupspecials | ||||||
| MONSTER( '@', 0xC0C0C0, "Rogue", moPlayer, CF_FACE_UP | CF_PLAYER, RESERVED, moNone, "In the Shoot'em Up mode, you are armed with thrown Knives.") | MONSTER( '@', 0xC0C0C0, "Rogue", moPlayer, CF_FACE_UP | CF_PLAYER, RESERVED, moNone, "In the Shoot'em Up mode, you are armed with thrown Knives.") | ||||||
| MONSTER( '*', 0xC0C0C0, "Knife", moBullet, ZERO | CF_BULLET, RESERVED, moNone, "A simple, but effective, missile, used by rogues.") | MONSTER( '*', 0xC0C0C0, "Knife", moBullet, ZERO | CF_BULLET, RESERVED, moNone, "A simple, but effective, missile, used by rogues.") | ||||||
|   | |||||||
| @@ -2286,6 +2286,15 @@ EX bool drawMonsterType(eMonster m, cell *where, const shiftmatrix& V1, color_t | |||||||
|     int acol = col; |     int acol = col; | ||||||
|     queuepoly(VAHEAD, cgi.shTrylobiteHead, darkena(acol, 0, 0xFF)); |     queuepoly(VAHEAD, cgi.shTrylobiteHead, darkena(acol, 0, 0xFF)); | ||||||
|     } |     } | ||||||
|  |   else if(m == moHexer) { | ||||||
|  |     const shiftmatrix VBS = VBODY * otherbodyparts(V, darkena(col, 1, 0xFF), m, footphase); | ||||||
|  |     ShadowV(V, cgi.shFemaleBody); | ||||||
|  |     queuepoly(VBS, cgi.shFemaleBody, darkena(0x800080, 0, 0xFF)); | ||||||
|  |     queuepoly(VHEAD1, cgi.shWitchHair, darkena(0xFF00FF, 1, 0xFF)); | ||||||
|  |     queuepoly(VHEAD, cgi.shPFace, darkena(0xFFFFFF, 0, 0xFF)); | ||||||
|  |     queuepoly(VBS, cgi.shWitchDress, darkena(col, 1, 0XC0)); | ||||||
|  |     humanoid_eyes(V, 0xF000F0FF); | ||||||
|  |     } | ||||||
|   else if(isWitch(m)) { |   else if(isWitch(m)) { | ||||||
|     const shiftmatrix VBS = VBODY * otherbodyparts(V, darkena(col, 1, 0xFF), m, footphase); |     const shiftmatrix VBS = VBODY * otherbodyparts(V, darkena(col, 1, 0xFF), m, footphase); | ||||||
|     int cc = 0xFF; |     int cc = 0xFF; | ||||||
|   | |||||||
| @@ -1874,6 +1874,28 @@ EX void specialMoves() { | |||||||
|       if(shot || dont_approach) c->stuntime = 1; |       if(shot || dont_approach) c->stuntime = 1; | ||||||
|       } |       } | ||||||
|  |  | ||||||
|  |     else if(m == moHexer && c->item && (classflag(c->item) & IF_CURSE) && !peace::on) { | ||||||
|  |       bool shot = false; | ||||||
|  |       // bool dont_approach = false; | ||||||
|  |       // smaller range on the sphere | ||||||
|  |       int firerange = (sphere || getDistLimit() < 5) ? 2 : 4; | ||||||
|  |        | ||||||
|  |       bool dont_approach; | ||||||
|  |       for(int i=0; i<isize(targets); i++) { | ||||||
|  |         cell *t = targets[i]; | ||||||
|  |          | ||||||
|  |         if(isPlayerOn(t) && celldistance(c,t) <= firerange) { | ||||||
|  |           addMessage(XLAT("%The1 curses you!", m)); | ||||||
|  |           items[c->item] += orbcharges(c->item); | ||||||
|  |           c->item = itNone; | ||||||
|  |           c->stuntime = 1; | ||||||
|  |           } | ||||||
|  |         if(celldistance(c,t) == firerange+1) dont_approach = true; | ||||||
|  |         } | ||||||
|  |        | ||||||
|  |       if(dont_approach) c->stuntime = 1; | ||||||
|  |       } | ||||||
|  |  | ||||||
|     else if(m == moVampire) { |     else if(m == moVampire) { | ||||||
|       for(int i=0; i<isize(targets); i++) { |       for(int i=0; i<isize(targets); i++) { | ||||||
|         cell *t = targets[i]; |         cell *t = targets[i]; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue