I looked through the archives already, and the site...but could find no
help...
what I am trying to do is make it so that if you are holding a weapon,
you attack with it. I wanted to make sure i got the right weapon type
message, etc, so I tried to write my own seperate hit function for
it...I know it isn't right...and being a novice C programmer I have no
idea, what I have wrong... Here is my code:
void holdhit(struct char_data * ch, struct char_data * victim, int type)
{
struct obj_data *held = GET_EQ(ch, WEAR_HOLD);
int w_typer, victim_ac, calc_thaco, dam, diceroll;
if (GET_EQ(ch, WEAR_HOLD) == ITEM_WEAPON){
w_typer = GET_OBJ_VAL(held, 3) + TYPE_HIT;
/* roll the die and take your chances... */
diceroll = number(1, 20);
damage(ch, victim, 0, w_typer);
/* okay, we know the guy has been hit. now calculate damage. */
/* Start with the damage bonuses: the damroll and strength apply */
dam = str_app[STRENGTH_APPLY_INDEX(ch)].todam;
dam += GET_DAMROLL(ch);
if (held) {
/* Add weapon-based damage if a weapon is being wielded */
dam += dice(GET_OBJ_VAL(held, 1), GET_OBJ_VAL(held, 2));
}
}else{
//nothing
}
}
basically for that function I just copied the regular hit function and
cut out what I thought I didn't need...and for the actual call of the
function I used..
if (GET_OBJ_TYPE(holding) == ITEM_WEAPON){
holdhit(ch, FIGHTING(ch), TYPE_UNDEFINED);
}
none of this works...and within 3 seconds of logging on a character,
obviously when control violence is called, the mud crashes, I imagine I
am referencing some non-existing variable ; ) Any help would be
appreciated, as always...
anthony "this time I searched the archives!"
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST