Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CF: magic xp patch, part II
- To: crossfire (at) ifi.uio.no
- Subject: CF: magic xp patch, part II
- From: Brian Thomas <>
- Date: Tue, 30 Apr 1996 02:27:04 -0400
- Sender:
I released this fix too late to make it into the present
version. Again, I am not 100% sure that this is the
whole problem. But as I stated before, the current code
is not right. Here's that patch again for common/object.c.
-b.t.
*** object.c Sun Apr 21 01:07:23 1996
--- object.c.orig Tue Apr 30 02:24:22 1996
***************
*** 278,297 ****
op->ownercount=owner->count;
owner->refcount++;
#ifdef ALLOW_SKILLS /* set the pointers in op to inherit owners skill, exp_obj */
! if(owner->type==PLAYER&&owner->chosen_skill)
op->chosen_skill = owner->chosen_skill;
! if(op->chosen_skill&&owner->chosen_skill->exp_obj)
! op->exp_obj = owner->chosen_skill->exp_obj;
/* unfortunately, we can't allow summoned monsters skill use
* because we will need the chosen_skill field to pick the
* right skill/stat modifiers for calc_skill_exp(). See
* hit_player() in server/attack.c -b.t. */
! else if(QUERY_FLAG(op,FLAG_READY_SKILL))
CLEAR_FLAG(op,FLAG_READY_SKILL);
#endif
}
/*
--- 278,296 ----
op->ownercount=owner->count;
owner->refcount++;
#ifdef ALLOW_SKILLS /* set the pointers in op to inherit owners skill, exp_obj */
! if(owner->type==PLAYER&&owner->chosen_skill) {
op->chosen_skill = owner->chosen_skill;
! op->exp_obj = owner->chosen_skill->exp_obj;
/* unfortunately, we can't allow summoned monsters skill use
* because we will need the chosen_skill field to pick the
* right skill/stat modifiers for calc_skill_exp(). See
* hit_player() in server/attack.c -b.t. */
! } else if(op->type!=PLAYER&&QUERY_FLAG(op,FLAG_READY_SKILL))
CLEAR_FLAG(op,FLAG_READY_SKILL);
#endif
}
/*