diff --git a/src/cc/rogue/init.c b/src/cc/rogue/init.c index 6ff0a71c0..62998889d 100644 --- a/src/cc/rogue/init.c +++ b/src/cc/rogue/init.c @@ -28,9 +28,7 @@ void restore_player(struct rogue_state *rs) //rs->P.gold = purse; max_hp = rs->P.hitpoints; pstats.s_str = rs->P.strength & 0xffff; - max_stats.s_str = rs->P.strength >> 16; - if ( max_stats.s_str < 12 ) - max_stats.s_str = 12; + max_stats.s_str = (rs->P.strength >> 16) & 0xffff; if ( pstats.s_str > max_stats.s_str ) pstats.s_str = max_stats.s_str; pstats.s_lvl = rs->P.level; diff --git a/src/cc/rogue_rpc.cpp b/src/cc/rogue_rpc.cpp index d0ed66cbb..068847c93 100644 --- a/src/cc/rogue_rpc.cpp +++ b/src/cc/rogue_rpc.cpp @@ -1226,9 +1226,18 @@ bool rogue_validate(struct CCcontract_info *cp,int32_t height,Eval *eval,const C if ( vopret.size() > 2 ) { script = (uint8_t *)vopret.data(); + if ( script[0] == EVAL_TOKENS ) + { + if ( script[1] == 'c' ) + { + } + else if ( script[1] == 't' ) + { + } else return eval->Invalid("illegal tokens funcid"); + } if ( script[0] == EVAL_ROGUE ) { - switch ( script[1] ) + switch ( funcid ) { case 'G': // newgame case 'R': // register @@ -1242,18 +1251,6 @@ bool rogue_validate(struct CCcontract_info *cp,int32_t height,Eval *eval,const C return eval->Invalid("illegal rogue funcid"); break; } - } - else if ( script[0] == EVAL_TOKENS ) - { - fprintf(stderr,"ht.%d tokens.(%c)\n",height,script[1]); - if ( script[1] == 'c' ) - { - return(true); - } - else - { - return(true); - } } else return eval->Invalid("illegal evalcode"); } else return eval->Invalid("opret too small"); } else return eval->Invalid("not enough vouts");