From e6c6f2c9f6fa44a8d274c3f5f39ec1e5f903a1ad Mon Sep 17 00:00:00 2001
From: Jesusaves <cpntb1@ymail.com>
Date: Mon, 17 Dec 2018 03:21:55 -0200
Subject: Stop beating around the bush. reputation() now returns a 0~100 int.

---
 npc/003-2/lua.txt        |  6 +++---
 npc/016-1/captain.txt    | 46 +++++++++++++++++++++++++---------------------
 npc/functions/util.txt   | 25 +++++++++++++++++++++++--
 npc/items/teleporter.txt |  2 +-
 4 files changed, 52 insertions(+), 27 deletions(-)

(limited to 'npc')

diff --git a/npc/003-2/lua.txt b/npc/003-2/lua.txt
index 17aae3d06..46b5b9d30 100644
--- a/npc/003-2/lua.txt
+++ b/npc/003-2/lua.txt
@@ -147,11 +147,11 @@ L_Check:
     next;
     .@r=reputation("Tulim");
     mesn;
-    if (.@r < 5)
+    if (.@r <= 35)
         mesq l("Try helping the city guard. Talk to NPCs around the city. Outside the city walls too. And there are some people on the mines.");
-    else if (.@r < 9)
+    else if (.@r <= 60)
         mesq l("You are doing some progress. There are about 4 quests on the mines, 1 outside walls, and 10 on the town. Some require level, so talk to people again sometimes.");
-    else if (.@r < 12)
+    else if (.@r <= 85)
         mesq l("You'll soon run out of stuff to do around here, so yeah, you should extend your horizons or you may get bored soon enough.");
     else
         mesq l("Tulimshar doesn't have a lot more of quests to offer you, so you should definitely explore new places.");
diff --git a/npc/016-1/captain.txt b/npc/016-1/captain.txt
index 0e37e8f84..3d5be5d17 100644
--- a/npc/016-1/captain.txt
+++ b/npc/016-1/captain.txt
@@ -27,20 +27,16 @@
 L_TTulim:
     .@x=reputation("Tulim");
 
-    if (.@x >= 14)
+    if (.@x >= 100)
         .@price-=950;
-    else if (.@x >= 12)
-        .@price-=750;
-    else if (.@x >= 10)
+    else if (.@x >= 80)
+        .@price-=800;
+    else if (.@x >= 60)
         .@price-=600;
-    else if (.@x >= 8)
+    else if (.@x >= 40)
         .@price-=400;
-    else if (.@x >= 6)
-        .@price-=250;
-    else if (.@x >= 4)
-        .@price-=175;
-    else if (.@x >= 2)
-        .@price-=100;
+    else if (.@x >= 20)
+        .@price-=200;
 
     mes "";
     mesn;
@@ -77,15 +73,15 @@ L_TTulim:
 L_THurns:
     .@x=reputation("Hurns");
 
-    if (.@x >= 5)
+    if (.@x >= 100)
         .@price-=950;
-    else if (.@x >= 4)
+    else if (.@x >= 80)
         .@price-=800;
-    else if (.@x >= 3)
+    else if (.@x >= 60)
         .@price-=600;
-    else if (.@x >= 2)
+    else if (.@x >= 40)
         .@price-=400;
-    else if (.@x >= 1)
+    else if (.@x >= 20)
         .@price-=200;
 
     mes "";
@@ -122,12 +118,20 @@ L_THurns:
 L_TNival:
     .@x=reputation("Nival");
 
-    if (!$NIVALIS_LIBDATE)
-        .@price=1; // zero could cause weird bugs
-    else if (.@x >= 2)
+    if (.@x >= 100)
         .@price-=950;
-    else if (.@x >= 1)
-        .@price-=550;
+    else if (.@x >= 80)
+        .@price-=800;
+    else if (.@x >= 60)
+        .@price-=600;
+    else if (.@x >= 40)
+        .@price-=400;
+    else if (.@x >= 20)
+        .@price-=200;
+
+    // Nivalis Liberation Day. Zero could cause weird bugs.
+    if (!$NIVALIS_LIBDATE)
+        .@price=1; // 
 
     mes "";
     mesn;
diff --git a/npc/functions/util.txt b/npc/functions/util.txt
index 330fd7ab3..513724f98 100644
--- a/npc/functions/util.txt
+++ b/npc/functions/util.txt
@@ -82,7 +82,7 @@ function	script	nard_reputation	{
 
 }
 
-// Returns reputation with the La Marine for discounts
+// Returns reputation based on quests completion for discounts. Returns 0~100 int.
 // Takes one argument (PC_DEST$). Grep for "getarg".
 function	script	reputation	{
     .@nr=0; // Base reputation
@@ -151,9 +151,15 @@ function	script	reputation	{
         if (getq(MineQuest_Caelum) >= 2)
             .@nr=.@nr+1;
 
+        // Veteran Officer Quest (+1 rep)
+        if (getq(TulimsharQuest_WoodenSword) >= 2)
+            .@nr=.@nr+1;
+
+        // TULIMSHAR Magical Forumula
+        .@nr=.@nr*100/15;
 
 
-    // Hurnscald Quests (5 points)
+    // Hurnscald Quests (7 points)
     } else if (getarg(0) == "Hurns") {
 
         // Alan Quest (+1 rep)
@@ -176,7 +182,16 @@ function	script	reputation	{
         if (getq(HurnscaldQuest_Bandits) >= 8)
             .@nr=.@nr+1;
 
+        // Injuried Mouboo Quest (+1 rep)
+        if (getq(HurnscaldQuest_InjuriedMouboo) >= 2)
+            .@nr=.@nr+1;
 
+        // Blood Donor Quest (+1 rep)
+        if (getq(HurnscaldQuest_BloodDonor) >= 1)
+            .@nr=.@nr+1;
+
+        // HURNSCALD Magical Forumula
+        .@nr=.@nr*100/7;
 
 
     // Land Of Fire Quests (4 points)
@@ -198,6 +213,9 @@ function	script	reputation	{
         if (getq(LoFQuest_Pets) >= 1)
             .@nr=.@nr+1;
 
+        // LAND OF FIRE Magical Forumula
+        .@nr=.@nr*100/4;
+
 
 
 
@@ -214,6 +232,9 @@ function	script	reputation	{
         if (getq(NivalisQuest_Cindy) >= 5)
             .@nr=.@nr+1;
 
+        // NIVALIS Magical Forumula
+        .@nr=.@nr*100/2;
+
 
     // Final
     }
diff --git a/npc/items/teleporter.txt b/npc/items/teleporter.txt
index d956ec3f1..578a6a27f 100644
--- a/npc/items/teleporter.txt
+++ b/npc/items/teleporter.txt
@@ -41,7 +41,7 @@ OnUse:
     mesc l("PS. Additional reagents may be required for warps.");
     next;
 
-    .@x=reputation("LoF")+countitem(TimeFlask)-1;
+    .@x=(reputation("LoF")/10)+min(10, countitem(TimeFlask)-1); // up to 10 minutes reduction from quests, and 10 from time flasks
 
     menu
         l("Don't warp"), -,
-- 
cgit v1.2.3-70-g09d2