--- deliantra/server/include/player.h 2007/04/29 21:44:35 1.50 +++ deliantra/server/include/player.h 2007/04/30 04:25:30 1.51 @@ -22,22 +22,6 @@ * The authors can be reached via e-mail at crossfire@schmorp.de */ -/* wand/rod/horn rolled into range_misc. They all use the same body location - * anyways. - */ -enum rangetype -{ - range_bottom = -1, - range_none, - range_bow, - range_magic, - range_misc, - range_golem, - range_skill, - range_builder, - range_size -}; - enum bowtype_t { bow_normal = 0, @@ -104,28 +88,24 @@ INTERFACE_CLASS (player) struct player : zero_initialised, attachable { - client *ACC (RO, ns); /* Socket information for this player */ - object *ACC (RW, ob); /* The object representing the player */ + client *ACC (RO, ns); /* Socket information for this player */ + object *ACC (RW, ob); /* The object representing the player */ int ACC (RO, active); - rangetype ACC (RW, shoottype); /* Which range-attack is being used by player */ - bowtype_t ACC (RW, bowtype); /* which firemode? */ - petmode_t ACC (RW, petmode); /* which petmode? */ - object_ptr ACC (RW, ranges[range_size]); /* object for each range. Set up in fix player. Note */ - /* That not all are used, it is just nice to map this 1:1 */ - /* With the range names */ - usekeytype ACC (RW, usekeys); /* Method for finding keys for doors */ - unapplymode ACC (RW, unapply); /* Method for auto unapply */ - uint32 ACC (RW, count); /* Any numbers typed before a command */ - uint32 ACC (RW, mode); /* Mode of player for pickup. */ - - sint8 ACC (RW, digestion); /* Any bonuses/penalties to digestion */ - sint8 ACC (RW, gen_hp); /* Bonuses to regeneration speed of hp */ - sint8 ACC (RW, gen_sp); /* Bonuses to regeneration speed of sp */ - sint8 ACC (RW, gen_sp_armour); /* Penalty to sp regen from armour */ - sint8 ACC (RW, gen_grace); /* Bonuses to regeneration speed of grace */ - sint16 ACC (RW, item_power); /* Total item power of objects equipped */ - uint8 ACC (RW, listening); /* Which priority will be used in info_all */ + bowtype_t ACC (RW, bowtype); /* which firemode? */ + petmode_t ACC (RW, petmode); /* which petmode? */ + usekeytype ACC (RW, usekeys); /* Method for finding keys for doors */ + unapplymode ACC (RW, unapply); /* Method for auto unapply */ + uint32 ACC (RW, count); /* Any numbers typed before a command */ + uint32 ACC (RW, mode); /* Mode of player for pickup. */ + + sint8 ACC (RW, digestion); /* Any bonuses/penalties to digestion */ + sint8 ACC (RW, gen_hp); /* Bonuses to regeneration speed of hp */ + sint8 ACC (RW, gen_sp); /* Bonuses to regeneration speed of sp */ + sint8 ACC (RW, gen_sp_armour); /* Penalty to sp regen from armour */ + sint8 ACC (RW, gen_grace); /* Bonuses to regeneration speed of grace */ + sint16 ACC (RW, item_power); /* Total item power of objects equipped */ + uint8 ACC (RW, listening); /* Which priority will be used in info_all */ /* Try to put all the bitfields together - saves some small amount of memory */ bool ACC (RW, braced); /* Will not move if braced, only attack */ @@ -142,6 +122,12 @@ object_ptr last_skill_ob[NUM_SKILLS]; /* the exp object */ object_ptr ACC (RW, last_used); /* Pointer to object last picked or applied */ + object_ptr ACC (RW, combat_skill); // which skill to use for direct attacks + object_ptr ACC (RW, combat_ob); // which weapon to use + object_ptr ACC (RW, ranged_skill); // which skill to use for ranged attacks + object_ptr ACC (RW, ranged_ob); // bow/spell + object_ptr ACC (RW, golem); // the currently controlled golem + sint16 ACC (RW, bed_x), ACC (RW, bed_y); /* x,y - coordinates of respawn (savebed) */ shstr ACC (RW, savebed_map); /* map where player will respawn after death */ shstr ACC (RW, maplevel); /* On which level is the player? */ @@ -203,9 +189,6 @@ // enters the initial map, after login or creation MTH void enter_map (); - MTH void set_range (rangetype r); - MTH bool legal_range (rangetype r) const; - MTH void chargen_race_done (); MTH void chargen_race_next ();