diff --git a/src/main.ts b/src/main.ts
index e1e0664..b694fa8 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -2,7 +2,7 @@ import { BAL } from "./sim/balance";
import { createState, pushEvent } from "./sim/state";
import { step, place, canPlace, wire, sell, grant, raiseRound, clapBack, shipGrade, switchHosting, unlockScrape, buyGpu, sellGpu, extinguishFire, moveRoom, spamBlast } from "./sim/sim";
import { saveState, loadState, clearSave } from "./sim/save";
-import { DEF } from "./sim/catalog";
+import { DEF, isCompute } from "./sim/catalog";
import { Scene } from "./render/scene";
import { Hud, applyTheme, currentTheme } from "./ui/hud";
import { Panels } from "./ui/panels";
@@ -127,9 +127,17 @@ async function boot() {
if (wireMode) {
const d = deviceAt(t.x, t.y);
if (!d) return;
+ const def = DEF[d.defId];
if (wireSource === null) {
- if (DEF[d.defId].tokRate) { wireSource = d.uid; sfx.click(); }
- else if (DEF[d.defId].uplinkMbps) pushEvent(state, "pick the PC first, then the router", "info");
+ if (isCompute(def) || def.switchMbps) {
+ wireSource = d.uid;
+ sfx.click();
+ pushEvent(state, `${def.name} picked — now click a router or switch (green)`, "info");
+ } else if (def.uplinkMbps) {
+ pushEvent(state, "that's the internet side — pick the PC/rig first (cyan), then this", "info");
+ } else {
+ pushEvent(state, `${def.name} can't be wired — pick a PC, rig, rack, or switch`, "info");
+ }
} else {
const err = wire(state, wireSource, d.uid);
if (err) { pushEvent(state, err, "info"); sfx.error(); } else sfx.wire();
diff --git a/src/ui/tutorial.ts b/src/ui/tutorial.ts
index 4245f65..e58f779 100644
--- a/src/ui/tutorial.ts
+++ b/src/ui/tutorial.ts
@@ -16,7 +16,7 @@ const STEPS: Step[] = [
{
id: "wire",
title: "Plug in the slop pipe",
- body: "Your PC can't sell garbage without internet. Press W (or the 🔌 Wire chip), click the PC, then the router.",
+ body: "Your PC can't sell garbage without internet. Press W, then just two clicks — no dragging: click the Budget PC (cyan ring), then the Wi-Fi Router (green ring).",
done: (s) => s.devices.some((d) => d.wiredTo !== null),
highlight: ["#wire-tool"],
ringDefs: ["desk_pc", "router"],