summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/map/battle/battle.conf2
-rw-r--r--conf/map/battle/client.conf4
-rw-r--r--conf/map/battle/player.conf10
-rw-r--r--db/quest_db.conf4
-rw-r--r--db/re/item_db.conf178
-rw-r--r--npc/000-2-1/_savepoints.txt9
-rw-r--r--npc/003-1/_import.txt51
-rw-r--r--npc/003-1/well.txt46
-rw-r--r--npc/005-1/_import.txt2
-rw-r--r--npc/005-1/ayasha.txt137
-rw-r--r--npc/005-1/warpcandorbattle.txt11
11 files changed, 411 insertions, 43 deletions
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
@@ -174,6 +174,10 @@ quest_db: (
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
@@ -8074,6 +8074,33 @@ item_db: (
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"
Name: "Lousy Moccasins"
@@ -8155,6 +8182,33 @@ item_db: (
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"
Name: "Armbands"
@@ -8695,6 +8749,33 @@ item_db: (
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"
Name: "Wedding Ring"
@@ -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
@@ -10311,6 +10392,60 @@ item_db: (
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"
Name: "Shemagh"
@@ -10351,6 +10486,33 @@ item_db: (
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"
Name: "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
@@ -18,6 +18,15 @@ OnInit:
.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;
+ end;
+}
000-2-1,55,40,0 script #save_000-2-1_55_40 NPC_SAVE_POINT,{
savepointparticle .map$, .x, .y, NO_INN;
close;
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