Hi The bad point of the throw cmd is, that we don't have any real control of what we can throw. Also, you must first send a throw command out, and then you throw items instead of firing... Also, if you have some arrow in inventory and a throwing axe, you will often throw the arrow. The trick is to mark a item in the inventory as "applied throw object" or not. You can mark more, then he get the first the server finds. This will work like the mark cmd or the lock cmd. We can do this also on client side only, but then the client must have a way to tell the server exactly what item will be thrown, a kind of throw <tag> command. This will then of course be hidden to the user. If we put it on server side, we need a new flag like lock or applied. But this will not be the big point. Another problem is, how you easily change the range attack kind? i don't like it, that the range type is changing when you do a simple "use_skill disarm traps" cmd for example. * Also here, this should NOT be set from server, it must be set from client. * a use_skill is not a ready_skill, so its bad if you use_skill lockpicking, the door opens and a monster stand in front of you. Now you hit CTRL to fire your mega bow... and try to lockpick the monster instead because the range shoottyp has changed... More crazy is, that when you invoke a spell then, the range type change to skill wizardry.... Happy fire time. I like only ONE kind of change: if the user do it! All other is confusing. This MUST go to total client control. Also, at the moment, you has as fire type: wand rod bow (applied weapon) nothing spell skill (more?) Thats way to much. As i explain, make only ONE slot for wand/rod and bow. You never handle all 3 or know what you has applied. Lets put the rotateshoottype on a nice key and make only this kind of range shoot types: weapon (bow, rod or wand - only one can applied at time - readied = when applied) spell (at the moment prepare or cast will ready a spell) throw (at the moment, you must explicit give the command first, but it must be in as default). skill (ready_skill is the proper cmd for it. It will be neccessary to show by the throw range the item which will be thrown. Weapon -> RANGE: bow ... or rod of... Spell -> RANGE: spell small fireball Throw -> RANGE: throw throwing daggers skill -> RANGE: skill oratory Again, only the user change the selected type. Means if you has toggle throw as range attack, applying a new bow will change weapon range type, but not changing the selected range type to weapon. This is much easier than old system, but much complex if you look to other games. Don't make it more complex! As i type, i got the idea about a nice item: What about a "throwing weapon of return"? You throw it, and it comes back. This can be handled in a very fancy way: If you throw a object like this, generate a duplicate which will be thrown. Set the item in the inventory on invisible with a timer. If the inv. timer expired (works like a bomb), the item get visible again and can be thrown again. This will avoid many glitches. You can destroy the thrown duplicate or delete it, it will for the player simply vanish and come back to inventory for him. Problem is, that this weapon will fit not as throw weapon. To handle this kind of weapon and has applied a bow is somewhat strange... MichToen