貌似图被吃了??附上文字版代码:
图一的代码(主要看表情所在行的代码):
//计算攻击者将会造成的伤害:
int get_damage(object me,object victim,object weapon,mapping action,mapping apply_action,string skill_name)
{
int damage,skill_level,base_skill_level;
int damage_factor;
![[呵呵]](/static/emoticons/u5475u5475.png)
string base_skill;
int w_damage,w_min_damage,w_max_damage;
int w_strong;
int str_factor;
damage=0;
skill_level=0;
base_skill_level=0;
if(weapon&&weapon->query("max_strong")){
w_strong=weapon->query("strong");
if(w_strong<0) w_strong=0;
w_min_damage=me->query_temp("apply/min_damage")+me->query_temp("apply/enhance_min_damage")+
me->query_temp("apply/double_damage");
w_max_damage=me->query_temp("apply/damage")+me->query_temp("apply/enhance_max_damage")+
me->query_temp("apply/double_damage");
if(w_min_damage>w_max_damage)
w_min_damage=w_max_damage;
if(weapon->query("save_flag")&&userp(me))
damage=w_min_damage+random(w_max_damage-w_min_damage);
else
damage=w_max_damage;
damage=damage-damage*(weapon->query("max_strong")-w_strong)/weapon->query("max_strong");
if(userp(me)&&weapon->query("save_flag")&&
weapon->query("user")!=me->query("id"))
damage=damage/5;
else
damage +=weapon->query("user_skill")/10;
}
else
damage=me->query_temp("apply/damage");
if(me->query("jiali",1)&&me->query("force",1)>me->query("jiali",1)){
me->add("force",-(int)me->query("jiali",1));
if(!weapon)
damage +=(int)me->query("jiali",1)*5/3;
else
damage +=me->query("jiali")/2;
}
if(stringp(skill_name)
&&intp(SKILL_D(skill_name)->skill_damage(me,victim)))
damage +=SKILL_D(skill_name)->skill_damage(me,victim);
if(stringp(skill_name)){
if(weapon)
skill_level=(int)me->query_skill(skill_name,1);
else
skill_level=(int)me->query_skill(skill_name,1)*3/2;
if(stringp(base_skill=SKILL_D(skill_name)->query_base())){
if(base_skill!="base"){
base_skill_level=(int)me->query_skill(base_skill,1);
damage +=(skill_level+base_skill_level/2);
}
}
else
damage +=(skill_level);
}
str_factor = me->query_str();
damage = damage+(damage/4)*str_factor/20;
return damage+damage*damage_factor/40;
![[呵呵]](/static/emoticons/u5475u5475.png)
}
图二的代码:
mapping *action = ({
([ "action":"$N手中$w猛地一挥,剑走偏锋,朝$n的$l处刺去!",
"apply_factor": 4,
"name" : "沉沙剑法",
"damage_type":"刺伤",
]),
([ "action":"$N手腕一沉,剑锋下倾,划了弧线,刺向$n的$l!",
"apply_factor": 4,
"name" : "沉沙剑法",
"damage_type":"刺伤",
]),
([ "action":"$N剑走轻灵,虚刺数下,百虚之中突然一招刺向$n的$l!",
"apply_factor": 4,
"name" : "沉沙剑法",
"damage_type":"刺伤",
]),
([ "action":"$N真气灌注于$w之上,低哼一声,朝$n的$l刺去!",
"apply_factor": 4,
"name" : "沉沙剑法",
"damage_type":"刺伤",
]),
});