Browse Source

- Fixed emperium coordinates in Payon Holy Shadow (payg_cas03).
- Also enforce sd->emotionlasttime for pet emotions.

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

brianluau 13 years ago
parent
commit
5c60eb69e5
4 changed files with 17 additions and 8 deletions
  1. 5 3
      doc/script_commands.txt
  2. 2 2
      npc/guild/agit_template.txt
  3. 7 0
      src/map/atcommand.c
  4. 3 3
      src/map/clif.c

+ 5 - 3
doc/script_commands.txt

@@ -3360,12 +3360,14 @@ Return values for 'checkvending' are
 'checkchatting' returns 1 if they are in a chat room, 0 if they are not.
 
 Example(s):
-if (checkVending("Aaron")) mes "Aaron is currently vending!";
 	//This will check if Aaron is vending, and if so, put a message in front
 	//of the attached player saying Aaron is vending.
+	if (checkvending("Aaron"))
+		mes "Aaron is currently vending!";
 
-if (checkChatting()) mes "You are currently chatting!";
-	//This will check if you're in a chat room or not
+	//This will check if the attached player in a chat room or not.
+	if (checkchatting())
+		mes "You are currently in a chat room!";
 
 ---------------------------------------
 

+ 2 - 2
npc/guild/agit_template.txt

@@ -78,7 +78,7 @@ OnStartArena:
 	else if (strnpcinfo(2) == "gefg_cas05") { setarray .@emproom[0],194,184; }
 	else if (strnpcinfo(2) == "payg_cas01") { setarray .@emproom[0],139,139; }
 	else if (strnpcinfo(2) == "payg_cas02") { setarray .@emproom[0],38,25; }
-	else if (strnpcinfo(2) == "payg_cas03") { setarray .@emproom[0],268,264; }
+	else if (strnpcinfo(2) == "payg_cas03") { setarray .@emproom[0],269,265; }
 	else if (strnpcinfo(2) == "payg_cas04") { setarray .@emproom[0],270,28; }
 	else if (strnpcinfo(2) == "payg_cas05") { setarray .@emproom[0],30,30; }
 	else if (strnpcinfo(2) == "prtg_cas01") { setarray .@emproom[0],197,197; }
@@ -235,7 +235,7 @@ OnRecvCastle:
 			// Set Emperium room spawn coordinates and spawn monsters.
 			if (strnpcinfo(2) == "payg_cas01") { setarray .@emproom[0],139,139; }
 			else if (strnpcinfo(2) == "payg_cas02") { setarray .@emproom[0],38,25; }
-			else if (strnpcinfo(2) == "payg_cas03") { setarray .@emproom[0],268,264; }
+			else if (strnpcinfo(2) == "payg_cas03") { setarray .@emproom[0],269,265; }
 			else if (strnpcinfo(2) == "payg_cas04") { setarray .@emproom[0],270,28; }
 			else if (strnpcinfo(2) == "payg_cas05") { setarray .@emproom[0],30,30; }
 			monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Moonlight Flower",1150,1;

+ 7 - 0
src/map/atcommand.c

@@ -6177,6 +6177,13 @@ ACMD_FUNC(pettalk)
 		ARR_FIND( 0, ARRAYLENGTH(emo), i, stricmp(message, emo[i]) == 0 );
 		if( i < ARRAYLENGTH(emo) )
 		{
+			if (sd->emotionlasttime + 1 >= time(NULL)) { // not more than 1 per second
+					sd->emotionlasttime = time(NULL);
+					clif_skill_fail(sd, 1, 0, 1);
+					return 0;
+			}
+			sd->emotionlasttime = time(NULL);
+			
 			clif_emotion(&pd->bl, i);
 			return 0;
 		}

+ 3 - 3
src/map/clif.c

@@ -9611,12 +9611,12 @@ void clif_parse_Emotion(int fd, struct map_session_data *sd)
 			return;
 		}
 		// fix flood of emotion icon (ro-proxy): flood only the hacker player
-		if (sd->emotionlasttime >= time(NULL)) {
-			sd->emotionlasttime = time(NULL) + 1; // not more than 1 per second (using /commands the client can spam it)
+		if (sd->emotionlasttime + 1 >= time(NULL)) { // not more than 1 per second
+			sd->emotionlasttime = time(NULL);
 			clif_skill_fail(sd, 1, USESKILL_FAIL_LEVEL, 1);
 			return;
 		}
-		sd->emotionlasttime = time(NULL) + 1; // not more than 1 per second (using /commands the client can spam it)
+		sd->emotionlasttime = time(NULL);
 
 		if(battle_config.client_reshuffle_dice && emoticon>=E_DICE1 && emoticon<=E_DICE6)
 		{// re-roll dice