Prechádzať zdrojové kódy

Made some adjustments to the land skill code, based on official information:
- Expanded and corrected the land skill view id enum in skill.h
- Renamed UNT_ATTACK_SKILLS to UNT_DUMMYSKILL and UNT_KAENSIN to UNT_KAEN (official terminology)
- changed GS_DESPERADO to use the UNT_DUMMYSKILL view id instead of UNT_KAENSIN (and is it supposed to be a land skill at all?)

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

ultramage 16 rokov pred
rodič
commit
d6ca23f16f
4 zmenil súbory, kde vykonal 32 pridanie a 26 odobranie
  1. 1 1
      db/skill_unit_db.txt
  2. 1 1
      src/map/clif.c
  3. 8 7
      src/map/skill.c
  4. 22 17
      src/map/skill.h

+ 1 - 1
db/skill_unit_db.txt

@@ -89,7 +89,7 @@
 430,0x86,    ,  0, 1, 100,enemy, 0x000	//SG_STAR_WARM
 484,0xb8,    ,  2, 0,1000,enemy, 0x808	//HW_GRAVITATION
 488,0xb9,    ,  3, 0,  -1,all,   0x200	//CG_HERMODE
-516,0xba,    ,  3, 0, 100,enemy, 0x000	//GS_DESPERADO
+516,0x86,    ,  3, 0, 100,enemy, 0x000	//GS_DESPERADO
 521,0xbe,    ,  0, 1,1000,enemy, 0x000	//GS_GROUNDDRIFT
 527,0xbc,    , -1, 0,2000,enemy, 0x018	//NJ_TATAMIGAESHI
 535,0xbd,    , -1, 0,  20,enemy, 0x010	//NJ_KAENSIN

+ 1 - 1
src/map/clif.c

@@ -3753,7 +3753,7 @@ static void clif_getareachar_skillunit(struct map_session_data *sd, struct skill
 	WFIFOW(fd,10)=unit->bl.x;
 	WFIFOW(fd,12)=unit->bl.y;
 	if (battle_config.traps_setting&1 && skill_get_inf2(unit->group->skill_id)&INF2_TRAP)
-		WFIFOB(fd,14)=UNT_ATTACK_SKILLS; //Use invisible unit id for traps.
+		WFIFOB(fd,14)=UNT_DUMMYSKILL; //Use invisible unit id for traps.
 	else
 		WFIFOB(fd,14)=unit->group->unit_id;
 	WFIFOB(fd,15)=1; // ignored by client (always gets set to 1)

+ 8 - 7
src/map/skill.c

@@ -7124,7 +7124,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
 	switch (sg->unit_id)
 	{
 		case UNT_FIREWALL:
-		case UNT_KAENSIN:
+		case UNT_KAEN:
 		{
 			int count=0;
 			const int x = bl->x, y = bl->y;
@@ -7203,7 +7203,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
 			skill_attack(BF_MAGIC,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
 			break;
 
-		case UNT_ATTACK_SKILLS:
+		case UNT_DUMMYSKILL:
 			switch (sg->skill_id)
 			{
 				case SG_SUN_WARM: //SG skills [Komurka]
@@ -7241,6 +7241,12 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
 					if (skill_attack(skill_get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0) <= 0 && tsc)
 						tsc->sg_counter=0; //Attack absorbed.
 				break;
+
+				case GS_DESPERADO:
+					if (rand()%100 < src->val1)
+						skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
+				break;
+
 				default:
 					skill_attack(skill_get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
 			}
@@ -7464,11 +7470,6 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
 			skill_attack(skill_get_type(sg->skill_id),ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
 			break;
 
-		case UNT_DESPERADO:
-			if (rand()%100 < src->val1)
-				skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
-			break;
-
 		case UNT_GROUNDDRIFT_WIND:
 		case UNT_GROUNDDRIFT_DARK:
 		case UNT_GROUNDDRIFT_POISON:

+ 22 - 17
src/map/skill.h

@@ -1055,22 +1055,23 @@ enum e_skill {
 	MER_ESTIMATION,
 };
 
+/// The client view ids for land skills.
 enum {
 	UNT_SAFETYWALL = 0x7e,
 	UNT_FIREWALL,
 	UNT_WARP_WAITING,
 	UNT_WARP_ACTIVE,
-	//0x82
-	UNT_SANCTUARY = 0x83,
+	UNT_BENEDICTIO, //TODO
+	UNT_SANCTUARY,
 	UNT_MAGNUS,
 	UNT_PNEUMA,
-	UNT_ATTACK_SKILLS, //These show no effect on the client, therefore can be used for attack skills.
+	UNT_DUMMYSKILL, //These show no effect on the client
 	UNT_FIREPILLAR_WAITING,
 	UNT_FIREPILLAR_ACTIVE,
-	//0x89
-	//0x8a
-	//0x8b
-	UNT_USED_TRAPS = 0x8c,
+	UNT_HIDDEN_TRAP, //TODO
+	UNT_TRAP, //TODO
+	UNT_HIDDEN_WARP_NPC, //TODO
+	UNT_USED_TRAPS,
 	UNT_ICEWALL,
 	UNT_QUAGMIRE,
 	UNT_BLASTMINE,
@@ -1111,25 +1112,29 @@ enum {
 	UNT_CALLFAMILY,
 	UNT_GOSPEL,
 	UNT_BASILICA,
-	UNT_MOONLIT,//0xb5 //I HOPE this one doesn't shows any effects
-	UNT_FOGWALL = 0xb6,
+	UNT_MOONLIT,
+	UNT_FOGWALL,
 	UNT_SPIDERWEB,
 	UNT_GRAVITATION,
 	UNT_HERMODE,
-	UNT_DESPERADO, //0xba //Temporary setting until correct value is found.
-	UNT_SUITON = 0xbb,
+	UNT_KAENSIN, //TODO
+	UNT_SUITON,
 	UNT_TATAMIGAESHI,
-	UNT_KAENSIN,
+	UNT_KAEN,
 	UNT_GROUNDDRIFT_WIND,
 	UNT_GROUNDDRIFT_DARK,
 	UNT_GROUNDDRIFT_POISON,
 	UNT_GROUNDDRIFT_WATER,
 	UNT_GROUNDDRIFT_FIRE,
-	//0xc3 ?
-	//0xc4 ?
-	//0xc5 ?
-	//0xc6 ?
-	UNT_EVILLAND = 0xc7,
+	UNT_DEATHWAVE, //TODO
+	UNT_WATERATTACK, //TODO
+	UNT_WINDATTACK, //TODO
+	UNT_EARTHQUAKE, //TODO
+	UNT_EVILLAND,
+	UNT_DARK_RUNNER, //TODO
+	UNT_DARK_TRANSFER, //TODO
+
+	UNT_MAX = 0x190
 };
 
 #endif /* _SKILL_H_ */