From 7bfc0344210cf1ea85ccbe784ea54d172ebadc40 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 23 Jan 2015 21:33:18 -0500 Subject: XEEN: Implement cmdJumpRnd script opcode --- engines/xeen/scripts.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'engines/xeen/scripts.cpp') diff --git a/engines/xeen/scripts.cpp b/engines/xeen/scripts.cpp index 247165f085..6a08286148 100644 --- a/engines/xeen/scripts.cpp +++ b/engines/xeen/scripts.cpp @@ -452,8 +452,20 @@ void Scripts::cmdConfirmWord(Common::Array ¶ms) { } void Scripts::cmdDamage(Common::Array ¶ms) { error("TODO"); } -void Scripts::cmdJumpRnd(Common::Array ¶ms) { error("TODO"); } -void Scripts::cmdAfterEvent(Common::Array ¶ms) { error("TODO"); } + +/** + * Jump if a random number matches a given value + */ +void Scripts::cmdJumpRnd(Common::Array ¶ms) { + int v = _vm->getRandomNumber(1, params[0]); + if (v == params[1]) + _lineNum = params[2] - 1; + + _var4F = true; + cmdNoAction(params); +} + +void Scripts::cmdAlterEvent(Common::Array ¶ms) { error("TODO"); } /** * Stores the current location and line for later resuming, and set up to execute -- cgit v1.2.3