void mission_start::place_jabberwock(mission *miss) { point site = target_om_ter("forest_thick", 6, miss, false); tinymap grove; grove.load_abs(site.x * 2, site.y * 2, g->levz, false); grove.add_spawn("mon_jabberwock", 1, SEEX, SEEY, false, -1, miss->uid, "NONE"); grove.save(); }
void mission_start::kill_20_nightmares(mission *miss) { target_om_ter("necropolis_c_44", 3, miss, false); miss->monster_type = "mon_charred_nightmare"; int killed = 0; killed += g->kill_count("mon_charred_nightmare"); miss->monster_kill_goal = 20+killed;//your kill score must increase by 100 }
void mission_start::reveal_hospital(mission *miss) { npc* dev = g->find_npc(miss->npc_id); if (dev != NULL) { g->u.i_add( item("vacutainer", 0) ); add_msg(_("%s gave you a vacutainer."), dev->name.c_str()); } target_om_ter("hospital", 3, miss, false); }
void mission_start::reveal_lab_black_box(mission *miss) { npc* dev = g->find_npc(miss->npc_id); if (dev != NULL) { g->u.i_add( item("black_box", 0) ); add_msg(_("%s gave you back the black box."), dev->name.c_str()); } target_om_ter("lab", 3, miss, false); }
void mission_start::open_sarcophagus(mission *miss) { npc *p = g->find_npc(miss->npc_id); p->attitude = NPCATT_FOLLOW; if (p != NULL) { g->u.i_add( item("sarcophagus_access_code", 0) ); add_msg(m_good, _("%s gave you sarcophagus access code."), p->name.c_str()); } target_om_ter("haz_sar", 3, miss, false); }
void mission_start::open_sarcophagus(mission *miss) { npc *p = g->find_npc(miss->npc_id); if (p != NULL) { p->attitude = NPCATT_FOLLOW; g->u.i_add( item("sarcophagus_access_code", 0) ); add_msg(m_good, _("%s gave you sarcophagus access code."), p->name.c_str()); } else { DebugLog( D_ERROR, DC_ALL ) << "mission_start: open_sarcophagus() <= Can't find NPC"; } target_om_ter("haz_sar", 3, miss, false); }
void mission_start::recruit_tracker(mission *miss) { npc *p = g->find_npc(miss->npc_id); p->attitude = NPCATT_FOLLOW;//npc joins you point site = target_om_ter("cabin", 2, miss, false); miss->recruit_class = NC_COWBOY; npc * temp = new npc(); temp->normalize(); temp->randomize(NC_COWBOY); // NPCs spawn with submap coordinates, site is in overmap terrain coords temp->spawn_at( site.x * 2, site.y * 2, g->get_levz() ); temp->setx( 11 ); temp->sety( 11 ); temp->attitude = NPCATT_TALK; temp->mission = NPC_MISSION_SHOPKEEP; temp->personality.aggression -= 1; temp->op_of_u.owed = 10; temp->add_new_mission( mission::reserve_new( MISSION_JOIN_TRACKER, temp->getID() ) ); }
void mission_start::point_cabin_strange(mission *miss) { target_om_ter("cabin_strange", 3, miss, false); }
void mission_start::point_prison(mission *miss) { target_om_ter("prison_5", 3, miss, false); }
void mission_start::radio_repeater(mission *miss) { target_om_ter("necropolis_c_23", 3, miss, false); g->u.i_add( item("repeater_mod_guide", 0, false) ); }