She looked at his mouth again, and parted her lips. She had never wanted to kiss someone so badly in her life.
“Marisa,” he whispered, and leaned toward her—
—and froze abruptly, his hands tightening on her, stiff and tense.
“She’s here,” he said.
The spell was broken. She swallowed, trying to focus. “Zenaida?” she asked.
Omar nodded. “Right behind you. Staring at me, and holding a gun.”
“The same vision as before?”
“Yeah.” He loosened his grip and turned her slowly. “Do you see her?”
“No.”
They were standing on a sidewalk in front of what looked like a mechanic’s shop, or maybe an impound lot—a high chain-link fence topped with razor wire surrounded a lot full of autocars, packed too tightly to be a dealership. He pointed toward one of the cars, a red one with sleek, predatory angles. “She’s standing in that one,” he said. “Her shoulders just come out of the top of it, and I can see her body through the windows.” He tensed again. “Now she’s coming toward me, right through the fence like water through a sieve.”
“Describe her,” said Marisa quickly. Could they learn something from the details? “She’s dressed differently than in the other vision, right? Not a dress, but some kind of—”
“A vest,” he said. “And canvas pants, and . . . it almost looks like tactical gear. She’s raising the gun now—she’s about to fire it—”
“What kind is it?”
“I don’t know—”
“Snap a photo!” she shouted.
He blinked and flinched, and then let out a breath as his body relaxed. “She’s gone.”
“Did you get a photo?”
“I think so.
“Why didn’t I think to get a photo before?” she asked. “Or even video?” She turned away from the lot and grabbed his arm again. “Check the photo—does she show up in it?”
He blinked, then blinked again, then shook his head. “No. Damn it.”
“So you can see her but your djinni can’t,” she said. “How is that possible? It’s supposed to be tied directly to your sensory feeds.”
“Ghosts don’t have to follow the rules,” said Omar.
“Holograms do,” said Marisa. “So she’s not that. I bet she still follows some rules, though; we just don’t know what they are.” She paced a few steps away. “Something changed: she’s wearing different clothes, and she has a gun. She’s attacking instead of running away—that has to mean something.”
“It doesn’t make sense!”
“Just describe her,” she said, trying to calm him. “Don’t worry about figuring everything out, just tell me what you remember.”
“She had . . . like, tac gear, like I said.” He shook his head, still staring at the spot where she’d been, as if trying to re-create her with his mind. “Not armor or camo, just black and brown clothes, and the vest had pockets all over it. Like a soldier would use to keep their ammo in.”
“Did she have ammo?”
“No.” He sucked in a breath. “And I don’t think the gun takes normal ammo anyway. It didn’t have a barrel.”
“Like . . . it was just a grip?” She made a motion with her hand, pulling on an imaginary trigger. “The one I saw was a legit gun.”
“It was a gun,” said Omar, “with a grip and a barrel and everything, but it didn’t have the hole in the barrel. There was nowhere for bullets to come out.”
Marisa looked at the same spot by the fence, though of course she couldn’t see anything but chain link and cars. She could almost see the gun in her memory. “You’re right,” she said, closing her eyes. “I couldn’t put my finger on it, but I don’t remember a hole in the barrel either. And it wasn’t a taser or a stun gun or anything, it was—” Her eyes went wide. “Santa vaca.”
“What was it?”
“I know where I’ve seen that kind of a gun,” she said, and looked him square in the face. “We use them in Overworld sometimes, when the other team has a lot of nulis. It’s a directed EMP.”
“She used a nuli gun?”
“Definitely.”
“That doesn’t make sense,” said Omar. He blinked, and after a moment his eyes went wide. “Holy crap.” He sent her a link, and she blinked on it immediately, finding an image search with a picture of a thick gray handgun.
“That’s it,” she said. “That’s the gun I saw.”
“Me too,” said Omar. “It’s called an Arvo 350. ‘Directed EMP, guaranteed to drop invasive or antagonistic nulis at close range.’” He looked at Marisa. “My mom shot us with a nuli gun.”
A slow, wide smile started spreading across Marisa’s face. “Did she? Or did she shoot a nuli with a nuli gun?”
Omar frowned. “What do you mean?”
“I mean what if this is a recording?” asked Marisa. “A VR recording, but instead of seeing it as a hologram we’re seeing through augmented reality. What if Zenaida was being chased by a nuli, like the kind my brother modified for his science project—a seeker nuli designed to follow a specific signal or person or whatever. They even have seekers that can track DNA now; that’s how they protect endangered animals. So it found her, and it took video of her running away, and then it found her again and took video of her shutting it down with an Arvo.”
“Then why are we seeing them?” asked Omar.
“Because we . . .” She struggled to put it all together. “Because it’s malware. We got the videos through a virus—” She nodded, the pieces falling into place. “It’s got to be your house computer. That’s the common factor between everyone who’s seen the ghost visions—they’ve all connected to that computer.”
“If this is true,” said Omar, “we can find out pretty quick. I’ll run a virus scan on my djinni.”
“You won’t find anything,” said Marisa. “I did a scan yesterday, for normal maintenance, and didn’t find a thing. This will take a manual search. And it might take a while, so I want to sit down.” She looked up and down the street, and then grabbed his hand and pulled him toward a yellow neon light. “Follow me.” It was a pancake house, open early or maybe all night long. It tagged them as they got closer, sending a pop-up coupon for cheap coffee; Marisa’s djinni automatically trashed it, but she saw Omar blink several times, trying to throw it away manually. Pop-ups were hard to get rid of. Marisa pushed open the door, hearing the jingle of a small bell, and walked immediately to a booth without waiting to be seated. “Cover for me,” she muttered, and focused all of her attention on her djinni.
A waitress came over, and Marisa was dimly aware of Omar’s conversation with her, but she wasn’t listening closely enough to follow it. She started blinking through the layers of her djinni’s operating system, looking for the virus. Where would it be hiding? She’d always been so proud of her antiviral package, most of which she’d handcrafted, but if malware was still getting through, she’d have to amp it up a little. Or a lot.
Maybe if she could figure out how it got in, she’d know where it was hiding. She’d connected to the Maldonado house computer directly, through a cable plugged into her headjack. Was that it? But what were the odds that Omar and Franca ever used a cable? Unless you were doing VR—or trying to bypass some layers of security, like Marisa had been—a wireless connection was all you ever needed.
“Omar, do you ever use a cable at home?”
“Sorry about her,” said Omar, “she’s working on something.”
Marisa looked up, refocusing on the real world to find the waitress—young, plump, and very attractive—leaning against the booth and flirting shamelessly with Omar. Marisa flashed her a glare, then turned to him. “Cable connection to Sofia. Yes? No?”
“No?”
“Thanks.”
She refocused on her file tree, running her eyes over the list of folders. It wasn’t the cable, then. Did she have any other leads? Of course—the photo. Omar had tried to take a photo of the VR ghost, but the visio
n hadn’t shown up in the image. That meant the video was being added to the brain’s perception after the signal had already passed through the optic nerve. It would be easier to build a program that simply projected the image onto your eyes and let your brain perceive it that way, but that kind of program wouldn’t be able to simulate a dream the way this one had. And if it was going to overlay a new image directly on top of your perception, there was only one place in the operating system it could be. Marisa entered her private passcode to access the nitty-gritty djinni functions—the hardcore stuff that made the whole thing work, like neural interface and data management. She found the folder for visual processing, blinked it open, and started looking for anything that wasn’t supposed to be there.
It took another half hour, cross-referencing the folder’s contents against a help forum description from the Ganika Support site, but she found them.
“Three videos,” she said out loud.
“Three?”
She refocused on the real world to find the waitress gone, and the table in front of her filled with plates of slowly cooling egg substitute. Omar had mostly finished his.
She nodded. “Three. The one where she runs, the one where she shoots, and . . . a third one I haven’t seen yet. Have you?”
“No,” said Omar, and his eyes turned inward to his djinni. “Tell me where to look.”
She walked him through the file path to find it—he had a Ganika as well, so it was in the same place—and when he had them isolated, he looked her in the eye. “Ready?”
“Ready.” She nodded. They blinked in unison, and Marisa grabbed his hand tightly when Zenaida appeared in the aisle next to them.
“I am not yours,” said Zenaida. “I used to be, though that was more from my own weakness than from any success or skill on your part. You can’t have me, and you can never have me, and you’re going to stop looking. Or next time I’ll do a lot worse than plant some malware in your brain.” She stared into Marisa’s eyes for a moment longer, her jaw set and her eyes fierce, and then she disappeared.
“Whoa,” said Omar.
“Yeah,” said Marisa. “Your mom’s kind of scary when she wants to be.”
“But this means she’s alive,” said Omar. “She’s not a ghost, and she’s not chopped up in an alley somewhere—she’s alive, and capable enough that she caught the nuli hunting her and struck back by making these videos.” He swallowed, and Marisa almost thought she saw a tear in the corner of his eye. “These are revenge,” he whispered. “They were frightening because they were made to be.”
She was already holding his hand in one of hers, and now reached out with her other, trying to comfort him. “I’m sure it’s not you she’s talking to.”
“Of course not,” said Omar. “It’s my father.”
SIXTEEN
“Who else could it be?” asked Omar.
“ZooMorrow?” offered Marisa, though even as she said it she knew it wasn’t true. It was certainly possible that ZooMorrow thought they “owned” Zenaida—they owned her DNA, after all—but if she was trying to send a message to ZooMorrow, she wouldn’t have planted her videos in the Maldonado house computer.
“It’s my father,” said Omar. He sounded tired, and angry. “He’s obsessed with her, and always has been, and now we know that she didn’t die in the car accident, but used it to disappear—maybe to get away from ZooMorrow, because they were trying to kill her, but probably from my father as well. And he’s never given her up. And since he knows she’s still alive he’s apparently been trying to find her, hounding her constantly for the last fifteen years, until . . . he sent a nuli to find her? Apparently?”
“He sent a DNA nuli,” said Marisa. “That’s how this whole thing started. He bought a hunter nuli that targets a specific DNA code, and then stole Zenaida’s DNA from ZooMorrow so it would know who to hunt—we knew somebody stole it, but we couldn’t figure out who. Now we know.”
“I hate him,” said Omar.
Marisa watched his face, surprised by the sudden intensity in his voice. “For . . . looking for his wife?”
“For what he did to make her run,” said Omar. “For pursuing her even though he knew she wanted out. I know my father: he doesn’t like losing, and he doesn’t do things halfway. If he’s hunting for her now, he’s been hunting her for fifteen years. He’s been hounding her every step, trying to get her back, and she hasn’t had a day’s rest!” He gritted his teeth, staring at the table. “She didn’t love him. Maybe ever. I don’t know much about their relationship, but living in that house, in that family, it’s not hard to see at least that much. Whatever other reasons she had, she was also running to get away from him. And he’s kept her running for fifteen years, and that . . . that makes me very angry.”
Marisa wrinkled her brow, worried he was going to snap. “Don’t do anything . . . dangerous.”
“No,” he said, “but we need to do something.” He struggled for words, and then gave up. “I don’t know. I was going to warn my siblings, but warn them about what? That our father’s the kind of guy who hires merc hackers and seeker nulis to hunt down family members? It’s not exactly a surprise.”
“We can tell them they’re not being haunted by their dead mother,” said Marisa. “Start with Jacinto.” He was surely the most alone in this; he’d need all the help they could give him.
Omar sighed and closed his eyes, then opened them again and blinked to start a call. He pulled a handheld mini-tablet from his pocket and patched the audio to its speaker, so Marisa could listen in.
Marisa remembered the time, and looked at her clock app while the phone was ringing: 5:27 a.m., and still before sunrise. “Is he even awake?”
Omar shrugged. “I hope not. I’d rather leave a message anyway.”
A ring and a half later the call clicked open. Jacinto didn’t say anything.
“Cinto?” asked Omar. “Dónde estás?”
Jacinto’s voice was barely audible. “I’m here.”
“Did I wake you?”
“I don’t sleep much.”
Omar nodded. “Yeah, that’s kind of what I was calling about.” He looked at Marisa, and she squeezed his hand. “Have you . . . had dreams or anything about . . . Mom?”
Jacinto was silent for long enough that Marisa started to wonder if he’d ended the call. Just as she opened her mouth to say something, though, Jacinto responded.
“You’re talking about the ghost.”
“Yeah,” said Omar, looking at Marisa again. “I think we’ve all seen her.”
“You shouldn’t worry,” said Jacinto softly. “It’s not really a ghost.”
Omar’s eyebrow went up. “You know?”
“Ghosts aren’t real,” said Jacinto. “It’s VR.”
“I just now figured that out,” said Omar. “How long have you known?”
“I ran a deep diagnostic on Sofia’s mainframe after the hacker attacked us the other night,” said Jacinto. “I found the three videos then, and the malware program that installs them.”
“And you didn’t think to tell anybody about it?” asked Omar. “I haven’t slept in days because of those things.”
“You never asked.”
“Jacinto,” said Omar, and then closed his eyes, gritting his teeth in what Marisa could only assume was frustration. “Listen. You did a good thing, all right? But now I need you to follow it up. Did you delete it?”
“Of course.”
“Good; now send a message to Franca and Father and tell them how to delete it as well. I’ll talk to Sergio.” Sergio had his own family and his own home; he might not know anything about the visions, and Omar would be better at broaching the subject than someone like Jacinto. “And the next time something like this happens, talk to me, okay?”
“I could say the same to you,” said Jacinto, “but that would require talking, so I won’t.” He hung up, and the line went dead.
“He’s so weird,” said Omar.
“I hope he’s okay,?
?? said Marisa. She tapped her fingers on the table, wondering what the next step should be, and then looked up quickly at Omar. “You told him to delete the videos—you don’t want to study them?”
“I deleted mine already,” said Omar. “I don’t want anything to do with them. What we need to do now is go through the financial records and see what I can find there—if my father hired a hacker to get this DNA, he must have paid them somehow, and if I can find the record of that payment I might be able to find the nuli data as well. That could lead us straight to my mother.”
“That’s going to take forever.”
“What other options do we have?”
A woman had sat down at the next booth, directly behind Marisa’s head, and was talking loudly to the waitress. Marisa tuned her out and leaned forward to whisper to Omar, but he held up a finger.
“Wait,” Omar whispered. He looked wary, and Marisa went tense.
“Wait for what?” she whispered back.
“Shh,” he said, and pointed behind her. Marisa stopped talking and listened to the woman’s voice.
“And you have no idea, the stress working in a police station,” said the woman. Marisa recognized the voice instantly as Detective Hendel. “There are cases—horrible, horrible stuff, you wouldn’t believe—but there’s so much red tape and sometimes I just can’t, you know?”
“I hear you, honey,” said the waitress. “You wouldn’t believe the backroom politics in this place.”
Marisa stared at Omar’s face, and sent him a text: Does she know we’re here?
He answered the same way. She’s got to, right?
“Like right now,” said Hendel. “I have a new lead, but the case is already closed and my boss won’t let me follow it up. There’s a perp we just brought in for a crime—a bioprinter—but in his testimony, he gave us a lead on one of his accomplices. The hacker who sold him the biodata. But they won’t let me follow it up. I’m sure you run into this kind of stuff all the time.”
“You have no idea,” said the waitress. “In a couple of hours this place will be buzzing with the breakfast crowd, and Pita can’t stay on top of her tables, but she won’t let me help because then we have to split tips, and she doesn’t want to give it up. And I keep telling her, and I keep telling the manager, but no. So much red tape.”