* Part two of fixing bugreport:6527. Players can now change equipment when talking with NPCs by default. This behavior can be switched off in conf/battle/items.conf. (Hercules ad792f4)

* Minor update to Renewal item database.
* Follow-up r17158, added a missing label in Octopus Cave instance (bugreport:7303).

> Hercules merges:
* b9c79ce:
Fixed NJ_SUITON not working properly with Kagerou/Oboro.

* dbf69e8:
Updated quest_db with more Port Malaya entries.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17163 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
euphyy 2013-02-27 01:49:09 +00:00
parent a79985a0c8
commit 6e72489049
14 changed files with 109 additions and 44 deletions

View File

@ -78,3 +78,7 @@ autospell_stacking: no
// Will disabled consumables (disabled by item_noequip.txt) be consumed when trying to use them? (Note 1)
item_restricted_consumption_type: yes
// Allow changing of equipment while interacting with NPCs? (Note 1)
// Default: yes
item_enabled_npc: yes

View File

@ -890,9 +890,58 @@
7356,0,0,0,0,0,0,0,"Little Kid Wants a Button"
7357,0,0,0,0,0,0,0,"Middle-aged Guy Wants a Button"
7358,0,0,0,0,0,0,0,"Why do they want my Buttons?"
7359,0,0,0,0,0,0,0,"Deliver Holy Item to Sailor"
7360,0,0,0,0,0,0,0,"Deliver Holy Item to Old Man"
7361,0,0,0,0,0,0,0,"Deliver Holy Item to Young Man"
7362,0,0,0,0,0,0,0,"Deliver Holy Item to Merchant"
7363,0,0,0,0,0,0,0,"Deliver Holy Item to Little Kid"
7364,0,0,0,0,0,0,0,"Deliver Holy Item to Middle-aged Man"
7365,0,0,0,0,0,0,0,"Better than My Old Button-2"
7366,0,0,0,0,0,0,0,"Traditional Spiritual Protection and Impudent Girl-1"
7367,0,0,0,0,0,0,0,"Traditional Spiritual Protection and Impudent Girl-2"
7368,0,0,0,0,0,0,0,"Deliver Spiritual Protection-Pedro"
7369,0,0,0,0,0,0,0,"Deliver Spiritual Protection-Nardo"
7370,0,0,0,0,0,0,0,"Deliver Spiritual Protection-Pandoi"
7371,0,0,0,0,0,0,0,"Deliver Spiritual Protection-Woeon"
7372,0,0,0,0,0,0,0,"Deliver Spiritual Protection-Talah"
7373,0,0,0,0,0,0,0,"Deliver Spiritual Protection-Romel"
7374,0,0,0,0,0,0,0,"Love and Spiritual Protection for All"
7375,0,0,0,0,0,0,0,"Love and Spiritual Protection Continues"
7376,0,0,0,0,0,0,0,"Old Man and Cast-Iron Caldron-1"
7377,0,0,0,0,0,0,0,"Old Man and Cast-Iron Caldron-2"
7378,0,0,0,0,0,0,0,"Old Man and Cast-Iron Caldron-Regular Trades"
7379,0,0,0,0,0,0,0,"Peace Preacher"
7380,0,0,0,0,0,0,0,"To Smith a Traditional Spiritual Protection"
7381,0,0,0,0,0,0,0,"High Demand on Spiritual Protection Material"
7382,0,0,0,0,0,0,0,"Deliver to Pedro"
7383,0,0,0,0,0,0,0,"Deliver to Nardo"
7384,0,0,0,0,0,0,0,"Deliver to Pandoi"
7385,0,0,0,0,0,0,0,"Deliver to Woeon"
7386,0,0,0,0,0,0,0,"Deliver to Talah"
7387,0,0,0,0,0,0,0,"Deliver to Romel"
7388,0,0,0,0,0,0,0,"Maries's Child"
7389,0,0,0,0,0,0,0,"Give the Shirt to Maries's Child"
7390,0,0,0,0,0,0,0,"Worried about Maries's Child"
7391,0,0,0,0,0,0,0,"Jejeling and Jejellopy"
7392,0,0,0,0,0,0,0,"Collect Jejellopy Regularly"
7393,0,0,0,0,0,0,0,"Shiny Silver Blade"
7394,0,0,0,0,0,0,0,"Shiny Tomorrow"
7395,0,0,0,0,0,0,0,"Ghost on the Perry Ship"
7396,0,0,0,0,0,0,0,"Angry Soul on Perry Ship"
7397,0,0,0,0,0,0,0,"Mumbaki Phong's Advice"
7398,0,0,0,0,0,0,0,"Offering Bouquet Recommended by Mumbaki"
7399,0,0,0,0,0,0,0,"Soul Diwata's Story"
7400,0,0,0,0,0,0,0,"Mumbaki of Port Malaya"
7401,0,0,0,0,0,0,0,"All Aboard for Perry Sailing"
7402,0,0,0,0,0,0,0,"Bouquet for Diwata"
7403,0,0,0,0,0,0,0,"Stabilized Perry"
7404,0,0,0,0,0,0,0,"Get Rid of Jejeling"
7405,0,0,0,0,0,0,0,"Get Rid of Jejeling - Same Time Tomorrow"
7406,0,0,0,0,0,0,0,"Agree to Collecting Bones!"
7407,0,0,0,0,0,0,0,"Purified Bone"
7408,0,0,0,0,0,0,0,"Agree to Come Back Tomorrow?"
7409,0,0,0,0,0,0,0,"Cannot Meet Eyes with Him!"
7410,0,0,0,0,0,0,0,"Teach Another Lesson Tomorrow!"
8000,0,0,0,0,0,0,0,"Quitting Job Change"
8001,0,0,0,0,0,0,0,"Job Change to Assassin"

View File

@ -3881,11 +3881,11 @@
6415,Strange_Embryo,Strange Embryo,3,0,,0,,,,,,,,,,,,,{},{},{}
6416,Pet_Exchange,Pet Exchange,3,0,,0,,,,,,,,,,,,,{},{},{}
6417,Garderie_Fruit,Garderie Fruit,3,20,,0,,,,,,,,,,,,,{},{},{}
6418,A_Grade_Coin,A Grade Coin,3,20,,0,,,,,,,,,,,,,{},{},{}
6419,B_Grade_Coin,B Grade Coin,3,20,,0,,,,,,,,,,,,,{},{},{}
6420,C_Grade_Coin,C Grade Coin,3,20,,0,,,,,,,,,,,,,{},{},{}
6421,D_Grade_Coin,D Grade Coin,3,20,,0,,,,,,,,,,,,,{},{},{}
6422,E_Grade_Coin,E Grade Coin,3,20,,0,,,,,,,,,,,,,{},{},{}
6418,Agrade_Coin,A Grade Coin,3,20,,0,,,,,,,,,,,,,{},{},{}
6419,Bgrade_Coin,B Grade Coin,3,20,,0,,,,,,,,,,,,,{},{},{}
6420,Cgrade_Coin,C Grade Coin,3,20,,0,,,,,,,,,,,,,{},{},{}
6421,Dgrade_Coin,D Grade Coin,3,20,,0,,,,,,,,,,,,,{},{},{}
6422,Egrade_Coin,E Grade Coin,3,20,,0,,,,,,,,,,,,,{},{},{}
6423,Anger_Seagod,Sea God's Wrath,3,20,,0,,,,,,,,,,,,,{},{},{}
6424,Halloween_Fragment,Spirit Piece,3,20,,0,,,,,,,,,,,,,{},{},{}
6425,Halloween_Certificate,Halloween Certificate,3,20,,0,,,,,,,,,,,,,{},{},{}
@ -5693,17 +5693,19 @@
12613,Improved_Coin_Bag,Improved Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_Improved_Coin_Bag),1; getrandgroupitem(IG_Improved_Coin_Bag),1; getrandgroupitem(IG_Improved_Coin_Bag),1; getrandgroupitem(IG_Improved_Coin_Bag),1; },{},{}
12614,Intermediate_Coin_Bag,Intermediate Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_Intermediate_Coin_Bag),1; getrandgroupitem(IG_Intermediate_Coin_Bag),1; getrandgroupitem(IG_Intermediate_Coin_Bag),1; getrandgroupitem(IG_Intermediate_Coin_Bag),1; },{},{}
12615,Minor_Coin_Bag,Minor Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_Minor_Coin_Bag),1; getrandgroupitem(IG_Minor_Coin_Bag),1; getrandgroupitem(IG_Minor_Coin_Bag),1; getrandgroupitem(IG_Minor_Coin_Bag),1; },{},{}
12616,S_Grade_Coin_Bag,S Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_S_Grade_Coin_Bag),1; getrandgroupitem(IG_S_Grade_Coin_Bag),1; getrandgroupitem(IG_S_Grade_Coin_Bag),1; },{},{}
12617,A_Grade_Coin_Bag,A Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_A_Grade_Coin_Bag),1; getrandgroupitem(IG_A_Grade_Coin_Bag),1; getrandgroupitem(IG_A_Grade_Coin_Bag),1; },{},{}
12618,B_Grade_Coin_Bag,B Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12619,C_Grade_Coin_Bag,C Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12620,D_Grade_Coin_Bag,D Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12621,E_Grade_Coin_Bag,E Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12622,Reins_Of_Mount,Reins Of Mount,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ setmounting(); },{},{}
12623,Advanced_Weapons_Box,Advanced Weapons Box,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_Advanced_Weapons_Box),1; },{},{}
12616,Sgrade_Pocket,S Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_S_Grade_Coin_Bag),1; getrandgroupitem(IG_S_Grade_Coin_Bag),1; getrandgroupitem(IG_S_Grade_Coin_Bag),1; },{},{}
12617,Agrade_Pocket,A Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_A_Grade_Coin_Bag),1; getrandgroupitem(IG_A_Grade_Coin_Bag),1; getrandgroupitem(IG_A_Grade_Coin_Bag),1; },{},{}
12618,Bgrade_Pocket,B Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12619,Cgrade_Pocket,C Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12620,Dgrade_Pocket,D Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12621,Egrade_Pocket,E Grade Coin Bag,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{},{},{}
12622,Boarding_Halter,Reins Of Mount,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ setmounting(); },{},{}
12623,High_Weapons_Box,Advanced Weapons Box,2,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ getrandgroupitem(IG_Advanced_Weapons_Box),1; },{},{}
12624,Delicious_Jelly,Delicious Jelly,0,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ percentheal 3,3; },{},{}
//
12636,Malangdo_Canned_Specialties,Malangdo Canned Specialties,2,20,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ warp "malangdo",140,114; },{},{}
12633,Malang_Cat_Can,Malangdo Cat Can,2,20,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_EXPBOOST,1200000,10; sc_start SC_ITEMBOOST,1200000,20; },{},{}
//
12636,Malang_Sp_Can,Malangdo Canned Specialties,2,20,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ warp "malangdo",140,114; },{},{}
//
12642,Terra_Mars_100_Box,Terra_Mars_100_Box,0,0,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ getitem 504,100; },{},{}
//

View File

@ -4401,13 +4401,13 @@ getrandgroupitem(1,3);
*enable_items;
*disable_items;
These commands enable item usage while an NPC is running. When enable_items is
run, items can be used during scripts until disable_items is called.
To avoid possible exploits, when enable_items is invoked, it will only enable
item usage while running that script in particular. Note that if a different
script also calls enable_items, it will override the last call (so you may
want to call this command at the start of your script without assuming the
effect is still in effect).
These commands toggle the ability to change equipment while interacting with
an NPC. To avoid possible exploits, the commands affect the particular script
instance only. Note that if a different script also calls enable_items, it
will override the last call (so you may want to call this command at the start
of your script without assuming it is still in effect).
The default setting, 'item_enabled_npc', is defined in 'conf/battle/items.conf'.
---------------------------------------

View File

@ -3,7 +3,7 @@
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.6a
//= 1.6
//===== Compatible With: =====================================
//= rAthena SVN r16862+
//===== Description: =========================================
@ -107,7 +107,6 @@ OnBuyItem:
message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+".";
end;
}
disable_items;
mes "[Quest Shop]";
mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000";
mes "Requirements:";

View File

@ -675,6 +675,8 @@ OnDisable:
killmonster "1@cash",instance_npcname("oct_boss_foot", instance_id())+"::OnMyMobDead"; // Not in official script.
disablenpc instance_npcname("oct_boss_foot", instance_id());
end;
OnMyMobDead:
end;
}
1@cash,198,116,0 script oct_boss_warp 45,2,2,{

View File

@ -3912,11 +3912,11 @@ REPLACE INTO `item_db_re` VALUES (6414,'Ragunta_Card','Ragunta Card',3,20,NULL,1
REPLACE INTO `item_db_re` VALUES (6415,'Strange_Embryo','Strange Embryo',3,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6416,'Pet_Exchange','Pet Exchange',3,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6417,'Garderie_Fruit','Garderie Fruit',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6418,'A_Grade_Coin','A Grade Coin',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6419,'B_Grade_Coin','B Grade Coin',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6420,'C_Grade_Coin','C Grade Coin',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6421,'D_Grade_Coin','D Grade Coin',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6422,'E_Grade_Coin','E Grade Coin',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6418,'Agrade_Coin','A Grade Coin',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6419,'Bgrade_Coin','B Grade Coin',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6420,'Cgrade_Coin','C Grade Coin',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6421,'Dgrade_Coin','D Grade Coin',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6422,'Egrade_Coin','E Grade Coin',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6423,'Anger_Seagod','Sea God\'s Wrath',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6424,'Halloween_Fragment','Spirit Piece',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (6425,'Halloween_Certificate','Halloween Certificate',3,20,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
@ -5724,17 +5724,19 @@ REPLACE INTO `item_db_re` VALUES (12612,'Old_Coin_Bag','Old Coin Bag',2,20,NULL,
REPLACE INTO `item_db_re` VALUES (12613,'Improved_Coin_Bag','Improved Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_Improved_Coin_Bag),1; getrandgroupitem(IG_Improved_Coin_Bag),1; getrandgroupitem(IG_Improved_Coin_Bag),1; getrandgroupitem(IG_Improved_Coin_Bag),1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12614,'Intermediate_Coin_Bag','Intermediate Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_Intermediate_Coin_Bag),1; getrandgroupitem(IG_Intermediate_Coin_Bag),1; getrandgroupitem(IG_Intermediate_Coin_Bag),1; getrandgroupitem(IG_Intermediate_Coin_Bag),1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12615,'Minor_Coin_Bag','Minor Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_Minor_Coin_Bag),1; getrandgroupitem(IG_Minor_Coin_Bag),1; getrandgroupitem(IG_Minor_Coin_Bag),1; getrandgroupitem(IG_Minor_Coin_Bag),1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12616,'S_Grade_Coin_Bag','S Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_S_Grade_Coin_Bag),1; getrandgroupitem(IG_S_Grade_Coin_Bag),1; getrandgroupitem(IG_S_Grade_Coin_Bag),1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12617,'A_Grade_Coin_Bag','A Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_A_Grade_Coin_Bag),1; getrandgroupitem(IG_A_Grade_Coin_Bag),1; getrandgroupitem(IG_A_Grade_Coin_Bag),1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12618,'B_Grade_Coin_Bag','B Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12619,'C_Grade_Coin_Bag','C Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12620,'D_Grade_Coin_Bag','D Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12621,'E_Grade_Coin_Bag','E Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12622,'Reins_Of_Mount','Reins Of Mount',11,NULL,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'setmounting();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12623,'Advanced_Weapons_Box','Advanced Weapons Box',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_Advanced_Weapons_Box),1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12616,'Sgrade_Pocket','S Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_S_Grade_Coin_Bag),1; getrandgroupitem(IG_S_Grade_Coin_Bag),1; getrandgroupitem(IG_S_Grade_Coin_Bag),1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12617,'Agrade_Pocket','A Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_A_Grade_Coin_Bag),1; getrandgroupitem(IG_A_Grade_Coin_Bag),1; getrandgroupitem(IG_A_Grade_Coin_Bag),1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12618,'Bgrade_Pocket','B Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12619,'Cgrade_Pocket','C Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12620,'Dgrade_Pocket','D Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12621,'Egrade_Pocket','E Grade Coin Bag',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12622,'Boarding_Halter','Reins Of Mount',11,NULL,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'setmounting();',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12623,'High_Weapons_Box','Advanced Weapons Box',2,20,NULL,10,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getrandgroupitem(IG_Advanced_Weapons_Box),1;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12624,'Delicious_Jelly','Delicious Jelly',0,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'percentheal 3,3;',NULL,NULL);
#
REPLACE INTO `item_db_re` VALUES (12636,'Malangdo_Canned_Specialties','Malangdo Canned Specialties',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'warp "malangdo",140,114;',NULL,NULL);
REPLACE INTO `item_db_re` VALUES (12633,'Malang_Cat_Can','Malangdo Cat Can',2,20,NULL,50,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'sc_start SC_EXPBOOST,1200000,10; sc_start SC_ITEMBOOST,1200000,20;',NULL,NULL);
#
REPLACE INTO `item_db_re` VALUES (12636,'Malang_Sp_Can','Malangdo Canned Specialties',2,20,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'warp "malangdo",140,114;',NULL,NULL);
#
REPLACE INTO `item_db_re` VALUES (12642,'Terra_Mars_100_Box','Terra_Mars_100_Box',0,NULL,NULL,0,NULL,NULL,NULL,NULL,0xFFFFFFFF,7,2,NULL,NULL,NULL,NULL,NULL,'getitem 504,100;',NULL,NULL);
#

View File

@ -5903,6 +5903,7 @@ static const struct _battle_data {
{ "skill_trap_type", &battle_config.skill_trap_type, 0, 0, 1, },
{ "item_restricted_consumption_type", &battle_config.item_restricted_consumption_type,1, 0, 1, },
{ "max_walk_path", &battle_config.max_walk_path, 17, 1, MAX_WALKPATH, },
{ "item_enabled_npc", &battle_config.item_enabled_npc, 1, 0, 1, },
};
#ifndef STATS_OPT_OUT
/**

View File

@ -486,6 +486,7 @@ extern struct Battle_Config
int skill_trap_type;
int item_restricted_consumption_type;
int max_walk_path;
int item_enabled_npc;
} battle_config;
void do_init_battle(void);

View File

@ -10215,7 +10215,7 @@ void clif_parse_EquipItem(int fd,struct map_session_data *sd)
return; //Out of bounds check.
if(sd->npc_id) {
if (sd->npc_id != sd->npc_item_flag)
if (!sd->npc_item_flag)
return;
} else if (sd->state.storage_flag || sd->sc.opt1)
; //You can equip/unequip stuff while storage is open/under status changes
@ -10254,7 +10254,10 @@ void clif_parse_UnequipItem(int fd,struct map_session_data *sd)
return;
}
if (sd->state.storage_flag || sd->sc.opt1)
if (sd->npc_id) {
if (!sd->npc_item_flag)
return;
} else if (sd->state.storage_flag || sd->sc.opt1)
; //You can equip/unequip stuff while storage is open/under status changes
else if (pc_cant_act2(sd))
return;

View File

@ -4215,8 +4215,7 @@ int pc_useitem(struct map_session_data *sd,int n)
nullpo_ret(sd);
//This flag enables you to use items while in an NPC. [Skotlex]
if( sd->npc_id && sd->npc_id != sd->npc_item_flag ){
if( sd->npc_id ){
#ifdef RENEWAL
clif_msg(sd, 0x783); // TODO look for the client date that has this message.
#endif

View File

@ -3016,6 +3016,7 @@ struct script_state* script_alloc_state(struct script_code* script, int pos, int
st->rid = rid;
st->oid = oid;
st->sleep.timer = INVALID_TIMER;
st->npc_item_flag = battle_config.item_enabled_npc;
return st;
}
@ -3643,6 +3644,7 @@ static void script_attach_state(struct script_state* st)
}
sd->st = st;
sd->npc_id = st->oid;
sd->npc_item_flag = st->npc_item_flag; // load default.
/**
* For the Secure NPC Timeout option (check config/Secure.h) [RR]
**/
@ -6961,7 +6963,7 @@ BUILDIN_FUNC(enableitemuse)
TBL_PC *sd;
sd=script_rid2sd(st);
if (sd)
sd->npc_item_flag = st->oid;
st->npc_item_flag = sd->npc_item_flag = 1;
return 0;
}
@ -6970,7 +6972,7 @@ BUILDIN_FUNC(disableitemuse)
TBL_PC *sd;
sd=script_rid2sd(st);
if (sd)
sd->npc_item_flag = 0;
st->npc_item_flag = sd->npc_item_flag = 0;
return 0;
}

View File

@ -132,6 +132,7 @@ struct script_state {
int bk_npcid;
unsigned freeloop : 1;// used by buildin_freeloop
unsigned op2ref : 1;// used by op_2
unsigned npc_item_flag : 1;
};
struct script_reg {

View File

@ -7375,7 +7375,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
#endif
break;
case SC_SUITON:
if (!val2 || (sd && (sd->class_&MAPID_UPPERMASK) == MAPID_NINJA)) {
if (!val2 || (sd && (sd->class_&MAPID_BASEMASK) == MAPID_NINJA)) {
//No penalties.
val2 = 0; //Agi penalty
val3 = 0; //Walk speed penalty