Skip to content

Instantly share code, notes, and snippets.

View Chris-plus-alphanumericgibberish's full-sized avatar

Chris-plus-alphanumericgibberish

View GitHub Profile
for(nx = max(1,x-1); nx <= maxx; nx++)
for(ny = max(0,y-1); ny <= maxy; ny++) {
int dispx, dispy;
boolean monseeu = (mon->mcansee && (!Invis || perceives(mdat)));
boolean checkobj = OBJ_AT(nx,ny);
if(nx == x && ny == y) continue;
/* Displacement also displaces the Elbereth/scare monster,
* as long as you are visible.
*/
@Chris-plus-alphanumericgibberish
Chris-plus-alphanumericgibberish / gist:3e979297a67999b44313
Created December 9, 2014 02:13
Modified mfndpos: monsters can attack but not move
/* return number of acceptable neighbour positions */
int
mfndpos(mon, poss, info, flag)
register struct monst *mon;
coord *poss; /* coord poss[9] */
long *info; /* long info[9] */
long flag;
{
struct permonst *mdat = mon->data;
struct monst *witw = 0;
/* return number of acceptable neighbour positions */
int
mfndpos(mon, poss, info, flag)
register struct monst *mon;
coord *poss; /* coord poss[9] */
long *info; /* long info[9] */
long flag;
{
struct permonst *mdat = mon->data;
register xchar x,y,nx,ny;
#0 1 2 3 4 5 6 7
#0123456789012345678901234567890123456789012345678901234567890123456789012345
MAP
0-...}}}}}}.....}}}}}}}}}..............}}}}}}}}}}}}}}}}}}}}}}}}}
1...}}----}}....}|------}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}..|------}
2..}}--..--}}...}|.....|--------------------------------|.....|}
3.}}--....--}}..}|.....+................................+.....|}
4}}--......--}}}}|----------------+----------------------------}
5}--........------}}}}}}}}}}|..........|.......S.S.......|}}}}}}
6}-....{.....+..............+..........|.......|.|.......|}.....
#Khor's Peanut Island
MAZE:"sea-4",' '
GEOMETRY:center,center
###########1#########2#########3#########4#########5#########6#########7#####
#0123456789012345678901234567890123456789012345678901234567890123456789012345
MAP
0}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
1}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
2}}}}}}}}----}}}}}}}}}}}}......}}}}}}}}}}}}}}}}}}......}}}}}}}}}}}}..}}}}}}}}
3}}}}}}--....--}}}}}}}}..........}}}}}}}}}}}}}}..........}}}}}}}}}....}}}}}}}
MON("manticore", S_FELINE,
LVL(8, 12, 3, 30, -1), (G_GENO|1),
A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4),
ATTK(AT_BITE, AD_PHYS, 1,8), ATTK(AT_STNG, AD_DRST, 1, 4),
ATTK(AT_ARRW, AD_PLYS, 1, 6), NO_ATTK),
SIZ(800, 600, 0, MS_ROAR, MZ_HUGE), MR_POISON, MR_POISON,
M1_FLY|M1_NOHANDS|M1_ANIMAL|M1_SEE_INVIS|M1_POIS|M1_CARNIVORE,
M2_NASTY|M2_STRONG, M3_INFRAVISIBLE,
CLR_BRIGHT_GREEN),
STATIC_OVL boolean
hitum(mon, tmp, uattk) /* returns TRUE if monster still lives */
struct monst *mon;
int tmp;
struct attack *uattk;
{
boolean malive;
int mhit = (tmp > (dieroll = rnd(20)) || u.uswallow);
if(mhit && is_displacer(mon->data) && rn2(2)){
def dnethack_tour?(user)
anz = repository.adapter.select "select count(distinct race), count(distinct role) from games where user_id = ? and version == 'DNH' and turns >= 1000 and (race in ('Inc','Clo','Dro','Hlf) or role in ('Nob','Pir','Bin','Brd');", user
return (anz[0]+anz[1]) == 8
end
def dnethack_king?(user)
anz = repository.adapter.select "select count(distinct race), count(distinct role) from games where user_id = ? and version == 'DNH' and ascended='t' and (race in ('Inc','Clo','Dro','Hlf) or role in ('Nob','Pir','Bin','Brd');", user
return (anz[0]+anz[1]) == 8
end
@Chris-plus-alphanumericgibberish
Chris-plus-alphanumericgibberish / gist:2e670ba98df79ecbfe2d
Last active August 29, 2015 14:25
New ranger quest and Khor's ranger quest home
MAZE: "Ran-goal", ' '
GEOMETRY:center,center
#0 1 2 3 4 5 6 7
#0123456789012345678901234567890123456789012345678901234567890123456789012345
MAP
0}}}}}}}}}}}}}}}}}}}}}}}}...........T...................................TTTTT
1}}}}}}}}}}}}}}}}}}}}}}............T...T..................................TTT
2}}}}}}}}}}}}}}}}.................T.T......................................TT
3}}}}}}}}}}}}}}}}}}}}}. T + .TTTTTTTTTTTTTTTT...TT
4}}}}}}}}}}........... ....... . .TT.......TTTTTTTT.TTT
const int Langels[] = {PM_COUATL,PM_ANGEL,PM_ARCHON,PM_SOLAR,NON_PM};
const int Ldevils[] = {PM_LEMURE,PM_IMP,PM_HORNED_DEVIL,PM_BARBED_DEVIL,PM_LEGION_DEVIL_GRUNT,PM_LEGION_DEVIL_SOLDIER,
PM_ICE_DEVIL,PM_BONE_DEVIL,PM_FALLEN_ANGEL,NON_PM};
const int Nangels[] = {PM_MOVANIC_DEVA,PM_MONADIC_DEVA,PM_ASTRAL_DEVA,PM_MAHADEVA,NON_PM};
const int NElemen[] = {PM_AIR_ELEMENTAL,PM_WATER_ELEMENTAL,PM_FIRE_ELEMENTAL,PM_EARTH_ELEMENTAL,NON_PM};
const int Cangels[] = {PM_BRALANI,PM_FIRRE,PM_SHIERE,PM_GHAELE,PM_TULANI,NON_PM};
const int Cdemons[] = {PM_MANES,PM_QUASIT,PM_VROCK,PM_HEZROU,PM_NALFESHNEE,PM_MARILITH,PM_BALROG,NON_PM};
const int LArc[] = {PM_COUATL,NON_PM};