In response to Pakbaum
Before I answer your question, I should point out a couple places that still need to be fixed. They're probably just errors while typing the code, but I mentioned them above so I should point them out again here:
attack_base()
set name = "Attack"
var/target = locate(/mob) in get_step(src,dir)
//insert a check here
attack(target)

We need to check if a target was actually found so that we don't cause errors trying to attack "null". Check the attack code in my last post to see how I did it.

attack(var/mob/target)
...
if(wep_equipped)
...
else
weapon_type = "unarmed"
weapon_damage = strength // <----------
...

I made weapon_damage equal to 0 when unarmed because we already use strength when calculating damage:
var/damage = strength + weapon_damage
Imagin if we have a mob with strength=5, carrying a weapon with damageb = 2. If we make unarmed weapon_damage equal to the mob's strength, then he'll hit for 5+5 points when unarmed (strength included twice), but only 5+2 points when carrying a weapon. What we want is to include strength once, and give unarmed a value of 0, so that the unarmed player attacks with 5+0.

attack(var/mob/target)
...
var/damage = strength + wep_equipped.damageb // <------
...
proficiency++
//insert readdition to the list here
target.hit(src,damage)

You're fogetting two things here. The first is that we replaced "wep_equipped.damageb" with the variable "weapon_damage" so that we don't cause runtime errors when unarmed mobs attack. The second thing you've forgotten is that we need to add proficiency back into the list after we've changed it; read that section of my last post to see how I did it.

hit(var/mob/attacker as mob, var/damage as num)
var/blocked = attacker.attackrating < target.dodgec
var/unblocked_damage = max(damage-blocked,0)
...

You still havn't addressed these lines. I don't quite know what you're trying to do with the blocked booleen variable. (Check my last post for more info).

---

So how would I manually add the proficiency? So that when character creation is going on, and the user chooses the weapon, they can start out with that proficiency?

To setup proficiency with a weapon, you just need to add an entry for it in the proficiency list:
mob.weapon_skills[weapon_class] = proficiency
or:
weapon_skills["polearm"] = 5

This is what your character creation might look like:
character_creation
var/list/weapon_classes = new /list("polearm", "sword", "axe", "bow", "rock")
proc
prefered_weapon(var/mob/who)
var/selection = input(
who,
"Please choose which class of weapon you'd like to be most proficient with.",
"Primary Weapon Selection"
) in weapon_classes
who.weapon_skills[selection] = 5
var/second_selection = input(
who,
"Now please choose which class of weapon you'd like to be somewhat proficient with.",
"Secondary Weapon Selection"
) in (weapon_classes - selection)
who.weapon_skills[second_selection] = 2


Or, you could do something more complicated, and give them 10 points that they could spread around to all the different types of weapons.

Later on in the game you can use the same basic line to make them proficient with more weapons. Let's say there's a quest they can go on to make them proficient with the all powerfull class of weapons, the "mollusk":
quest/evil_wizard
var/bounty = 200
complete(var/mob/winner)
winner << "Congratulations! You have killed the evil wizard, and freed the realm!"
winner.adjust_gold(bounty)
winner.weapon_skills["mollusk"] = 4
winner << "What's this? You feel strangley buoyant... have you just learned a new skill?"
In response to IainPeregrine
Sorry about not fixing some things still, but as for the "attack" code in a direction:

mob/npc
Click()
set src in oview(8)
usr.target = src
overlays += icon('misc.dmi',"overlay")


I wanted to incorporate this code in with my attack code, but I'm not sure if the "target" part would override anything in our new code. What this is supposed to do is make it so that you can't attack an enemy you don't have selected.

Oh! And as for "armrn"

armrn = the user's weapon. "arm" means armed. "r" means right, though I don't use left and right arms anymore, I just left the r on there. "n" is name. This is where it would say

armrn = "executioner pistol"

And please see if this is right:
        hit(var/mob/attacker as mob, var/damage as num)
var/blocked = attacker.attackrating < target.dodgec
var/unblocked_damage = damage-blocked
. = unblocked_damage
src << "[attacker.name] attacks you. [unblocked_damage] damage dealt!"
health_adjustment(-unblocked_damage, attacker)
In response to Pakbaum
Bump
In response to Pakbaum
I'm sorry to bump this again, but I really need help finishing this up. This is the last time. If I'm not following the rules of bumping your posts, please tell me. I'm pretty sure it's just that it can't be on the first page and it has to have been more than a day.
Page: 1 2