Skip to content
Permalink
Browse files
Initial release of the clan system
Thanks to @cydh, @RagnarokNova and @aleos89 for their help.
  • Loading branch information
Lemongrass3110 committed Nov 16, 2016
1 parent dfccb88 commit ecc8cf9f0b8fc13b98d188dcd4786f13933469c9
Showing with 1,906 additions and 9 deletions.
  1. +2 −0 conf/inter_athena.conf
  2. +3 −0 conf/msg_conf/map_msg.conf
  3. +4 −0 conf/msg_conf/map_msg_chn.conf
  4. +3 −0 conf/msg_conf/map_msg_frn.conf
  5. +3 −0 conf/msg_conf/map_msg_grm.conf
  6. +3 −0 conf/msg_conf/map_msg_idn.conf
  7. +3 −0 conf/msg_conf/map_msg_por.conf
  8. +3 −0 conf/msg_conf/map_msg_rus.conf
  9. +3 −0 conf/msg_conf/map_msg_spn.conf
  10. +3 −0 conf/msg_conf/map_msg_tha.conf
  11. +6 −0 db/const.txt
  12. +6 −0 db/packet_db.txt
  13. +80 −0 doc/packet_interserv.txt
  14. +17 −0 doc/script_commands.txt
  15. +600 −0 npc/re/other/clans.txt
  16. +1 −0 npc/re/scripts_athena.conf
  17. +45 −0 sql-files/main.sql
  18. +46 −0 sql-files/upgrades/upgrade_20161116.sql
  19. +2 −0 src/char/CMakeLists.txt
  20. +26 −6 src/char/char.c
  21. +2 −0 src/char/char.h
  22. +244 −0 src/char/int_clan.c
  23. +10 −0 src/char/int_clan.h
  24. +5 −0 src/char/inter.c
  25. +19 −1 src/common/mmo.h
  26. +2 −0 src/map/CMakeLists.txt
  27. +5 −0 src/map/atcommand.c
  28. +2 −0 src/map/chrif.c
  29. +200 −0 src/map/clan.c
  30. +23 −0 src/map/clan.h
  31. +168 −1 src/map/clif.c
  32. +9 −0 src/map/clif.h
  33. +90 −0 src/map/intif.c
  34. +5 −0 src/map/intif.h
  35. +1 −0 src/map/log.h
  36. +6 −0 src/map/map.c
  37. +3 −0 src/map/pc.c
  38. +3 −0 src/map/pc.h
  39. +41 −0 src/map/script.c
  40. +7 −0 src/map/script_constants.h
  41. +11 −0 src/map/skill.c
  42. +104 −1 src/map/status.c
  43. +7 −0 src/map/status.h
  44. +2 −0 vcproj-10/char-server.vcxproj
  45. +6 −0 vcproj-10/char-server.vcxproj.filters
  46. +2 −0 vcproj-10/map-server.vcxproj
  47. +6 −0 vcproj-10/map-server.vcxproj.filters
  48. +2 −0 vcproj-12/char-server.vcxproj
  49. +6 −0 vcproj-12/char-server.vcxproj.filters
  50. +2 −0 vcproj-12/map-server.vcxproj
  51. +6 −0 vcproj-12/map-server.vcxproj.filters
  52. +2 −0 vcproj-13/char-server.vcxproj
  53. +6 −0 vcproj-13/char-server.vcxproj.filters
  54. +2 −0 vcproj-13/map-server.vcxproj
  55. +6 −0 vcproj-13/map-server.vcxproj.filters
  56. +2 −0 vcproj-14/char-server.vcxproj
  57. +6 −0 vcproj-14/char-server.vcxproj.filters
  58. +2 −0 vcproj-14/map-server.vcxproj
  59. +6 −0 vcproj-14/map-server.vcxproj.filters
  60. +8 −0 vcproj-9/char-server.vcproj
  61. +8 −0 vcproj-9/map-server.vcproj
@@ -122,6 +122,8 @@ acc_reg_num_table: acc_reg_num
acc_reg_str_table: acc_reg_str
char_reg_str_table: char_reg_str
char_reg_num_table: char_reg_num
clan_table: clan
clan_alliance_table: clan_alliance

// Map Database Tables
buyingstore_db: buyingstores
@@ -1622,5 +1622,8 @@
// Roulette
1497: Roulette is disabled

// @guild
1498: You cannot create a guild because you are in a clan.

//Custom translations
//import: conf/msg_conf/import/map_msg_eng_conf.txt
@@ -1483,5 +1483,9 @@
1492: 使用方法: @dropall {<類型>}
1493: 類型列表: (預設值) 全部 = -1, 藥水/料理 = 0, 消耗品 = 2, 其他 = 3, 武器 = 4, 防具 = 5, 卡片 = 6, 寵物蛋 = 7, 寵物裝備 = 8, 箭/子彈 = 10
1494: %d 物品已掉落!

// @guild
1498: You cannot create a guild because you are in a clan.

//Custom translations
//import: conf/msg_conf/import/map_msg_chn_conf.txt
@@ -1476,5 +1476,8 @@
1478: Diff�rence de niveau pour le partage en �quipe chang�.
1479: Mise � jour de la configuration �chou�e. Character serveur est hors ligne.

// @guild
1498: You cannot create a guild because you are in a clan.

//Custom translations
//import: conf/msg_conf/import/map_msg_frn_conf.txt
@@ -590,5 +590,8 @@
696: Oktoberfest
697: Summoner

// @guild
1498: You cannot create a guild because you are in a clan.

//Custom translations
import: conf/msg_conf/import/map_msg_grm_conf.txt
@@ -1592,5 +1592,8 @@

1497: Roulette tidak tersedia.

// @guild
1498: You cannot create a guild because you are in a clan.

//Bila ada terjemahan lain
//import: conf/msg_conf/import/map_msg_idn_conf.txt
@@ -1452,5 +1452,8 @@
1475: ---- Meus Canais ----
1476: Voc� ainda n�o est� em nenhum canal.

// @guild
1498: You cannot create a guild because you are in a clan.

//Custom translations
//import: conf/msg_conf/import/map_msg_por_conf.txt
@@ -1476,5 +1476,8 @@
1478: �������� ������� ���������� ����� ����� ����������� ������ ������� �������.
1479: ���������� �������� ������������. Character-������ ��������.

// @guild
1498: You cannot create a guild because you are in a clan.

// ���������������� �������
//import: conf/msg_conf/import/map_msg_rus_conf.txt
@@ -1455,5 +1455,8 @@
1475: ---- Mis canales ----
1476: No te has unido a ning�n canal.

// @guild
1498: You cannot create a guild because you are in a clan.

//Traducciones personalizadas
//import: conf/msg_conf/import/map_msg_spn_conf.txt
@@ -1495,5 +1495,8 @@
// Roulette
1497: �к� Roulette �Դ�����ҹ

// @guild
1498: You cannot create a guild because you are in a clan.

//Custom translations
//import: conf/msg_conf/import/map_msg_tha_conf.txt
@@ -2726,3 +2726,9 @@ THANATOS_KEEP 10009
4_ELDER 10205
4_LUNATIC 10206
4_F_NOVICE2 10207

SWORDCLAN 1
ARCWANDCLAN 2
GOLDENMACECLAN 3
CROSSBOWCLAN 4
JUMPINGCLAN 5
@@ -2330,6 +2330,12 @@ packet_keys: 0x631C511C,0x111C111C,0x111C111C // [Shakto]
0x09D6,-1,npcmarketpurchase,2:4:6
0x09D7,-1
0x09D8,2,npcmarketclosed,0
// Clan System
0x0988,6
0x0989,2
0x098A,-1
0x098D,-1,clanchat,2:4
0x098E,-1

// New Packet
0x097A,-1 // ZC_ALL_QUEST_LIST2
@@ -1416,7 +1416,51 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
desc:
- Homunculus rename

0x30A0:
Type: ZI
Structure: <cmd>.W
index: 0
len: 2
parameter:
- cmd : packet identification (0x30A0)
desc:
- Requests the loaded clans from the inter server

0x30A1
Type: ZI
Structure: <cmd>.W <size>.W <clan id>.L <account id>.L <message>.?B
index: 0,2,4,8,12
len: variable: 12+message
parameter:
- cmd : packet identification (0x30A1)
- size
- clan id : the clan id the message is sent to
- account id : the account id of the sender
- message : the message to be sent
desc:
- Sends a clan message to the inter server to relay it to all other mapservers

0x30A2:
Type: ZI
Structure: <cmd>.W <clan id>.L
index: 0,2
len: 6
parameter:
- cmd : packet identification (0x30A2)
- clan id : the clan id
desc:
- Notifies the inter server that a player has left the clan or disconnected

0x30A3:
Type: ZI
Structure: <cmd>.W <clan id>.L
index: 0,2
len: 6
parameter:
- cmd : packet identification (0x30A3)
- clan id : the clan id
desc:
- Notifies the inter server that a player has joined the clan or connected

0x3800:
Type: IZ
@@ -2256,6 +2300,42 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
desc:
- Send homunculus deletion status

0x38A0
Type: IZ
Structure: <cmd>.W <size>.W <clan structure>.?B * n
index: 0, 2, 4
len: variable: 4+clan*n
parameter:
- cmd : packet identification (0x38A0)
- size
- clan structure
desc:
- Send all loaded clans to the map server

0x38A1
Type: IZ
Structure: <cmd>.W <size>.W <message>.?B
index: 0, 2, 4
len: variable: 4+message
parameter:
- cmd : packet identification (0x38A1)
- size
- message : the data of the clan chat message packet
desc:
- Sends a clan chat message to other map servers

0x38A2
Type: IZ
Structure: <cmd>.W <clan id>.L <online count>.W
index: 0, 2, 6
len: 8
parameter:
- cmd : packet identification (0x38A2)
- clan id : the clan id of the clan that needs an update
- online count : the amount of currently connected players in the clan
desc:
- Updates the online clan member count for all other map servers

========================
| 3.2 Char-Map Packets |
========================
@@ -2356,6 +2356,7 @@ Type is the kind of associated ID number required:
2 - Guild ID
3 - Account ID
4 - Battle Ground ID
5 - Clan ID

For most purposes other than printing it, a number is better to have than a name
(people do horrifying things to their character names).
@@ -9343,5 +9344,21 @@ Param - Parameter of random option

---------------------------------------

*clan_join(<clan id>{,<char id>});

The attached player joins the clan with the <clan id>. On a successful join,
true is returned, else false if the join failed.
If <char id> is specified, the specified player is used rather than the attached one.

---------------------------------------

*clan_leave({<char id>});

The attached player will leave their clan. On a successful leave, true is returned,
else false if the leave failed.
If <char id> is specified, the specified player is used rather than the attached one.

---------------------------------------

Whew.
That's about all of them.

1 comment on commit ecc8cf9

@Lemongrass3110
Copy link
Member Author

@Lemongrass3110 Lemongrass3110 commented on ecc8cf9 Nov 16, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Forgot to add: Merged #1511

Please sign in to comment.