An Aloof Intel Officer's Dossier

A text regarding the thought process on building Shion Yorigami in GTA San Andreas

When I first started modding the Yorigami Perks and Points system for GTA San Andreas, I never imagined I would end up creating an entire companion system for Shion with Jo'on as the player protagonist.

It started simply because I insist on wearing Jo'on's skin via Skin Selector as I test the mod's perks, and I wanted a homie to accompany me. It felt weird to have Sunny Milk follow me around, so I would spawn a Shion-skinned ped and have her act as my bodyguard.

However, the process of pressing TAB+Q+E and navigating menus to spawn a specific ped each time got tedious. So, I made a quick script named SpawnShion.cs. Typing SHION would instantly spawn the ped with Shion's skin, already in your group, and armed with a scoped rifle.

That's all that script was for... until I thought: "Wouldn't it be funny if she actually talks to Jo'on? Like Inigo in Skyrim?"

That's how this all started. I ended up spiraling into hooking up specific contexts into branching dialogues, and more than just dialogues, some actual functional mechanics around Shion. The mod suddenly had nested folders, and my head just couldn't stop popping out ideas that I could not bear to leave unwritten.

The following is my thought process on translating Shion Yorigami's character and abilities into the GTA San Andreas engine.


Reducing navigation frictions via Hitodama form

Homies get stuck. I didn't want Shion to get stuck. So I am really glad it's canon that she has a form where she floats with blue ghostly tails instead of legs.

Because it was too complex to make a custom model and animation for that, it was a lot simpler to just spawn a cluster of blue floating coronas tethered to Jo'on's coordinates: a blue Hitodama. The primary inspiration was re_ghotion's cute art of little hitodama Shion.

You can toggle Shion's form between physical and hitodama with Y+H.

In Hitodama form, Shion is not a physical ped in the game engine. Jo'on can traverse terrain in any way she wants without needing to wait for a struggling ped to navigate fences or walls. In exchange for not being able to shoot guns, Hitodama Shion can absorb damage that would otherwise hurt Jo'on's lifebar.

Best of all, Shion's Hitodama form solves the problem of vehicles with no passenger seats. I once lamented that I could never have a scenario where Jo'on and Shion ride a Rhino tank or a Hunter chopper and scorch the city because they only have one seat. With Hitodama mode, she still accompanies you in spirit, quipping and complaining about the situation. Jo'on never has to be alone.

Vanilla combat frustrations with red-marked peds

Another thing I didn't like about vanilla homies is that they don't normally target red-marked peds during missions. They only ever shoot a ped if you attack them first. Furthermore, in certain missions, Rockstar hardcoded those red-marked peds so they can only be killed by the player. You would see a homie dump their entire mag and not deal a single point of damage.

My ShionCombatRedMarker script circumvents that. Purely because during the Pimping side-mission, I wanted to simply drive around as Jo'on and have Shion in the passenger seat be the one to snipe the deadbeat client dead with a scoped rifle so Jo'on didn't have to get out of her ride to beat them to the ground herself.

It makes Shion incredibly useful in Vigilante or story missions that feature red targets. I actually made a standalone version of this exact script to apply to normal companions, because it's just that useful to me. I have both running at the same time; normal homies and Shion all function to kill every red-marked ped in sight, whether we are on foot or on wheels.

Now does this have anything to do with Shion's character? No. But I don't appreciate her being disobedient when Jo'on clearly said kill (Y+B).

Real effects on weapon economy via Wallet Drain & Gear Swap

Normally when you recruit homies, they have 9999 ammo for whatever they are holding. I wanted Shion to have a real effect on the weapon economy and make Jo'on spend money because nothing comes for free, so I coded two ways that happens:

Innate misfortune and aura stacking

While I originally implemented perks like Misfortune, Traffic Hex, Aviation Misfortune, and Misery Loves Company for the player, I figured that Shion as a companion should innately have those in effect.

If CJ or Jo'on invest points in Shion's perk tree, they benefit from them personally. But Shion by herself has these effects innately, whether you are broke or not. If someone physically harms Shion, the damage is reflected back to the attacker. If it takes four 9mm rounds to kill a normal 100 HP ped, it only takes Shion taking four shots to the gut to drop them without lifting a finger.

This way, if you play a pure Jo'on build, you don't really need to invest in Shion's perk tree to get her utility. But having the option means Jo'on can get double the benefits: channeling Shion's divinity to tip the odds in her favor, while Shion herself radiates bad luck from the passenger seat.

Hunger, feeding, and scavenging

I wanted to ask: "What are some things CJ experiences that I can make a ped companion experience?"

Every 48 hours, just like CJ, Shion gets hungry. I didn't make a penalty out of it (like losing HP) because I don't want to frustrate the player or lock away her features. The only thing hunger prevents is Shion starting a Sister Talk lore episode. (There is also a setting in shion.ini to disable the hunger mechanic entirely).

Feeding Her: If you drive to a fast food place or walk indoors to a diner, pressing TAB opens a menu to buy her food.

Scavenging (gated by pride): I refined the Scavenger's Feast perk to be mode dependent. Shion innately has the ability to scavenge dumpsters and vending machines (Y+Z), so if you have her in your group, you don't really need to invest in this perk.

If you are playing as Jo'on, you literally cannot scavenge. Her pride won't let her. Pressing F near a bin only makes her complain about being above such things. If Jo'on is broke, and she refuses to scavenge, she has no way to reset her own hunger timer. She depends entirely on Shion to dig through the trash or beg cart vendors for scraps and feed her.

So to use this perk yourself, you have to be either CJ or Shion as the player character to roleplay the life of a penniless vagrant.

Parachutes, burglary, and sandbox reactions

Finally, I wanted to see what other CJ mechanics I could map onto her.


Hm, that's all my brain could dig up for now. There may have been things I forgot to mention.

It was an incredibly fun 60-days, and I am still not done with it.

I slowed down from adding things, and I am more focused on refactoring, refining and debugging already existing features from edge cases I might have missed. Call it feature-creep, but it is enjoyable to expand Shion's awareness and capabilities within the sandbox one commit at a time.

-- EagleRaviOrange