소스 검색

Converted Amplification Scroll and Intellect Amplification Scroll bonus_script to SC_STR_SCROLL and SC_INT_SCROLL (#8735)

Atemo 7 달 전
부모
커밋
a37f443c66
6개의 변경된 파일43개의 추가작업 그리고 7개의 파일을 삭제
  1. 2 2
      db/re/item_db_usable.yml
  2. 20 0
      db/re/status.yml
  3. 13 5
      doc/status_change.txt
  4. 2 0
      src/map/script_constants.hpp
  5. 4 0
      src/map/status.cpp
  6. 2 0
      src/map/status.hpp

+ 2 - 2
db/re/item_db_usable.yml

@@ -13337,7 +13337,7 @@ Body:
       NoAuction: true
     Script: |
       specialeffect2 EF_POTION_BERSERK;
-      bonus_script "{ bonus bStr,20; }",60,0,0,EFST_STR_SCROLL;
+      sc_start SC_STR_SCROLL,60000,20;
   - Id: 12741
     AegisName: Inc_Int_Scroll
     Name: Intellect Amplification Scroll
@@ -13354,7 +13354,7 @@ Body:
       NoAuction: true
     Script: |
       specialeffect2 EF_SPELLBREAKER;
-      bonus_script "{ bonus bInt,20; }",60,0,0,EFST_INT_SCROLL;
+      sc_start SC_INT_SCROLL,60000,20;
   - Id: 12742
     AegisName: Valentine_Gift_Box1
     Name: Valentine Gift Box

+ 20 - 0
db/re/status.yml

@@ -9023,3 +9023,23 @@ Body:
       Curse: true
       Silence: true
       Poison: true
+  - Status: Str_Scroll
+    Icon: EFST_STR_SCROLL
+    CalcFlags:
+      Str: true
+    Flags:
+      NoBanishingBuster: true
+      NoClearbuff: true
+      NoClearance: true
+      NoDispell: true
+      NoRemoveOnDead: true
+  - Status: Int_Scroll
+    Icon: EFST_INT_SCROLL
+    CalcFlags:
+      Int: true
+    Flags:
+      NoBanishingBuster: true
+      NoClearbuff: true
+      NoClearance: true
+      NoDispell: true
+      NoRemoveOnDead: true

+ 13 - 5
doc/status_change.txt

@@ -2849,21 +2849,29 @@ SC_AGIUP
 	val1: +% Walkspeed
 	val2: +% Flee
 
-SC_BATH_FOAM_A	()
+SC_BATH_FOAM_A	(EFST_BATH_FOAM_A)
 	desc: Increases physical and magical damage against Meditathio Dungeon Monsters.
 	val1: +% damage
 
-SC_BATH_FOAM_B	()
+SC_BATH_FOAM_B	(EFST_BATH_FOAM_B)
 	desc: Increases physical and magical damage against Meditathio Dungeon Monsters.
 	val1: +% damage
 
-SC_BATH_FOAM_C	()
+SC_BATH_FOAM_C	(EFST_BATH_FOAM_C)
 	desc: Increases physical and magical damage against Meditathio Dungeon Monsters.
 	val1: +% damage
 
-SC_BUCHEDENOEL ()
+SC_BUCHEDENOEL (EFST_BUCHEDENOEL)
 	desc: Increases HP & SP restoration by 3%, Hit +3, and Critical +7.
 
-SC_EP16_DEF	()
+SC_EP16_DEF	(EFST_EP16_DEF)
 	desc: Decrease physical and magical damage against monsters in the Room of Consciousness and Prontera Invasion Dungeon. Restores 1000 HP. Cures Curse, Poison and Silence.
 	val1: +% reduction
+
+SC_STR_SCROLL	(EFST_STR_SCROLL)
+	desc: Increases STR.
+	val1: + STR
+
+SC_INT_SCROLL	(EFST_INT_SCROLL)
+	desc: Increases INT.
+	val1: + INT

+ 2 - 0
src/map/script_constants.hpp

@@ -1921,6 +1921,8 @@
 	export_constant(SC_BATH_FOAM_C);
 	export_constant(SC_BUCHEDENOEL);
 	export_constant(SC_EP16_DEF);
+	export_constant(SC_STR_SCROLL);
+	export_constant(SC_INT_SCROLL);
 
 	/* status icons */
 	export_deprecated_constant2("SI_BLANK",-1);

+ 4 - 0
src/map/status.cpp

@@ -6610,6 +6610,8 @@ static unsigned short status_calc_str(struct block_list *bl, status_change *sc,
 		str += sc->getSCE(SC_ULTIMATECOOK)->val1;
 	if (sc->getSCE(SC_ALL_STAT_DOWN))
 		str -= sc->getSCE(SC_ALL_STAT_DOWN)->val2;
+	if (sc->getSCE(SC_STR_SCROLL))
+		str += sc->getSCE(SC_STR_SCROLL)->val1;
 
 	//TODO: Stat points should be able to be decreased below 0
 	return (unsigned short)cap_value(str,0,USHRT_MAX);
@@ -6860,6 +6862,8 @@ static unsigned short status_calc_int(struct block_list *bl, status_change *sc,
 		int_ += sc->getSCE(SC_ULTIMATECOOK)->val1;
 	if (sc->getSCE(SC_ALL_STAT_DOWN))
 		int_ -= sc->getSCE(SC_ALL_STAT_DOWN)->val2;
+	if (sc->getSCE(SC_INT_SCROLL))
+		int_ += sc->getSCE(SC_INT_SCROLL)->val1;
 
 	//TODO: Stat points should be able to be decreased below 0
 	return (unsigned short)cap_value(int_,0,USHRT_MAX);

+ 2 - 0
src/map/status.hpp

@@ -1316,6 +1316,8 @@ enum sc_type : int16 {
 	SC_BATH_FOAM_C,
 	SC_BUCHEDENOEL,
 	SC_EP16_DEF,
+	SC_STR_SCROLL,
+	SC_INT_SCROLL,
 
 	SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
 };