summaryrefslogtreecommitdiff
path: root/npc/functions/daily.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/functions/daily.txt')
-rw-r--r--npc/functions/daily.txt154
1 files changed, 0 insertions, 154 deletions
diff --git a/npc/functions/daily.txt b/npc/functions/daily.txt
deleted file mode 100644
index 6de9ef27..00000000
--- a/npc/functions/daily.txt
+++ /dev/null
@@ -1,154 +0,0 @@
-// The Mana World scripts.
-// Author:
-// TMW Team
-// Jesusalva
-// Description:
-// Daily Quest framework
-// Variables returned:
-// .@dq_return - Code of what happend
-// DAILY_LOWLEVEL = Low level
-// DAILY_IGNORED = Ignored NPC
-// DAILY_NOPTS = Not enough points
-// DAILY_NOITEMS = Not enough items
-// DAILY_OK = Success
-
-// Variables to set:
-// .@dq_level - Minimal level needed to use the quest
-// .@dq_cost - The number of points this quest uses
-// .@dq_count - The number of given item needed
-// .@dq_name - Item Aegis
-// .@dq_money - The money reward for doing the quest
-// .@dq_exp - Experince gained by doing the quest
-
-// Optional:
-// .@dq_handle_return - When set to anything other then 0 the function will not print exiting text
-
-// Variables used inside:
-// DailyQuestPoints - The number of points the player currently has
-// DailyQuestTime - Time since DailyQuestPoints was lasted renewed
-// DailyQuestBonus - Additional points added in addition to player BaseLevel
-
-// (DailyQuestBonus makes a good reward from non-daily quests)
-
-function script DailyQuestPointsFunc {
- .@dq_earliest = gettimetick(2) - 86400;
- if (DailyQuestTime < .@dq_earliest)
- DailyQuestTime = .@dq_earliest;
-
- // how many whole daily quest points the player has earned
- // we increment DailyQuestTime by the number of seconds in that many increments
- .@dq_increments = (gettimetick(2) - DailyQuestTime)*BaseLevel / 86400;
- DailyQuestTime = DailyQuestTime + .@dq_increments*86400/BaseLevel;
-
- // player can't regenerate any quest points, but might have a bonus
- if (DailyQuestPoints < BaseLevel) {
- // normal recharging case - increment, but don't let it recharge more than a day's worth
- DailyQuestPoints = DailyQuestPoints + .@dq_increments;
- if (DailyQuestPoints > BaseLevel)
- DailyQuestPoints = BaseLevel;
- }
-
- // fallthrough to bonus, which *is* allowed to push DailyQuestPoints above BaseLevel
- DailyQuestPoints = DailyQuestPoints + DailyQuestBonus;
- DailyQuestBonus = 0;
- return;
-
-}
-
-// DailyQuest(lvl, cost, count, item, {exp, money})
-function script DailyQuest {
- // Sanitize
- DailyQuestPointsFunc();
-
- // Load variables
- .@dq_level=getarg(0);
- .@dq_cost=getarg(1);
- .@dq_count=getarg(2);
- .@dq_name=getarg(3);
- // Money defaults to 200% sell value, experience to 300% sell value
- .@dq_exp=getarg(4, getiteminfo(.@dq_name, ITEMINFO_SELLPRICE)*.@dq_count*3);
- .@dq_money=getarg(5, getiteminfo(.@dq_name, ITEMINFO_SELLPRICE)*.@dq_count*2);
-
- // Insufficient level
- if (BaseLevel < .@dq_level) {
- mesq l("Hey, you should go kill some things to get stronger first.");
- return DAILY_LOWLEVEL;
- }
-
- // Insufficient points
- if (DailyQuestPoints < .@dq_cost) {
- mesq l("You look exhausted, maybe you should rest a bit.");
- return DAILY_NOPTS;
- }
-
- mesq l("If you bring me %d %s, I will give you a reward.", .@dq_count, getitemlink(.@dq_name));
- select
- l("I have what you want."),
- l("Take all you need."),
- l("Ok, I'll get to work."),
- l("Nah, I'm not going to help you.");
- mes "";
-
- if (@menu >= 3)
- return DAILY_IGNORED;
-
- if (countitem(.@dq_name) < .@dq_count) {
- mesq l("I said %d %s; you should learn to count.", .@dq_count, getitemlink(.@dq_name));
- return DAILY_NOITEMS;
- }
-
- // Default multiplier
- .@multiplier = 1;
-
- if (@menu == 1) {
- delitem .@dq_name, .@dq_count;
-
- Zeny = Zeny + .@dq_money;
- getexp .@dq_exp, 0;
-
- DailyQuestPoints = DailyQuestPoints - .@dq_cost;
-
- }
- else
- {
-
- .@item_multiple = (countitem(.@dq_name) / .@dq_count);
- .@dp_multiple = (DailyQuestPoints / .@dq_cost);
-
- if (.@dp_multiple > .@item_multiple)
- .@multiplier = .@item_multiple;
- if (.@item_multiple >= .@dp_multiple)
- .@multiplier = .@dp_multiple;
-
- DailyQuestPoints = DailyQuestPoints - (.@dq_cost * .@multiplier);
-
- delitem .@dq_name, (.@dq_count * .@multiplier);
-
- Zeny = Zeny + (.@dq_money * .@multiplier);
- getexp (.@dq_exp * .@multiplier), 0;
-
- if (.@dq_handle_return)
- goto L_Exit_Good;
- }
-
- mesq l("Thank you!");
-
- if (DailyQuestPoints < .@dq_cost)
- mesq l("You look exhausted, maybe you should rest a bit.");
- else if (DailyQuestPoints > BaseLevel)
- mesq l("Woah, you're bursting with power.");
- else if (DailyQuestPoints > (BaseLevel*9)/10)
- mesq l("You're in a very good shape.");
- else if (DailyQuestPoints > (BaseLevel*7)/10)
- mesq l("You don't seem very exhausted by my tasks.");
- else if (DailyQuestPoints > (BaseLevel*5)/10)
- mesq l("Aren't you getting weary yet?");
- else
- mesq l("You look a little tired.");
-
- mes "";
- mesc l("+%d money", (.@dq_money * .@multiplier));
- mesc l("+%d experience points", (.@dq_exp * .@multiplier));
- return DAILY_OK;
-}
-