Guides:Robotics

*This page describes Robotics in GH1. For GH2, see Robotics\_(GH2).*

There are three possible results of use the Robotics skill: Failure to create a robot at all, a non-self-aware robot which becomes a pet, or a self-aware robot which becomes a lancemate. If your lance is full, the robot will be an NPC willing to join your lance, or a pet which you can add/remove from your lance using the Field HQ.

## The basics

I was going to write up an introduction, but just build yourself a couple robots and you'll get the idea faster.

## Care and oiling

Non-sentient robots can be disassembled for spare parts, using the Field HQ. Not even villainous characters can disassemble self-aware robots (IIRC).

A dead robot can be revived with General Repair, the same way Medicine can be used on dead humans. Dead robots (including drones, androbots, etc.) can be disassembled for spare parts using the Science skill.

## Ingredients

When use use your Robotics skill, you can select up to 10 pieces of gear as ingredients. They will be used up. All the ingredients you use contribute "build points" (see below). These are the allowed ingredients, and what they add to your robot.

* General/Mecha repair supplies: the simplest source of lots of build points
* shields: only add to build points
* weapons: installed in the robot if a Robotics Skill Roll succeeds
* armor: determines Vitality skill
* PCS (e.g. micro PC): increases Knowledge
* electronics (sensors/targeting computer/ECM): increases Perception

Only the best piece of armor and electronics matters; more than one suit of armor won't give your robot higher Vitality. Also note that personal comm systems built into armor aren't counted.

Building weapons into a robot doesn't use up hand/mounting point slots, and keeps your backup weapon off your shield arm. You won't be able to add Weapon Add-ons like gas vents or a counterbalance, so it's probably a bad idea to install a slow main weapon. Even if there was an add-on on the weapon you used as an ingredient, it won't be integrated into the robot. Non-returning thrown weapons will be uninstalled when the robot throws them, and can't be reinstalled. Weapons will never end up in "extra" limbs (turrets, etc.). Building in a weapon uses up one roll for the robot to have an extra limb or extra starting skill.

## Advantages of Robots as lancemates

They are immune to poison, and few personal-scale attackers have haywire or rust attacks (which robots are vulnerable to). They can have uniformly good stats, esp. if you save your game before using Robots, and re-load if you don't like the result! Some of the NPCs willing to join you have quite low Knowledge, which limits their long-term ability to improve. Robots always have Weight Lifting 10, so they make good mules. Robots with a couple extra limbs/turrets can be \_very\_ deadly when equipped with multiple heavy weapons, such as Plasma Cannon. Even a couple shotguns and a shield will make a nice robot for a starting character.

## Disadvantages

You don't get to choose which skills non-sentient robots learn when they advance. You don't even get any choice over what skills they start with, and you build the darn thing. You'll have to set DIRECTSKILLOK if you want them to learn a combat skill they didn't start with, and then they'll start improving it. If you didn't get lucky and have a non-sentient robot start with a repair skill, the robot is missing a major source of XP (as well as not being as useful).

## quick summary of the algorithm

* The PC's base Robotics skill rank is **very** important. The robot's stats are capped at 2\*BaseSkill+1 (except Charisma). Combat skills are learned by the robot in the range [1..BaseSkill] and other skills are learned in the range [1..(BaseSkill+1]. More BaseSkill also gives more chances for the robot to have extra limbs, and skills, and stat bonuses.
* Build points determine the Body stat.
* Your SkillRank in Robotics is your team's skill in Robotics + the

f
l
o
o
r
l
o

g
2

(
b
u
i
l
d
p
o
i
n
t
s
)

{\displaystyle floor log\_2(buildpoints)}

. This is used to make Skill Rolls to determine the robot's other stats, etc.
* Make sure you have at lots of MP; Building a robot takes 10MP, plus extra MP for each stat that would have been negative.
* If all the robots stats are >= 10, it will be self-aware.
* self-aware robots always have humanoid bodies without intrinsic armor.
* non-self-aware robots will fly, walk, or roll, and have armored "skin", like monsters. The higher your skill, the more likely it will be to fly.

```
Experience gained from using Robotics skill:
SkillXP: 1 for each component, +10 for success, +50 for self-aware
XP: You get 5 just for trying, +50 for success, +100 for self-aware.

```

## Ideal robot ingredient list

* 5 mecha welding sets + 1 mecha repair kit. This is the maximum useful amount of build points. (3 welding sets is only one skill point bonus less, though)
* 1 high-AC piece of armor (not a shield). (Vitality skill = Part^.V of armor = AC/3. Heavy Mesh Suit = 7.)
* 1 class 10 sensor (perception bonus = class/2 ) After sentience check, though
* 1 Micro PC (knowledge bonus = class/2 (so +2 from a micro PC).
* 0 or 1 weapon, depending on preference.

## The Algorithm

This is pseudo-code for skilluse.pp:UseRobotics(), the main robot building function. See Skill Rolls for how RollStep and SkillValue work.

```
BP := total of repairfuel points and MaxDamage+MaxArmor+Mass of other parts

BaseSkill := PC's bare robotics skill (skill #38)
SkRk := TeamSkill( GB , NAV_DefPlayerTeam , 38 ) - 10 +

 l
 o

 g
 2

 (
 B
 P
 )

 {\displaystyle log\_2(BP)}

   (Note that

 l
 o

 g
 2

 (
 3000
 ∗
 5
 1500
 )

 /

 l
 (
 2
 )
 =
 14.01

 {\displaystyle log\_2(3000\*5 + 1500)/l(2) = 14.01}

)

Body       := BP/25  (within [1..25])
Reflexes   := RollStep(SkRk) - 7 - (Body/4);
Speed      := RollStep(SkRk) - 5 - (Body/2);
Perception := RollStep(SkRk) - 10;
Craft      := RollStep(SkRk) - 7;
Knowledge  := RollStep(SkRk) - 7;
Ego        := RollStep(SkRk) - 10;

Cap stats at BaseSkill*2+1 (note that this happens after Ref and Speed are set.)

```

```
for each stat<1, spend 2*abs(stat) MP  to get  stat = 1..4
  if you don't have the MP, the robot isn't viable.
if all stats >= 10, robot is self-aware:
       Charm := RollStep(SkRk) - 10;  (not capped!)
       create humanoid body (without intrinsic armor)
else
       non-sentient robots have armoured bodies.  Movement:
       RollStep(SkRk) > 20 -> 2wings
       RollStep(SkRk) > 10 -> 1/5: 3legs, 1/3: 2legs, else 4legs
       else 2 storage modules.

```

```
For each weapon ingredient:
  if BaseSkill>0 and RollStep(SkRk)>Part^.V (i.e. the DC):
     stick the weapon in a random body part
     decrement BaseSkill

```

So if you include a very-high DC weapon like a Laser Cannon, you'd better make your Skill Roll, or the weapon won't be in the robot! Also note that putting weapons in the robot means you'll have fewer of the goodies below... (unless your Robotics skill is odd, in which case 1 weapon won't hurt). You won't be able to unequip a melee weapon to stop the robot from charging into the fray. For a weapon that needs ammo, you can just wait for the clip to empty...

```
 Skills:
Weightlifting := 10
Athletics := 5
Concentration := 5
for each personal combat skill: 4/5 chance of having 0..BaseSkill points
(can find out robot's skills by looking in save file for
  0 1 <skillnum> <value>  between a Stats line and a ROBOT name)

 Vitality    = Part^.V of best armor (i.e. AC/3).
 Perception += best tarcomp/ECM/sensor class/2
 Knowledge  += best PCS class/2  (memo=1, email=2, phone=3, news=5).
    (armor with PCS doesn't count.)

```

```
Bonus skills: see GameData/ghpmacro.txt for numbers
 Robot has a chance of getting skills that PC is good at
 (out of Awareness, Initiative, Mecha Repair, Medicine, Spot Weakness, First Aid, General Repair, Stealth, Science, Mecha Engineering, Code Breaking)
for i=1..(BaseSkill-weapons)/2
 1 in 3: add an extra limb  (armored, even on self-aware bots)
      	  1/2:Arm, else 1/5:Head, else 1/5:Tail, else Turret
 1 in 5: if SkillValue(random robot_skill) > 10:
      	       skill += Random(modified_for_weapons_BaseSkill/2)+1
           else +1 to a random stat (not charm)
 else:   +1 to a random stat (not charm)

```

--llama 05:51, 2 July 2006 (CEST)

mathtest:

e

i
∗
π

−
# 1
0

{\displaystyle e^{i\*\pi}-1 = 0}

. If this is a beautiful equation, the wiki's math support has been turned on, I guess.