From 193c4426ac1afbc91484a5193f2289b7244b26ee Mon Sep 17 00:00:00 2001 From: Saulc Date: Thu, 1 Feb 2018 01:18:48 +0100 Subject: test hat location + add HAS quest + candor battle warp --- conf/map/battle/battle.conf | 2 +- conf/map/battle/client.conf | 4 +- conf/map/battle/player.conf | 10 +-- db/quest_db.conf | 4 + db/re/item_db.conf | 178 +++++++++++++++++++++++++++++++++++++++-- npc/000-2-1/_savepoints.txt | 9 +++ npc/003-1/_import.txt | 51 ++++++------ npc/003-1/well.txt | 46 ++++++++++- npc/005-1/_import.txt | 2 + npc/005-1/ayasha.txt | 137 +++++++++++++++++++++++++++++++ npc/005-1/warpcandorbattle.txt | 11 +++ 11 files changed, 411 insertions(+), 43 deletions(-) create mode 100644 npc/005-1/ayasha.txt create mode 100644 npc/005-1/warpcandorbattle.txt diff --git a/conf/map/battle/battle.conf b/conf/map/battle/battle.conf index 2e73a0aa8..01677d31c 100644 --- a/conf/map/battle/battle.conf +++ b/conf/map/battle/battle.conf @@ -81,7 +81,7 @@ undead_detect_type: 0 attribute_recover: false // What is the minimum and maximum hitrate of normal attacks? -min_hitrate: 5 +min_hitrate: 3 max_hitrate: 100 // Type of penalty that is applied to FLEE when more than agi_penalty_count monsters are targetting player diff --git a/conf/map/battle/client.conf b/conf/map/battle/client.conf index e4a646f95..0d42d6777 100644 --- a/conf/map/battle/client.conf +++ b/conf/map/battle/client.conf @@ -81,7 +81,7 @@ max_walk_path: 17 // NOTE: You also need to adjust the client if you want this to work. // NOTE: Default is 99. Values above 127 will probably behave incorrectly. // NOTE: If you don't know what this does, don't change it!!! -max_lv: 99 +max_lv: 100 // Level required to display an aura. // NOTE: This assumes that sending max_lv to the client will display the aura. @@ -89,7 +89,7 @@ max_lv: 99 // Example: If max_lv is 99 and aura_lv is 150, characters with level 99~149 // will be sent as being all level 98, and only characters with level // 150 or more will be reported as having level 99 and show an aura. -aura_lv: 99 +aura_lv: 100 // Units types affected by max_lv and aura_lv settings. (Note 3) // Note: If an unit type, which normally does not show an aura, is diff --git a/conf/map/battle/player.conf b/conf/map/battle/player.conf index b8fe28a3c..ac81668bf 100644 --- a/conf/map/battle/player.conf +++ b/conf/map/battle/player.conf @@ -43,11 +43,11 @@ left_cardfix_to_right: true // The amount of HP a player will respawn with, 0 is default. // (Unit is in percentage of total HP, 100 is full heal of HP, 0 is respawn with 1HP total.) -restart_hp_rate: 0 +restart_hp_rate: 25 // The amount of SP a player will respawn with, 0 is default. // (Unit is in percentage of total SP, 100 is full heal of SP, 0 is respawn with 1SP total.) -restart_sp_rate: 0 +restart_sp_rate: 30 // Can a normal player by-pass the skill tree? (Note 1) player_skillfree: false @@ -78,10 +78,10 @@ player_invincible_time: 5000 fix_warp_hit_delay_abuse: true // The time interval for HP to restore naturally. (in milliseconds) -natural_healhp_interval: 6000 +natural_healhp_interval: 2500 // The time interval for SP to restore naturally. (in milliseconds) -natural_healsp_interval: 8000 +natural_healsp_interval: 5000 // Automatic healing skill's time interval. (in milliseconds) natural_heal_skill_interval: 10000 @@ -172,7 +172,7 @@ invite_request_check: true // 0 = Disabled // 1 = Dropped only in PvP maps // 2 = Dropped in all situations -bone_drop: 0 +bone_drop: 2 // Do mounted (on Peco) characters increase their size // 0 = no diff --git a/db/quest_db.conf b/db/quest_db.conf index d7643c728..49b2fc530 100644 --- a/db/quest_db.conf +++ b/db/quest_db.conf @@ -173,6 +173,10 @@ quest_db: ( Id: 35 Name: "TulimsharQuest_Sarah" }, +{ + Id: 36 + Name: "CandorQuest_HAS" +}, { Id: 1000 Name: "Test_testing1" diff --git a/db/re/item_db.conf b/db/re/item_db.conf index 8f96f60cf..1b3921f5c 100644 --- a/db/re/item_db.conf +++ b/db/re/item_db.conf @@ -8073,6 +8073,33 @@ item_db: ( Delay: 0 Sprite: 0 }, +{ + Id: 1321 + AegisName: "CandorShirt" + Name: "Candor Shirt" + Type: "IT_ARMOR" + Buy: 120 + Sell: 50 + Weight: 200 + Atk: 0 + Matk: 170 + Def: 2 + Range: 0 + Slots: 0 + Job: { + All: true + } + Gender: "SEX_ANY" + Loc: "EQP_HEAD_MID" + WeaponLv: 0 + EquipLv: 15 + Refine: false + ViewSprite: 1321 + BindOnEquip: false + BuyingStore: true + Delay: 0 + Sprite: 0 +}, { Id: 1800 AegisName: "LousyMoccasins" @@ -8154,6 +8181,33 @@ item_db: ( Delay: 0 Sprite: 0 }, +{ + Id: 1803 + AegisName: "CandorBoots" + Name: "Candor Boots" + Type: "IT_ARMOR" + Buy: 600 + Sell: 180 + Weight: 18 + Atk: 0 + Matk: 0 + Def: 15 + Range: 0 + Slots: 0 + Job: { + All: true + } + Gender: "SEX_ANY" + Loc: "EQP_SHOES" + WeaponLv: 0 + EquipLv: 15 + Refine: false + ViewSprite: 1803 + BindOnEquip: false + BuyingStore: true + Delay: 0 + Sprite: 0 +}, { Id: 2000 AegisName: "Armbands" @@ -8694,6 +8748,33 @@ item_db: ( Delay: 0 Sprite: 0 }, +{ + Id: 2217 + AegisName: "CandorShorts" + Name: "Candor Shorts" + Type: "IT_ARMOR" + Buy: 1200 + Sell: 250 + Weight: 15 + Atk: 0 + Matk: 0 + Def: 14 + Range: 0 + Slots: 0 + Job: { + All: true + } + Gender: "SEX_ANY" + Loc: "EQP_HEAD_LOW" + WeaponLv: 0 + EquipLv: 11 + Refine: false + ViewSprite: 2217 + BindOnEquip: false + BuyingStore: true + Delay: 0 + Sprite: 0 +}, { Id: 2500 AegisName: "WeddingRing" @@ -10111,7 +10192,7 @@ item_db: ( All: true } Gender: "SEX_ANY" - Loc: "EQP_HEAD_TOP" + Loc: "EQP_COSTUME_HEAD_TOP" WeaponLv: 0 EquipLv: 8 Refine: false @@ -10138,7 +10219,7 @@ item_db: ( All: true } Gender: "SEX_ANY" - Loc: "EQP_HEAD_TOP" + Loc: "EQP_COSTUME_HEAD_MID" WeaponLv: 0 EquipLv: 8 Refine: false @@ -10165,7 +10246,7 @@ item_db: ( All: true } Gender: "SEX_ANY" - Loc: "EQP_HEAD_TOP" + Loc: "EQP_COSTUME_HEAD_LOW" WeaponLv: 0 EquipLv: 8 Refine: false @@ -10192,7 +10273,7 @@ item_db: ( All: true } Gender: "SEX_ANY" - Loc: "EQP_HEAD_TOP" + Loc: "EQP_COSTUME_GARMENT" WeaponLv: 0 EquipLv: 8 Refine: false @@ -10219,7 +10300,7 @@ item_db: ( All: true } Gender: "SEX_ANY" - Loc: "EQP_HEAD_TOP" + Loc: "EQP_AMMO" WeaponLv: 0 EquipLv: 8 Refine: false @@ -10246,7 +10327,7 @@ item_db: ( All: true } Gender: "SEX_ANY" - Loc: "EQP_HEAD_TOP" + Loc: "EQP_SHADOW_ARMOR" WeaponLv: 0 EquipLv: 8 Refine: false @@ -10273,7 +10354,7 @@ item_db: ( All: true } Gender: "SEX_ANY" - Loc: "EQP_HEAD_TOP" + Loc: "EQP_SHADOW_WEAPON" WeaponLv: 0 EquipLv: 8 Refine: false @@ -10300,7 +10381,7 @@ item_db: ( All: true } Gender: "SEX_ANY" - Loc: "EQP_HEAD_TOP" + Loc: "EQP_SHADOW_SHIELD" WeaponLv: 0 EquipLv: 8 Refine: false @@ -10310,6 +10391,60 @@ item_db: ( Delay: 0 Sprite: 0 }, +{ + Id: 2939 + AegisName: "CandorHeadBnad" + Name: "Candor Head Band" + Type: "IT_ARMOR" + Buy: 320 + Sell: 100 + Weight: 11 + Atk: 0 + Matk: 0 + Def: 20 + Range: 0 + Slots: 0 + Job: { + All: true + } + Gender: "SEX_ANY" + Loc: "EQP_SHADOW_ARMS" + WeaponLv: 0 + EquipLv: 4 + Refine: false + ViewSprite: 2939 + BindOnEquip: false + BuyingStore: true + Delay: 0 + Sprite: 0 +}, +{ + Id: 2940 + AegisName: "GraduationCap" + Name: "Graduation Cap" + Type: "IT_ARMOR" + Buy: 320 + Sell: 100 + Weight: 11 + Atk: 0 + Matk: 0 + Def: 20 + Range: 0 + Slots: 0 + Job: { + All: true + } + Gender: "SEX_ANY" + Loc: "EQP_SHADOW_ACC_R" + WeaponLv: 0 + EquipLv: 4 + Refine: false + ViewSprite: 2940 + BindOnEquip: false + BuyingStore: true + Delay: 0 + Sprite: 0 +}, { Id: 3200 AegisName: "Shemagh" @@ -10350,6 +10485,33 @@ item_db: ( BindOnEquip: false BuyingStore: true }, +{ + Id: 3202 + AegisName: "GraduationCapot" + Name: "Graduation Capot" + Type: "IT_ARMOR" + Buy: 320 + Sell: 100 + Weight: 11 + Atk: 0 + Matk: 0 + Def: 20 + Range: 0 + Slots: 0 + Job: { + All: true + } + Gender: "SEX_ANY" + Loc: "EQP_HEAD_TOP" + WeaponLv: 0 + EquipLv: 4 + Refine: false + ViewSprite: 2940 + BindOnEquip: false + BuyingStore: true + Delay: 0 + Sprite: 0 +}, { Id: 3500 AegisName: "Knife" diff --git a/npc/000-2-1/_savepoints.txt b/npc/000-2-1/_savepoints.txt index 4d48830c8..14b79c7e4 100644 --- a/npc/000-2-1/_savepoints.txt +++ b/npc/000-2-1/_savepoints.txt @@ -13,6 +13,15 @@ OnInit: savepointparticle .map$, .x, .y, NO_INN; close; +OnInit: + .distance = 2; + .sex = G_OTHER; + end; +} +000-2-1,50,38,0 script #save_000-2-1_50_38 NPC_SAVE_POINT,{ + savepointparticle .map$, .x, .y, NO_INN; + close; + OnInit: .distance = 2; .sex = G_OTHER; diff --git a/npc/003-1/_import.txt b/npc/003-1/_import.txt index 6bd89a8f6..ba10b7386 100644 --- a/npc/003-1/_import.txt +++ b/npc/003-1/_import.txt @@ -2,36 +2,35 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/003-1/_mobs.txt", "npc/003-1/_warps.txt", -"npc/003-1/tamiloc.txt", -"npc/003-1/sarah.txt", -"npc/003-1/guardphilip.txt", -"npc/003-1/itka.txt", -"npc/003-1/ninathetraveler.txt", -"npc/003-1/guardmoustacha.txt", -"npc/003-1/guardpopaul.txt", +"npc/003-1/ched.txt", +"npc/003-1/constableperry.txt", +"npc/003-1/cyndala.txt", +"npc/003-1/eomie.txt", "npc/003-1/gladys.txt", -"npc/003-1/michel.txt", -"npc/003-1/swezanne.txt", -"npc/003-1/luca.txt", -"npc/003-1/neko.txt", -"npc/003-1/inar.txt", -"npc/003-1/malivox.txt", "npc/003-1/guardavou.txt", +"npc/003-1/guardbenji.txt", "npc/003-1/guarddefou.txt", +"npc/003-1/guardfalko.txt", +"npc/003-1/guardmoustacha.txt", +"npc/003-1/guardphilip.txt", +"npc/003-1/guardpopaul.txt", +"npc/003-1/guardvalou.txt", +"npc/003-1/guardyen.txt", +"npc/003-1/inac.txt", +"npc/003-1/inar.txt", +"npc/003-1/itka.txt", +"npc/003-1/jakod.txt", "npc/003-1/jerican.txt", +"npc/003-1/luca.txt", +"npc/003-1/mahoud.txt", +"npc/003-1/malivox.txt", "npc/003-1/mariusthebard.txt", +"npc/003-1/michel.txt", +"npc/003-1/neko.txt", +"npc/003-1/ninathetraveler.txt", +"npc/003-1/sarah.txt", "npc/003-1/silvia.txt", -"npc/003-1/guardbenji.txt", -"npc/003-1/guardvalou.txt", +"npc/003-1/swezanne.txt", +"npc/003-1/tamiloc.txt", +"npc/003-1/tinris.txt", "npc/003-1/well.txt", -"npc/003-1/mahoud.txt", -"npc/003-1/inac.txt", -"npc/003-1/constableperry.txt", -"npc/003-1/guadyen.txt", -"npc/003-1/cyndala.txt", -"npc/003-1/jakod.txt", -"npc/003-1/ched.txt", -"npc/003-1/guardyen.txt", -"npc/003-1/guardfalko.txt", -"npc/003-1/eomie.txt", -"npc/003-1/tinris.txt", \ No newline at end of file diff --git a/npc/003-1/well.txt b/npc/003-1/well.txt index 986d21c77..695dae536 100644 --- a/npc/003-1/well.txt +++ b/npc/003-1/well.txt @@ -3,9 +3,53 @@ 003-1,45,80,0 script Well NPC_NO_SPRITE,{ + .Item1 = IronOre; //7 + .GP = 8500; + .ItemCreate = IronIngot; + + function quest_create { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("How many ingots do you want to make?"); + input .amount; + + if (countitem("Iron Ore") >= .amount * 7 && Zeny >= 8500 * .amount) + { + delitem .Item1, .amount * 7; + Zeny = Zeny - .amount * .GP; + getitem .ItemCreate, .amount; + close; + } + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("You don't have enought quantity."); + close; + + } + + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Hello do you want to craft @@, for that i will need 7 @@,and @@ gp.", getitemlink(.ItemCreate),getitemlink(.Item1),.GP); + + do + { + .@karim = getq(Karim_Quest); + select + l("Yes"), + menuaction(l("Quit")); + + switch (@menu) + { + case 1: + quest_create; + break; + } + } while (@menu != 2); + + closedialog; + goodbye; + close; OnInit: .sex = G_MALE; .distance = 3; end; -} \ No newline at end of file +} + diff --git a/npc/005-1/_import.txt b/npc/005-1/_import.txt index 1159841a8..4a1411f8e 100644 --- a/npc/005-1/_import.txt +++ b/npc/005-1/_import.txt @@ -2,3 +2,5 @@ // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/005-1/_mobs.txt", "npc/005-1/_warps.txt", +"npc/005-1/ayasha.txt", +"npc/005-1/warpcandorbattle.txt", diff --git a/npc/005-1/ayasha.txt b/npc/005-1/ayasha.txt new file mode 100644 index 000000000..adc39cf3e --- /dev/null +++ b/npc/005-1/ayasha.txt @@ -0,0 +1,137 @@ +// Author: +// Crazyfefe + + + + +005-1,52,81,0 script Ayasha NPC_PLAYER,{ + + + function quest_findAllKids + { + setq CandorQuest_HAS, 1; + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Good luck !"); + close; + } + + .@has = getq(CandorQuest_HAS); + if (.@has == 0) + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Hello can you help me for find all kids"); + do + { + select + l("Yes"), + menuaction(l("Quit")); + + switch (@menu) + { + case 1: + quest_findAllKids; + break; + } + } while (@menu != 2); + } + else if (.@has == 1) + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("You don't find all of them yet."); + close; + } + else if (.@has == 2) + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Thank you, there is your reward"); + narrator("You receive 30 exp."); + getexp 30, 0; + setq CandorQuest_HAS, 3; + close; + } + else + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Thank you for your help."); + close; + } + + closedialog; + goodbye; + close; + +OnInit: + .sex = G_MALE; + .distance = 3; + end; +} + + +function script CheckEnfant { + .questCheck = .questCheck + 1; + l("Oh Welcome then."); + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Oh! You found me well played !."); + narrator("You receive 5 exp."); + if (.questCheck == 5) + { + setq CandorQuest_HAS, 2; + } + getexp 5,0; + close; +} +005-1,69,90,0 script Charda 451,{ + if (getq(CandorQuest_HAS) == 1) + { + CheckEnfant(); + } + end; +OnInit: + .sex = G_OTHER; + .distance = 1; + end; +} +005-1,23,84,0 script Faris 451,{ + if (getq(CandorQuest_HAS) == 1) + { + CheckEnfant(); + } + end; +OnInit: + .sex = G_OTHER; + .distance = 1; + end; +} +005-1,84,21,0 script Ghada 445,{ + if (getq(CandorQuest_HAS) == 1) + { + CheckEnfant(); + } + end; +OnInit: + .sex = G_OTHER; + .distance = 1; + end; +} +005-1,38,58,0 script Latif 445,{ + if (getq(CandorQuest_HAS) == 1) + { + CheckEnfant(); + } + end; +OnInit: + .sex = G_OTHER; + .distance = 1; + end; +} +005-1,18,43,0 script Rasin 445,{ + if (getq(CandorQuest_HAS) == 1) + { + CheckEnfant(); + } + end; +OnInit: + .sex = G_OTHER; + .distance = 1; + end; +} diff --git a/npc/005-1/warpcandorbattle.txt b/npc/005-1/warpcandorbattle.txt new file mode 100644 index 000000000..6fb86ffe5 --- /dev/null +++ b/npc/005-1/warpcandorbattle.txt @@ -0,0 +1,11 @@ +// Author: +// Crazyfefe + +005-1,59,52,0 script Magic Barrier NPC_HIDDEN,0,0,{ + +OnTouch: + if(BaseLevel >= 40) + warp "005-1", 59, 66; + else + npctalk l("You don't have the level require for pass this door,"); +} \ No newline at end of file -- cgit v1.2.3-70-g09d2