diff --git a/app/api/health/route.ts b/app/api/health/route.ts index abad6e9..8773274 100644 --- a/app/api/health/route.ts +++ b/app/api/health/route.ts @@ -15,7 +15,8 @@ export async function GET(){ ok:true, aleActiveRecently, lastAleAt, - bridgeConfigured:!!(c.BRIDGE_URL&&c.BRIDGE_TOKEN), + gameBackend:c.GAME_BACKEND??'azerothcore', + bridgeConfigured:c.GAME_BACKEND==='cmangos-classic'?!!c.ALE_BRIDGE_TOKEN:!!(c.BRIDGE_URL&&c.BRIDGE_TOKEN), aleConfigured:!!c.ALE_BRIDGE_TOKEN, aleOperatorConfigured:!!c.ALE_OPERATOR_TOKEN, aleRawEnabled:rawAleEnabled(c), diff --git a/app/page.tsx b/app/page.tsx index 84f79e5..74655f4 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -63,12 +63,12 @@ export default function Home({readOnly=false}:{readOnly?:boolean}){

AzerothAI shapes identity and intent. The game server owns the rules of the world.

Create a characterStart with an identity and recipe. Spawn when you’re ready.{state&&setCreateOpen(false)}/>} {readOnly?'Bot recipe':recipe?'Edit bot recipe':'Create bot recipe'}Traits guide high-level decisions. They never override game rules.
setRecipeOpen(false)}/>
- {if(!o)setBotId(null)}}>Bot profileIdentity, intent, and the story so far.{selected&&state&&} + {if(!o)setBotId(null)}}>Bot profileIdentity, intent, and the story so far.{selected&&state&&} {if(!o)setConfirm(null)}}>{confirm?.title}{confirm?.description}Cancel{if(confirm)perform(confirm.action);setConfirm(null)}}>Confirm; } function CreateBot({state,act,busy,close}:any){const [name,setName]=useState(''),[role,setRole]=useState('Priest'),[race,setRace]=useState('Human'),[recipeId,setRecipeId]=useState(state.recipes[0].id),[goal,setGoal]=useState(`Support ${state.director.experience.toLowerCase()} in ${state.director.zone}`);return
{e.preventDefault();try{await act({type:'createBot',name,role,race,recipeId,goal});toast.success('Character created');close();}catch{}}}>