From 4dcb18d0e7848effd25e0d5970e9c84808da957c Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 10 六月 2019 14:12:34 +0800
Subject: [PATCH] 7155 【后端】【2.0】新增仙盟创建规则
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SummonNPC.py | 44 ++++++++++++++++++++++----------------------
1 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SummonNPC.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SummonNPC.py
index c93835a..635c596 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SummonNPC.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SummonNPC.py
@@ -16,45 +16,44 @@
import ChConfig
import GameWorld
import NPCCommon
+import ShareDefine
#
#逻辑实现
## 在身边刷召唤NPC <NPCID> [数量] 默认数量:1
# @param curPlayer 当前玩家
-# @param list 参数列表 [tagID, NPCCount]
+# @param paramList 参数列表 [tagID, NPCCount]
# @return None
# @remarks 函数详细说明.
-def OnExec(curPlayer, list):
-#===============================================================================
-# #检测当前玩家是否有权限
-# #if
-# #第一阶段不处理
-#===============================================================================
-
+def OnExec(curPlayer, paramList):
#输入命令格式错误
- if len(list)<1 or len(list)>2:
+ if not paramList:
+ GameWorld.DebugAnswer(curPlayer, "SummonNPC npcID 个数")
+ GameWorld.DebugAnswer(curPlayer, "SummonNPC npcID 个数 血量")
return
+
#NPC对象ID
- tagID=list[0]
+ npcID = paramList[0]
+ npcCount = max(paramList[1] if len(paramList) > 1 else 1, 1)
+ npcData = GameWorld.GetGameData().FindNPCDataByID(npcID)
- if not GameWorld.GetGameData().FindNPCDataByID(tagID):
+ if not npcData:
return
-
- #NPC刷新数量
- if len(list)==1:
- #默认数量1
- NPCCount=1
- else:
- #GM输入的数量
- NPCCount=list[1]
+ npcType = npcData.GetType()
+ if npcType in [ChConfig.ntPriWoodPilePVE, ChConfig.ntPriWoodPilePVP]:
+ setHP = paramList[2] if len(paramList) > 2 else 0
+ hp = setHP % ShareDefine.Def_PerPointValue
+ hpEx = setHP / ShareDefine.Def_PerPointValue
+ NPCCommon.SummonPriWoodPile(curPlayer, npcID, npcCount, hp, hpEx)
+ return
- for i in range(0,NPCCount):
+ for _ in range(npcCount):
#在玩家周围选择一个无玩家的点
- resultPos=GameMap.GetEmptyPlaceInArea(curPlayer.GetPosX(),curPlayer.GetPosY(),6)
+ resultPos = GameMap.GetEmptyPlaceInArea(curPlayer.GetPosX(), curPlayer.GetPosY(), 6)
#生成NPC
summonNPC = curPlayer.SummonNewNPC()
- summonNPC.SetNPCTypeID(tagID)
+ summonNPC.SetNPCTypeID(npcID)
summonNPC.SetAIType(200)
summonNPC.GetNPCAngry().Init(ChConfig.Def_SummonNPC_Angry_Count)
#初始化
@@ -63,6 +62,7 @@
#玩家召唤兽列表添加召唤兽,召唤兽添加主人
summonNPC.Reborn(resultPos.GetPosX(), resultPos.GetPosY())
+ return
--
Gitblit v1.8.0