本文整理汇总了C++中object::add_hate方法的典型用法代码示例。如果您正苦于以下问题:C++ object::add_hate方法的具体用法?C++ object::add_hate怎么用?C++ object::add_hate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类object
的用法示例。
在下文中一共展示了object::add_hate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: bbqthem
int bbqthem(object me, object obj)
{
int mod;
mod = COMBAT_D->can_busy(me, obj, "kwan-yin-spells");
if( !mod ) {
return 1;
}
if( !COMBAT_D->do_busy_attack(me, obj, "kwan-yin-spells/hong", "unarmed", 400, mod) ) {
message_vision(YEL"$N"NOR+YEL"连忙转过头去,不看$n。\n"NOR, obj, me);
return 1;
}
obj->set_temp("busy_timer/kwan-yin-spells", time());
if( userp(obj) ) {
tell_object(obj, HIW"你只觉得眼前白茫茫的一片,什么都看不到了。。。\n"NOR);
obj->add_temp("block_msg/all", 1);
obj->force_busy(3 + random(2));
message_vision(CYN"$N痛苦地捂住眼睛,直在地上打滚。\n\n"NOR, obj);
call_out("recover", 10, obj);
} else {
obj->force_busy(3);
obj->add_hate(me, me->query_skill("spells")*2);
message_vision(CYN"$N痛苦地捂住眼睛,直在地上打滚。\n\n"NOR,obj);
}
return 1;
}
示例2: perform
int perform(object me, object target)
{
string msg;
int lvl,extra, mod, x;
if (userp(me))
if (me->query("class")!= "lama")
return notify_fail("『佛法无边』是大昭寺的独门密技。\n");
extra=me->query_skill("bloodystrike",1);
if(extra<20)
return notify_fail("『佛法无边』需要20级密宗大手印。\n");
if( !target ) target = offensive_target(me);
if( !target
|| !target->is_character()
|| !me->is_fighting(target) )
return notify_fail("『佛法无边』只能对战斗中的对手使用。\n");
if(target->is_busy())
return notify_fail(target->name()+"已经手忙脚乱了!\n");
mod = COMBAT_D->can_busy(me, target, "bloodystrike");
if (!mod)
return notify_fail(HIW"此人功力深湛,不会被此手法迷惑的。\n"NOR);
// 170/2+1.1*200 = 305, 305/40 +1 = 8
lvl = (int) me->query_skill("unarmed") /40 + 1;
msg = HBRED+HIW "$N"HBRED+HIW"使出密宗大手印中的『佛法无边』,幻出无数掌影击向$n!" NOR;
if (COMBAT_D->do_busy_attack(me, target, "fofawubian", "unarmed", lvl* 100, mod))
{
message_vision(msg + "\n", me, target);
msg = YEL"结果$n"NOR+YEL"被$N"NOR+YEL"攻了个手忙脚乱!\n"NOR;
message_vision(msg, me, target);
target->set_temp("busy_timer/bloodystrike",time());
target->force_busy(3);
}
else
{
me->add_temp("apply/attack",extra/3);
COMBAT_D->do_attack(me,target,TYPE_PERFORM,msg);
me->add_temp("apply/attack",-extra/3);
}
me->perform_busy(2);
// INherently, Every busy has 4*level hate, unarmed makes it 10x you/target level every 2 turn.
if (target && !userp(target)){
x = me->query("combat_exp")> target->query("combat_exp")
? target->query("combat_exp"): me->query("combat_exp");
target->add_hate(me, F_LEVEL->get_level(x)*6);
}
return 1;
}
示例3: perform
int perform(object me, object target)
{
string msg;
int myexp,yourexp,lvl,extra, mod, x;
if (userp(me))
if (me->query("class")!= "shaolin" && me->query("class")!="bonze")
return notify_fail("『千手千变』是佛门武功。\n");
extra=me->query_skill("dabei-strike",1);
if(extra<20)
return notify_fail("『千手千变』需要20级的大慈大悲千叶式。\n");
if( !target ) target = offensive_target(me);
if( !target
|| !target->is_character()
|| !me->is_fighting(target) )
return notify_fail("『千手千变』只能对战斗中的对手使用。\n");
if ((target->query("boss") || target->query("big_boss"))&& me->query("class")!="shaolin")
return notify_fail(HIW"此人功力深湛,不会被此手法迷惑的。\n"NOR);
mod = COMBAT_D->can_busy(me, target, "dabei-strike");
if (!mod)
return notify_fail(HIW"此人功力深湛,不会被此手法迷惑的。\n"NOR);
if(target->is_busy())
return notify_fail(target->name()+"已经手忙脚乱了!\n");
myexp = (int) me->query("combat_exp");
yourexp = (int) target->query("combat_exp")* mod/10;
// (180/2+1.2x180) = 306/40+1 = 8
lvl = (int) me->query_skill("unarmed") / 40 + 1;
// 兴国的BUSY效率不高
if (lvl > 5 && me->query("class")=="bonze") lvl = 5;
msg = HBRED+HIW "$N"HIW"使出大悲千叶掌法中的『千手千变』,幻出无数掌影击向$n!" NOR;
if (COMBAT_D->do_busy_attack(me, target, "dabei-strike", "unarmed", lvl* 100, mod))
{
message_vision(msg + "\n", me, target);
msg = YEL"结果$n被$N攻了个手忙脚乱!\n"NOR;
message_vision(msg, me, target);
target->force_busy(2);
target->set_temp("busy_timer/dabei-strike",time());
me->perform_busy(1);
}
else
{
me->add_temp("apply/attack",extra/2);
COMBAT_D->do_attack(me,target, TYPE_PERFORM,msg);
me->add_temp("apply/attack",-extra/2);
me->perform_busy(2);
}
// INherently, Every busy has 4*level hate, unarmed makes it 10x you/target level every 2 turn.
if (target && !userp(target)){
x = me->query("combat_exp")> target->query("combat_exp")
? target->query("combat_exp"): me->query("combat_exp");
target->add_hate(me, F_LEVEL->get_level(x)*6);
}
return 1;
}