Fix cclibinfo for rogue
This commit is contained in:
@@ -262,7 +262,7 @@ int32_t CClib_initcp(struct CCcontract_info *cp,uint8_t evalcode)
|
|||||||
{
|
{
|
||||||
if ( buf2pk(check33) == pk && strcmp(checkaddr,cp->normaladdr) == 0 )
|
if ( buf2pk(check33) == pk && strcmp(checkaddr,cp->normaladdr) == 0 )
|
||||||
{
|
{
|
||||||
fprintf(stderr,"verified evalcode.%d %s %s\n",cp->evalcode,checkaddr,pubkey33_str(str,pub33));
|
//fprintf(stderr,"verified evalcode.%d %s %s\n",cp->evalcode,checkaddr,pubkey33_str(str,pub33));
|
||||||
return(0);
|
return(0);
|
||||||
} else fprintf(stderr,"CClib_initcp mismatched privkey -> addr %s vs %s\n",checkaddr,cp->normaladdr);
|
} else fprintf(stderr,"CClib_initcp mismatched privkey -> addr %s vs %s\n",checkaddr,cp->normaladdr);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,10 +58,10 @@ CClib_methods[] =
|
|||||||
{ (char *)"rogue", (char *)"pending", (char *)"<no args>", 0, 0, 'P', EVAL_ROGUE },
|
{ (char *)"rogue", (char *)"pending", (char *)"<no args>", 0, 0, 'P', EVAL_ROGUE },
|
||||||
{ (char *)"rogue", (char *)"register", (char *)"gametxid [playertxid]", 1, 2, 'R', EVAL_ROGUE },
|
{ (char *)"rogue", (char *)"register", (char *)"gametxid [playertxid]", 1, 2, 'R', EVAL_ROGUE },
|
||||||
{ (char *)"rogue", (char *)"keystrokes", (char *)"gametxid keystrokes", 2, 2, 'K', EVAL_ROGUE },
|
{ (char *)"rogue", (char *)"keystrokes", (char *)"gametxid keystrokes", 2, 2, 'K', EVAL_ROGUE },
|
||||||
{ (char *)"rogue", (char *)"bailout", (char *)"baton finalhash", 2, 2, 'Q', EVAL_ROGUE },
|
{ (char *)"rogue", (char *)"bailout", (char *)"gametxid", 1, 1, 'Q', EVAL_ROGUE },
|
||||||
{ (char *)"rogue", (char *)"highlander", (char *)"baton finalhash", 2, 2, 'H', EVAL_ROGUE },
|
{ (char *)"rogue", (char *)"highlander", (char *)"gametxid", 1, 1, 'H', EVAL_ROGUE },
|
||||||
{ (char *)"rogue", (char *)"playerinfo", (char *)"playertxid", 1, 1, 'I', EVAL_ROGUE },
|
{ (char *)"rogue", (char *)"playerinfo", (char *)"playertxid", 1, 1, 'I', EVAL_ROGUE },
|
||||||
{ (char *)"rogue", (char *)"players", (char *)"playertxid", 1, 1, 'D', EVAL_ROGUE },
|
{ (char *)"rogue", (char *)"players", (char *)"<no args>", 0, 0, 'D', EVAL_ROGUE },
|
||||||
#else
|
#else
|
||||||
{ (char *)"sudoku", (char *)"gen", (char *)"<no args>", 0, 0, 'G', EVAL_SUDOKU },
|
{ (char *)"sudoku", (char *)"gen", (char *)"<no args>", 0, 0, 'G', EVAL_SUDOKU },
|
||||||
{ (char *)"sudoku", (char *)"txidinfo", (char *)"txid", 1, 1, 'T', EVAL_SUDOKU },
|
{ (char *)"sudoku", (char *)"txidinfo", (char *)"txid", 1, 1, 'T', EVAL_SUDOKU },
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ stomach(struct rogue_state *rs,int arg)
|
|||||||
if (food_left <= 0)
|
if (food_left <= 0)
|
||||||
{
|
{
|
||||||
if (food_left-- < -STARVETIME)
|
if (food_left-- < -STARVETIME)
|
||||||
death('s');
|
death(rs,'s');
|
||||||
/*
|
/*
|
||||||
* the hero is fainting
|
* the hero is fainting
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ attack(struct rogue_state *rs,THING *mp)
|
|||||||
endmsg(rs);
|
endmsg(rs);
|
||||||
has_hit = FALSE;
|
has_hit = FALSE;
|
||||||
if (pstats.s_hpt <= 0)
|
if (pstats.s_hpt <= 0)
|
||||||
death(mp->t_type); /* Bye bye life ... */
|
death(rs,mp->t_type); /* Bye bye life ... */
|
||||||
else if (!kamikaze)
|
else if (!kamikaze)
|
||||||
{
|
{
|
||||||
oldhp -= pstats.s_hpt;
|
oldhp -= pstats.s_hpt;
|
||||||
@@ -206,7 +206,7 @@ attack(struct rogue_state *rs,THING *mp)
|
|||||||
}
|
}
|
||||||
no_command += rnd(2) + 2;
|
no_command += rnd(2) + 2;
|
||||||
if (no_command > BORE_LEVEL)
|
if (no_command > BORE_LEVEL)
|
||||||
death('h');
|
death(rs,'h');
|
||||||
when 'R':
|
when 'R':
|
||||||
/*
|
/*
|
||||||
* Rattlesnakes have poisonous bites
|
* Rattlesnakes have poisonous bites
|
||||||
@@ -242,7 +242,7 @@ attack(struct rogue_state *rs,THING *mp)
|
|||||||
if (mp->t_type == 'W')
|
if (mp->t_type == 'W')
|
||||||
{
|
{
|
||||||
if (pstats.s_exp == 0)
|
if (pstats.s_exp == 0)
|
||||||
death('W'); /* All levels gone */
|
death(rs,'W'); /* All levels gone */
|
||||||
if (--pstats.s_lvl == 0)
|
if (--pstats.s_lvl == 0)
|
||||||
{
|
{
|
||||||
pstats.s_exp = 0;
|
pstats.s_exp = 0;
|
||||||
@@ -259,7 +259,7 @@ attack(struct rogue_state *rs,THING *mp)
|
|||||||
if (pstats.s_hpt <= 0)
|
if (pstats.s_hpt <= 0)
|
||||||
pstats.s_hpt = 1;
|
pstats.s_hpt = 1;
|
||||||
if (max_hp <= 0)
|
if (max_hp <= 0)
|
||||||
death(mp->t_type);
|
death(rs,mp->t_type);
|
||||||
msg(rs,"you suddenly feel weaker");
|
msg(rs,"you suddenly feel weaker");
|
||||||
}
|
}
|
||||||
when 'F':
|
when 'F':
|
||||||
@@ -269,7 +269,7 @@ attack(struct rogue_state *rs,THING *mp)
|
|||||||
player.t_flags |= ISHELD;
|
player.t_flags |= ISHELD;
|
||||||
sprintf(monsters['F'-'A'].m_stats.s_dmg,"%dx1", ++vf_hit);
|
sprintf(monsters['F'-'A'].m_stats.s_dmg,"%dx1", ++vf_hit);
|
||||||
if (--pstats.s_hpt <= 0)
|
if (--pstats.s_hpt <= 0)
|
||||||
death('F');
|
death(rs,'F');
|
||||||
when 'L':
|
when 'L':
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@@ -327,7 +327,7 @@ attack(struct rogue_state *rs,THING *mp)
|
|||||||
{
|
{
|
||||||
pstats.s_hpt -= vf_hit;
|
pstats.s_hpt -= vf_hit;
|
||||||
if (pstats.s_hpt <= 0)
|
if (pstats.s_hpt <= 0)
|
||||||
death(mp->t_type); /* Bye bye life ... */
|
death(rs,mp->t_type); /* Bye bye life ... */
|
||||||
}
|
}
|
||||||
miss(rs,mname, (char *) NULL, FALSE);
|
miss(rs,mname, (char *) NULL, FALSE);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -310,7 +310,7 @@ be_trapped(struct rogue_state *rs,coord *tc)
|
|||||||
if (pstats.s_hpt <= 0)
|
if (pstats.s_hpt <= 0)
|
||||||
{
|
{
|
||||||
msg(rs,"an arrow killed you");
|
msg(rs,"an arrow killed you");
|
||||||
death('a');
|
death(rs,'a');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
msg(rs,"oh no! An arrow shot you");
|
msg(rs,"oh no! An arrow shot you");
|
||||||
@@ -340,7 +340,7 @@ be_trapped(struct rogue_state *rs,coord *tc)
|
|||||||
if (pstats.s_hpt <= 0)
|
if (pstats.s_hpt <= 0)
|
||||||
{
|
{
|
||||||
msg(rs,"a poisoned dart killed you");
|
msg(rs,"a poisoned dart killed you");
|
||||||
death('d');
|
death(rs,'d');
|
||||||
}
|
}
|
||||||
if (!ISWEARING(R_SUSTSTR) && !save(VS_POISON))
|
if (!ISWEARING(R_SUSTSTR) && !save(VS_POISON))
|
||||||
chg_str(-1);
|
chg_str(-1);
|
||||||
|
|||||||
@@ -227,13 +227,18 @@ score(int amount, int flags, char monst)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void
|
||||||
death(char monst)
|
death(struct rogue_state *rs,char monst)
|
||||||
{
|
{
|
||||||
char **dp, *killer;
|
char **dp, *killer;
|
||||||
struct tm *lt;
|
struct tm *lt;
|
||||||
static time_t date;
|
static time_t date;
|
||||||
//struct tm *localtime(const time_t *);
|
//struct tm *localtime(const time_t *);
|
||||||
|
if ( rs->guiflag == 0 )
|
||||||
|
{
|
||||||
|
fprintf(stderr,"death during replay\n");
|
||||||
|
rs->replaydone = (uint32_t)time(NULL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
signal(SIGINT, SIG_IGN);
|
signal(SIGINT, SIG_IGN);
|
||||||
purse -= purse / 10;
|
purse -= purse / 10;
|
||||||
signal(SIGINT, leave);
|
signal(SIGINT, leave);
|
||||||
|
|||||||
@@ -388,7 +388,7 @@ int rogue(int argc, char **argv, char **envp)
|
|||||||
level = rnd(100) + 1;
|
level = rnd(100) + 1;
|
||||||
initscr();
|
initscr();
|
||||||
getltchars();
|
getltchars();
|
||||||
death(death_monst());
|
death(rs,death_monst());
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -586,7 +586,7 @@ void create_obj(struct rogue_state *rs);
|
|||||||
|
|
||||||
void current(struct rogue_state *rs,THING *cur, char *how, char *where);
|
void current(struct rogue_state *rs,THING *cur, char *how, char *where);
|
||||||
void d_level(struct rogue_state *rs);
|
void d_level(struct rogue_state *rs);
|
||||||
void death(char monst);
|
void death(struct rogue_state *rs,char monst);
|
||||||
char death_monst(void);
|
char death_monst(void);
|
||||||
void dig(int y, int x);
|
void dig(int y, int x);
|
||||||
void discard(THING *item);
|
void discard(THING *item);
|
||||||
|
|||||||
@@ -391,9 +391,9 @@ def:
|
|||||||
if ((pstats.s_hpt -= roll(6, 6)) <= 0)
|
if ((pstats.s_hpt -= roll(6, 6)) <= 0)
|
||||||
{
|
{
|
||||||
if (start == &hero)
|
if (start == &hero)
|
||||||
death('b');
|
death(rs,'b');
|
||||||
else
|
else
|
||||||
death(moat(start->y, start->x)->t_type);
|
death(rs,moat(start->y, start->x)->t_type);
|
||||||
}
|
}
|
||||||
used = TRUE;
|
used = TRUE;
|
||||||
if (terse)
|
if (terse)
|
||||||
|
|||||||
@@ -114,26 +114,23 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// todo:
|
// todo:
|
||||||
// verify playerdata is usable
|
// -detect playerdeath/quit to prevent illegal keystrokes vector
|
||||||
// detect playerdeath/quit to prevent illegal keystrokes vector
|
|
||||||
// verify keystrokes tx is in mempool and confirmed
|
// verify keystrokes tx is in mempool and confirmed
|
||||||
// check that bailout is legal, ie. proper gametxid vin
|
// check that bailout is legal, ie. proper gametxid vin
|
||||||
// verify amulet possession in pack
|
// verify amulet possession in pack
|
||||||
// display playerdata (user comments?, or fully decode)
|
// -verify playerdata can be used and has same initial level
|
||||||
// verify playerdata can be used and has same initial level
|
|
||||||
// prevent running gui mode when keystrokes txid already there
|
|
||||||
|
|
||||||
//////////////////////// start of CClib interface
|
//////////////////////// start of CClib interface
|
||||||
//./komodod -ac_name=ROGUE -ac_supply=1000000 -pubkey=03951a6f7967ad784453116bc55cd30c54f91ea8a5b1e9b04d6b29cfd6b395ba6c -addnode=5.9.102.210 -ac_cclib=rogue -ac_perc=10000000 -ac_reward=100000000 -ac_cc=60001 -ac_script=2ea22c80203d1579313abe7d8ea85f48c65ea66fc512c878c0d0e6f6d54036669de940febf8103120c008203000401cc > /dev/null &
|
//./komodod -ac_name=ROGUE -ac_supply=1000000 -pubkey=03951a6f7967ad784453116bc55cd30c54f91ea8a5b1e9b04d6b29cfd6b395ba6c -addnode=5.9.102.210 -ac_cclib=rogue -ac_perc=10000000 -ac_reward=100000000 -ac_cc=60001 -ac_script=2ea22c80203d1579313abe7d8ea85f48c65ea66fc512c878c0d0e6f6d54036669de940febf8103120c008203000401cc > /dev/null &
|
||||||
|
|
||||||
// cclib newgame 17 \"[3,10]\"
|
// cclib newgame 17 \"[3,10]\"
|
||||||
// cclib pending 17
|
// cclib pending 17
|
||||||
// cclib gameinfo 17 \"[%22f60167a973fc4a5ff08b378bff78bfbfa2f7fae04d603e8deb9acdb1551e0d10%22]\"
|
// cclib gameinfo 17 \"[%22a49f90d6b5a226132a8615c9b55b254629611565c69246ea58f7a02059b847bf%22]\"
|
||||||
// cclib register 17 \"[%22f60167a973fc4a5ff08b378bff78bfbfa2f7fae04d603e8deb9acdb1551e0d10%22]\"
|
// cclib register 17 \"[%22a49f90d6b5a226132a8615c9b55b254629611565c69246ea58f7a02059b847bf%22]\"
|
||||||
// ./rogue <seed> gui -> creates keystroke files
|
// ./rogue <seed> gui -> creates keystroke files
|
||||||
// cclib register 17 \"[%22f60167a973fc4a5ff08b378bff78bfbfa2f7fae04d603e8deb9acdb1551e0d10%22,%2233d52f92980ceaa81556093171ee224e085fd384690d83460d6fbbad96fe0e7e%22]\"
|
// cclib register 17 \"[%22a49f90d6b5a226132a8615c9b55b254629611565c69246ea58f7a02059b847bf%22,%22f3a4a61cfa0dd43733b06d1368c199594258e0f3db983dc1b9b10768a5671909%22]\"
|
||||||
// cclib keystrokes 17 \"[%220a4ecb345ca3090f4acad63f889c3668e46e245cb00ca4b8b57c4677b1ee95b2%22,%22deadbeef%22]\"
|
// cclib keystrokes 17 \"[%220a4ecb345ca3090f4acad63f889c3668e46e245cb00ca4b8b57c4677b1ee95b2%22,%22deadbeef%22]\"
|
||||||
// cclib bailout 17 \"[%22f60167a973fc4a5ff08b378bff78bfbfa2f7fae04d603e8deb9acdb1551e0d10%22]\"
|
// cclib bailout 17 \"[%22a49f90d6b5a226132a8615c9b55b254629611565c69246ea58f7a02059b847bf%22]\"
|
||||||
// eef1d0091a88d85bdac1ede9d31db8504bc466a6695fdf259dac623fce09e0dd
|
// eef1d0091a88d85bdac1ede9d31db8504bc466a6695fdf259dac623fce09e0dd
|
||||||
/*
|
/*
|
||||||
2409 gold.209 hp.17 strength.16 level.3 exp.22 3
|
2409 gold.209 hp.17 strength.16 level.3 exp.22 3
|
||||||
|
|||||||
Reference in New Issue
Block a user