Browse Source

Fixed treasure number 'round exploit'

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7288 54d463be-8e91-2dee-dedb-b68131a5f0ec
Lupus 19 năm trước cách đây
mục cha
commit
2da6a7e29d
3 tập tin đã thay đổi với 83 bổ sung4 xóa
  1. 3 0
      npc/Changelog.txt
  2. 77 0
      npc/events/custom/hyegun_event.txt
  3. 3 4
      npc/guild/gldfunc_treasure.txt

+ 3 - 0
npc/Changelog.txt

@@ -36,6 +36,9 @@ Musashiden
 
 Date		Added
 ======
+06/22
+	* Fixed treasure chests round number exploit [Lupus]
+	  Now u get an extra chest one exact 4 Eco.pts adding
 06/21
 	* Yuno/Lhz/Thanatos spawn updates thanks to Tharis [Playtester]
 	* Fixed some spawns in Odin Temple [Playtester]

+ 77 - 0
npc/events/custom/hyegun_event.txt

@@ -0,0 +1,77 @@
+//===== eAthena Script =======================================
+//= HyeGun Event
+//===== By: ==================================================
+//= Synesthesia
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version I think
+//===== Description: =========================================
+//= Event similar to iRO's Christmas event when searching for Antonios.
+//===== Additional Comments: =================================
+//= Drink Jakada!
+//============================================================
+
+//HyeGun Mob spawning
+anthell01.gat,0,0,0,0	monster	Hyegun	1512,3,180000,30000,0
+mag_dun01.gat,0,0,0,0	monster	Hyegun	1512,3,180000,30000,0
+alde_dun01.gat,0,0,0,0	monster	Hyegun	1512,3,180000,30000,0
+in_sphinx1.gat,0,0,0,0	monster	Hyegun	1512,3,180000,30000,0
+
+//Munak Quest
+pay_dun01.gat,53,269,6	script	Munak	1026,{
+if(event_hyegun==3) goto Lfinished;
+mes "[^FF0000Munak^000000]";
+mes "Hello, kinda strange talking to a Munak huh?";
+mes "I'm a friendly Munak that wants to tell you something.";
+menu "Listen to her story",Lok,"Leave",Lno;
+
+	Lok:
+	mes "[^FF0000Munak^000000]";
+	mes "Well see our father ^666600HyeGun^000000 has been terrible to us Munaks.";
+	mes "We would like you to get revenge for what he has done to us.";
+	next;
+	mes "When you find him, kill him.";
+	mes "He will drop an item that you will have to bring to me to prove his death.";
+	mes "Bring me ^FF00003 ^008800Yggdrasil Dew^000000 and I'll give you a reward.";
+	mes "Remember, you may only do this quest ^FF00003 times.";
+	menu "Info about HyeGun",Lhyeinfo,"Give her the items",Litem,"Leave",Lno;
+
+	Lhyeinfo:
+	mes "[^FF0000Munak^000000]";
+	mes "- HyeGun looks like us but he's a tanish color type with long hair.";
+	mes "- He's been last seen in the first level of the 4 most popular dungeons.";
+	mes "He doesn't hang out here because there's so many of us.";
+	mes "Anything else?";
+	menu "Info about HyeGun",Lhyeinfo,"Give her the items",Litem,"Leave",Lno;
+
+	Litem:
+	mes "[^FF0000Munak^000000]";
+	mes "Ahh so you've completed the task so soon?";
+	mes "Good job";
+	mes "Let's see if you've got the right stuff.";
+	next;
+	if (countitem(7141) < 3)goto Lnoitem;
+	mes "Good job, here's your reward.";
+	next;
+	delitem 7141,3;
+	getitem 617,1;
+	set event_hyegun,event_hyegun+1;
+	close;
+
+	Lfinished:
+	mes "[^FF0000Munak^000000]";
+	mes "I'm sorry, you've already completed my task 5 times.";
+	close;
+
+	Lno:
+	mes "[^FF0000Munak^000000]";
+	mes "Okay then, when you feel brave enough, come on back.";
+	close;
+
+	Lnoitem:
+	mes "[^FF0000Munak^000000]";
+	mes "Hey, you don't have the Yggdrasil Dew.";
+	mes "Come back when you've gotten 3 of them.";
+	close;
+}

+ 3 - 4
npc/guild/gldfunc_treasure.txt

@@ -35,6 +35,7 @@
 //= 1.3 Fixed treasure boxes spawn. (Unrolled one loop a bit) [Lupus]
 //= 1.4 New number of Treasure Boxes per castle: 25 at 100 Economic pts [Lupus]
 //=		So you get your first chest only when your Economic Pts >= 4
+//= 1.5 Fixed treasure number 'round exploit' [Lupus]
 //============================================================
 
 
@@ -49,10 +50,8 @@ function	script	F_GldTreas	{
 	KillMonster getarg(0)+".gat","Treasure_"+getarg(1)+"::OnDied";
 	if (GetCastleData(getarg(0)+".gat",2) > 100) return;
 	if (GetCastleData(getarg(0)+".gat",1) == 0) return;
-//Old Formula for 20 Boxes at 100 pts:
-	//set getarg(2),GetCastleData(getarg(0)+".gat",2)/5+4;
-//New, correct formula for 25 boxes at 100 pts:
-	set getarg(2),GetCastleData(getarg(0)+".gat",2)/4;
+//[New] correct formula for 25 boxes at 100 pts:
+	set getarg(2),GetCastleData(getarg(0)+".gat",2)>>2;
 	if (getarg(2) <= 0) return;
 	set getarg(3), getarg(2);	//sets the counter variable = to the box number amount