Bläddra i källkod

Update EDP requirements (#7463)

Fixes #7458

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
idk-whoami 2 år sedan
förälder
incheckning
5b8d0ee6a5
6 ändrade filer med 22 tillägg och 6 borttagningar
  1. 2 3
      db/re/item_db_usable.yml
  2. 6 0
      db/re/item_group_db.yml
  3. 0 3
      db/re/skill_db.yml
  4. 1 0
      src/map/itemdb.hpp
  5. 1 0
      src/map/script_constants.hpp
  6. 12 0
      src/map/skill.cpp

+ 2 - 3
db/re/item_db_usable.yml

@@ -1823,7 +1823,7 @@ Body:
     Flags:
       BuyingStore: true
     Script: |
-      if (Class == Job_Assassin_Cross || Class == Job_Guillotine_Cross || Class == Job_Guillotine_Cross_T || Class == Job_Shadow_Cross) {
+      if ((eaclass()&EAJ_ASSASSIN_CROSS)==EAJ_ASSASSIN_CROSS) {
          sc_start SC_DPOISON,60000,0;
          sc_start SC_ASPDPOTION3,60000,9;
       }
@@ -50395,7 +50395,6 @@ Body:
     AegisName: Poison_Bottle_B
     Name: Poison Bottle
     Type: Usable
-    Buy: 10
     Weight: 100
     Trade:
       NoDrop: true
@@ -50405,7 +50404,7 @@ Body:
       NoMail: true
       NoAuction: true
     Script: |
-      if (Class == Job_Assassin_Cross || Class == Job_Guillotine_Cross || Class == Job_Guillotine_Cross_T) {
+      if ((eaclass()&EAJ_ASSASSIN_CROSS)==EAJ_ASSASSIN_CROSS) {
          sc_start SC_DPOISON,60000,0;
          sc_start SC_ASPDPOTION3,60000,9;
       }

+ 6 - 0
db/re/item_group_db.yml

@@ -48944,3 +48944,9 @@ Body:
         List:
           - Item: Shadow_Refine_Hammer
             Amount: 3
+  - Group: EDP
+    SubGroups:
+      - SubGroup: 0
+        List:
+          - Item: Poison_Bottle
+          - Item: Poison_Bottle_B

+ 0 - 3
db/re/skill_db.yml

@@ -10516,9 +10516,6 @@ Body:
           Amount: 90
         - Level: 5
           Amount: 100
-      ItemCost:
-        - Item: Poison_Bottle
-          Amount: 1
     Status: Edp
   - Id: 379
     Name: ASC_BREAKER

+ 1 - 0
src/map/itemdb.hpp

@@ -1835,6 +1835,7 @@ enum e_random_item_group {
 	IG_S_TEMP2_CUBE,
 	IG_BLACKSMITH_BLESS_BOX_3,
 	IG_SHADOW_HAMMER_BOX_3,
+	IG_EDP,
 
 	IG_MAX,
 };

+ 1 - 0
src/map/script_constants.hpp

@@ -6633,6 +6633,7 @@
 	export_constant(IG_S_TEMP2_CUBE);
 	export_constant(IG_BLACKSMITH_BLESS_BOX_3);
 	export_constant(IG_SHADOW_HAMMER_BOX_3);
+	export_constant(IG_EDP);
 
 	/* unit stop walking */
 	export_constant(USW_NONE);

+ 12 - 0
src/map/skill.cpp

@@ -17948,6 +17948,18 @@ bool skill_check_condition_castend(map_session_data* sd, uint16 skill_id, uint16
 			}
 			break;
 		}
+#ifdef RENEWAL
+		case ASC_EDP:
+			if(sd) {
+				int16 item_edp = itemdb_group.item_exists_pc(sd, IG_EDP);
+				if (item_edp < 0) {
+					clif_skill_fail( sd, skill_id, USESKILL_FAIL_NEED_ITEM, 1, ITEMID_POISON_BOTTLE ); // [%s] required '%d' amount.
+					return false;
+				} else
+					pc_delitem(sd, item_edp, 1, 0, 1, LOG_TYPE_CONSUME);
+			}
+			break;
+#endif
 	}
 
 	status = &sd->battle_status;