Commit e34ffc11 authored by auraes's avatar auraes 💬
Browse files

Mise à jour Puny c7b94a0

parent b175a4e8
......@@ -150,6 +150,15 @@ Constant MSG_PARSER_CANT_DISAMBIGUATE "Je ne comprends toujours pas à quoi vous
#Ifndef MSG_PARSER_NOSUCHTHING;
Constant MSG_PARSER_NOSUCHTHING "Vous ne pouvez voir ou interagir avec cela."; !FIXME
#EndIf;
#Ifndef MSG_PARSER_CANT_OOPS;
Constant MSG_PARSER_CANT_OOPS "Désolé, il est impossible de corriger.";
#EndIf;
#Ifndef MSG_PARSER_COMPLEX_AGAIN;
Constant MSG_PARSER_COMPLEX_AGAIN "La commande Encore doit se trouver sur une nouvelle ligne de saisie.^"; !FIXME
#EndIf;
#Ifndef MSG_PARSER_NOTHING_TO_AGAIN;
Constant MSG_PARSER_NOTHING_TO_AGAIN "Vous ne pouvez pas répéter cela.";
#EndIf;
#IfDef OPTIONAL_FULL_SCORE;
#IfDef OPTIONAL_SCORED;
......@@ -163,16 +172,8 @@ Constant MSG_FULLSCORE_ROOMS "lieu(x) visité(s)"; !FIXME
#Ifndef MSG_FULLSCORE_ACTIONS;
Constant MSG_FULLSCORE_ACTIONS "action(s) importante(s) effectuée(s)"; !FIXME
#EndIf;
#Ifndef MSG_PARSER_CANT_OOPS;
Constant MSG_PARSER_CANT_OOPS "Désolé, il est impossible de corriger.";
#EndIf;
#Ifndef MSG_PARSER_COMPLEX_AGAIN;
Constant MSG_PARSER_COMPLEX_AGAIN "La commande Encore doit se trouver sur une nouvelle ligne de saisie.^"; !FIXME
#EndIf;
#Ifndef MSG_PARSER_NOTHING_TO_AGAIN;
Constant MSG_PARSER_NOTHING_TO_AGAIN "Vous ne pouvez pas répéter cela.";
#EndIf;
#EndIf;
!
! complex messages (enumerated)
!
......
......@@ -742,7 +742,10 @@ System_file;
scope_stage = 2;
_UpdateScope();
scope_stage = 0;
phase2_necessary = true;
} else if(_token_type == TT_PARSE_ROUTINE) {
! allow the 'general parsing routine' to do all instead.
! it returns object or GRP_FAIL, ...; just like _ParseToken
return indirect(_token_data);
}
! then parse objects or prepositions
......@@ -1387,6 +1390,7 @@ Array guess_num_objects->5;
! if true, then scope=Routine was executed
! in the previous _ParseAndPerformAction,
! which can have added stuff to the scope
scope_modified = true;
}
scope_routine = 0; ! prepare for a new scope=Routine
......@@ -1537,14 +1541,10 @@ Array guess_num_objects->5;
if(_best_phase2 == PHASE2_ERROR) {
! call again to generate suitable error message
_score = _ParsePattern(_best_pattern, PHASE2);
rtrue;
} else if(_best_phase2 == PHASE2_DISAMBIGUATION) {
} else {
PrintMsg(MSG_PARSER_NOSUCHTHING);
rtrue;
}
! if not ERROR or DISAMBIGUATION, then we are currently
! parsning a filter command such as scope=ScopeRoutine,
! which we should allow to fall through into PHASE2
}
rtrue;
}
! Phase 2: reparse best pattern and ask for additional info if
......@@ -1687,7 +1687,7 @@ Array guess_num_objects->5;
! get the 'you have to leave it' message.
if(action == ##Take && noun == parent(player) && parser_all_found) continue;
! don' pick up held objects if other objects available
! don't pick up held objects if other objects available
! however, if this is the only object then allow it to
! get the 'you already have it' message.
if(action == ##Take && noun in player && (multiple_objects --> 0 > 1 || parser_all_found)) continue;
......
......@@ -405,3 +405,5 @@ v2.1: bug fix and new feature release
- Moved oops, again and score notifications messages to messages.inf
- Fixed "x me.g.g" bug (disallowing complex again commands)
- Fixed pattern filter bug that stopped some commands to reach phase 2.
- Fixed bug that didn't restore scope after using a scope=XXX grammar token.
- Moved messages out of the OPTIONAL_FULL_SCORE block.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment