init: add workspace files
This commit is contained in:
85
world/npc/yz/ping.js
Normal file
85
world/npc/yz/ping.js
Normal file
@@ -0,0 +1,85 @@
|
||||
this.inherits(NPC);
|
||||
this.set({
|
||||
name: "平一指",
|
||||
desc: "他就是医术高超的「杀人神医」平一指。可是他性格古怪,不是什么人都医的。",
|
||||
title: "药铺老板",
|
||||
gender: 1,
|
||||
age: 65,
|
||||
per: 22,
|
||||
mp: 1500,
|
||||
max_mp: 1500,
|
||||
hp: 1500,
|
||||
max_hp: 1500,
|
||||
});
|
||||
|
||||
this.skill_map(
|
||||
["lianyao", 3000]);
|
||||
this.add_action('tui', '退款', function (me) {
|
||||
var count = me.query_temp('learn/ping', 0);
|
||||
if (!count) return me.notify('平一指说道:你从没给老夫交过学费。');
|
||||
me.notify('平一指哼了一声。');
|
||||
me.remove_temp('learn/ping');
|
||||
me.add_exp(0, 0, count);
|
||||
});
|
||||
this.on_checkskill = function (me) {
|
||||
if (!me.query_temp("learn/ping")) {
|
||||
me.notify_fail("平一指说道:老夫医一人,杀一人。杀一人,医一人,你要不要试试。");
|
||||
var lv = me.query_skill("lianyao", 0);
|
||||
|
||||
let grade = SKILL.get('lianyao').query_grade(me);
|
||||
|
||||
var money1 = (lv + lv + 10) * 1000 * (grade + 1) / 2;
|
||||
var money2 = (lv + lv + 100) * 10000 * (grade + 1) / 2;
|
||||
var money3 = (lv + lv + 1000) * 100000 * (grade + 1) / 2;
|
||||
let diff = me.query_prop('haoranqi');
|
||||
if (diff > 0) {
|
||||
money1 = parseInt(money1 - diff * money1 / 100);
|
||||
money2 = parseInt(money2 - diff * money2 / 100);
|
||||
money3 = parseInt(money3 - diff * money3 / 100);
|
||||
}
|
||||
|
||||
|
||||
me.send_commands("give " + this.id + " " + money1 + " money", UTIL.moneyToStr(money1) + "学习10级",
|
||||
"give " + this.id + " " + money2 + " money", UTIL.moneyToStr(money2) + "学习100级",
|
||||
"give " + this.id + " " + money3 + " money", UTIL.moneyToStr(money3) + "学习1000级");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
this.on_accept = function (me, obj, count) {
|
||||
if (obj != "money") return false;
|
||||
me.add_temp("learn/ping", count);
|
||||
me.notify("平一指点了点头,说道:不错,你就跟我学学炼药吧。");
|
||||
return true;
|
||||
}
|
||||
this.on_teach = function (me) {
|
||||
|
||||
return this.on_checkskill(me);
|
||||
}
|
||||
this.do_teach = function (me, skill, lv) {
|
||||
var money = me.query_temp("learn/ping");
|
||||
var exp = parseInt((me.int + me.query_prop("int")) * (100 + me.query_prop("study_per") + me.int) / 100) * 30;
|
||||
|
||||
let grade = skill.query_grade(me);
|
||||
let diff = me.query_prop('haoranqi');
|
||||
while (exp >= 0) {
|
||||
lv = me.query_skill("lianyao", 0);
|
||||
var need_money = lv * 100 * (grade + 1);
|
||||
if (diff > 0) {
|
||||
need_money = parseInt(need_money * (1 - diff / 100));
|
||||
}
|
||||
if (money >= need_money) {
|
||||
money -= need_money;
|
||||
var needexp = skill.level_exp(lv, me);
|
||||
skill.add_exp(me, needexp);
|
||||
exp -= needexp;
|
||||
me.add_temp("learn/ping", -need_money);
|
||||
} else {
|
||||
me.notify("平一指点了点头,说道:嗯,今天就到这里,我要去给人医病了。");
|
||||
me.remove_temp("learn/ping");
|
||||
me.remove_temp("learn/lianyao");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user