“Coming through!” shouted Alain, followed almost immediately by the sound of pounding feet and shouts of alarm. Pablo looked up just as Alain came charging around the corner, his hands chained together, his face twisted in pain. Mr. Park was close behind him, followed several steps later by a pack of security guards, but as they ran the burner phone in Alain’s hand triggered each of the tiny TEDs, and the office went berserk—lights and lamps exploded, computer screens went black, and workers fell back, untouched but clutching their heads as their djinnis shivered and fizzed from the electromagnetic pulse. Mr. Park staggered wildly at each new invisible attack, barely staying on his feet as he reeled from the endless series of explosive technical glitches. Alain raced past Pablo’s cubicle, the slim black phone clutched in his hand, and the disk in Pablo’s salad made a tiny popping sound. Pablo staggered back, Mr. Park stumbled to one knee, and Alain ran toward the stairwell at the end of the row.
“I’ll guide you through the next floor,” said Marisa, but a sudden explosion of light and sound battered her senses.
She was back in Overworld.
THIRTY-ONE
“Protect her!” shouted Sahara. Her voice thundered through Marisa’s skull like a stampede of iron hooves, and she screamed in pain. She fell to the ground, scraped by asphalt and assaulted by showers of enemy fire, and died in seconds. The empty blackness of the respawn lobby was a welcome relief.
“You okay?” asked Fang.
Marisa peeked out of one eye to see Fang, also dead, waiting for her own respawn.
“I have to get back,” she said.
“I know,” said Fang. She looked at Marisa with wide, insistent eyes, as if begging her to stay quiet. Marisa remembered not to say anything incriminating, and nodded. Fang nodded in acknowledgment. “We’re going to lose,” she said.
Marisa thought about Alain, injured and alone, surrounded by guards closing in from every side. “We always knew we would,” she said.
“That doesn’t mean we give up,” said Fang. “You’ve got to keep fighting, to the last, dead second.”
“I can’t do anything from here,” said Marisa.
“I’ll go after Chaewon,” said Fang with a smile. “Nothing brings on a purely random lag spike like taking her health down into the red.”
“Thanks,” said Marisa.
“Cherry Dogs forever,” said Fang, and disappeared as her respawn timer hit zero. Marisa waited, watching her own timer: four, three, two, one. She was catapulted back into the map, finding herself in a vault filled with cowering people and heavy gunfire.
“Focus fire on Nightmare!” shouted Sahara. “Quicksand, cover me!”
Jaya cast a bright magic shield around Sahara, and Marisa searched frantically for Anja to try to support her as well. They were going to lose, but they couldn’t afford to lose yet—she had to get back into the file system and get the data from her Goblins, or this whole plan would be for nothing.
“Anja’s dead,” said Jaya, snarling through clenched teeth. “Fang ran off after Chaewon, so it’s four of them against three of us. Hit Nightmare or we’ll lose the vault!”
“I don’t have any attack powers!”
“Protect me, then!” shouted Jaya, and dove into the battle. Marisa blasted her with a healing spell first, shielding her from the initial burst of damage from Nightmare’s gun, then sent a swarm of protective nulis to surround her, increasing her accuracy and damage. Jaya twisted and spun through the enemy agents like a wraith, almost dancing as she dodged their strikes and lashed out with her own slim, sharp sword. Sahara crouched in her magic shield and fired round after round of heavy ammo from her machine gun, screaming in defiance. Marisa poured healing magic into Jaya as fast as she could, and when Anja respawned, the tide slowly started to turn against the World2gether attack. The enemy agents retreated, the Cherry Dog vault already half destroyed.
“We can’t take another attack like that,” said Sahara, gasping for breath. “We have to blitz them first—an all-out attack. Where’s Fang?”
“Hunting Chaewon,” said Marisa.
“She can’t take Chaewon by herself,” said Jaya.
“She might,” said Sahara. “If she does we have them, five against four; if not, I don’t know—we still have to attack, even if we’re outnumbered.”
“We can’t lose yet,” said Marisa.
“I’m not planning to lose!” shouted Sahara. “A blitz is our only chance!”
“We need time,” said Marisa.
“We need—” started Sahara, but then suddenly Marisa was thrown back out of the match and into the private network. She closed her eyes again as her mind adjusted to the ghostly unreality of the VR database. When she opened them, she did it slowly, looking down at her massive rococo dress that seemed to float in a vast nothingness.
“Alain?” she whispered.
“Where have you been?” he whispered frantically. “I had to hide.”
“Where are you?”
“In a supply closet somewhere,” he said. “My djinni’s been completely fried by those TEDs you used, so the building’s sensors aren’t picking me up. I’m safe for now.”
“But for how much longer?” asked Marisa. “They have to check the supply closet eventually.”
“Can you tell me what’s outside?”
“Let me see if I can find you.” She flew through the database, bits and bytes and endless files streaming past her, looking for the security camera feeds, when she realized that one of her Goblins was trying to get her attention. It was the one that kept her hidden. She blinked on the alert, calling up the log, and looked with horror at a message from Renata.
You didn’t think I’d find the little program you use to hide yourself? wrote Renata. You’ve already used this trick on us before, Marisa; how stupid do you think I am?
Marisa’s stomach sank into a deep, sickening pit. If Renata had found her, she could have alerted the sysadmins. The entire mission could be dead. She blinked back toward a broader view of the database, searching for signs of activity, and grimaced when she saw it—slowly, folder by folder, someone was locking down the network. If they found the files she needed, or the hole she’d gotten in through, she’d lose everything.
Think, Marisa told herself. They haven’t found you yet. You can still do something. She didn’t have much time, though—the Goblin that kept her hidden was useless now that Renata had exposed it. All it did was redirect other users to a false copy of the user list; if Renata had shown them how to get around it and see the real user list, they’d see Marisa as clear as day. It was only a matter of time until they hunted her down.
But what if she gave them something else to hunt?
Marisa checked on her first two Goblins, making sure they were still searching for the data they needed. They’d collected almost all of it. She flew to the third and found it still dutifully redirecting data, just like it was programmed to do. She blinked into its inner programming and changed some lines of code, altering its function and feeding it Renata’s ID. When she finished she blinked again, recompiling the program and setting it loose in the network. It started combing through usage logs, finding everything Marisa had done and attributing it to Renata instead. The fake email she’d sent to Mr. Park—now it looked like Renata had sent it. The unauthorized access of the camera feeds now had Renata’s digital fingerprints all over them. Everything Marisa had worked to keep hidden was now right out in the open, and Renata was getting blamed for it. Even Marisa’s own presence in the system was tagged with Renata’s ID.
She found the security feeds and looked at the seventy-second-floor workstation where Renata was working. She was still plugged in and working madly, probing the system for Marisa, but now the sysadmin beside her stood up, looking at her and then back at his own display. He typed out a discreet call for security, but Renata noticed it, unplugged, and ran. Marisa grinned.
That was one problem off her back.
“Marisa,” said Alain. “You still th
ere?”
“Yes,” she said quickly, looking back at the security feeds. She found the only supply closet on the second floor, and whistled lowly when she saw it.
“That doesn’t sound good,” said Alain.
“It’s not,” said Marisa. “You have a whole team of security right outside your door. Give them a chance to walk away, and then go out and to the right. The second door leads to the mezzanine, and then you just have to make it to the front entrance.”
“And then what?”
“Then you stay away from planter boxes,” said Marisa. She glanced back at the network, and swore sharply. “Mierda! They’re still closing the system! I don’t have the data yet!”
“What data?”
She flew to her Goblins—they were almost done. Each one would take about ten seconds to upload back into the dress.
“I can pull what they have so far, but—no!” The Sigan sysadmins were moving even faster now, locking down the files and slamming closed all the exits. It was a full-security response; they’d realized by now that someone was targeting their data, and they were pulling out all the stops to protect it. She had fifteen seconds left, at best. “I don’t have time to take them both!”
“Both?”
“I have one Goblin grabbing your financials,” she said frantically, “and one searching the client list for Grendel. I can’t lose him!”
“Marisa—”
“I can’t!” she shouted. “I’ve searched too long and I’ve lost too much—I need to know what he knows about my family!” She was crying now. “He knows who I am!”
“That’s the thing about people,” said Alain softly. “You always get to choose who you are.”
Still sobbing, Marisa blinked on one of the Goblins, compressing all the data into the folds of her virtual dress. It seemed to take an eternity for the progress bar to creep across her vision, using every available bit of bandwidth her djinni connection could muster. The sysadmins crept closer, closing files and sealing exits. She didn’t have any more time—she stopped the upload at 93 percent, left the other Goblin behind, and blinked out of the database milliseconds before they caught her.
She felt herself crying again, tiny tears tracing wet, cold paths down her cheeks, somewhere far away in the real world.
“Which files did you get?” he asked softly.
“The financials,” she whispered. She pulled the data from the Overworld costume creator into her own djinni, and then transferred a copy to the burner phone. “KT Sigan’s going down.”
“You did the right thing,” he said, and she heard him wince in pain as he stood up from his hiding place in the closet. “Now I’m going to do the same.”
“Buena suerte,” she whispered.
She heard him open the door, followed by a muffled shout: “There he is!”
She wanted to look at the security cameras, but outside of the network she couldn’t access them, and without Renata to run the lag spikes she couldn’t get back into Overworld, either. She blinked into one of the many vidcasts and saw the final seconds of Sahara’s failed blitz: all five Cherry Dogs attacking the enemy vault, dying one by one. They killed most of Chaewon’s team, but it wasn’t enough. Nightmare was still there, cutting down one player after another in a flurry of deadly skill—Jaya, Anja, Marisa’s bot, and Sahara. Only Fang was left, and Nightmare shot her with a bolt of dark energy.
Fang dodged, and kept hitting the vault.
“Come on, Fang,” Marisa whispered. “Get out of there.”
Fang dodged another attack, and continued laying into the vault with everything she had. She was using Decay Melee, and every dagger strike left a trail of corrosive green acid. Nightmare closed the distance, slashing at her with claws of pure shadow, but Fang triggered her short-range teleport—an escape power, but instead of escaping she simply reappeared on the other side of the vault, and kept attacking it.
“Come on, Fang,” Marisa repeated. “This is the same mistake the Thunderbolts made. Don’t focus on the vault when there’s still an enemy trying to kill you!” But Fang kept moving and attacking, and Marisa realized she was counting her timers flawlessly, triggering each power the instant it was available again, and planning her steps to stay exactly out of range of Nightmare’s claws. Nightmare shot her with another blast of dark energy, but Fang was already dodging, and Marisa realized with a shock that Fang was counting Nightmare’s timers as well, juggling it all in her head while she attacked the vault.
Did they actually have a chance?
Chaewon respawned and came out firing, but Fang was already on the move, dodging most of the damage and dropping a pool of acid in the space she’d just left. Nightmare stepped to the edge of it and reached across with her claws, slashing viciously, but Fang had gone just far enough to avoid the attack and unleash a flurry of blows against the vault. Bubba respawned a moment later, and now Fang was dancing in and out of all three enemies, counting ranges and timers and respawns with flawless accuracy.
It was almost enough.
No matter how precise, no one could stand up to three enemies forever, and Fang started taking more and more damage. She hacked at the vault with everything she had, but when the fourth World2gether agent respawned and joined the fray, it was too much. Fang dropped her final acid pool, and Nightmare cut her down.
“I got you!” screamed Nightmare. She bent down over Fang’s corpse and shouted in her face. “You were never any good, and I got you! Bái mù xiăo tùzăizi!”
And then the acid pool finished its last few ticks of damage, and the vault crumbled to pieces.
“Cherry Dogs win!” shouted Su-Yun Kho. “Cherry Dogs win!”
THIRTY-TWO
Pati Carneseca held her arms straight up in the air. “Yes! They won!” She looked at her father, standing beside her with a large anti-Sigan sign. “Mari won! They won!”
Carlo Magno glanced down, stopping his chant. “They won their game?”
“They won the whole tournament, Papi! The Cherry Dogs won!”
Carlo Magno smiled. “Bien bien, mija.” He hoisted his sign back up. “At least one of us beat this triste megacorp today. Take back the net! Take back the net!”
Pati wrote Marisa a quick message, with more exclamation points than letters, and sent it. She blinked and replayed the final moments of the game, then clipped the section off and sent it to her father. “Here, you can watch it.”
“This is . . .” He frowned. “Mija, Mari’s not even in this.”
“I know,” said Pati, “but Fang won anyway. Isn’t that amazing?”
“Pati, I don’t have time for th—what’s that?”
Pati looked at him, then followed his sight line to the front doors of the Sigan building. The protesters were being held about thirty meters back, with a row of police in front of them and another row of KT Sigan security guards in front of the building. Between them were a dozen reporters, a giant swarm of camera nulis, and two gardening nulis, unobtrusively watering the plants. It was the same view Pati had had since they’d arrived that morning, but now the line of security guards was in chaos as some kind of scuffle took place by the doors—not someone trying to get in, but someone trying to get out. She saw a figure in the middle of the security guards, barely visible but with dark skin and hair, trying to get past them. Was that . . . ?
“Alain?” she said out loud.
More guards poured out of the building, trying to apprehend him, including a man at least a head taller than the others, with a metal sensor plate covering most of his face. The tall man attacked Alain, knocking him to the ground, when suddenly the gardening nulis in the plaza exploded. The massive crowd of reporters and protesters and bystanders screamed and fell back, and Alain broke free of the shocked guards and sprinted toward the street. The police recovered and stopped him, surrounding him with weapons drawn, and Pati pressed forward close enough to hear.
“They were holding me prisoner,” said Alain. He knelt and held his hands over his head.
One of his hands was clutching an old, black, handheld phone. “My name is Alain Bensoussan, and I’ve been held captive by KT Sigan for seven days.”
“ThisManIsOurPrisoner,” said the tall security guard. “ReturnHimToUsAtOnceUnderTheProvisionsOfSharedMegacorpJurisdiction—”
“This phone contains evidence that KT Sigan has been defrauding the US government out of billions of dollars,” said Alain. “That bypasses Shared Megacorp Jurisdiction and makes my capture a federal matter.” He looked at the reporters. “The phone is also programmed with all of your IDs, and the upload is being mirrored to your djinnis. You have all the evidence you need to take this story public.”
“WeDemandThatYouReturnThisManToUs—” said the tall security guard with the faceplate, but the ranking police officer shook her head.
“If what he says is correct,” said the officer, “we need to take him with us. If his story doesn’t check out, you can have him back.”
“ThatDataWasIllegallyObtained,” said the tall man. “ItIsInadmissibleInYourCourts—”
“And if it contains what he says it contains,” said the police officer, “a legal loophole is not going to save you. You and I both know the government’s not the real threat here. Now step back or I’ll arrest you, too.”
The tall man grimaced but stepped back. The police officer took Alain’s phone, and a reporter pressed close, a camera nuli flying in for a close-up. “You realize that if any of your story is true,” the reporter said, “you’ve just confessed to half a dozen counts of federal cybercrime. Not to mention the two bombs you just set off, which probably makes you a terrorist.”
“I’m not a terrorist,” said Alain. “I’m a freedom fighter.”
“Whatever,” said the police officer. She pocketed the phone, and nodded to some nearby police. “Take him away.”
“No!” shouted Pati. “He’s innocent! Alain!” But her voice was drowned out by the rest of the crowd, some clamoring for more information, others screaming for his head. Carlo Magno pulled Pati back into the heart of the protesters, where she wouldn’t be noticed, and hushed her angrily.