Przeglądaj źródła

Item DB corrections / implemented ALL_RAY_OF_PROTECTION (#8394)

eppc0330 11 miesięcy temu
rodzic
commit
d191c2cf2a

+ 6 - 6
db/re/item_combos.yml

@@ -21746,7 +21746,7 @@ Body:
       if (.@sum >= 27) {
          bonus3 bAutoSpell,"HW_NAPALMVULCAN",5,80;
       }
-      else if (.@sum >= 27) {
+      else if (.@sum >= 21) {
          bonus3 bAutoSpell,"HW_NAPALMVULCAN",3,40;
       }
   - Combos:
@@ -21760,7 +21760,7 @@ Body:
       if (.@sum >= 27) {
          bonus3 bAutoSpell,"AS_SONICBLOW",10,80;
       }
-      else if (.@sum >= 27) {
+      else if (.@sum >= 21) {
          bonus3 bAutoSpell,"AS_SONICBLOW",7,40;
       }
   - Combos:
@@ -21770,10 +21770,10 @@ Body:
     Script: |
       .@sum = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHOES);
       bonus bMatkRate,2;
-      if (.@sum >= 27) {
+      if (.@sum >= 20) {
          bonus3 bAutoSpell,"WL_JACKFROST",max(getskilllv("WL_JACKFROST"),4),80;
       }
-      else if (.@sum >= 27) {
+      else if (.@sum >= 18) {
          bonus3 bAutoSpell,"WL_JACKFROST",max(getskilllv("WL_JACKFROST"),2),40;
       }
   - Combos:
@@ -28403,7 +28403,7 @@ Body:
       bonus bVariableCastrate,-10;
   - Combos:
       - Combo:
-          - aegis_490220   # 490220
+          - Hero_Token_HN   # 490220
           - Blessed_Knife_LT   # 510072
     Script: |
       bonus2 bAddSize,Size_All,15;
@@ -28418,7 +28418,7 @@ Body:
       }
   - Combos:
       - Combo:
-          - aegis_490220   # 490220
+          - Hero_Token_HN   # 490220
           - Freedom_Stick_LT   # 550082
     Script: |
       bonus2 bMagicAddSize,Size_All,15;

+ 2 - 4
db/re/item_db_equip.yml

@@ -24550,8 +24550,7 @@ Body:
       bonus bVit,20;
       bonus2 bSubRace,RC_All,30;
       bonus bUnbreakableShield;
-      /*todo instead of autobonus2 bonus4 bAutoSpellWhenHit,"ALL_RAY_OF_PROTECTION",1,50,0;*/
-      autobonus2 "{ sc_end SC_STUN; sc_end SC_SLEEP; sc_end SC_CURSE; sc_end SC_STONE; sc_end SC_POISON; sc_end SC_BLIND; sc_end SC_SILENCE; sc_end SC_BLEEDING; sc_end SC_CONFUSION; sc_end SC_FREEZE; bonus2 bResEff,Eff_Stun,10000; bonus2 bResEff,Eff_Sleep,10000; bonus2 bResEff,Eff_Curse,10000; bonus2 bResEff,Eff_Stone,10000; bonus2 bResEff,Eff_Poison,10000; bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Silence,10000; bonus2 bResEff,Eff_Bleeding,10000; bonus2 bResEff,Eff_Confusion,10000; bonus2 bResEff,Eff_Freeze,10000; }",50,60000,BF_SHORT;
+      bonus4 bAutoSpellWhenHit,"ALL_RAY_OF_PROTECTION",1,50,0;
   - Id: 2183
     AegisName: Impr_Angel's_Safeguard
     Name: Advanced Angelic Guard
@@ -178372,7 +178371,6 @@ Body:
     Locations:
       Costume_Head_Mid: true
     ArmorLevel: 1
-    View: 2420
     Script: |
       hateffect HAT_EF_C_FLUTTERING_HAZE,true;
     UnEquipScript: |
@@ -205557,7 +205555,7 @@ Body:
       bonus bLongAtkRate,5;
       bonus bMaxHPrate,3*getskilllv("RK_DRAGONHOWLING");
   - Id: 490220
-    AegisName: aegis_490220
+    AegisName: Hero_Token_HN
     Name: Heroic Token (Hyper Novice)
     Type: Armor
     Weight: 200

+ 3 - 3
db/re/item_db_etc.yml

@@ -14232,7 +14232,7 @@ Body:
     Type: Card
     SubType: Enchant
     Script: |
-      autobonus2 "{ bonus bStr,200; bonus2 bHPLossRate,500,1000; }",20,5000,BF_WEAPON,"{ active_transform 1060,5000; specialeffect2 EF_POTION_BERSERK; showscript \"Bigfoot Power !\"; }";
+      autobonus2 "{ bonus bStr,200; bonus2 bHPLossRate,500,1000; }",20,5000,BF_WEAPON,"{ specialeffect2 EF_POTION_BERSERK; }";
     UnEquipScript: |
       heal 0,-300;
   - Id: 4876
@@ -50596,8 +50596,8 @@ Body:
     Script: |
       bonus2 bAddRace,RC_Demon,40;
       bonus2 bAddRace,RC_DemiHuman,40;
-      bonus3 bSubRace,RC_Demon,-30,BF_NORMAL;
-      bonus3 bSubRace,RC_DemiHuman,-30,BF_NORMAL;
+      bonus3 bSubRace,RC_Demon,-30,BF_WEAPON;
+      bonus3 bSubRace,RC_DemiHuman,-30,BF_WEAPON;
   - Id: 300281
     AegisName: R001_Bestia_Card
     Name: R001-Bestia Card

+ 26 - 30
db/re/item_db_usable.yml

@@ -5700,7 +5700,6 @@ Body:
     AegisName: Tropical_Sograt
     Name: Tropical Sograt
     Type: Usable
-    Buy: 1000
     Weight: 100
     Flags:
       BuyingStore: true
@@ -5710,7 +5709,6 @@ Body:
     AegisName: Vermilion_The_Beach
     Name: Vermilion on the Beach
     Type: Usable
-    Buy: 1000
     Weight: 100
     Flags:
       BuyingStore: true
@@ -51130,8 +51128,8 @@ Body:
       NoGuildStorage: true
       NoMail: true
       NoAuction: true
-#   Script: |
-#     /* TODO */
+    Script: |
+      getitem 5464,1;
   - Id: 17203
     AegisName: Free_Pass_Box
     Name: Free Pass Box
@@ -63090,7 +63088,6 @@ Body:
     AegisName: Vend_Arbeit1_1Lv
     Name: "[1 Day] Consignment Merchant Envelope Lv1"
     Type: Usable
-    Weight: 10
     Flags:
       Container: true
     Script: |
@@ -63099,7 +63096,6 @@ Body:
     AegisName: Vend_Arbeit1_2Lv
     Name: "[1 Day] Consignment Merchant Envelope Lv2"
     Type: Usable
-    Weight: 10
     Flags:
       Container: true
     Script: |
@@ -63108,7 +63104,6 @@ Body:
     AegisName: Vend_Arbeit1_3Lv
     Name: "[1 Day] Consignment Merchant Envelope Lv3"
     Type: Usable
-    Weight: 10
     Flags:
       Container: true
     Script: |
@@ -63117,7 +63112,6 @@ Body:
     AegisName: Buy_Arbeit1_1Lv
     Name: "[1 Day] Personal Shopper Envelope Lv1"
     Type: Usable
-    Weight: 10
     Flags:
       Container: true
     Script: |
@@ -63126,7 +63120,6 @@ Body:
     AegisName: Buy_Arbeit1_2Lv
     Name: "[1 Day] Personal Shopper Envelope Lv2"
     Type: Usable
-    Weight: 10
     Flags:
       Container: true
     Script: |
@@ -63135,7 +63128,6 @@ Body:
     AegisName: Buy_Arbeit1_3Lv
     Name: "[1 Day] Personal Shopper Envelope Lv3"
     Type: Usable
-    Weight: 10
     Flags:
       Container: true
     Script: |
@@ -63234,7 +63226,6 @@ Body:
     AegisName: Vend_Arbeit3_1Lv
     Name: "[3 Day] Consignment Merchant Envelope Lv1"
     Type: Usable
-    Weight: 10
     Flags:
       Container: true
     Script: |
@@ -63243,7 +63234,6 @@ Body:
     AegisName: Vend_Arbeit3_2Lv
     Name: Consignment Merchant Envelope
     Type: Usable
-    Weight: 10
     Flags:
       Container: true
     Script: |
@@ -63252,7 +63242,6 @@ Body:
     AegisName: Vend_Arbeit3_3Lv
     Name: "[3 Day] Consignment Merchant Envelope Lv3"
     Type: Usable
-    Weight: 10
     Flags:
       Container: true
     Script: |
@@ -63261,7 +63250,6 @@ Body:
     AegisName: Buy_Arbeit3_1Lv
     Name: "[3 Day] Personal Shopper Envelope Lv1"
     Type: Usable
-    Weight: 10
     Flags:
       Container: true
     Script: |
@@ -63270,7 +63258,6 @@ Body:
     AegisName: Buy_Arbeit3_2Lv
     Name: Personal Shopper Envelope
     Type: Usable
-    Weight: 10
     Flags:
       Container: true
     Script: |
@@ -63279,7 +63266,6 @@ Body:
     AegisName: Buy_Arbeit3_3Lv
     Name: "[3 Day] Personal Shopper Envelope Lv3"
     Type: Usable
-    Weight: 10
     Flags:
       Container: true
     Script: |
@@ -68476,8 +68462,8 @@ Body:
     Weight: 10
     Flags:
       BuyingStore: true
-#   Script: |
-#     /* TODO */
+    Script: |
+      sc_start SC_EXPBOOST,900000,100;
   - Id: 100352
     AegisName: Real_Battle_Manual
     Name: Real Combat Manual
@@ -68485,8 +68471,9 @@ Body:
     Weight: 10
     Flags:
       BuyingStore: true
-#   Script: |
-#     /* TODO */
+    Script: |
+      sc_start SC_EXPBOOST,3600000,100;
+      sc_start SC_SPEEDUP0,600000,25;
   - Id: 100354
     AegisName: Auto_Armor_Refine_Cube
     Name: Automatic Armor +11 Refinement Cube
@@ -70339,8 +70326,8 @@ Body:
     Weight: 50
     Flags:
       BuyingStore: true
-#   Script: |
-#     /* TODO */
+    Script: |
+      pet 1198;
   - Id: 100810
     AegisName: BroadcastBox_
     Name: Broadcast Box
@@ -72635,8 +72622,8 @@ Body:
     Name: Spring Regulator
     Type: Usable
     Weight: 10
-#   Script: |
-#     /* TODO */
+    Script: |
+      item_enchant(24);
   - Id: 101100
     AegisName: Poenetentia_Box3
     Name: Poenitentia Two Swords Set Box
@@ -73601,6 +73588,7 @@ Body:
     Flags:
       BuyingStore: true
     Script: |
+      /* TODO : pet 21632; */
       pet 1005;
   - Id: 101336
     AegisName: aegis_101336
@@ -76680,23 +76668,31 @@ Body:
     Script: |
       item_reform();
   - Id: 102128
-    AegisName: aegis_102128
+    AegisName: All_In_One_buff
     Name: All-in-One Buff Potion    # !todo check english name
     Type: Usable
     Weight: 10
     Flags:
       BuyingStore: true
-#   Script: |
-#     /* TODO */
+    Script: |
+      specialeffect2 EF_POTION_BERSERK;
+      sc_start SC_M_DEFSCROLL,3600000,0;
+      sc_start SC_LIMIT_POWER_BOOSTER,3600000,30;
+      sc_start SC_INFINITY_DRINK,3600000,0;
+      sc_start SC_SPEEDUP0,600000,25;
   - Id: 102129
-    AegisName: aegis_102129
+    AegisName: All_In_One_Healing
     Name: All-in-one Healing Potion    # !todo check english name
     Type: Usable
     Weight: 10
     Flags:
       BuyingStore: true
-#   Script: |
-#     /* TODO */
+    Script: |
+      specialeffect2 EF_HEAL3;
+      sc_start2 SC_S_LIFEPOTION,3600000,-5,5;
+      sc_start2 SC_L_LIFEPOTION,3600000,-7,4;
+      sc_start2 SC_M_LIFEPOTION,3600000,-4,3;
+      sc_start SC_SPEEDUP0,600000,25;
   - Id: 102193
     AegisName: aegis_102193
     Name: Costume Enchant Stone Box 30

+ 1 - 1
db/re/item_group_db.yml

@@ -92258,7 +92258,7 @@ Body:
             Item: Hero_Token_SH
             Rate: 10
           - Index: 17
-            Item: aegis_490220
+            Item: Hero_Token_HN
             Rate: 10
   - Group: JANUARYGIFTBOX_
     SubGroups:

+ 1 - 0
db/re/pet_db.yml

@@ -2788,6 +2788,7 @@ Body:
 #         bonus bFlee,20;
 #      }
 #
+#  - Mob: FARMILIAR2 #TODO : Implement mob FARMILIAR2
   - Mob: FARMILIAR
     TameItem: Fruits_Set_Trap
     EggItem: Farmiliar_Egg

+ 13 - 0
db/re/skill_db.yml

@@ -29693,6 +29693,19 @@ Body:
         - Level: 2
           Amount: 100
     Status: Odins_Power
+  - Id: 2543
+    Name: ALL_RAY_OF_PROTECTION
+    Description: Ray of Protection
+    MaxLevel: 1
+    Type: Magic
+    TargetType: Support
+    DamageFlags:
+      NoDamage: true
+    Range: 1
+    Hit: Single
+    HitCount: 1
+    Duration1: 60000
+    Status: Protection
   - Id: 2544
     Name: MC_CARTDECORATE
     Description: Decorate Cart

+ 28 - 0
db/re/status.yml

@@ -72,6 +72,7 @@ Body:
       Stun: true
       Sleep: true
       Burning: true
+      Protection: true
     EndOnStart:
       Aeterna: true
     EndReturn:
@@ -125,6 +126,7 @@ Body:
       Stun: true
       Sleep: true
       Burning: true
+      Protection: true
     EndOnStart:
       Aeterna: true
   - Status: Stun
@@ -144,6 +146,7 @@ Body:
       Inspiration: true
       Gvg_Stun: true
       Stun: true
+      Protection: true
   - Status: Sleep
     DurationLookup: NPC_SLEEPATTACK
     States:
@@ -162,6 +165,7 @@ Body:
       Inspiration: true
       Gvg_Sleep: true
       Sleep: true
+      Protection: true
   - Status: Poison
     DurationLookup: NPC_POISON
     CalcFlags:
@@ -180,6 +184,7 @@ Body:
       Inspiration: true
       Poison: true
       Dpoison: true
+      Protection: true
   - Status: Curse
     DurationLookup: NPC_WIDECURSE
     CalcFlags:
@@ -198,6 +203,7 @@ Body:
       Inspiration: true
       Gvg_Curse: true
       Curse: true
+      Protection: true
   - Status: Silence
     DurationLookup: NPC_SILENCEATTACK
     States:
@@ -214,6 +220,7 @@ Body:
       Inspiration: true
       Gvg_Silence: true
       Silence: true
+      Protection: true
   - Status: Confusion
     DurationLookup: NPC_WIDECONFUSE
     Flags:
@@ -223,6 +230,7 @@ Body:
     Fail:
       Refresh: true
       Inspiration: true
+      Protection: true
     EndReturn:
       Confusion: true
   - Status: Blind
@@ -242,6 +250,7 @@ Body:
       Fear: true
       Gvg_Blind: true
       Blind: true
+      Protection: true
   - Status: Bleeding
     Icon: EFST_BLOODING
     DurationLookup: NPC_BLEEDING
@@ -259,6 +268,7 @@ Body:
     Fail:
       Refresh: true
       Inspiration: true
+      Protection: true
   - Status: Dpoison
     DurationLookup: NPC_POISON
     CalcFlags:
@@ -8923,3 +8933,21 @@ Body:
       NoClearance: true
     EndOnStart:
       Decreaseagi: true
+  - Status: Protection
+    Icon: EFST_RAY_OF_PROTECTION
+    Flags:
+      NoClearbuff: true
+      NoDispell: true
+      NoBanishingBuster: true
+      NoClearance: true
+    EndOnStart:
+      Stun: true
+      Sleep: true
+      Curse: true
+      Stone: true
+      Poison: true
+      Blind: true
+      Silence: true
+      Bleeding: true
+      Confusion: true
+      Freeze: true

+ 1 - 0
src/map/script_constants.hpp

@@ -1915,6 +1915,7 @@
 	export_constant(SC_EXTREMITYFIST2);
 	export_constant(SC_POWERUP);
 	export_constant(SC_AGIUP);
+	export_constant(SC_PROTECTION);
 
 	/* status icons */
 	export_deprecated_constant2("SI_BLANK",-1);

+ 1 - 0
src/map/skill.cpp

@@ -7841,6 +7841,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
 	case SU_TUNAPARTY:
 	case SU_GROOMING:
 	case SU_CHATTERING:
+	case ALL_RAY_OF_PROTECTION:
 		clif_skill_nodamage(bl,bl,skill_id,skill_lv,
 			sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv)));
 		break;

+ 1 - 0
src/map/status.hpp

@@ -1310,6 +1310,7 @@ enum sc_type : int16 {
 	SC_EXTREMITYFIST2,
 	SC_POWERUP,
 	SC_AGIUP,
+	SC_PROTECTION,
 
 	SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
 };