- [+] "tried on xxx" not showing up properly in \. fixed.
- [+] new swords: - [+] baselard - [+] shortsword - [+] epee - [+] cutlass - [+] sabre - [+] repier is now a long blade. - [+] broadsword - [+] falchion - [+] claymore - [+] zweihander - [+] bug: job description missing skill elements when there are <4 on the last line. - [+] don't adjust object's armourrating based on its conditin. - [+] increase TR of dryad - [+] reduce range of 'chill' - [+] potion of poison should give venom poisoning, not food poisoning - [+] robots should be immune to charm
This commit is contained in:
parent
45c5fd0365
commit
ed98c0b735
BIN
data/hiscores.db
BIN
data/hiscores.db
Binary file not shown.
14
defs.h
14
defs.h
|
@ -348,7 +348,7 @@ enum SHOPACTION {
|
|||
#define BUFLENSMALL 64
|
||||
#define BUFLEN 256
|
||||
#define BIGBUFLEN 512
|
||||
#define HUGEBUFLEN 2048
|
||||
#define HUGEBUFLEN 4092
|
||||
#define MAXPNAMELEN 12 // max player name length
|
||||
// file i/o
|
||||
#define DATADIR "data"
|
||||
|
@ -2049,27 +2049,34 @@ enum OBTYPE {
|
|||
OT_GREATAXE,
|
||||
OT_WARAXE,
|
||||
// short blades
|
||||
OT_BASELARD,
|
||||
OT_COMBATKNIFE,
|
||||
OT_DAGGER,
|
||||
OT_FORK,
|
||||
OT_GLADIUS,
|
||||
OT_KNIFE,
|
||||
OT_MEATCLEAVER,
|
||||
OT_ORNDAGGER,
|
||||
OT_QUICKBLADE,
|
||||
OT_RAPIER,
|
||||
OT_SAI,
|
||||
OT_SABRE,
|
||||
OT_SHORTSWORD,
|
||||
OT_STEAKKNIFE,
|
||||
OT_SICKLE,
|
||||
// long swords
|
||||
OT_BASTARDSWORD,
|
||||
OT_BROADSWORD,
|
||||
OT_CLAYMORE,
|
||||
OT_CUTLASS,
|
||||
OT_EPEE,
|
||||
OT_FALCHION,
|
||||
OT_GREATSWORD,
|
||||
OT_KATANA,
|
||||
OT_LONGSWORD,
|
||||
OT_ORNSWORD,
|
||||
OT_SCIMITAR,
|
||||
OT_CUTLASS,
|
||||
OT_ZWEIHANDER,
|
||||
// polearms
|
||||
OT_GLAIVE,
|
||||
OT_GUISARME,
|
||||
|
@ -2491,7 +2498,7 @@ enum FLAG {
|
|||
// after you have tried this object.
|
||||
F_POURABLE, // can pour?
|
||||
F_PUSHABLE, // can push this object
|
||||
F_PICKLOCKS, // can pick locks? val0=% change,
|
||||
F_PICKLOCKS, // can pick locks? val0=% chance,
|
||||
// val1=b_false, f_dieonfail, f_bluntonfail
|
||||
F_LOCKABLE,// this object can be locked
|
||||
F_CANBEDIFFMAT, // v0 is different material id which this ob could be
|
||||
|
@ -3652,6 +3659,7 @@ enum ERROR {
|
|||
// charm failure reasons
|
||||
// LOWIQ
|
||||
E_UNDEAD,
|
||||
E_ROBOT,
|
||||
E_DRUNK,
|
||||
//
|
||||
E_NOBP,
|
||||
|
|
27
io.c
27
io.c
|
@ -4964,7 +4964,11 @@ void doknowledgelist(void) {
|
|||
if (k->known == B_KNOWN) {
|
||||
mvwprintw(mainwin, y, 0, " %-25s (%s)",ot->name, k->hiddenname);
|
||||
} else { // ie. tried
|
||||
mvwprintw(mainwin, y, 0, " %-25s (%s)","???", k->hiddenname);
|
||||
mvwprintw(mainwin, y, 0, " %-25s (%s%s","???", k->hiddenname, strlen(k->triedon) ? "," : ")");
|
||||
if (strlen(k->triedon)) {
|
||||
y++;
|
||||
mvwprintw(mainwin, y, 0, " %-25s tried on %s)"," ", k->triedon);
|
||||
}
|
||||
}
|
||||
y++;
|
||||
|
||||
|
@ -5261,7 +5265,6 @@ char *makedesc_job(job_t *j, char *retbuf) {
|
|||
flag_t *retflag[MAXCANDIDATES];
|
||||
int nretflags,i;
|
||||
skill_t *sk;
|
||||
char buf[BUFLEN];
|
||||
enum ATTRIB a;
|
||||
int count = 0;
|
||||
flag_t *f;
|
||||
|
@ -5338,6 +5341,10 @@ char *makedesc_job(job_t *j, char *retbuf) {
|
|||
strcat(retbuf, "STARTING SKILLS\n");
|
||||
count = 0;
|
||||
strcpy(thisline, "");
|
||||
|
||||
if (j->id == J_PIRATE) {
|
||||
dblog("xxx");
|
||||
}
|
||||
for (sk = firstskill ; sk ; sk = sk->next) {
|
||||
char lev[BUFLEN];
|
||||
enum SKILLLEVEL slev = PR_INEPT;
|
||||
|
@ -5354,17 +5361,10 @@ char *makedesc_job(job_t *j, char *retbuf) {
|
|||
case PR_EXPERT: strcpy(lev, "Exp"); break;
|
||||
case PR_MASTER: strcpy(lev, "Mst"); break;
|
||||
}
|
||||
/*
|
||||
} else {
|
||||
f = hasflagval(j->flags, F_CANLEARN, sk->id, NA, NA, NULL);
|
||||
if (f) {
|
||||
slev = PR_INEPT;
|
||||
strcpy(lev, "---");
|
||||
}
|
||||
*/
|
||||
}
|
||||
if (strlen(lev)) {
|
||||
char *p;
|
||||
char buf[BUFLEN];
|
||||
//char bufpad[BUFLEN];
|
||||
count++;
|
||||
sprintf(buf, "%13s:^%d%s^n ",sk->shortname, getskilllevelcolour(slev), lev);
|
||||
|
@ -5389,6 +5389,13 @@ char *makedesc_job(job_t *j, char *retbuf) {
|
|||
} // end if strlen(lev)
|
||||
} // end foreach skill
|
||||
|
||||
// print out any remaining lines
|
||||
if (count != 0) {
|
||||
strcat(thisline, "\n");
|
||||
strcat(retbuf, thisline);
|
||||
strcpy(thisline, "");
|
||||
}
|
||||
|
||||
// specialisations
|
||||
getflags(j->flags, retflag, &nretflags, F_CANHAVESUBJOB, F_NONE);
|
||||
strcpy(thisline, "");
|
||||
|
|
6
lf.c
6
lf.c
|
@ -6456,7 +6456,7 @@ int getarmourrating(lifeform_t *lf, object_t **hitob, int *hitchance, enum BODYP
|
|||
}
|
||||
|
||||
// adjust for condition
|
||||
thisar = pctof(getobhppct(o), thisar);
|
||||
//thisar = pctof(getobhppct(o), thisar);
|
||||
|
||||
ar += thisar;
|
||||
|
||||
|
@ -12130,6 +12130,10 @@ int ischarmable(lifeform_t *lf) {
|
|||
reason = E_UNDEAD;
|
||||
return B_FALSE;
|
||||
}
|
||||
if (getraceclass(lf) == RC_ROBOT) {
|
||||
reason = E_ROBOT;
|
||||
return B_FALSE;
|
||||
}
|
||||
if (hasflag(lf->flags, F_DRUNK)) {
|
||||
reason = E_DRUNK;
|
||||
return B_FALSE;
|
||||
|
|
|
@ -10478,7 +10478,7 @@ void potioneffects(lifeform_t *lf, enum OBTYPE oid, object_t *o, enum BLESSTYPE
|
|||
}
|
||||
break;
|
||||
case OT_POT_POISON:
|
||||
poison(lf, rnd(10,20), P_FOOD, 1, "a potion of poison", R_NONE);
|
||||
poison(lf, rnd(10,20), P_VENOM, 1, "a potion of poison", R_NONE);
|
||||
break;
|
||||
case OT_POT_POLYMORPH:
|
||||
if (potblessed == B_BLESSED) {
|
||||
|
|
15
spell.c
15
spell.c
|
@ -4573,6 +4573,9 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, int power, lifeform_
|
|||
case E_UNDEAD:
|
||||
msg("The undead are immune to charming.");
|
||||
break;
|
||||
case E_ROBOT:
|
||||
msg("Robots are immune to charming.");
|
||||
break;
|
||||
case E_ALREADYUSING:
|
||||
msg("%s is already charmed by another!", targetname);
|
||||
break;
|
||||
|
@ -4649,6 +4652,12 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, int power, lifeform_
|
|||
case E_UNDEAD:
|
||||
msg("The undead are immune to charming.");
|
||||
break;
|
||||
case E_ROBOT:
|
||||
msg("Robots are immune to charming.");
|
||||
break;
|
||||
case E_ALREADYUSING:
|
||||
msg("%s is already charmed by another!", targetname);
|
||||
break;
|
||||
default:
|
||||
msg("You cannot charm %s.", targetname);
|
||||
break;
|
||||
|
@ -7954,6 +7963,12 @@ int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, int power, lifeform_
|
|||
case E_UNDEAD:
|
||||
msg("The undead are immune to possession.");
|
||||
break;
|
||||
case E_ROBOT:
|
||||
msg("Robots are immune to charming.");
|
||||
break;
|
||||
case E_ALREADYUSING:
|
||||
msg("%s is already charmed by another!", targetname);
|
||||
break;
|
||||
default:
|
||||
msg("You cannot possesss %s.", targname);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue