summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/scripts/constants.md85
-rw-r--r--server/scripts/script_commands.txt88
-rw-r--r--server/versions.txt2
3 files changed, 167 insertions, 8 deletions
diff --git a/server/scripts/constants.md b/server/scripts/constants.md
index 978cc7e..654e5eb 100644
--- a/server/scripts/constants.md
+++ b/server/scripts/constants.md
@@ -360,6 +360,8 @@
- `mf_nocashshop`: 54
- `mf_noautoloot`: 55
- `mf_noviewid`: 56
+- `mf_pairship_startable`: 57
+- `mf_pairship_endable`: 58
### Cell Properties
@@ -4162,6 +4164,84 @@
- `ITEMINFO_MATK`: 15
- `ITEMINFO_VIEWSPRITE`: 16
+### monster skill states
+
+- `MSS_ANY`: -1
+- `MSS_IDLE`: 0
+- `MSS_WALK`: 1
+- `MSS_LOOT`: 2
+- `MSS_DEAD`: 3
+- `MSS_BERSERK`: 4
+- `MSS_ANGRY`: 5
+- `MSS_RUSH`: 6
+- `MSS_FOLLOW`: 7
+- `MSS_ANYTARGET`: 8
+
+### monster skill conditions
+
+- `MSC_ANY`: -1
+- `MSC_ALWAYS`: 0
+- `MSC_MYHPLTMAXRATE`: 1
+- `MSC_MYHPINRATE`: 2
+- `MSC_FRIENDHPLTMAXRATE`: 3
+- `MSC_FRIENDHPINRATE`: 4
+- `MSC_MYSTATUSON`: 5
+- `MSC_MYSTATUSOFF`: 6
+- `MSC_FRIENDSTATUSON`: 7
+- `MSC_FRIENDSTATUSOFF`: 8
+- `MSC_ATTACKPCGT`: 9
+- `MSC_ATTACKPCGE`: 10
+- `MSC_SLAVELT`: 11
+- `MSC_SLAVELE`: 12
+- `MSC_CLOSEDATTACKED`: 13
+- `MSC_LONGRANGEATTACKED`: 14
+- `MSC_SKILLUSED`: 16
+- `MSC_AFTERSKILL`: 15
+- `MSC_CASTTARGETED`: 17
+- `MSC_RUDEATTACKED`: 18
+- `MSC_MASTERHPLTMAXRATE`: 19
+- `MSC_MASTERATTACKED`: 20
+- `MSC_ALCHEMIST`: 21
+- `MSC_SPAWN`: 22
+
+### monster skill targets
+
+- `MST_TARGET`: 0
+- `MST_RANDOM`: 1
+- `MST_SELF`: 2
+- `MST_FRIEND`: 3
+- `MST_MASTER`: 4
+- `MST_AROUND5`: 5
+- `MST_AROUND6`: 6
+- `MST_AROUND7`: 7
+- `MST_AROUND8`: 8
+- `MST_AROUND1`: 9
+- `MST_AROUND2`: 10
+- `MST_AROUND3`: 11
+- `MST_AROUND4`: 12
+- `MST_AROUND`: 12
+
+### pc block constants, use with *setpcblock* and *checkpcblock*
+
+- `PCBLOCK_NONE`: 0
+- `PCBLOCK_MOVE`: 1
+- `PCBLOCK_ATTACK`: 2
+- `PCBLOCK_SKILL`: 4
+- `PCBLOCK_USEITEM`: 8
+- `PCBLOCK_CHAT`: 16
+- `PCBLOCK_IMMUNE`: 32
+- `PCBLOCK_SITSTAND`: 64
+- `PCBLOCK_COMMANDS`: 128
+
+### private airship responds
+
+- `P_AIRSHIP_NONE`: 0
+- `P_AIRSHIP_RETRY`: 1
+- `P_AIRSHIP_INVALID_START_MAP`: 2
+- `P_AIRSHIP_INVALID_END_MAP`: 3
+- `P_AIRSHIP_ITEM_NOT_ENOUGH`: 4
+- `P_AIRSHIP_ITEM_INVALID`: 5
+
### Renewal
- `RENEWAL`: 1
@@ -12224,6 +12304,7 @@
- `Daily_Coin`: 6674
- `XMAS_Cookie`: 6681
- `Bag_Of_Selling_Goods`: 6682
+- `Cash_Hair_Coupon`: 6707
- `Lovely_Stick`: 6712
- `Corrupted_Charm`: 6755
- `ORGANIC_PUMPKIN`: 6804
@@ -15909,6 +15990,9 @@
- `Universal_Catalog_Gold_Box10_`: 16776
- `Universal_Catalog_Gold_Box50`: 16777
- `Sagittarius_Scr_Box`: 16826
+- `Beauty_Gift_Box`: 16843
+- `Clothing_Dye_Box`: 16854
+- `Clothing_Dye_Orig_Box`: 16855
- `Weather_Report_Box`: 16972
- `Yellow_Hat_Box`: 16973
- `Comin_Actor_Box`: 16974
@@ -16078,6 +16162,7 @@
- `INT_Biscuit_Stick_Box`: 17273
- `DEX_Biscuit_Stick_Box`: 17274
- `LUK_Biscuit_Stick_Box`: 17275
+- `Jeremy_Beauty_Coupon_Box`: 17336
- `Cannon_Ball`: 18000
- `Holy_Cannon_Ball`: 18001
- `Dark_Cannon_Ball`: 18002
diff --git a/server/scripts/script_commands.txt b/server/scripts/script_commands.txt
index bfb6c95..ce9555a 100644
--- a/server/scripts/script_commands.txt
+++ b/server/scripts/script_commands.txt
@@ -5933,12 +5933,15 @@ Examples:
---------------------------------------
-*pcblockmove(<id>, <option>)
+*pcblockmove(<account id>, <option>)
-Prevents the given ID from moving when the optionis true , and false
-enables the ID to move again. The ID can either be the GID of a
-monster/NPC or account ID of a character, and will run for the attached
-player if zero is supplied.
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ @ /!\ This command is deprecated @ Use setpcblock() and checkpcblock()
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
+Prevents the player from moving when the option != 0, and 0 enables the
+player to move again. The player has to be the account ID of a character,
+and will run for the attached player if zero is supplied.
Examples:
@@ -8822,12 +8825,13 @@ Examples:
---------------------------------------
-*getunits(<type>, <variable>, <limit>, "<map>"{, <x1>, <y1>, <x2>, <y2>})
+*getunits(<type>, <variable>, <limit>{, "<map>"{, <x1>, <y1>, <x2>, <y2>}})
This function searches a whole map or area for units and adds their GID to
the provided <variable> array. It filters units by <type> and stops searching
after <limit> units have been found. Set <limit> to false (0) if you wish to
-disable the limit altogether.
+disable the limit altogether. If <map> is omitted, this command will search
+on the whole server (slow). Returns the number of units added to the array.
Type is the type of unit to search for:
@@ -8846,6 +8850,10 @@ Type is the type of unit to search for:
** Do NOT use UNITTYPE_ constants here, they have different values.
+** If battle_config.dynamic_mobs is enabled and no player has entered the map
+ yet, the mobs will not have spawned in the map yet, so getunits() will be
+ unable to find them when searching for BL_MOB.
+
Example:
.@count = getunits((BL_PC | BL_NPC), .@units, false, "prontera");
@@ -9660,6 +9668,53 @@ for name and 0 for all other types.
//=====================================
---------------------------------------
+---------------------------------------
+
+*setpcblock(<type>,<option>)
+*checkpcblock()
+
+Prevents the player from doing the following action.
+
+For setpcblock, when the <option> is true(1) will block them, and false(0)
+will allow those actions again.
+
+The checkpcblock command returned value is a bit mask of the currently
+enabled block flags (or PCBLOCK_NONE when none is set).
+
+The <type> listed are a bit mask of the following:
+ PCBLOCK_NONE (only used by checkpcblock)
+ PCBLOCK_MOVE
+ PCBLOCK_ATTACK
+ PCBLOCK_SKILL
+ PCBLOCK_USEITEM
+ PCBLOCK_CHAT
+ PCBLOCK_IMMUNE
+ PCBLOCK_SITSTAND
+ PCBLOCK_COMMANDS
+
+Examples:
+
+// Make the current attached player invulnerable, same as @monsterignore
+ setpcblock(PCBLOCK_IMMUNE, true);
+
+// Prevents the current char from attacking or using skills
+ setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL, true);
+
+// Re-enables attack, skills and item use
+ setpcblock(PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_ITEM, false);
+
+// checkpcblock related checks
+ if ((checkpcblock() & PCBLOCK_IMMUNE) != 0)
+ mes "You are invulnerable!";
+
+ if ((checkpcblock() & (PCBLOCK_MOVE|PCBLOCK_SITSTAND)) == (PCBLOCK_MOVE|PCBLOCK_SITSTAND))
+ mes "You can't walk or sit";
+
+ if ((checkpcblock() & (PCBLOCK_ATTACK|PCBLOCK_SKILL)) == PCBLOCK_NONE)
+ mes "You can attack and use skills";
+
+ if ((checkpcblock() & PCBLOCK_CHAT) == PCBLOCK_NONE)
+ mes "You can't chat";
---------------------------------------
//=====================================
@@ -10013,3 +10068,22 @@ Enables the Emblem of the given Clan to the current NPC
13 - End of Clan System Related Commands
//=====================================
---------------------------------------
+
+*airship_respond(<flag>)
+
+Send client respond to different private airship status.
+the available flags are:
+ P_AIRSHIP_NONE
+ P_AIRSHIP_RETRY
+ P_AIRSHIP_INVALID_START_MAP
+ P_AIRSHIP_INVALID_END_MAP
+ P_AIRSHIP_ITEM_NOT_ENOUGH
+ P_AIRSHIP_ITEM_INVALID
+
+---------------------------------------
+
+*openstylist()
+
+Opens the styling shop on client
+
+---------------------------------------
diff --git a/server/versions.txt b/server/versions.txt
index 8537e27..ec31b0a 100644
--- a/server/versions.txt
+++ b/server/versions.txt
@@ -18,4 +18,4 @@ Plugin versions:
18 Jul 12 2017
First supported version by client:
- 11
+ 14