Comments (8)
Fs的思路:flag改mark,修改双雄加时机
修改Client::setMark()函数,处理失去技能
from qsanguosha-v2.
@Fsu0413 具体的要怎么做
from qsanguosha-v2.
先干掉skillStateChanged函数,相关的东西都干掉
然后参考国战移植
from qsanguosha-v2.
我来吧
from qsanguosha-v2.
@Xusine1131
Lua接口不用加,只需要在技能效果持续期间,放置一个Mark,名为:ViewAsSkill_xxxEffect (xxx替换为视为技或触发技的技能的objectName)。此时在失去技能时就不会失去技能按钮,直到此Mark的数量被设置为0。
具体实现:(比如某技能的技能名为xxx)
在失去技能时,先判断当前ClientPlayer是否有形如“ViewAsSkill_xxxEffect”(xxx替换为技能的objectName)的Mark,如果有,则在客户端本地(此处注意!!服务端没有!!)添加一个形如“ViewAsSkill_xxxLost”的Mark,并且不删除技能按钮。(实现在RoomScene::detachSkill()中)
当一个形为ViewAsSkill_xxxEffect的Mark的数量被设置为0时,如果ClientPlayer有形如“ViewAsSkill_xxxLost”的Mark,并且技能列表里也没有xxx技能,则对“ViewAsSkill_xxxLost”的Mark在客户端进行清除,并且删除技能按钮。(实现在Client::setMark()中)
此方法改编于国战双雄的耦合,话说国战双雄的耦合是实现在Client::notifyProperty()函数中的,如果想解耦的话,按照这个思路解耦就行了。
from qsanguosha-v2.
@SwordElucidator AI对可以使用视为技有一句hasFlag(skill:objectName())的判断,改为getMark("ViewAsSkill_" .. skill:objectName() .. "Effect") > 0
这段语句来源于之前双雄的实现,不过因为双雄修改了实现所以hasFlag已经没有实际作用了。
from qsanguosha-v2.
@Fsu0413 国战还需要这样搞API么
from qsanguosha-v2.
@Xusine1131 不用
from qsanguosha-v2.
Related Issues (20)
- win7下编译运行没有声音 HOT 2
- 用最新的QT5.9.1编译,运行游戏存在阴影 HOT 7
- QT5.5编译出错 HOT 1
- 你们是如何提取到最新版三国杀的资源(武将原画,皮肤,配音等)的? HOT 3
- 用qt5.9.2编译后,debug模式会停止运行,release模式可以运行 HOT 15
- 最新的(2017年8月的)release是不是去掉了 选择所有 和 反向选择 手牌? HOT 1
- 求开启AI身份预知 HOT 5
- 求问一下Qt版本 HOT 3
- 你们用vs2013成功编译时,用的是哪个版本的Qt? HOT 4
- 编译之前是不是要安装FMOD? HOT 7
- 可不可以在windows下用g++编译成功? HOT 1
- 如果要使每次洛神都发音,应该对哪些文件中的代码进行修改? HOT 3
- 怎么切换界面语言? HOT 1
- sanguosha.qm这个文件是怎么生成的? HOT 1
- 有介绍录像文件中的语法的文档吗? HOT 2
- 两个lua同时引用第三个lua文件,游戏结束后闪退
- sgs.ai_skill_discard这个函数是在哪定义的? HOT 5
- 太阳神三国杀没人维护了吗? HOT 5
- 请问有4k屏的解决方案吗 HOT 2
- Mac下的编译错误 HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qsanguosha-v2.