summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/battle/player.conf10
-rw-r--r--conf/messages.conf2
-rw-r--r--db/const.txt83
-rw-r--r--db/re/map_zone_db.conf9
-rw-r--r--db/sc_config.txt64
-rw-r--r--doc/item_bonus.txt3
-rw-r--r--doc/script_commands.txt39
-rw-r--r--doc/whisper_sys.txt4
8 files changed, 162 insertions, 52 deletions
diff --git a/conf/battle/player.conf b/conf/battle/player.conf
index e544ee84..7c9dd347 100644
--- a/conf/battle/player.conf
+++ b/conf/battle/player.conf
@@ -120,6 +120,10 @@ show_hp_sp_drain: no
// Display the gained hp/sp values from killing mobs? (Ie: Sky Deleter Card)
show_hp_sp_gain: yes
+// Show the critical bonus for katar class weapon in player status window?
+// On official server, the critical bonus from katar class weapon isn't display. (Default: no)
+show_katar_crit_bonus: yes
+
// If set, when A accepts B as a friend, B will also be added to A's friend
// list, otherwise, only A appears in B's friend list.
// NOTE: this setting only enables friend auto-adding; auto-deletion does not work yet
@@ -171,3 +175,9 @@ snovice_call_type: 0
// Be mindful that the more options used, the easier it becomes to cheat features that rely on idletime (e.g. checkidle()).
// Default: walk ( 0x1 ) + useskilltoid ( 0x2 ) + useskilltopos ( 0x4 ) + useitem ( 0x8 ) + attack ( 0x10 ) = 0x1F
idletime_criteria: 0x1F
+
+// Can players get ATK/DEF from refinements on costume/shadow equips?
+// Default: yes (Official behavior not known)
+costume_refine_def: yes
+shadow_refine_def: yes
+shadow_refine_atk: yes
diff --git a/conf/messages.conf b/conf/messages.conf
index a2716c7c..97ad178d 100644
--- a/conf/messages.conf
+++ b/conf/messages.conf
@@ -870,7 +870,7 @@
1076: Clouds2 |
1077: Fireworks |
1078: Leaves |
-//1079 FREE
+1079: NoViewID |
1080: Displays Night |
1081: Other Flags:
1082: NoBranch |
diff --git a/db/const.txt b/db/const.txt
index fc4d5672..785969f0 100644
--- a/db/const.txt
+++ b/db/const.txt
@@ -361,6 +361,7 @@ mf_battleground 51
mf_reset 52
mf_notomb 53
mf_nocashshop 54
+mf_noviewid 55
cell_walkable 0
cell_shootable 1
@@ -529,6 +530,7 @@ bSkillHeal2 1088
bAddEffOnSkill 1089
bHealPower 1090
bHealPower2 1091
+bHPVanishRate 1092
bRestartFullRecover 2000
bNoCastCancel 2001
@@ -1333,6 +1335,23 @@ SC_TIME_ACCESSORY 623
SC_MAGICAL_FEATHER 624
SC_BLOSSOM_FLUTTERING 625
+SC_GM_BATTLE 626
+SC_GM_BATTLE2 627
+SC_2011RWC 628
+SC_STR_SCROLL 629
+SC_INT_SCROLL 630
+SC_STEAMPACK 631
+SC_MOVHASTE_POTION 632
+SC_MOVESLOW_POTION 633
+SC_BUCHEDENOEL 634
+SC_PHI_DEMON 635
+SC_PROMOTE_HEALTH_RESERCH 636
+SC_ENERGY_DRINK_RESERCH 637
+SC_MAGIC_CANDY 638
+SC_M_LIFEPOTION 639
+SC_G_LIFEPOTION 640
+SC_MYSTICPOWDER 641
+
e_gasp 0
e_what 1
e_ho 2
@@ -2472,13 +2491,30 @@ EF_MIRESULT_MAKE_FAIL 1018
EF_ALL_RAY_OF_PROTECTION 1019
EF_VENOMFOG 1020
EF_DUSTSTORM 1021
-//1022 - 1039 Unknown
+EF_LEVEL160 1022
+EF_LEVEL160_SUB 1023
+EF_MAPCHAIN 1024
+EF_MAGIC_FLOOR 1025
+EF_ICEMINE 1026
+EF_FLAMECORSS 1027
+EF_ICEMINE_1 1028
+EF_DANCE_BLADE_ATK 1029
+EF_DARKPIERCING 1030
+EF_INVINCIBLEOFF2 1031
+EF_MAXPAIN 1032
+EF_DEATHSUMMON 1033
+EF_MOONSTAR 1034
+EF_STRANGELIGHTS 1035
+EF_SUPER_STAR 1036
+EF_YELLOBODY 1037
+EF_COLORPAPER2 1038
+EF_EVILS_PAW 1039
EF_GC_DARKCROW 1040
EF_RK_DRAGONBREATH_WATER 1041
EF_ALL_FULL_THROTTLE 1042
EF_SR_FLASHCOMBO 1043
EF_RK_LUXANIMA 1044
-//1045 Unknown
+EF_CLOUD10 1045
EF_SO_ELEMENTAL_SHIELD 1046
EF_AB_OFFERTORIUM 1047
EF_WL_TELEKINESIS_INTENSE 1048
@@ -2493,16 +2529,47 @@ EF_RA_UNLIMIT 1056
EF_AB_OFFERTORIUM_RING 1057
EF_SC_ESCAPE 1058
EF_WM_FRIGG_SONG 1059
-EF_C_MAKER 1060
-//1061 Unknown
+EF_FLICKER 1060
+EF_C_MAKER 1061
EF_HAMMER_OF_GOD 1062
-//1063 - 1065 Unknown
+EF_MASS_SPIRAL 1063
+EF_FIRE_RAIN 1064
+EF_WHITEBODY 1065
EF_BANISHING_BUSTER 1066
EF_SLUGSHOT 1067
EF_D_TAIL 1068
-//1069 - 1077 Unknown
+EF_BIND_TRAP1 1069
+EF_BIND_TRAP2 1070
+EF_BIND_TRAP3 1071
+EF_JUMPBODY1 1072
+EF_ANIMATED_EMITTER 1073
+EF_RL_EXPLOSION 1074
+EF_C_MAKER_1 1075
+EF_QD_SHOT 1076
+EF_P_ALTER 1077
EF_S_STORM 1078
+EF_MUSIC_HAT 1079
+EF_CLOUD_KILL 1080
+EF_ESCAPE 1081
+EF_XENO_SLASHER 1082
+EF_FLOWERSMOKE 1083
+EF_FSTONE 1084
+EF_QSCARABA 1085
+EF_LJOSALFAR 1086
+EF_HAPPINESSSTAR 1087
+EF_POWER_OF_GAIA 1088
+EF_MAPLE_FALLS 1089
+EF_MARKING_USE_CHANGEMONSTER 1090
+EF_MAGICAL_FEATHER 1091
+EF_MERMAID_LONGING 1092
+EF_GIFT_OF_SNOW 1093
+EF_ACH_COMPLETE 1094
+EF_TIME_ACCESSORY 1095
+EF_SPRITEMABLE 1096
+EF_TUNAPARTY 1097
+
+FAKE_NPC -1
WARPNPC 45
1_ETC_01 46
1_M_01 47
@@ -3360,6 +3427,10 @@ THANATOS_KEEP 10009
4_CENERE 10172
4_F_ARUNA_POP2 10173
4_JACK_HEAD 10174
+4_INJUSTICE 10175
+4_BLOODYMAN 10176
+4_GIBBET 10177
+4_DULLAHAN 10178
MER_LIF 6001
MER_AMISTR 6002
diff --git a/db/re/map_zone_db.conf b/db/re/map_zone_db.conf
index 1b1c070e..2b1862d6 100644
--- a/db/re/map_zone_db.conf
+++ b/db/re/map_zone_db.conf
@@ -287,6 +287,15 @@ zones: (
}
},
{
+ name: "WoE TE"
+ inherit: ( "GvG" ) /* will import all gvg has */
+
+ disabled_items: {
+ TE_White_Potion: false
+ TE_White_Slim_Potion: false
+ }
+},
+{
name: "Sealed Shrine"
disabled_skills: {
diff --git a/db/sc_config.txt b/db/sc_config.txt
index d8272d39..ac65a667 100644
--- a/db/sc_config.txt
+++ b/db/sc_config.txt
@@ -46,7 +46,7 @@ SC_ENERGYCOAT, 16
SC_ATTHASTE_POTION1, 24
SC_ATTHASTE_POTION2, 24
SC_ATTHASTE_POTION3, 16
-//SC_MOVHASTE_POTION, 26
+SC_MOVHASTE_POTION, 26
//SC_POSTDELAY, 29
SC_BARRIER, 16
SC_NOEQUIPWEAPON, 30
@@ -122,7 +122,7 @@ SC_ONEHANDQUICKEN, 26
SC_PRESERVE, 18
SC_CHASEWALK, 4
SC_CHASEWALK2, 26
-//SC_MOVESLOW_POTION, 26
+SC_MOVESLOW_POTION, 26
SC_DOUBLECASTING, 26
SC_GRAVITATION, 26
SC_OVERTHRUSTMAX, 18
@@ -190,6 +190,19 @@ SC_MINOR_BBQ, 76
SC_SIROMA_ICE_TEA, 76
SC_DROCERA_HERB_STEAMED, 76
SC_PUTTI_TAILS_NOODLES, 76
+SC_MELON_BOMB, 12
+SC_BANANA_BOMB_SITDOWN_POSTDELAY, 12
+SC_BANANA_BOMB, 12
+SC_PROMOTE_HEALTH_RESERCH, 12
+SC_ENERGY_DRINK_RESERCH, 12
+SC_EXTRACT_WHITE_POTION_Z, 12
+SC_VITATA_500, 12
+SC_EXTRACT_SALAMINE_JUICE, 12
+SC_BOOST500, 12
+SC_FULL_SWING_K, 12
+SC_MANA_PLUS, 12
+SC_MUSTLE_M, 12
+SC_LIFE_FORCE_F, 12
SC_MER_FLEE, 28
SC_MER_ATK, 28
SC_MER_HP, 28
@@ -213,7 +226,7 @@ SC_TARGET_BLOOD, 30
SC_ARMOR_PROPERTY, 29
//SC_REUSE_LIMIT_A, 29
SC_HELLPOWER, 29
-//SC_STEAMPACK, 92
+SC_STEAMPACK, 108
//SC_REUSE_LIMIT_B, 29
//SC_REUSE_LIMIT_C, 29
//SC_REUSE_LIMIT_D, 29
@@ -272,10 +285,10 @@ SC_SUMMON2, 24
SC_SUMMON3, 24
SC_SUMMON4, 24
SC_SUMMON5, 24
-//SC_MVPCARD_TAOGUNKA, 28
-//SC_MVPCARD_MISTRESS, 28
-//SC_MVPCARD_ORCHERO, 28
-//SC_MVPCARD_ORCLORD, 28
+SC_MVPCARD_TAOGUNKA, 60
+SC_MVPCARD_MISTRESS, 60
+SC_MVPCARD_ORCHERO, 60
+SC_MVPCARD_ORCLORD, 60
SC_OVERHEAT_LIMITPOINT, 28
SC_OVERHEAT, 28
SC_SHAPESHIFT, 28
@@ -291,10 +304,10 @@ SC_SPL_DEF, 28
SC__REPRODUCE, 28
SC_MANU_MATK, 28
SC_SPL_MATK, 28
-//SC_STR_SCROLL, 29
-//SC_INT_SCROLL, 29
+SC_STR_SCROLL, 61
+SC_INT_SCROLL, 61
SC_FORCEOFVANGUARD, 28
-//SC_BUCHEDENOEL, 28
+SC_BUCHEDENOEL, 60
SC__AUTOSHADOWSPELL, 16
SC__SHADOWFORM, 30
SC_RAID, 28
@@ -370,12 +383,12 @@ SC_FIRE_INSIGNIA, 2
SC_WATER_INSIGNIA, 2
SC_WIND_INSIGNIA, 2
SC_EARTH_INSIGNIA, 2
-//SC_MORA_BUFF, 2
+SC_MORA_BUFF, 2
//SC_REUSE_LIMIT_G, 29
//SC_REUSE_LIMIT_H, 29
SC_NEEDLE_OF_PARALYZE, 1
SC_PAIN_KILLER, 1
-//SC_G_LIFEPOTION, 68
+SC_G_LIFEPOTION, 68
//SC_VITALIZE_POTION, 4
SC_LIGHT_OF_REGENE, 1
//SC_SONIC_CLAW_POSTDELAY, 2
@@ -386,7 +399,7 @@ SC_LIGHT_OF_REGENE, 1
//SC_CBC, 2
//SC_CBC_POSTDELAY, 2
//SC_EQC, 2
-//SC_MAGIC_CANDY, 92
+SC_MAGIC_CANDY, 92
//SC_ALL_RIDING_REUSE_LIMIT, 1
//SC_HANDICAPSTATE_DEEP_SLEEP, 80
SC_MONSTER_TRANSFORM, 12
@@ -410,25 +423,18 @@ SC_ARMORSCROLL, 69
SC_FREYJASCROLL, 69
SC_SOULSCROLL, 69
-// Eden Crystal Synthesis [Needs more info]
-//SC_QUEST_BUFF1, ??
-//SC_QUEST_BUFF2, ??
-//SC_QUEST_BUFF3, ??
+// Eden Crystal Synthesis
+SC_QUEST_BUFF1, 13
+SC_QUEST_BUFF2, 13
+SC_QUEST_BUFF3, 13
-// Geffen Magic Tournament [Needs more info]
-SC_GEFFEN_MAGIC1, 2
-SC_GEFFEN_MAGIC2, 2
-SC_GEFFEN_MAGIC3, 2
-//SC_FENRIR_CARD, ??
+// Geffen Magic Tournament
+SC_GEFFEN_MAGIC1, 14
+SC_GEFFEN_MAGIC2, 14
+SC_GEFFEN_MAGIC3, 14
SC_OVERLAPEXPUP, 12
-SC_MORA_BUFF, 2
-
-// MVP Scrolls
-SC_MVPCARD_TAOGUNKA, 60
-SC_MVPCARD_MISTRESS, 60
-SC_MVPCARD_ORCHERO, 60
-SC_MVPCARD_ORCLORD, 60
+SC_M_LIFEPOTION, 68
// Guild Auras should not be saved
SC_LEADERSHIP,78
diff --git a/doc/item_bonus.txt b/doc/item_bonus.txt
index 6aeca16e..f588921c 100644
--- a/doc/item_bonus.txt
+++ b/doc/item_bonus.txt
@@ -353,7 +353,10 @@ bonus3 bSPDrainRateRace,r,n,x; Adds a n/10% chance to receive x% of damage deal
HP/SP Vanish
------------
+bonus2 bHPVanishRate,n,x; Add the (n/10)% chance of decreasing enemy HP amount by x% when attacking
bonus2 bSPVanishRate,n,x; Add the (n/10)% chance of decreasing enemy SP amount by x% when attacking
+
+bonus3 bHPVanishRate,n,x,bf; Add the (n/10)% chance of decreasing enemy HP amount by x% when attacking for criteria bf
bonus3 bSPVanishRate,n,x,bf; Add the (n/10)% chance of decreasing enemy SP amount by x% when attacking for criteria bf
HP/SP Gain
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index 852a003b..e5663f7b 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -249,7 +249,7 @@ OnTouch events with a 2,2 range and with an 'end' after the header to avoid
bugs (for more info on why see npc_click@map/npc.c). It is possible to use a job
sprite as well, but you must first define it as a monster sprite in 'mob_avail.txt',
a full description on how to do this is not in the scope of this manual.
-A '-1' sprite will make the NPC invisible (and unclickable).
+A 'FAKE_NPC' sprite will make the NPC invisible (and unclickable).
A 'HIDDEN_NPC' sprite will make an NPC which does not have a sprite, but is
still clickable, which is useful if you want to make a clickable object of
the 3D terrain.
@@ -271,7 +271,7 @@ optional parameter.
** Define a 'floating' NPC object.
--%TAB%script%TAB%<NPC Name>%TAB%-1,{<code>}
+-%TAB%script%TAB%<NPC Name>%TAB%FAKE_NPC,{<code>}
This will define an NPC object not triggerable by normal means. This would
normally mean it's pointless since it can't do anything, but there are
@@ -303,7 +303,7 @@ items here. The layout used to define sale items still count, and
** Define a trader NPC
<map name>,<x>,<y>,<facing>%TAB%trader%TAB%<NPC Name>%TAB%<sprite>,{<code>}
--%TAB%trader%TAB%<NPC Name>%TAB%-1,{<code>}
+-%TAB%trader%TAB%<NPC Name>%TAB%FAKE_NPC,{<code>}
All the standards that are valid to script objects are also valid for trader objects
(see ** Define an NPC object for more information).
@@ -525,7 +525,8 @@ If a variable was never set, it is considered to equal zero for integer
variables or an empty string ("", nothing between the quotes) for string
variables. Once you set it to that, the variable is as good as forgotten
forever, and no trace remains of it even if it was stored with character
-or account data.
+or account data. The maximum length of variable name including prefix and
+suffix is 32.
Some variables are special, that is, they are already defined for you by
the scripting engine. You can see the full list somewhere in
@@ -1921,7 +1922,7 @@ Example:
dothat;
}
- - script test -1,{
+ - script test FAKE_NPC,{
.@try = is_function("try"); // 1
.@not = is_function("not"); // 0
}
@@ -3166,6 +3167,14 @@ behave specially when talked to by GMs.
---------------------------------------
+*setgroupid(<new group id>{,"<character name>"|<account id>})
+
+This function will temporary adjust the id of player group the account to which the
+player specified if the new group id is available.
+Return 1 if success, otherwise it will return 0.
+
+---------------------------------------
+
*getgroupid()
This function will return the id of player group the account to which the
@@ -4091,18 +4100,20 @@ Note: rid2name may not produce correct character names since rid means
---------------------------------------
+*message <account ID>,"<message>";
*message "<character name>","<message>";
That command will send a message to the chat window of the character
-specified by name. The text will also appear above the head of that
-character. It will not be seen by anyone else.
+specified by account ID or name. The text will also appear above the head
+of that character. It will not be seen by anyone else.
---------------------------------------
-*dispbottom "<message>";
+*dispbottom "<message>"{,<color>};
-This command will send the given message into the invoking character's
-chat window.
+This command will send the given message into the invoking character's
+chat window. The color format is in RGB (0xRRGGBB), and default to green
+if <color> field is left out.
---------------------------------------
@@ -6683,7 +6694,7 @@ and source flags are ignored.
*callshop "<name>",<option>;
These are a series of commands used to create dynamic shops.
-The callshop function calls an invisible shop (view -1) as if the player
+The callshop function calls an invisible shop (FAKE_NPC) as if the player
clicked on it.
For the options on callShop:
@@ -7453,7 +7464,7 @@ Usage example:
When a user types the command "@test", an angel effect will be shown.
-- script atcmd_example -1,{
+- script atcmd_example FAKE_NPC,{
OnInit:
bindatcmd "test",strnpcinfo(3)+"::OnAtcommand";
end;
@@ -7491,7 +7502,7 @@ Parameter splitting example:
The called event label needs to take care of joining arguments together, in
case it expects spaces. For example:
-- script atcmd_example -1,{
+- script atcmd_example FAKE_NPC,{
OnInit:
bindatcmd "test",strnpcinfo(3)+"::OnAtcommand";
end;
@@ -7602,7 +7613,7 @@ configuration, it will eventually return to that cycle.
Example:
-- script DayNight -1,{
+- script DayNight FAKE_NPC,{
OnClock0600:
day;
end;
diff --git a/doc/whisper_sys.txt b/doc/whisper_sys.txt
index 39e2a54f..ba7165b8 100644
--- a/doc/whisper_sys.txt
+++ b/doc/whisper_sys.txt
@@ -29,7 +29,7 @@ You whisper an NPC "NPCCommander" in-game with the following instructions:
The parameters are passed on to the "OnWhisperGlobal" label of the NPC, and can
be processed accordingly:
-- script NPCCommander -1,{
+- script NPCCommander FAKE_NPC,{
OnWhisperGlobal:
// Inform player "Lordalfa" that he has been reported for killstealing.
if (@whispervar0$ == "Report")
@@ -39,7 +39,7 @@ OnWhisperGlobal:
This could also be used for hidden event triggers:
-- script EventManager -1,{
+- script EventManager FAKE_NPC,{
OnWhisperGlobal:
if (getgmlevel() < 80) end;
if (@whispervar0$ == "pvp") {