Browse Source

- Increased max number of tries to find a random spot in maps to 1000 since some maps have so many non-walkable tiles it's hard to find one in just 100 tries.
- Reduced Stun duration of multiple skills to 3 secs. Skills affected: Meteor Storm, Land Mine, Bash (fatal blow), Throw Stone, NPC_LICK, Raid, shield Charge, Cart Termination.
- status_set_viewdata will remove the Wedding Option status when you set a class that is not wedding.
- Removed the Job_Novice range check in pcdb_checkid since it's causing warnings when checking versus vd->class_ (and when will we use a negative value class anyway?)


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

skotlex 19 years ago
parent
commit
139b098c54
7 changed files with 22 additions and 14 deletions
  1. 5 0
      Changelog-Trunk.txt
  2. 3 0
      db/Changelog.txt
  3. 8 8
      db/skill_cast_db.txt
  4. 1 1
      src/map/map.c
  5. 1 1
      src/map/pc.h
  6. 2 2
      src/map/skill.c
  7. 2 2
      src/map/status.c

+ 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.
 
 
 2006/05/08
 2006/05/08
+	* Increased max number of tries to find a random spot in maps to 1000 since
+	  some maps have so many non-walkable tiles it's hard to find one in just 100
+	  tries. [Skotlex]
+	* status_set_viewdata will remove the Wedding Option status when you set a
+	  class that is not wedding.  [Skotlex]
 	* hide_gvg_damage will now send 1 instead of -1 as damage. [Skotlex]
 	* hide_gvg_damage will now send 1 instead of -1 as damage. [Skotlex]
 	* idletime will now be updated on attack-request, not on sit/standup
 	* idletime will now be updated on attack-request, not on sit/standup
 	  [Skotlex]
 	  [Skotlex]

+ 3 - 0
db/Changelog.txt

@@ -27,6 +27,9 @@
 
 
 =========================
 =========================
 05/08
 05/08
+	* Reduced Stun duration of multiple skills to 3 secs. Skills affected:
+	  Meteor Storm, Land Mine, Bash (fatal blow), Throw Stone, NPC_LICK, Raid,
+	  shield Charge, Cart Termination. [Skotlex]
 	* Reduced stun duration of most skills to 3 secs. [Skotlex]
 	* Reduced stun duration of most skills to 3 secs. [Skotlex]
 05/07
 05/07
 	* Updating drops to Aegis X.2 [Playtester]
 	* Updating drops to Aegis X.2 [Playtester]

+ 8 - 8
db/skill_cast_db.txt

@@ -174,7 +174,7 @@
 81,700,2000,0,500,0
 81,700,2000,0,500,0
 
 
 //-- WZ_METEOR
 //-- WZ_METEOR
-83,15000,2000:3000:3000:4000:4000:5000:5000:6000:6000:7000,0,500,3200:3400:3600:3800:4000:4200:4400:4600:4800:5000
+83,15000,2000:3000:3000:4000:4000:5000:5000:6000:6000:7000,0,500,3000
 //-- WZ_JUPITEL
 //-- WZ_JUPITEL
 84,2500:3000:3500:4000:4500:5000:5500:6000:6500:7000,0,0,0,0
 84,2500:3000:3500:4000:4500:5000:5500:6000:6500:7000,0,0,0,0
 //-- WZ_VERMILION
 //-- WZ_VERMILION
@@ -216,7 +216,7 @@
 //-- HT_SKIDTRAP
 //-- HT_SKIDTRAP
 115,0,0,0,300000:240000:180000:120000:60000,0
 115,0,0,0,300000:240000:180000:120000:60000,0
 //-- HT_LANDMINE
 //-- HT_LANDMINE
-116,0,0,0,200000:160000:120000:80000:40000,6000:7000:8000:9000:10000:11000
+116,0,0,0,200000:160000:120000:80000:40000,3000
 //-- HT_ANKLESNARE
 //-- HT_ANKLESNARE
 117,0,0,0,250000:200000:150000:100000:50000,4000:8000:12000:16000:20000
 117,0,0,0,250000:200000:150000:100000:50000,4000:8000:12000:16000:20000
 //-- HT_SHOCKWAVE
 //-- HT_SHOCKWAVE
@@ -264,7 +264,7 @@
 143,0,0,0,600000,0
 143,0,0,0,600000,0
 
 
 //-- SM_FATALBLOW
 //-- SM_FATALBLOW
-145,0,0,0,0,8000
+145,0,0,0,0,3000
 
 
 //-- AC_CHARGEARROW
 //-- AC_CHARGEARROW
 148,1500,0,0,0,0
 148,1500,0,0,0,0
@@ -274,7 +274,7 @@
 //-- TF_PICKSTONE
 //-- TF_PICKSTONE
 151,500,0,0,0,0
 151,500,0,0,0,0
 //-- TF_THROWSTONE
 //-- TF_THROWSTONE
-152,0,100,0,0,8000
+152,0,100,0,3000,8000
 
 
 //-- MC_LOUD
 //-- MC_LOUD
 155,0,0,0,300000,0
 155,0,0,0,300000,0
@@ -311,7 +311,7 @@
 204,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0
 204,0,0,0,60000:70000:80000:90000:100000:110000:120000:130000:140000:150000,0
 
 
 //-- NPC_LICK
 //-- NPC_LICK
-206,0,0,0,0,6000:7000:8000:9000:10000:11000:12000:13000:14000:15000
+206,0,0,0,0,3000
 //-- NPC_HALLUCINATION
 //-- NPC_HALLUCINATION
 207,0,0,0,30000:40000:50000:60000:70000:80000:90000:100000:110000:120000,0
 207,0,0,0,30000:40000:50000:60000:70000:80000:90000:100000:110000:120000,0
 //==========================================
 //==========================================
@@ -322,7 +322,7 @@
 212,0,500,0,0,0
 212,0,500,0,0,0
 
 
 //-- RG_RAID
 //-- RG_RAID
-214,0,0,0,0,8000:9000:10000:11000:12000
+214,0,0,0,3000,8000:9000:10000:11000:12000
 //-- RG_STRIPEWEAPON
 //-- RG_STRIPEWEAPON
 215,1000,1000,0,75000:90000:105000:120000:135000,0
 215,1000,1000,0,75000:90000:105000:120000:135000,0
 //-- RG_STRIPSHIELD
 //-- RG_STRIPSHIELD
@@ -363,7 +363,7 @@
 //-- CR_AUTOGUARD
 //-- CR_AUTOGUARD
 249,0,0,0,300000,0
 249,0,0,0,300000,0
 //-- CR_SHIELDCHARGE
 //-- CR_SHIELDCHARGE
-250,0,0,0,0,8000:9000:10000:11000:12000
+250,0,0,0,0,3000
 //-- CR_SHIELDBOOMERANG
 //-- CR_SHIELDBOOMERANG
 251,0,700,0,0,0
 251,0,700,0,0,0
 //-- CR_REFLECTSHIELD
 //-- CR_REFLECTSHIELD
@@ -779,7 +779,7 @@
 //-- HW_GRAVITATION
 //-- HW_GRAVITATION
 484,5000,2000,0,5000:6000:7000:8000:9000,0
 484,5000,2000,0,5000:6000:7000:8000:9000,0
 //-- WS_CARTTERMINATION
 //-- WS_CARTTERMINATION
-485,0,0,0,0,6000:7000:8000:9000:10000:11000
+485,0,0,0,0,3000
 //-- WS_OVERTHRUSTMAX
 //-- WS_OVERTHRUSTMAX
 486,0,0,0,180000,0
 486,0,0,0,180000,0
 //-- CG_LONGINGFREEDOM
 //-- CG_LONGINGFREEDOM

+ 1 - 1
src/map/map.c

@@ -1478,7 +1478,7 @@ int map_search_freecell(struct block_list *src, int m, short *x,short *y, int rx
 		tries = rx2*ry2;
 		tries = rx2*ry2;
 		if (tries > 100) tries = 100;
 		if (tries > 100) tries = 100;
 	} else
 	} else
-		tries = 100;
+		tries = 1000; //Must retry a lot for maps with many non-walkable tiles.
 	
 	
 	while(tries--) {
 	while(tries--) {
 		*x = (rx >= 0)?(rand()%rx2-rx+bx):(rand()%(map[m].xs-2)+1);
 		*x = (rx >= 0)?(rand()%rx2-rx+bx):(rand()%(map[m].xs-2)+1);

+ 1 - 1
src/map/pc.h

@@ -61,7 +61,7 @@ enum {
 #define pc_stop_walking(sd, type) { if (sd->ud.walktimer!=-1) unit_stop_walking(&sd->bl, type); }
 #define pc_stop_walking(sd, type) { if (sd->ud.walktimer!=-1) unit_stop_walking(&sd->bl, type); }
 
 
 //Checks if the given class value corresponds to a player class. [Skotlex]
 //Checks if the given class value corresponds to a player class. [Skotlex]
-#define pcdb_checkid(class_) ((class_ >= JOB_NOVICE && class_ <= JOB_XMAS) || (class_ >= JOB_NOVICE_HIGH && class_ <= JOB_SOUL_LINKER))
+#define pcdb_checkid(class_) (class_ <= JOB_XMAS || (class_ >= JOB_NOVICE_HIGH && class_ <= JOB_SOUL_LINKER))
 
 
 int pc_isGM(struct map_session_data *sd);
 int pc_isGM(struct map_session_data *sd);
 int pc_iskiller(struct map_session_data *src, struct map_session_data *target); // [MouseJstr]
 int pc_iskiller(struct map_session_data *src, struct map_session_data *target); // [MouseJstr]

+ 2 - 2
src/map/skill.c

@@ -1101,7 +1101,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
 		break;
 		break;
 
 
 	case TF_THROWSTONE:		/* ?ホ投げ */
 	case TF_THROWSTONE:		/* ?ホ投げ */
-		sc_start(bl,SC_STUN,3,skilllv,skill_get_time2(skillid,skilllv));
+		sc_start(bl,SC_STUN,3,skilllv,skill_get_time(skillid,skilllv));
 		sc_start(bl,SC_BLIND,3,skilllv,skill_get_time2(skillid,skilllv));
 		sc_start(bl,SC_BLIND,3,skilllv,skill_get_time2(skillid,skilllv));
 		break;
 		break;
 
 
@@ -1139,7 +1139,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
 		break;
 		break;
 
 
 	case RG_RAID:		/* サプライズアタック */
 	case RG_RAID:		/* サプライズアタック */
-		sc_start(bl,SC_STUN,(10+3*skilllv),skilllv,skill_get_time2(skillid,skilllv));
+		sc_start(bl,SC_STUN,(10+3*skilllv),skilllv,skill_get_time(skillid,skilllv));
 		sc_start(bl,SC_BLIND,(10+3*skilllv),skilllv,skill_get_time2(skillid,skilllv));
 		sc_start(bl,SC_BLIND,(10+3*skilllv),skilllv,skill_get_time2(skillid,skilllv));
 		break;
 		break;
 
 

+ 2 - 2
src/map/status.c

@@ -3355,10 +3355,10 @@ void status_set_viewdata(struct block_list *bl, int class_)
 					class_ = JOB_BABY_CRUSADER2;
 					class_ = JOB_BABY_CRUSADER2;
 					break;
 					break;
 				}
 				}
-				if (sd->vd.class_ == JOB_WEDDING)
-					sd->sc.option&=~OPTION_WEDDING;
 				if (class_ == JOB_WEDDING)
 				if (class_ == JOB_WEDDING)
 					sd->sc.option|=OPTION_WEDDING;
 					sd->sc.option|=OPTION_WEDDING;
+				else if (sd->sc.option&OPTION_WEDDING)
+					sd->sc.option&=~OPTION_WEDDING; //If not going to display it, then remove the option.
 				sd->vd.class_ = class_;
 				sd->vd.class_ = class_;
 				clif_get_weapon_view(sd, &sd->vd.weapon, &sd->vd.shield);
 				clif_get_weapon_view(sd, &sd->vd.weapon, &sd->vd.shield);
 				sd->vd.head_top = sd->status.head_top;
 				sd->vd.head_top = sd->status.head_top;