Add VIP cards and the VIP panel (mt_vip)

Cards 38001 (7 days) and 38002 (30 days) extend all seven original premium
services of the account; the server side is metin2-server port_premium.h
(docs/FEATURE-VIP.md).

- mt_vip: /mt_vip 1 status, VIP button by the minimap, remaining time per
  service, chat line on card use.
- tools/server/vip-card: 40250 ships both cards with size 0 (two share a
  cell, neither moves); give them one cell, stacking, a log and no NPC sale,
  and name them on the server.
- locale_proto_patch: optional item shape table (size, flags, anti flags)
  so the client proto matches; data/zh_40250/item_shapes_server.tsv.
- Item mall (9010): 7 days 5,000,000, 30 days 18,000,000 gold.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-10-16 02:13:15 +09:00
co-authored by Claude Opus 5.5
parent b14fb2ffe9
commit 5dcac9cbd4
13 changed files with 430 additions and 6 deletions
+2
View File
@@ -1005,6 +1005,7 @@ namespace PythonBoot
#include "DisplayScript.inc"
#include "ChannelScript.inc"
#include "BossScript.inc"
#include "VipScript.inc"
static void install_script_module(const char* c_szModule, const char* c_szScript)
{
@@ -1084,6 +1085,7 @@ bool RunMainScript(const char* lpCmdLine, std::string* error)
install_script_module("mt_display", c_szDisplayScript);
install_script_module("mt_channel", c_szChannelScript);
install_script_module("mt_boss", c_szBossScript);
install_script_module("mt_vip", c_szVipScript);
if (g_touch_input)
install_script_module("mt_mobile_hud", c_szMobileHUDScript);
}