Esempio n. 1
0
void create() {
::create();
set_name("bracer");
set_short("%^BOLD%^WHITE%^S%^BOLD%^BLACK%^kul%^BOLD%^WHITE%^l B%^BOLD%^BLACK%^race%^BOLD%^WHITE%^r%^RESET%^");
set_long("This bracer is made of black iron and has a screaming demonic skull etched into the side.");
set_wear("%^BOLD%^WHITE%^T%^BOLD%^BLACK%^he bracer makes your arm feel secur%^BOLD%^WHITE%^e%^RESET%^.");
set_remove("%^BOLD%^WHITE%^Y%^BOLD%^BLACK%^our arm feels more vunerabl%^BOLD%^WHITE%^e%^RESET%^.");
set_id(({"bracer", "skull bracer"}));
Esempio n. 2
0
void create() {
::create();
set_name("armor");
set_short("%^ORANGE%^E%^RESET%^BOLD%^WHITE%^x%^RESET%^ORANGE%^oskeleton%^RESET%^");
set_long("A strange creation of the ancient female raknids, these magical skeletons bond with the raknid's hardened shells providing its user with even greater protection.");
set_wear("The exoskeleton claps tightly around your body.");
set_remove("You release the magical bonds and remove your exoskeleton.");
set_id(({"armor", "armour", "exoskeleton"}));
Esempio n. 3
0
void create() {
::create();
set_name("armor");
set_short("%^RESET%^%^CYAN%^D%^BOLD%^%^BLACK%^ark%^RESET%^%^CYAN%^M%^BOLD%^%^BLACK%^ail%^RESET%^");
set_long("%^BOLD%^%^WHITE%^A gift from the Merkkirri queen to Samul, DarkMail armor is composed of swirling dark energy that encompasses the user perfectly.  The armors exact style and design are dependent upon the person wearing it as it is scuplted according to the users darkest fears.%^RESET%^");
set_wear("%^CYAN%^You will the %^BOLD%^%^BLACK%^dark%^RESET%^%^CYAN%^ energy to envelop you.%^RESET%^");
set_remove("%^CYAN%^You will the %^BOLD%^%^BLACK%^dark%^RESET%^%^CYAN%^ energy to release you from its protection.%^RESET%^");
set_id(({"armor", "armour", "darkmail", "Darkmail"}));
Esempio n. 4
0
void create() {
::create();
set_name("helm");
set_short("%^RESET%^BLUE%^Helm of %^BOLD%^BLACK%^sh%^RESET%^BLUE%^ad%^BOLD%^BLACK%^ows%^RESET%^");
set_long("%^RESET%^BLUE%^The helm of shadows is a four-horned warhelm made of a strange black metal.  It has a built in visor that is shaped to appear as the blackened skull of a gnoll.  The metal is light and gives ample ventilation--always a plus while travelling in the hot Merkkirri jungles.%^RESET%^");
set_wear("%^BLUE%^You wear the helm of shadows and lock the visor into place.%^RESET%^");
set_remove("%^BLUE%^You unlock the visor and remove the helm of shadows.%^RESET%^");
set_id(({"helm", "warhelm", "helm of shadows", "shadowhelm"}));
Esempio n. 5
0
jboolean nhjni_run() {
  windowprocs = _nhjni_proxy_procs;
  _nhjni_proxy_init();
  int fd = create_levelfile(0, (char *)0);
  if (fd < 0) {
    raw_print("Cannot create lock file");
  } else {
    hackpid = 1;
    write(fd, (genericptr_t) &hackpid, sizeof(hackpid));
    close(fd);
  }
  
  iflags.news = TRUE;
  int argc=1;
  char *argv[]={"nethack",NULL};
  
  initoptions();
  init_nhwindows(&argc,argv);
  dlb_init();
  vision_init();
  display_gamewindows();
  
  if ((fd = restore_saved_game()) >= 0) {
    const char *fq_save = fqname(SAVEF, SAVEPREFIX, 1);

    pline("Restoring save file...");
    mark_synch();	/* flush output */
    if(!dorecover(fd))
      goto not_recovered;

    check_special_room(FALSE);
    //wd_message();

    if (discover || wizard) {
      if(yn("Do you want to keep the save file?") == 'n')
          (void) delete_savefile();
      else {
          (void) chmod(fq_save,FCMASK); /* back to readable */
          compress(fq_save);
      }
    }
    flags.move = 0;
  } else {
not_recovered:
    player_selection();
    newgame();
    flags.move = 0;
    set_wear();
    (void) pickup(1);
  }

  moveloop();
  
  return JNI_TRUE;
}
Esempio n. 6
0
static void newgame(void)
{
    int i;

    flags.ident = 1;

    for (i = 0; i < NUMMONS; i++)
	    mvitals[i].mvflags = mons[i].geno & G_NOCORPSE;

    init_objects();	/* must be before u_init() */

    flags.pantheon = -1;/* role_init() will reset this */
    role_init();	/* must be before init_dungeons(), u_init(),
			 * and init_artifacts() */

    init_dungeons();	/* must be before u_init() to avoid rndmonst()
			 * creating odd monsters for any tins and eggs
			 * in hero's initial inventory */
    init_artifacts();
    u_init();		/* struct you must have some basic data for mklev to work right */

    load_qtlist();	/* load up the quest text info */

    level = mklev(&u.uz);

    u_init_inv_skills();/* level must be valid to create items */
    u_on_upstairs();
    vision_reset();	/* set up internals for level (after mklev) */
    check_special_room(FALSE);

    iflags.botl = 1;

    /* Move the monster from under you or else
     * makedog() will fail when it calls makemon().
     *			- ucsfcgl!kneller
     */
    if (MON_AT(level, u.ux, u.uy)) mnexto(m_at(level, u.ux, u.uy));
    makedog();
    doredraw();

    if (Role_if(PM_CONVICT)) {
	setworn(mkobj(level, CHAIN_CLASS, TRUE), W_CHAIN);
	setworn(mkobj(level, BALL_CLASS, TRUE), W_BALL);
	uball->spe = 1;	/* attach the ball to the hero */
	placebc();
    }

    /* help the window port get it's display charset/tiles sorted out */
    notify_levelchange(NULL);

    if (flags.legacy) {
	    flush_screen();
	    com_pager(Role_if(PM_CONVICT) ? 199 : 1);
    }

    /* Stop autoexplore revisiting the entrance stairs (or position). */
    level->locations[u.ux][u.uy].mem_stepped = 1;

    program_state.something_worth_saving++;	/* useful data now exists */
    
    historic_event(FALSE, "entered the Dungeons of Doom to retrieve the Amulet of Yendor!");

    /* Success! */
    welcome(TRUE);
    maybe_tutorial();

    /* Prepare for the first move. */
    flags.move = 0;
    set_wear();
    pickup(1);

    log_command_result();

    program_state.game_running = TRUE;
    youmonst.movement = NORMAL_SPEED;	/* give the hero some movement points */
    realtime_tasks();
    post_init_tasks();

    return;
}