From d7fd267447ece85cb053b0af6ef3542b96b0372f Mon Sep 17 00:00:00 2001 From: Ben Longbons Date: Mon, 29 Aug 2011 20:46:50 -0700 Subject: add pink hair color and rewrite the script --- world/map/conf/battle_athena.conf | 28 ++++---- world/map/db/const.txt | 54 +++++++++++++++ world/map/npc/013-2/notes.txt | 10 +-- world/map/npc/functions/barber.txt | 129 +++++++++++++++++++++--------------- world/map/npc/items/scissors.txt | 2 +- world/map/npc/items/shock_sweet.txt | 2 +- 6 files changed, 150 insertions(+), 75 deletions(-) (limited to 'world/map') 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); -- cgit v1.2.3-60-g2f50