>>
>> The ranged weapon patch is great, but my question is, has anyone added exp
>> gain to it, and may i ask how did you go about it?
>
> Not having looked at the patch....
>
> try instead of a GET_HIT(victim) -= xxx
> (which is what I suspect that particular patch uses to cause damage)
>
> to a damage() call...
>
Ok, I have done this, it compiles without complaining, and
when a char fires an arrow at the target, it hits fine, and gives
a little exp for the hit. But on the hit that would be the death
blow, it crashes. More than likely, I am just using the damage()
func incorrectly, but I cannot puzzle out how. The strike_missile
code is below....the commented out part is the original GET_HIT
part...What I added is the dam and damage lines below it.
void strike_missile(struct char_data *ch, struct char_data *tch, int dir)
{
int dam;
/*
GET_HIT(tch) -= dice(GET_EQ(ch, WEAR_HOLD)->obj_flags.value[1],
GET_EQ(ch, WEAR_HOLD)->obj_flags.value[2]);
*/
dam = 0; /* init */
dam += dice(GET_EQ(ch, WEAR_HOLD)->obj_flags.value[1],
GET_EQ(ch, WEAR_HOLD)->obj_flags.value[2]);
damage(ch, tch, dam, TYPE_UNDEFINED);
send_to_char("You hit!\r\n", ch);
sprintf(buf,"$O flies in from the %s and strikes %s.", dirs[rev_dir[dir]],
GET_NAME(tch));
act(buf,FALSE, tch, 0, GET_EQ(ch, WEAR_HOLD),TO_ROOM);
sprintf(buf, "$O flies in from the %s and hits YOU!",
dirs[rev_dir[dir]]);
act(buf, FALSE, tch, 0, GET_EQ(ch, WEAR_HOLD), TO_CHAR);
return;
}
--
-axl @)-->--- "Beneath the stain of time, the feeling disappears.
axl@mindwarp You are someone else. I am still right here." - NIN
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST