summaryrefslogtreecommitdiff
path: root/world/map
diff options
context:
space:
mode:
Diffstat (limited to 'world/map')
-rw-r--r--world/map/conf/battle_athena.conf28
-rw-r--r--world/map/db/const.txt54
-rw-r--r--world/map/npc/013-2/notes.txt10
-rw-r--r--world/map/npc/functions/barber.txt129
-rw-r--r--world/map/npc/items/scissors.txt2
-rw-r--r--world/map/npc/items/shock_sweet.txt2
6 files changed, 150 insertions, 75 deletions
diff --git a/world/map/conf/battle_athena.conf b/world/map/conf/battle_athena.conf
index 574938d6..a4207f2c 100644
--- a/world/map/conf/battle_athena.conf
+++ b/world/map/conf/battle_athena.conf
@@ -1,4 +1,3 @@
-
//--------------------------------------------------------------
//eAthena Battle Configuration File
// Made in to plainer english by Ancyker
@@ -74,7 +73,7 @@ attribute_recover: yes
// If an item is droped, does it go stright into the users inventory? (Note 1)
item_auto_get: no
-// How long does it take for an item to disappear from the floor after it is dropped? (in miliseconds)
+// How long does it take for an item to disappear from the floor after it is dropped? (in miliseconds)
flooritem_lifetime: 120000
// How long before the first person who did the most damage to a monster can get the item? (in milliseconds)
@@ -98,7 +97,7 @@ mvp_item_first_get_time: 10000
// So, It Is Like First Person's Time + Second Person's Time = Time Before Second Person Can Get The Items
mvp_item_second_get_time: 10000
-// How long before the third person who did the third most/least damage to a MVP can get the item
+// How long before the third person who did the third most/least damage to a MVP can get the item
//(Note the Amount is in Milliseconds and It Adds Time From The First Persons Time And Second Persons Time)
//So It Is Like First Person's Time + Second Person's Time + Third Person's Time = Time Before Third Person Can Get The Items
mvp_item_third_get_time: 2000
@@ -425,7 +424,7 @@ vit_penaly_count: 3
// Amount of VIT defense penalized per each attacking monster more than vit_penaly_count
vit_penaly_num: 5
-// When the player attacks an object, the calculation method of DEF.
+// When the player attacks an object, the calculation method of DEF.
// With 0 this will be ignored specification, at 1 or more def = subtraction of (DEF* value).
player_defense_type: 0
@@ -453,7 +452,7 @@ player_skill_nofootset: yes
monster_skill_nofootset: yes
// When a player is cloaking, Whether the wall is checked or not. (Note 1)
-// Note: Gravity announced that they were changing cloaking so it would
+// Note: Gravity announced that they were changing cloaking so it would
// not need a wall, but this was never implemented. I set to no, for fun.
player_cloak_check_type: no
@@ -558,7 +557,7 @@ gtb_pvp_only: no
// How to count the number of the enemies who do an agi penalty...
// 1 or less: It is a count altogether.
// 2: Full evasion exclusion
-// 3: Full evasion and evasion exclusion
+// 3: Full evasion and evasion exclusion
// 4 or more: Except all.
agi_penaly_count_lv: 2
@@ -600,7 +599,7 @@ invite_request_check: yes
// リムーブトラップの仕-l 0:-{鯖仕-l、罠1個 1:Athena仕-l、使ったアイテムを使った個数
// translation (babelfish):
-// SI of ???????? -l
+// SI of ???????? -l
// 0: - {Mackerel SI -l, trap 1
// 1:Athena SI -l, the quantity which used the item which was used
skill_removetrap_type: 0
@@ -611,7 +610,7 @@ disp_experience: no
// Whether or not Marine Spheres and Floras summoned by Alchemist will drop items and give experience? (Note 1)
alchemist_summon_reward: no
-// Maximum level (default 255). Requires that you have an experience table that supports more than 99 levels to go
+// Maximum level (default 255). Requires that you have an experience table that supports more than 99 levels to go
// any higher. It is left at 255 for default as to not cause problems for people who already have players at higher levels.
// @lvup command will not go higher than this value, and therefor will not loop back around 0.
maximum_level: 255
@@ -625,7 +624,7 @@ drops_by_luk: 0
monsters_ignore_gm: no
// Turn equipment breaking on. (Note 1)
-// Turning this one will allow equipment to break in battles,
+// Turning this one will allow equipment to break in battles,
// as well as some skills that have chance to break equipmen.
equipment_breaking: no
@@ -635,7 +634,7 @@ equipment_breaking: no
equipment_break_rate: 100
// PK Server Mode. Turns entire server pvp(excluding towns). Experience loss is doubled if killed by another player.
-// When players hunt monsters over 20 levels higher, they will receive 15% additional exp., and 25% chance of receiving more items.
+// When players hunt monsters over 20 levels higher, they will receive 15% additional exp., and 25% chance of receiving more items.
// There is a nopvp.txt for setting up maps not to have pk on in this mode. Novices cannot be attacked and cannot attack.
// Normal pvp counter and rank display are disabled as well.
pk_mode: no
@@ -700,10 +699,11 @@ mail_system: no
// valid range of dye's and styles on the client
min_hair_style: 0
-max_hair_style: 20
+max_hair_style: 19
min_hair_color: 0
-max_hair_color: 9
-min_cloth_color: 0
+max_hair_color: 11
+// Not for tA-style dyed clothes
+min_cloth_color: 0
max_cloth_color: 4
// Visible area size (how many squares away from a player can they see)
@@ -728,7 +728,7 @@ chat_spam_ban: 1
chat_maxline: 512
// Packet flood protection
-// If more than packet_spam_flood over-limits packets are recieved in
+// If more than packet_spam_flood over-limits packets are recieved in
// packet_spam_threshold seconds, we will kick the user if packet_spam_kick
// is not set to 0. Limits on individual packets are defined in src/map/clif.c
packet_spam_flood: 30
diff --git a/world/map/db/const.txt b/world/map/db/const.txt
index b5f30d9a..e8ca1c31 100644
--- a/world/map/db/const.txt
+++ b/world/map/db/const.txt
@@ -142,6 +142,60 @@ equip_misc2 8
equip_torso 9
equip_legs 10
+// Appearance slots
+// Using this for anything but hair is probably a mistake
+LOOK_BASE 0
+LOOK_HAIR_STYLE 1
+LOOK_WEAPON 2
+LOOK_LEGS 3
+LOOK_HELMET 4
+LOOK_CHEST 5
+LOOK_HAIR_COLOR 6
+LOOK_SHIELD 8
+LOOK_SHOES 9
+LOOK_GLOVES 10
+LOOK_CAPE 11
+LOOK_MISC1 12
+LOOK_MISC2 13
+
+// Hair styles
+HS_Bald 0
+HS_FlatPonytail 1
+HS_BowlCut 2
+HS_CombedBack 3
+HS_Emo 4
+HS_Mohawk 5
+HS_Pompadour 6
+HS_CenterParting 7
+HS_LongAndSlick 8
+HS_ShortAndCurly 9
+HS_Pigtails 10
+HS_LongAndCurly 11
+HS_Parted 12
+HS_PerkyPonytail 13
+HS_Wave 14
+HS_Mane 15
+HS_Bun 16
+HS_ShoulderLengthFlick 17
+HS_Fizzy 18
+
+// Hair colors
+HC_LIGHT_BROWN 0
+HC_GREEN 1
+HC_RED 2
+HC_PURPLE 3
+HC_GRAY 4
+HC_YELLOW 5
+HC_BLUE 6
+HC_BROWN 7
+HC_LIGHT_BLUE 8
+HC_DARK_PURPLE 9
+HC_BLACK 10
+HC_PINK 11
+HC_WHITE 127
+
+// Colors for dyed items
+// see npc/functions/process_equip.txt
cNone 11
cWhite 10
cRed 0
diff --git a/world/map/npc/013-2/notes.txt b/world/map/npc/013-2/notes.txt
index dcc1123b..de1ccf61 100644
--- a/world/map/npc/013-2/notes.txt
+++ b/world/map/npc/013-2/notes.txt
@@ -15,7 +15,7 @@
mes "The early bird catcheth the worm.";
close;
}
-
+
013-2.gat,27,21,0 script Mirror 127,{
mes "You say: \"Mirror mirror on the wall, who has the nicest haircut of them all?\"";
next;
@@ -23,10 +23,10 @@
next;
mes "Your looks suddenly change...";
next;
- set @style,rand(6);
- set @color,rand(9);
- setlook 1,@style+1;
- setlook 6,@color;
+ set @style, rand(20);
+ set @color, rand(12);
+ setlook LOOK_HAIR_STYLE, @style + 1;
+ setlook LOOK_HAIR_COLOR, @color + 1;
close;
}
diff --git a/world/map/npc/functions/barber.txt b/world/map/npc/functions/barber.txt
index 8d0a32e3..f4ad055d 100644
--- a/world/map/npc/functions/barber.txt
+++ b/world/map/npc/functions/barber.txt
@@ -1,63 +1,84 @@
-//
+// The Barber script has been around since before the repository split
+// so it's hard to figure out who wrote it.
-function script Barber {
- menu
- "Change my style", L_Style,
- "Change my color", L_Color,
- "Nah, I'm fine", L_Done;
+// o11c updated it according to new scripting standards while adding pink.
- goto L_Done;
+// Note: there is a soft limit of 12 colors (0-11) and 20 styles (0-19)
+// This is the number that can be set when creating a character
+// or using GM commands, but scripts (such as this one) can set
+// any value 0-255
+
+function|script|Barber|{
+ // TODO do something like this, but with names
+ //set @style, getlook(LOOK_HAIR_STYLE);
+ //set @color, getlook(LOOK_HAIR_COLOR);
+ //mes "Your current style is " + @style + " and your current color is " + @color + ".";
+
+ menu
+ "Change my style", L_Style,
+ "Change my color", L_Color,
+ "Nah, I'm fine", L_Done;
L_Style:
- menu
- "Bald", -,
- "Flat ponytail", -,
- "Bowl cut", -,
- "Combed back", -,
- "Emo", -,
- "Mohawk", -,
- "Pompadour", -,
- "Center parting/Short and slick", -,
- "Long and slick", -,
- "Short and curly", -,
- "Pigtails", -,
- "Long and curly", -,
- "Parted", -,
- "Perky ponytail", -,
- "Wave", -,
- "Mane", -,
- "Bun", -,
- "Shoulder Length Flick", -,
- "Fizzy", -,
- "Surprise me", -,
- "Nah, I'm fine", L_Done;
-
-L_Process_Style:
- set @style, @menu - 1;
- if (@style == 19) set @style, rand(19);
- setlook 1, @style;
- return;
+ menu
+ "Bald", -,
+ "Flat ponytail", -,
+ "Bowl cut", -,
+ "Combed back", -,
+ "Emo", -,
+ "Mohawk", -,
+ "Pompadour", -,
+ "Center parting/Short and slick", -,
+ "Long and slick", -,
+ "Short and curly", -,
+ "Pigtails", -,
+ "Long and curly", -,
+ "Parted", -,
+ "Perky ponytail", -,
+ "Wave", -,
+ "Mane", -,
+ "Bun", -,
+ "Shoulder Length Flick", -,
+ "Fizzy", -,
+ // "Last normal style (currently displayed as bald)", -,
+ "Surprise me", L_RandomStyle,
+ "Nah, I'm fine", L_Done;
+
+ setlook LOOK_HAIR_STYLE, @menu - 1;
+ goto L_Done;
+
+L_RandomStyle:
+ setlook LOOK_HAIR_STYLE, rand(20);
+ goto L_Done;
L_Color:
- menu
- "Brunette", -,
- "Green", -,
- "Dark red", -,
- "Light purple", -,
- "Gray", -,
- "Blonde", -,
- "Teal", -,
- "Light red", -,
- "Blue", -,
- "Dark purple", -,
- "Black", -,
- "Surprise me", -,
- "Nah, I'm fine", L_Done;
- set @color, @menu - 1;
- if (@color == 11) set @color, rand(11);
- setlook 6, @color;
- return;
+ menu
+ "Brunette", -,
+ "Green", -,
+ "Dark red", -,
+ "Light purple", -,
+ "Gray", -,
+ "Blonde", -,
+ "Teal", -,
+ "Light red", -,
+ "Blue", -,
+ "Dark purple", -,
+ "Black", -,
+ "Pink", -,
+ "Surprise me", L_RandomColor,
+ "Nah, I'm fine", L_Done;
+
+ setlook LOOK_HAIR_COLOR, @menu - 1;
+ goto L_Done;
+
+L_RandomColor:
+ setlook LOOK_HAIR_COLOR, rand(12);
+ goto L_Done;
L_Done:
- return;
+ // cleanup
+ set @menu, 0;
+ //set @style, 0;
+ //set @color, 0;
+ return;
}
diff --git a/world/map/npc/items/scissors.txt b/world/map/npc/items/scissors.txt
index 0e10453c..b806bb33 100644
--- a/world/map/npc/items/scissors.txt
+++ b/world/map/npc/items/scissors.txt
@@ -7,7 +7,7 @@ function script useScissors {
end;
L_Change:
- setlook 1, rand(19);
+ setlook LOOK_HAIR_STYLE, rand(20);
getitem "Scissors", 1;
end;
}
diff --git a/world/map/npc/items/shock_sweet.txt b/world/map/npc/items/shock_sweet.txt
index 3fc6d8e0..8255ee9b 100644
--- a/world/map/npc/items/shock_sweet.txt
+++ b/world/map/npc/items/shock_sweet.txt
@@ -6,7 +6,7 @@ function script useShockSweet {
end;
L_Change:
- setlook 6, 127;
+ setlook LOOK_HAIR_COLOR, HC_WHITE;
message strcharinfo(0), "Gah! That was some strong stuff!";
sc_start sc_poison, 1, 20;
misceffect 15, strcharinfo(0);