Browse Source

- Corrected multiple "WoE has begun" announces
- Removed some poor coding from the gunslinger job script
- Fixed some engrish
- Added missing changelog edit

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10114 54d463be-8e91-2dee-dedb-b68131a5f0ec

ultramage 18 years ago
parent
commit
3d30bfa551

+ 5 - 0
Changelog-Trunk.txt

@@ -4,6 +4,11 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK.  ALL UNTESTED BUGFIXES/FEATURES GO
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 
 
 2007/04/02
 2007/04/02
+	* Removed some overly verbose item group messages & code
+	* re-added the item_group_list for consistency's sake, moved to itemdb.h
+	  (after some hacking to remove the ugly map.h dependency)
+	* Fixed the server crashing on a timer-queued disguise / undisguise
+	* Fixed the server crashing on startup due to bad define [ultramage]
 	* Removed bonus 'bAspdAddRate'. bAspdRate now behaves on a stackable
 	* Removed bonus 'bAspdAddRate'. bAspdRate now behaves on a stackable
 	  matter, so it's no longer needed.
 	  matter, so it's no longer needed.
 	* Reimplemented the bonus 'bAspd' (raw Aspd increase) [Skotlex]
 	* Reimplemented the bonus 'bAspd' (raw Aspd increase) [Skotlex]

+ 3 - 8
doc/script_commands.txt

@@ -1932,7 +1932,7 @@ Lets say the ID of a party was saved as a global variable:
 
 
 Thank you to HappyDenn for all this information.
 Thank you to HappyDenn for all this information.
 
 
-This command will finds all members of a specified party and returns their names 
+This command will find all members of a specified party and returns their names 
 (or character id or account id depending on the value of "type") into an array
 (or character id or account id depending on the value of "type") into an array
 of temporary global variables. There's actually quite a few commands like this
 of temporary global variables. There's actually quite a few commands like this
 which will fill a special variable with data upon execution and not do anything
 which will fill a special variable with data upon execution and not do anything
@@ -4268,13 +4268,8 @@ everything not equippable by the new job class anyway.
 *disguise <Monster ID>;
 *disguise <Monster ID>;
 *undisguise;
 *undisguise;
 
 
-This command disgueses current player with a monster sprite.
-The disguise is disappearing on re-login or on 'undisguise' command.
-
-Note: It doesn't work with "Pets with equipment on"
-Note: If u're a Sniper, u'd get an old Falcon over your head
-Note: You can kill yourself with some skills
-Note: Monsters of your type could heal you
+This command disguises the current player with a monster sprite.
+The disguise lasts until 'undisguise' is issued or the player logs out.
 
 
 Example:
 Example:
 
 

+ 3 - 0
npc/Changelog.txt

@@ -26,6 +26,9 @@ KarLaeda
 
 
 Date		Added
 Date		Added
 ======
 ======
+2007/04/02
+	* Removed some poor coding from the gunslinger job script
+	* Corrected multiple "WoE has begun" announces [ultramage]
 2007/04/01
 2007/04/01
 	* Added Ninja Weapon quests [Playtester]
 	* Added Ninja Weapon quests [Playtester]
 2007/03/30
 2007/03/30

+ 20 - 15
npc/guild/ev_agit_event.txt

@@ -4,7 +4,7 @@
 //= kalen (1.0)
 //= kalen (1.0)
 //= 1.1 by Akaru and ho|yAnge|
 //= 1.1 by Akaru and ho|yAnge|
 //===== Current Version: =====================================
 //===== Current Version: =====================================
-//= 1.5a
+//= 1.6
 //===== Compatible With: =====================================
 //===== Compatible With: =====================================
 //= eAthena 0.1+; RO Episode 4+
 //= eAthena 0.1+; RO Episode 4+
 //===== Description: =========================================
 //===== Description: =========================================
@@ -23,6 +23,7 @@
 //= Now they appear in castles from 00:01 to 00:24. [Lupus]
 //= Now they appear in castles from 00:01 to 00:24. [Lupus]
 //= 1.5 Fixed WOE end messages on non-WOE days, by Avaj
 //= 1.5 Fixed WOE end messages on non-WOE days, by Avaj
 //= 1.5a missing tabs [KarLaeda]
 //= 1.5a missing tabs [KarLaeda]
+//= 1.6 Corrected multiple "WoE has begun" announces [ultramage]
 //============================================================
 //============================================================
 //| To know how to set up WoE times, go to doc\woe_time_explanation.txt
 //| To know how to set up WoE times, go to doc\woe_time_explanation.txt
 // WoE Start/Stop times
 // WoE Start/Stop times
@@ -36,25 +37,29 @@ OnClock1600:	//start time for Sat(6)
 OnClock1800:	//end time for Sat(6)
 OnClock1800:	//end time for Sat(6)
 
 
 OnAgitInit:
 OnAgitInit:
-// starting time checks
-if((gettime(4)==2) && (gettime(3)>=21 && gettime(3)<23)) goto L_Start;
-if((gettime(4)==4) && (gettime(3)>=21 && gettime(3)<23)) goto L_Start;
-if((gettime(4)==6) && (gettime(3)>=16 && gettime(3)<18)) goto L_Start;
+	// starting time checks
+	if((gettime(4)==2) && (gettime(3)>=21 && gettime(3)<23)) goto L_Start;
+	if((gettime(4)==4) && (gettime(3)>=21 && gettime(3)<23)) goto L_Start;
+	if((gettime(4)==6) && (gettime(3)>=16 && gettime(3)<18)) goto L_Start;
 
 
-// end time checks
-if((gettime(4)==2) && (gettime(3)==23)) goto L_End;
-if((gettime(4)==4) && (gettime(3)==23)) goto L_End;
-if((gettime(4)==6) && (gettime(3)==18)) goto L_End;
-   end;
+	// end time checks
+	if((gettime(4)==2) && (gettime(3)==23)) goto L_End;
+	if((gettime(4)==4) && (gettime(3)==23)) goto L_End;
+	if((gettime(4)==6) && (gettime(3)==18)) goto L_End;
+	end;
 
 
 L_End:
 L_End:
-Announce "The War Of Emperium is over!",8;
-AgitEnd;
-end;
+	if (agitcheck()) {
+		Announce "The War Of Emperium is over!",8;
+		AgitEnd;
+	}
+	end;
 
 
 L_Start:
 L_Start:
-	Announce "The War Of Emperium has begun!",8;
-	AgitStart;
+	if (!agitcheck()) {
+		Announce "The War Of Emperium has begun!",8;
+		AgitStart;
+	}
 	end;
 	end;
 }
 }
 
 

+ 1 - 0
npc/guild/gldfunc_manager.txt

@@ -29,6 +29,7 @@
 //= 1.5 Official Novice Castles Menu (u can't invest / hire guardians) [Lupus]
 //= 1.5 Official Novice Castles Menu (u can't invest / hire guardians) [Lupus]
 //= 1.6 According to recent info u can re-install Guardians during WoE [Lupus]
 //= 1.6 According to recent info u can re-install Guardians during WoE [Lupus]
 //= 1.6a Fix for guild manager recognizing [KarLaeda]
 //= 1.6a Fix for guild manager recognizing [KarLaeda]
+//= 1.6b Fixed the chance for double invest, now 50% instead of 49% [Lupus]
 //============================================================
 //============================================================
 
 
 
 

+ 59 - 101
npc/jobs/1-1e/gunslinger.txt

@@ -23,109 +23,95 @@
 //= 1.7a Grammar fixes, few spelling fixes, etc [CBMaster]
 //= 1.7a Grammar fixes, few spelling fixes, etc [CBMaster]
 //= 1.7b Parenthesis fixes [KarLaeda]
 //= 1.7b Parenthesis fixes [KarLaeda]
 //= 1.8 Fixed the reward you can get [Playtester]
 //= 1.8 Fixed the reward you can get [Playtester]
+//= 1.9 Removed some 'clever' script constructs [ultramage]
 //============================================================ 
 //============================================================ 
 
 
 que_ng,152,167,3	script	Gunslinger Jobchanger	901,{
 que_ng,152,167,3	script	Gunslinger Jobchanger	901,{
 
 
-	set @npcname$,"[Armsmith]";
+	set .@npcname$, "[Armsmith]";
 	if (Class == Job_Novice) {
 	if (Class == Job_Novice) {
 		if (GUNS_Q >= 1) {
 		if (GUNS_Q >= 1) {
-			mes @npcname$;
+			mes .@npcname$;
 			mes "So, you've come back?";
 			mes "So, you've come back?";
 			next;
 			next;
 			if (GUNS_Q == 10005) {
 			if (GUNS_Q == 10005) {
 				if (SkillPoint > 0) {
 				if (SkillPoint > 0) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Err, excuse me, but you still have Skill Points left. You have to use them all before I can turn you into a Gunslinger.";
 					mes "Err, excuse me, but you still have Skill Points left. You have to use them all before I can turn you into a Gunslinger.";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				} else if (JobLevel < 10) {
 				} else if (JobLevel < 10) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Err, excuse me, but your job level is not sufficient. You need to have a job level of 10 in order to change to a Gunslinger";
 					mes "Err, excuse me, but your job level is not sufficient. You need to have a job level of 10 in order to change to a Gunslinger";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				}
 				}
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Glad to know you did what Mr. Tanieh asked you to do, makes me know you're worthy of being..";
 				mes "Glad to know you did what Mr. Tanieh asked you to do, makes me know you're worthy of being..";
 				next;
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "A Gunslinger!!";
 				mes "A Gunslinger!!";
 				callfunc "Job_Change",Job_Gunslinger;
 				callfunc "Job_Change",Job_Gunslinger;
 				callfunc "F_ClearJobVar";		//clears all job variables for the current player
 				callfunc "F_ClearJobVar";		//clears all job variables for the current player
 				next;
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Oh, I forgot, here's a token of my appreciation";
 				mes "Oh, I forgot, here's a token of my appreciation";
 				if (rand(1,3) < 3) {
 				if (rand(1,3) < 3) {
 					getitem 13100,1;
 					getitem 13100,1;
 				} else {
 				} else {
 					getitem 13150,1;
 					getitem 13150,1;
 				}
 				}
-				close2;
-				set @npcname$,"";
-				end;
+				close;
 			}
 			}
-			mes @npcname$;
+			mes .@npcname$;
 			mes "But you still haven't done what I told you, need me to repeat it?";
 			mes "But you still haven't done what I told you, need me to repeat it?";
 			switch (select ("Yes, Please:No, Thanks")) {
 			switch (select ("Yes, Please:No, Thanks")) {
 				case 1:
 				case 1:
 					next;
 					next;
-					mes @npcname$;
+					mes .@npcname$;
 					mes "You need to go to Payon. At the small wooden wall and in the south exit, Mr. Tanieh will be there waiting to ask you a few things. Go now...";
 					mes "You need to go to Payon. At the small wooden wall and in the south exit, Mr. Tanieh will be there waiting to ask you a few things. Go now...";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				case 2:
 				case 2:
 					next;
 					next;
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Then GET GOING! You do want to become a Gunslinger, right?";
 					mes "Then GET GOING! You do want to become a Gunslinger, right?";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 			}
 			}
 		}
 		}
-		mes @npcname$;
+		mes .@npcname$;
 		mes "Hi ^0000CC"+strcharinfo(0)+"^000000,I need you to do something for me first, will you?";
 		mes "Hi ^0000CC"+strcharinfo(0)+"^000000,I need you to do something for me first, will you?";
 		switch (select ("Yes:No")) {
 		switch (select ("Yes:No")) {
 			case 1:
 			case 1:
 				next;
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Good, I need you to go to Payon and do a few things from Mr. Tanieh.";
 				mes "Good, I need you to go to Payon and do a few things from Mr. Tanieh.";
 				next;
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "He'll be waiting for you next to the small wooden wall of the south exit. See you later then.";
 				mes "He'll be waiting for you next to the small wooden wall of the south exit. See you later then.";
-				close2;
 				set GUNS_Q,1;
 				set GUNS_Q,1;
-				set @npcname$,"";
-				end;
+				close;
 			case 2:
 			case 2:
 				next;
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Too bad for you son. Come back when you are willing to do so.";
 				mes "Too bad for you son. Come back when you are willing to do so.";
-				close2;
-				set @npcname$,"";
-				end;
+				close;
 		} 
 		} 
 
 
 	}
 	}
-	mes @npcname$;
+	mes .@npcname$;
 	mes "Hi son, how's life treating you?";
 	mes "Hi son, how's life treating you?";
-	set @npcname$,"";
 	close;
 	close;
 }
 }
 
 
 payon,184,65,3	script	Mr. Tanieh	866,{
 payon,184,65,3	script	Mr. Tanieh	866,{
 
 
-	set @npcname$,"[Mr. Tanieh]";
+	set .@npcname$, "[Mr. Tanieh]";
 	if (GUNS_Q == 1) {
 	if (GUNS_Q == 1) {
-		mes @npcname$;
+		mes .@npcname$;
 		mes "Oh, you're ^0000CC"+strcharinfo(0)+"^000000, right? Einbroch's Armsmith told me you were going to help me with a few things.";
 		mes "Oh, you're ^0000CC"+strcharinfo(0)+"^000000, right? Einbroch's Armsmith told me you were going to help me with a few things.";
 		next;
 		next;
-		mes @npcname$;
+		mes .@npcname$;
 		mes "I need to make a special soup for my wife, but, as you can see, I am not in conditions to look for the items, she's sick you know?";
 		mes "I need to make a special soup for my wife, but, as you can see, I am not in conditions to look for the items, she's sick you know?";
 		next;
 		next;
-		mes @npcname$;
+		mes .@npcname$;
 		mes "So, will you do it, please?";
 		mes "So, will you do it, please?";
 		switch (select ("Yes, I will:Sorry I can't now")) {
 		switch (select ("Yes, I will:Sorry I can't now")) {
 			case 1:
 			case 1:
@@ -134,58 +120,44 @@ payon,184,65,3	script	Mr. Tanieh	866,{
 
 
 			case 2:
 			case 2:
 				next;
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Oh, what am I going to do now...";
 				mes "Oh, what am I going to do now...";
-				close2;
-				set @npcname$,"";
-				end;
+				close;
 		}
 		}
 
 
 	} else if (GUNS_Q > 1 && GUNS_Q < 10000) {
 	} else if (GUNS_Q > 1 && GUNS_Q < 10000) {
-		mes @npcname$;
+		mes .@npcname$;
 		mes "Oh, you've come back! Have you brought the items?";
 		mes "Oh, you've come back! Have you brought the items?";
 		next;
 		next;
 		switch (select("Yes I did:No I forgot which items I had to bring")) {
 		switch (select("Yes I did:No I forgot which items I had to bring")) {
 			case 1:
 			case 1:
 				next;
 				next;
 				if (countitem(949) < 3) {
 				if (countitem(949) < 3) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Sorry, you're missing a few Feathers";
 					mes "Sorry, you're missing a few Feathers";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				} else if (countitem(912) < 3) {
 				} else if (countitem(912) < 3) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Sorry, you're missing a few Zargons";
 					mes "Sorry, you're missing a few Zargons";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				} else if (countitem(1013) < 3) {
 				} else if (countitem(1013) < 3) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Sorry, you're missing a few Rainbow Shells";
 					mes "Sorry, you're missing a few Rainbow Shells";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				} else if (countitem(GUNS_Q) < 1) {
 				} else if (countitem(GUNS_Q) < 1) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Sorry, you don't have the exact Trunk";
 					mes "Sorry, you don't have the exact Trunk";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				} else if (countitem(511) < 3) {
 				} else if (countitem(511) < 3) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Sorry, you're missing a few Green Herbs";
 					mes "Sorry, you're missing a few Green Herbs";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				} else if (countitem(935) < 10) {
 				} else if (countitem(935) < 10) {
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Sorry, you're missing a few Shells";
 					mes "Sorry, you're missing a few Shells";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 				}
 				}
-				mes @npcname$;
+				mes .@npcname$;
 				mes "GREAT! You brought them all! Thanks very much!";
 				mes "GREAT! You brought them all! Thanks very much!";
 				delitem 949,3;
 				delitem 949,3;
 				delitem 912,3;
 				delitem 912,3;
@@ -194,16 +166,14 @@ payon,184,65,3	script	Mr. Tanieh	866,{
 				delitem 935,10;
 				delitem 935,10;
 				delitem 511,3;
 				delitem 511,3;
 				next;
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Oh my, you've been of great help. I'll recommend you to the Einbroch Armory for your job change.";
 				mes "Oh my, you've been of great help. I'll recommend you to the Einbroch Armory for your job change.";
-				close2;
 				set GUNS_Q,10003;
 				set GUNS_Q,10003;
-				set @npcname$,"";
-				end;
+				close;
 			case 2:
 			case 2:
 			L_LIST:
 			L_LIST:
 				next;
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Ok, I'll tell you again, so please take note!:";
 				mes "Ok, I'll tell you again, so please take note!:";
 				mes "^33CCFF 3 Feathers^000000";
 				mes "^33CCFF 3 Feathers^000000";
 				mes "^009933 3 Zargons^000000";
 				mes "^009933 3 Zargons^000000";
@@ -212,51 +182,39 @@ payon,184,65,3	script	Mr. Tanieh	866,{
 				mes "^663300 1 "+getitemname(GUNS_Q)+"^000000";
 				mes "^663300 1 "+getitemname(GUNS_Q)+"^000000";
 				mes "^FF6600 10 Shells^000000";
 				mes "^FF6600 10 Shells^000000";
 				next;
 				next;
-				mes @npcname$;
+				mes .@npcname$;
 				mes "Hurry please, I am not sure if my wife will last any longer... oh dear..";
 				mes "Hurry please, I am not sure if my wife will last any longer... oh dear..";
-				close2;
-				set @npcname$,"";
-				end;
+				close;
 		}
 		}
 	} else if (GUNS_Q == 10003 || GUNS_Q == 10004) {
 	} else if (GUNS_Q == 10003 || GUNS_Q == 10004) {
 		if (countitem(519) >= 1 && GUNS_Q == 10004) {
 		if (countitem(519) >= 1 && GUNS_Q == 10004) {
-			mes @npcname$;
+			mes .@npcname$;
 			mes "THAT'S IT!! I was missing the Milk! Oh yes, thanks so much, will you give it to me?";
 			mes "THAT'S IT!! I was missing the Milk! Oh yes, thanks so much, will you give it to me?";
 			switch(select("Sure, take it:Sorry but I need it")) {
 			switch(select("Sure, take it:Sorry but I need it")) {
 				case 1:
 				case 1:
 					next;
 					next;
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Thanks so much! Go talk again with the Einbroch Armsmith. He'll change you. Thanks again and see you.";
 					mes "Thanks so much! Go talk again with the Einbroch Armsmith. He'll change you. Thanks again and see you.";
 					delitem 519,1;
 					delitem 519,1;
-					close2;
 					set GUNS_Q,10005;
 					set GUNS_Q,10005;
-					set @npcname$,"";
-					end;
+					close;
 				case 2:
 				case 2:
 					next;
 					next;
-					mes @npcname$;
+					mes .@npcname$;
 					mes "Oh please, I need it so much, think about it please...";
 					mes "Oh please, I need it so much, think about it please...";
-					close2;
-					set @npcname$,"";
-					end;
+					close;
 			}
 			}
 		}
 		}
-		mes @npcname$;
+		mes .@npcname$;
 		mes "*sigh* Now I have to wait again... Thanks for your help... but I believe there's something missing..";
 		mes "*sigh* Now I have to wait again... Thanks for your help... but I believe there's something missing..";
-		close2;
-		set @npcname$,"";
 		set GUNS_Q,10004;
 		set GUNS_Q,10004;
-		end;
+		close;
 	} else if (Class == Job_Gunslinger || GUNS_Q == 10005) {
 	} else if (Class == Job_Gunslinger || GUNS_Q == 10005) {
-		mes @npcname$;
+		mes .@npcname$;
 		mes "Hi ^0000CC"+strcharinfo(0)+"^000000!, how have you been doing? My wife sends you regards and thanks for the ingredients...";
 		mes "Hi ^0000CC"+strcharinfo(0)+"^000000!, how have you been doing? My wife sends you regards and thanks for the ingredients...";
-		close2;
-		set @npcname$,"";
-		end;
+		close;
 	} 
 	} 
-	mes @npcname$;
+	mes .@npcname$;
 	mes "Hi son, how's life treating you? Nice day, isn't it?";
 	mes "Hi son, how's life treating you? Nice day, isn't it?";
-	close2;
-	set @npcname$,"";
-	end;
+	close;
 }
 }