瀏覽代碼

New Achievements & first aid starter pack (#7414)

Fixes #7406
Balfear 2 年之前
父節點
當前提交
a3703495a0
共有 4 個文件被更改,包括 586 次插入8 次删除
  1. 2 1
      conf/char_athena.conf
  2. 21 7
      db/re/achievement_db.yml
  3. 559 0
      db/re/item_db_usable.yml
  4. 4 0
      src/char/char.cpp

+ 2 - 1
conf/char_athena.conf

@@ -121,7 +121,8 @@ start_point_doram: lasa_fild01,48,297
 // Format: <id>,<amount>,<position>{:<id>,<amount>,<position>...}
 // Format: <id>,<amount>,<position>{:<id>,<amount>,<position>...}
 // To auto-equip an item, include the position where it will be equipped; otherwise, use zero.
 // To auto-equip an item, include the position where it will be equipped; otherwise, use zero.
 // NOTE: For Doram, this requires client 20151001 or newer.
 // NOTE: For Doram, this requires client 20151001 or newer.
-start_items: 1201,1,2:2301,1,16
+start_items: 1201,1,2:2301,1,16:23484,1,0
+start_items_pre: 1201,1,2:2301,1,16
 start_items_doram: 1681,1,2:2301,1,16
 start_items_doram: 1681,1,2:2301,1,16
 
 
 // Starting zeny for new characters
 // Starting zeny for new characters

+ 21 - 7
db/re/achievement_db.yml

@@ -1784,6 +1784,12 @@ Body:
     Rewards:
     Rewards:
       TitleId: 1034
       TitleId: 1034
     Score: 10
     Score: 10
+  - Id: 130005 # TODO (Terra Gloria: give achievement when player visit the coronation ceremony)
+    Group: Chatting
+    Name: Who made the king
+    Rewards:
+      TitleID: 1046
+    Score: 10
   - Id: 170000
   - Id: 170000
     Group: Chatting
     Group: Chatting
     Name: Song chamber is not an accident
     Name: Song chamber is not an accident
@@ -2037,30 +2043,38 @@ Body:
     Name: Reborn in Valhalla!
     Name: Reborn in Valhalla!
     Condition: " Class == JOB_NOVICE_HIGH "
     Condition: " Class == JOB_NOVICE_HIGH "
     Rewards:
     Rewards:
-    #  Item: Adventurer_Box_1
+      Item: Adventurer_Box_1
       Script: " specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,30000,10; "
       Script: " specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,30000,10; "
     Score: 10
     Score: 10
   - Id: 200032
   - Id: 200032
     Group: Goal_Level
     Group: Goal_Level
     Name: The start of another adventure!
     Name: The start of another adventure!
     Condition: " BaseLevel == 100 "
     Condition: " BaseLevel == 100 "
-    #Rewards:
-    #  Item: Rebeginer_Box_100
+    Rewards:
+      Item: Rebeginer_Box_100
     Score: 10
     Score: 10
   - Id: 200033
   - Id: 200033
     Group: Goal_Level
     Group: Goal_Level
     Name: With a new mind!(1)
     Name: With a new mind!(1)
     Condition: " BaseLevel == 170 && (Class >= JOB_RUNE_KNIGHT && Class <= JOB_GUILLOTINE_CROSS_T) "
     Condition: " BaseLevel == 170 && (Class >= JOB_RUNE_KNIGHT && Class <= JOB_GUILLOTINE_CROSS_T) "
-    #Rewards:
-    #  Item: Costume_Ticket
+    Rewards:
+      Item: Costume_Ticket
     Score: 50
     Score: 50
   - Id: 200034
   - Id: 200034
     Group: Goal_Level
     Group: Goal_Level
     Name: With a new mind!(2)
     Name: With a new mind!(2)
     Condition: " BaseLevel == 170 && (Class >= JOB_ROYAL_GUARD && Class <= JOB_SHADOW_CHASER_T) "
     Condition: " BaseLevel == 170 && (Class >= JOB_ROYAL_GUARD && Class <= JOB_SHADOW_CHASER_T) "
-    #Rewards:
-    #  Item: Costume_Ticket
+    Rewards:
+      Item: Costume_Ticket
     Score: 50
     Score: 50
+  - Id: 200035
+    Group: Goal_Level
+    Name: Level 200 achieved!
+    Condition: " BaseLevel == 200 "
+    Rewards:
+      Item: C_Magestic_Goat2
+      Script: " specialeffect2 EF_BLESSING; sc_start SC_BLESSING,30000,10; "
+    Score: 100
   - Id: 220000
   - Id: 220000
     Group: Chatting_Create
     Group: Chatting_Create
     Name: Community begin
     Name: Community begin

+ 559 - 0
db/re/item_db_usable.yml

@@ -3802,6 +3802,34 @@ Body:
     Script: |
     Script: |
       itemheal rand(50,100),0;
       itemheal rand(50,100),0;
       /*TODO*/
       /*TODO*/
+  - Id: 11614
+    AegisName: Fresh_Milk
+    Name: Fresh Milk
+    Type: Healing
+    Weight: 30
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoAuction: true
+    Script: |
+      itemheal rand(27,37),0;
+  - Id: 11615
+    AegisName: Sweet_Potato_
+    Name: Sweet Potato
+    Type: Healing
+    Weight: 20
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoAuction: true
+    Script: |
+      itemheal rand(15,23),0;
   - Id: 11616
   - Id: 11616
     AegisName: Yummy_Meat
     AegisName: Yummy_Meat
     Name: Delicious Meat
     Name: Delicious Meat
@@ -47539,6 +47567,20 @@ Body:
     Script: |
     Script: |
       input .@megaphone$;
       input .@megaphone$;
       announce strcharinfo(0) + ": " + .@megaphone$,bc_all,0xFF0000;
       announce strcharinfo(0) + ": " + .@megaphone$,bc_all,0xFF0000;
+  - Id: 23338
+    AegisName: Comp_Wing_Of_Fly
+    Name: Compressed Fly Wing
+    Type: Delayconsume
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+       itemskill "AL_TELEPORT",1;
   - Id: 23360
   - Id: 23360
     AegisName: Psychotropic
     AegisName: Psychotropic
     Name: Psychotropic
     Name: Psychotropic
@@ -47678,6 +47720,397 @@ Body:
     Script: |
     Script: |
       specialeffect2 EF_POTION_BERSERK;
       specialeffect2 EF_POTION_BERSERK;
       sc_start SC_INFINITY_DRINK,1800000,0;
       sc_start SC_INFINITY_DRINK,1800000,0;
+  - Id: 23484
+    AegisName: Firstaid_Box_5
+    Name: First aid Box (5)
+    Type: Usable
+    EquipLevelMin: 5
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11518,10;
+      getitem 11614,20;
+      getitem 12325,15;
+      getitem 22542,1;
+      getitem 23485,1;
+  - Id: 23485
+    AegisName: Firstaid_Box_10
+    Name: First aid Box (10)
+    Type: Usable
+    EquipLevelMin: 10
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11518,15;
+      getitem 11614,40;
+      getitem 12325,15;
+      getitem 22542,1;
+      getitem 23486,1;
+  - Id: 23486
+    AegisName: Firstaid_Box_15
+    Name: First aid Box (15)
+    Type: Usable
+    EquipLevelMin: 15
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11518,20;
+      getitem 11614,60;
+      getitem 12325,10;
+      getitem 22542,2;
+      getitem 23487,1;
+  - Id: 23487
+    AegisName: Firstaid_Box_20
+    Name: First aid Box (20)
+    Type: Usable
+    EquipLevelMin: 20
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11518,15;
+      getitem 11615,80;
+      getitem 12325,10;
+      getitem 22542,2;
+      getitem 23488,1;
+  - Id: 23488
+    AegisName: Firstaid_Box_25
+    Name: First aid Box (25)
+    Type: Usable
+    EquipLevelMin: 25
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11518,20;
+      getitem 11615,100;
+      getitem 12325,5;
+      getitem 22542,3;
+      getitem 23489,1;
+  - Id: 23489
+    AegisName: Firstaid_Box_30
+    Name: First aid Box (30)
+    Type: Usable
+    EquipLevelMin: 30
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11518,25;
+      getitem 11615,120;
+      getitem 12325,5;
+      getitem 22542,3;
+      getitem 23490,1;
+  - Id: 23490
+    AegisName: Firstaid_Box_35
+    Name: First aid Box (35)
+    Type: Usable
+    EquipLevelMin: 35
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,15;
+      getitem 22542,3;
+      getitem 23491,1;
+      getitem 23503,5;
+  - Id: 23491
+    AegisName: Firstaid_Box_40
+    Name: First aid Box (40)
+    Type: Usable
+    EquipLevelMin: 40
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,15;
+      getitem 22544,2;
+      getitem 23492,1;
+      getitem 23503,6;
+  - Id: 23492
+    AegisName: Firstaid_Box_45
+    Name: First aid Box (45)
+    Type: Usable
+    EquipLevelMin: 45
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,20;
+      getitem 22544,2;
+      getitem 23493,1;
+      getitem 23503,7;
+  - Id: 23493
+    AegisName: Firstaid_Box_50
+    Name: First aid Box (50)
+    Type: Usable
+    EquipLevelMin: 50
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,20;
+      getitem 22544,2;
+      getitem 23494,1;
+      getitem 23504,7;
+  - Id: 23494
+    AegisName: Firstaid_Box_55
+    Name: First aid Box (55)
+    Type: Usable
+    EquipLevelMin: 55
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,25;
+      getitem 22544,2;
+      getitem 23495,1;
+      getitem 23504,8;
+  - Id: 23495
+    AegisName: Firstaid_Box_60
+    Name: First aid Box (60)
+    Type: Usable
+    EquipLevelMin: 60
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,25;
+      getitem 23496,1;
+      getitem 23504,9;
+  - Id: 23496
+    AegisName: Firstaid_Box_65
+    Name: First aid Box (65)
+    Type: Usable
+    EquipLevelMin: 65
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,30;
+      getitem 23497,1;
+      getitem 23505,5;
+  - Id: 23497
+    AegisName: Firstaid_Box_70
+    Name: First aid Box (70)
+    Type: Usable
+    EquipLevelMin: 70
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,30;
+      getitem 23498,1;
+      getitem 23505,6;
+  - Id: 23498
+    AegisName: Firstaid_Box_75
+    Name: First aid Box (75)
+    Type: Usable
+    EquipLevelMin: 75
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,35;
+      getitem 23499,1;
+      getitem 23505,7;
+  - Id: 23499
+    AegisName: Firstaid_Box_80
+    Name: First aid Box (80)
+    Type: Usable
+    EquipLevelMin: 80
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,35;
+      getitem 23500,1;
+      getitem 23505,8;
+  - Id: 23500
+    AegisName: Firstaid_Box_85
+    Name: First aid Box (85)
+    Type: Usable
+    EquipLevelMin: 85
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,40;
+      getitem 22543,2;
+      getitem 23501,1;
+      getitem 23506,7;
+  - Id: 23501
+    AegisName: Firstaid_Box_90
+    Name: First aid Box (90)
+    Type: Usable
+    EquipLevelMin: 90
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,40;
+      getitem 22543,2;
+      getitem 23502,1;
+      getitem 23506,8;
+  - Id: 23502
+    AegisName: Firstaid_Box_95
+    Name: First aid Box (95)
+    Type: Usable
+    EquipLevelMin: 95
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11572,45;
+      getitem 22543,2;
+      getitem 23506,8;
+  - Id: 23503
+    AegisName: Red_Potion_B_20
+    Name: "[Event] Crate of 20 Red Potions"
+    Type: Usable
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11570,20;
+  - Id: 23504
+    AegisName: Orange_Potion_B_20
+    Name: "[Event] Crate of 20 Orange Potions"
+    Type: Usable
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11569,20;
   - Id: 23505
   - Id: 23505
     AegisName: Yellow_Potion_B_20
     AegisName: Yellow_Potion_B_20
     Name: "[Event] Crate of 20 Yellow Potions"
     Name: "[Event] Crate of 20 Yellow Potions"
@@ -47808,6 +48241,132 @@ Body:
     Script: |
     Script: |
       percentheal 5,0;
       percentheal 5,0;
       sc_start SC_MATKPOTION,600000,3;
       sc_start SC_MATKPOTION,600000,3;
+  - Id: 23575
+    AegisName: Adventurer_Box_1
+    Name: Adventurer Box (1)
+    Type: Usable
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11567,100;
+      getitem 12265,5;
+      getitem 22979,5;
+      getitem 23338,50;
+      getitem 23576,1;
+  - Id: 23576
+    AegisName: Adventurer_Box_15
+    Name: Adventurer Box (15)
+    Type: Usable
+    EquipLevelMin: 15
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 11567,150;
+      getitem 23338,50;
+      getitem 23577,1;
+  - Id: 23577
+    AegisName: Adventurer_Box_30
+    Name: Adventurer Box (30)
+    Type: Usable
+    EquipLevelMin: 30
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 23338,50;
+      getitem 23503,20;
+      getitem 23578,1;
+  - Id: 23578
+    AegisName: Adventurer_Box_45
+    Name: Adventurer Box (45)
+    Type: Usable
+    EquipLevelMin: 45
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 23338,50;
+      getitem 23503,25;
+      getitem 23579,1;
+  - Id: 23579
+    AegisName: Adventurer_Box_60
+    Name: Adventurer Box (60)
+    Type: Usable
+    EquipLevelMin: 60
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 23338,50;
+      getitem 23504,20;
+      getitem 23580,1;
+  - Id: 23580
+    AegisName: Adventurer_Box_75
+    Name: Adventurer Box (75)
+    Type: Usable
+    EquipLevelMin: 75
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 23338,50;
+      getitem 23504,25;
+      getitem 23581,1;
+  - Id: 23581
+    AegisName: Adventurer_Box_90
+    Name: Adventurer Box (90)
+    Type: Usable
+    EquipLevelMin: 90
+    Weight: 0
+    Trade:
+      NoDrop: true
+      NoTrade: true
+      NoCart: true
+      NoStorage: true
+      NoGuildStorage: true
+      NoMail: true
+      NoAuction: true
+    Script: |
+      getitem 23505,20;
+      getitem 23338,50;
   - Id: 23582
   - Id: 23582
     AegisName: E_Wing_Of_Fly_3Day_Box
     AegisName: E_Wing_Of_Fly_3Day_Box
     Name: "[Gift] Unlimited Fly Wing 3 Day Box"
     Name: "[Gift] Unlimited Fly Wing 3 Day Box"

+ 4 - 0
src/char/char.cpp

@@ -3010,7 +3010,11 @@ bool char_config_read(const char* cfgName, bool normal){
 			charserv_config.start_zeny = atoi(w2);
 			charserv_config.start_zeny = atoi(w2);
 			if (charserv_config.start_zeny < 0)
 			if (charserv_config.start_zeny < 0)
 				charserv_config.start_zeny = 0;
 				charserv_config.start_zeny = 0;
+#ifdef RENEWAL
 		} else if (strcmpi(w1, "start_items") == 0) {
 		} else if (strcmpi(w1, "start_items") == 0) {
+#else
+		} else if (strcmpi(w1, "start_items_pre") == 0) {
+#endif
 			char_config_split_startitem(w1, w2, charserv_config.start_items);
 			char_config_split_startitem(w1, w2, charserv_config.start_items);
 #if PACKETVER >= 20151001
 #if PACKETVER >= 20151001
 		} else if (strcmpi(w1, "start_items_doram") == 0) {
 		} else if (strcmpi(w1, "start_items_doram") == 0) {