技术:精确数据

版本差异

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
技术:精确数据 [2022/12/21 08:32] – [蹦极偷曾概率] OTZzzz技术:精确数据 [2024/10/28 15:58] (当前版本) 小文233
行 3: 行 3:
  
 /* 以上为所有页面共用的排版格式,请勿删除。 */ /* 以上为所有页面共用的排版格式,请勿删除。 */
 +
 +
 +~~SNIPPET_O1730432538~~snippet:优秀条目~~
 +{{tag>[优秀条目]}}
 +<WRAP center round tip note>
 +经OP鉴定,本词条内容清晰,排版优美,是值得参考的优秀范例。
 +</WRAP>
 +~~SNIPPET_C~~snippet:优秀条目~~
 +
  
 ~~SNIPPET_C~~snippet:通用排版~~ ~~SNIPPET_C~~snippet:通用排版~~
行 19: 行 28:
  
 <WRAP center round help note> <WRAP center round help note>
-以下内容涉及较多精确数据,除非确信某处有误,否则**谨慎修改**。+以下内容涉及较多精确数据,除非确信某处有误,否则**请勿修改**。
 </WRAP> </WRAP>
  
行 44: 行 53:
   * 植物/僵尸坐标:以游戏内存值为准,单位px   * 植物/僵尸坐标:以游戏内存值为准,单位px
     * 坐标轴原点为1-1格左上角,↓→为正方向     * 坐标轴原点为1-1格左上角,↓→为正方向
-  * 判定以游戏内调试模式为准 +    绘制判定区域时,需将坐标轴原点平移至可见画面左上角,大致符合游戏内调试模式觉逻辑。若仅进行判定计算,无需考虑这一
-    * 坐标轴原点为可区左上角((该坐标系最先由[[人物:不在宝前]]在[[https://tieba.baidu.com/p/6054349816|【补充贴】部分判定范围的计算方法]]中正式提出在于可以直接通过内存值加减得到判定范围)),↓→为正方向+
   * 时间:以游戏最小时间单位,单位cs   * 时间:以游戏最小时间单位,单位cs
  
行 55: 行 63:
 ==== 判定计算 ==== ==== 判定计算 ====
 [{{ :技术:pasted:20221218-100348.png?250|游戏内圆的实际判定范围}}] [{{ :技术:pasted:20221218-100348.png?250|游戏内圆的实际判定范围}}]
-内存值中存在16位浮点数,但几乎所有判定计算时都会向零取整(即抹去小数部分)。圆的判定是''(Δx)^2+(Δy)^2<nowiki><=</nowiki>R^2'',其中''(Δx)''、''(Δy)''均以此法取整,因此相应的圆不是一般画图软件出来的圆,判定圆图形如右。+内存值中存在16位浮点数,但所有判定计算时都会向零取整(即抹去小数部分)。圆的判定是''(Δx)^2+(Δy)^2<nowiki><=</nowiki>R^2'',其中''(Δx)''、''(Δy)''均以此法取整,因此相应的圆不是一般画图软件出来的圆,判定圆图形如右。
 <WRAP clear/> <WRAP clear/>
  
行 83: 行 91:
 ====场景边界==== ====场景边界====
  
-^  名称  ^  范围  ^  含义  | +  * 僵尸可伤: 
-|  伤害区  |  ''-50~800''  |  在此范围外,僵尸不可伤(寒三叶草除外)  | +     * 防御域左端''800'' 
-|  触车区  |  ''-20~28''   僵尸触发小推车的范围  | +  僵尸进家: 
-|  警戒区  |  ''0~800''   大部分植物仅对此范围内的僵尸开火  | +     * 橄榄、投篮:''x≤-175'' 
-|  进家线  |  ''%%<-21%%''   大部分僵尸的进家判定线  |+     * 撑杆、巨人:''x≤-150'' 
 +     * 舞王、伴舞、潜水:''x≤-130'' 
 +     * 其它:''x≤-100'' 
 ====植僵坐标==== ====植僵坐标====
  
行 117: 行 128:
 ^5|40,510|120,490|200,470|280,450|360,430|440,410|520,410|600,410|680,410| ^5|40,510|120,490|200,470|280,450|360,430|440,410|520,410|600,410|680,410|
  
-====地形图==== 
-<WRAP centerimgbox> 
-[{{ :技术:pasted:ne.jpg?direct&600 |前院地形图}}]</WRAP> 
-<WRAP centerimgbox> 
-[{{ :技术:pasted:fe.jpg?direct&600 |后院地形图}}]</WRAP> 
-<WRAP centerimgbox> 
-[{{ :技术:pasted:me.jpg?direct&600 |屋顶地形图}}]</WRAP> 
- 
-注: 
-  * 两种线有重合时,重合段用两者颜色相间的线表示 
-  * 白线为坐标轴,x轴向右为正,y轴向下为正 
-  * 紫色和暗品红色为各控制格的边框 
-  * 绿线为可见区的边界 
-  * 右红线为伤害区和警戒区的右界——若僵尸防御域都在其右方则无敌且不被当作目标 
-  * 蓝线为警戒区的左界——若僵尸防御域都在其左方则不被当作目标 
-  * 黄竖线为碰车区的边界 
-  * 左红线为屋外区的左界——若僵尸防御域都在其左方则其进屋 
-  * 黄横线或斜线为僵尸基准轨迹,没有纵向偏移且正常前进的僵尸坐标在其上 
-  * 绿十字为植物基准点,通常植物坐标在那些位置 
  
 ===== 植物概览 ===== ===== 植物概览 =====
行 152: 行 144:
 </callout> </callout>
 |<100% 7em>| |<100% 7em>|
-^  植物  ^触发   ^触发特判   ^命中   ^命中特判  | +^  植物          ^ 触发                                                                                                                                                                                                                                      ^ 触发特判                                                                                                                                                   ^ 命中                                                ^ 命中特判                                                                                                                                                                  ^ 
-|  樱桃炸弹    |圆心''(x+40,y+40)'',半径''115'' | | +|  樱桃炸弹                                                                                                                                                                                                                                                                                                                                                                                                           | 圆心''(x+40,y+40)'',半径''115''                                                                                                                                                                                              
-|  土豆地雷  |''x~+55''  |对正在啃的''左右各伸30''\\ 对跳后撑杆''左缩40*(1+N)'',N为比该撑杆编号小的跳后撑杆数  |圆心''(x+20,y+40)'',半径''60''   +|  土豆地雷      | ''x~+55''                                                                                                                                                                                                                                 | 对正在啃的''左右各伸30''\\ 对所有僵尸''左缩40*N'',N为编号小于等于该僵尸的跳后撑杆数                                                                       | 圆心''(x+20,y+40)'',半径''60''                                                                                                                                                                                               
-|  大嘴花  |''x+80~+120'' |对正在啃的''左右各伸60''\\ 对反向矿''左缩20''  |范围内编号最小的僵尸  |  | +|  大嘴花        | ''x+80~+120''                                                                                                                                                                                                                             | 对正在啃的''左右各伸60''\\ 对所有僵尸''左缩20*N'',N为编号小于等于该僵尸的反向矿工数                                                                       | 范围内编号最小的僵尸                                                                                                                                                                                                          | 
-|  窝瓜  |''x+20~+135''  |对正在啃的''右伸40''\\ 对跳后撑杆、海豚、橄榄、小鬼''左伸60''\\ 对反向矿、雪人''左伸70'',正在啃再''左伸40''\\ ''窝瓜x-118≤奔跑撑杆x≤窝瓜x-17''时触发窝瓜  |压区跨度''43''  |对橄榄''左右各伸20''  +|  毁灭菇        |                                                                                                                                                                                                                                                                                                                                                                                                      | 圆心''(x+40,y+40)'',半径''250''                    |                                                                                                                                                                           
-|  缠绕海草  |''x~+80''  | |范围内编号最小的僵尸   +|  窝瓜          | ''x+20~+135''                                                                                                                                                                                                                             | 对正在啃的''右伸40''\\ 对跳后撑杆、海豚、橄榄、小鬼''左伸60''\\ 对反向矿、雪人''左伸70'',正在啃再''左伸40''\\ ''窝瓜x-118≤奔跑撑杆x≤窝瓜x-17''时触发窝瓜  | 压区跨度''43''                                      | 对橄榄''左右各伸20''                                                                                                                                                      
-|  普通植物向右  |''x+60'' |(取整后)坐标相同取小编号,否则取左坐标   +|  缠绕海草      | ''x~+80''                                                                                                                                                                                                                                                                                                                                                                                            | 范围内编号最小的僵尸                                                                                                                                                                                                          
-|  裂荚射手向左  |''x+16''     +|  普通植物向右  | ''x+60''                                                                                                                                                                                                                                                                                                                                                                                             | (取整后)坐标相同取小编号,否则取左坐标                                                                                                                                                                                      
-|  杨桃向左  |''x-3''     +|  裂荚射手向左  | ''x+16''                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
-|  反向双发  |''x''     +|  杨桃向左      | ''x+40''(判定僵尸防御域右界)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
-|  小喷菇  |''x+60~+290''   |''x+40~+323''  +|  反向双发      | ''x''                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
-|  海蘑菇  |同上  |  |''x+45~+328''  | +|  火炬树桩      右向非三线豌豆''x-20''过火;\\ 三线中间豌豆''x-22''过火;\\ 左向豌豆''x+45''过火;\\ 三线上下豌豆''x-22''过火;\\ 过火前后子弹坐标无变化(上面数据均在静态环境\\ 下测定,豌豆植物摇头以及子弹以3.33为最小单位\\ 位移会使过火实际为一个范围)                                                                                                                                                             豌豆、冰豆命中''x+25~+80'' \\ 火豆命中''x+40~+70'' 火炬在豌豆右列时,豌豆与火炬距离(坐标差)小于''56''时在过火前将不命中僵尸(卡火炬“特性”的由来);火炬在同列或者左列时,火炬编号大则优先过火,豌豆编号大则优先命中僵尸。  | 
-|  大喷菇  |''x+60~+400''   |''x+61~+399''  |  | +|  小喷菇        | ''x+60~+290''                                                                                                                                                                                                                                                                                                                                                                                        | ''x+40~+323''                                                                                                                                                                                                                 
-|  忧郁菇  |''x-80~+160''   |''x-79~+159''   +|  大喷菇        | ''x+60~+400''                                                                                                                                                                                                                                                                                                                                                                                        | ''x+61~+399''                                                                                                                                                                                                                 
-|  地刺(王)  |''x+20~+50''   |''x+21~+49''   +|  胆小菇害怕    | 圆心''(x,y+20)'',半径''120''                                                                                                                                                                                                                                                                                                                                                                                                                            |                                                                                                                                                                           | 
-|  胆小菇害怕  |圆心''(x,y+20)'',半径''120'' | |  |  | +|  海蘑菇        | 同上                                                                                                                                                                                                                                      |                                                                                                                                                            | ''x+45~+328''                                                                                                                                                                                                                 
-|  磁力菇  |圆心''(x,y+20)'',半径''270'' |对正在啃食的半径''320''(([[https://tieba.baidu.com/p/5760333415|磁力菇对于正在啃食的僵尸的作用范围是半径320像素]])) |  |  | +|  磁力菇        | 圆心''(x,y+20)'',半径''270''                                                                                                                                                                                                             | 对正在啃食的半径''320''(([[https://tieba.baidu.com/p/5760333415|磁力菇对于正在啃食的僵尸的作用范围是半径320像素]]))                                                                                                                                                                                                                                                                      | 
-|  玉米加农炮    |圆心为爆炸中心(见下文),半径''115'' |+|  忧郁菇        | ''x-80~+160''                                                                                                                                                                                                                                                                                                                                                                                        | ''x-79~+159''                                                                                                                                                                                                                 | 
 +|  地刺(王)    | ''x+20~+50''                                                                                                                                                                                                                              |                                                                                                                                                            | ''x+21~+49''                                        |                                                                                                                                                                           
 +|  玉米加农炮                                                                                                                                                                                                                                                                                                                                                                                                         | 圆心为爆炸中心(见下文),半径''115''                                                                                                                                                                                         |
  
 === 命中范围 === === 命中范围 ===
 [{{ :技术:pasted:20221218-165906.png|直线攻击类植物的命中范围}}] [{{ :技术:pasted:20221218-165906.png|直线攻击类植物的命中范围}}]
-紫色竖线及右侧是触发区域,豌豆类的红色区域是必定击中范围,黄色区域是可能击中范围(越左击中可能越小),三线射手对三行的击中范围相同,仙人掌的黄色区域是飞行气球的击中范围。(([[https://tieba.baidu.com/p/6054349816|【补充贴】部分判定范围的计算方法]]))+紫色竖线及右侧是触发区域,豌豆类的红色区域是必定击中范围,黄色区域是可能击中范围(越左击中可能越小),三线射手对三行的击中范围相同,仙人掌的黄色区域是飞行气球的击中范围。 
 +(([[https://tieba.baidu.com/p/6054349816|【补充贴】部分判定范围的计算方法]]))
 <WRAP clear/> <WRAP clear/>
  
行 228: 行 223:
 ==== 攻击机制 ==== ==== 攻击机制 ====
  
 +植物攻击间隔准确数据:(([[https://tieba.baidu.com/p/6001851164|植物触发攻击机制的一些细节]]))
 +  * 大部分植物攻击间隔是1.36s~1.50s
 +  * 投掷类植物攻击间隔是2.86s~3.00s
 +  * 忧郁菇的攻击间隔是1.86s~2.00s
 +  * 地刺和地刺王的攻击间隔是1.01s
 +  * 僵尸进入大嘴花的触发范围后,下一厘秒开咬(因为同一厘秒内先计算范围内有没有僵尸,后计算僵尸的运动),再延迟0.70秒咬中,整个咬动作1.05秒,所以咬间隔1.06秒。消化40.00秒,咽2.34秒,所以吞间隔43.40秒
 +
 +命中延迟:(([[https://tieba.baidu.com/p/6620690189|各种细节]]))
 +^  植物  ^  命中延迟(cs)  ^
 +|  豌豆射手、寒冰射手、仙人掌、裂荚射手(右向)  |  34  |
 +|  双发射手、裂荚射手(左向)、反向双发射手  |  25、50  |
 +|  小喷菇、海蘑菇  |  28  |
 +|  大喷菇  |  49  |
 +|  胆小菇  |  25  |
 +|  地刺  |  25  |
 +|  杨桃  |  39  |
 +|  卷心菜投手  |  31  |
 +|  玉米投手  |  29  |
 +|  西瓜投手、冰瓜  |  35  |
 +|  机枪射手  |  32、49、65、82  |
 +|  忧郁菇  |  74、102、130、158  |
 +|  猫尾草  |  31、81  |
 +|  地刺王  |  30、68  |
 +
 +子弹类的击中判定:
 +  * 击中行是当前所在行,击中的横向范围是上一厘秒的范围,可以理解为先改变纵坐标,确定所在行,根据横坐标伤害僵尸,再改变横坐标。
 +  * 豌豆(包括左向)击中范围左15像素,右40像素,共56像素;
 +  * 孢子、星星、卷心菜、玉米粒、黄油 击中右40像素,共41像素;
 +  * 刺击中左25像素,右40像素,共66像素;
 +  * 火豌豆击中范围0~+30,溅射范围0~+100;溅射伤害值为 40/溅射僵尸数量,再取整数部分,大于13伤害13,小于1伤害1(([[https://tieba.baidu.com/p/6012199040|火豌豆和西瓜溅射伤害值计算方法]]))((溅射僵尸数量不包括直接击中的僵尸,下同));
 +  * 西瓜、冰瓜的击中范围和溅射范围都是右20像素至右80像素,共61像素;溅射伤害值是 574/溅射僵尸数量,再取整数部分,大于26伤害26,小于1伤害1。
 +
 +大喷菇和忧郁菇都是对范围内僵尸同时伤害,发出的孢子只是动画效果。
 +
 +[{{  :技术:pasted:20221221-084246.png|子弹的判定范围}}]
 +如图,绿色加号中心是豌豆当前坐标点,红色加号中心是豌豆上一厘秒坐标点,红色矩形是当前伤害范围,绿色矩形是下一厘秒伤害范围。
 +
 +豌豆射手刚种下时,内存''[+58]''是范围在0~150的一个随机数,每厘秒减一,减到0时,重置为136~150中的一个随机数,如果触发范围内有僵尸,把内存''[+90]''值设为35,每厘秒减1,在减到1的那一厘秒,先判断这个值等于2发出豌豆,再把值减到1。
 +
 +<WRAP clear/>
 +
 +[{{ :技术:pasted:20221221-084318.png?350|子弹的发射位置}}]
 +
 +如图,<fc #c0c0c0>白色</fc>矩形是所在格范围,<fc #00ff00>绿色</fc>加号中心是植物坐标点,<fc #00ff00>绿色</fc>矩形是受小丑炸的判定范围,也是调试模式显示的范围,<fc #4682b4>蓝色</fc>矩形是受啃碾砸的判定范围,<fc #ffa500>橙色</fc>是触发范围。
 +
 +豌豆射手发出豌豆的初始点很可能与头部晃动有关,图上的豌豆射手嘴上方的<fc #ff0000>红线</fc>是发出豌豆的初始坐标点,有20个点。因为豌豆初始点有波动,击中范围也有波动,<fc #dda0dd>浅紫色</fc>是必定击中范围,<fc #ffff00>黄色</fc>矩形是可能击中范围,越往左击中可能越小。(击中范围上下边界随便画的,因为已经画过了当前行的上下边界)
 +<WRAP clear/>
 +<WRAP centerimgbox>
 +[{{:技术:pasted:20221221-084357.png|豌豆各位置发射频率,颜色越深表示出现次数越多}}][{{:技术:pasted:20221221-084857.png|晃动路线图,每个线段用时一样,线段内匀速}}]
 +</WRAP>
 +
 +<WRAP clear/>
 +[{{ :技术:pasted:20221221-084551.png|植物触发攻击数据}}]
 +红色字表示直接伤害。子弹初始点是相对于植物坐标基点的偏移,未标xy的是x偏移,因为y偏移不影响击中范围,只影响显示位置。
 +
 +<WRAP clear/>
 +=== 香蒲 ===
 +{{ :技术:pasted:20221221-084617.png}}
 +香蒲的初始击中范围如右图所示。
 +
 +白色矩形是格范围,蓝色加号是植物坐标点,黑色加号是刺的初始点,这个点属于上一行,红色矩形是初始击中范围。刺的初始方向是向右,范围右边很容易击中,其它地方都需要绕弯。
 +
 +=== 飞行速度 ===
 +直线类子弹的飞行速度是每厘秒3.33像素,这个3.33只有两位小数,不是10/3。
 +
 +星星的斜前方向与水平方向成30度角,横坐标每厘秒加2.883865,纵坐标每厘秒减或加1.665。
 +
 +香蒲的刺飞行速度是每厘秒2像素。
 +
 +=== 同一厘秒的计算顺序 ===
 +同一厘秒内的执行顺序是:发出子弹或范围伤害、植物触发、僵尸移动、子弹伤害。
 +
 +僵尸进入地刺(王)的触发范围后,下一厘秒地刺(王)触发。倒计时到0后,下一厘秒再变为100,所以地刺(王)的攻击间隔是1.01s。
 +
 +子弹发出的同一厘秒,就会移动,存在时间为1,击中初始范围(移动前的范围)。
 +
 +子弹在内存中的坐标是以界面左上角为起点的。
 +
 +=== 仙人掌 ===
 +地面状态的仙人掌对气球是实时检测的,气球进入范围的下一厘秒,仙人掌开始伸长,伸长过程中''[+58]''正常倒计时,到0时不改''[+90]'',伸长过程1.25s,伸长结束时,''[+58]''重置,''[+90]=23'',当''[+90]=1''时,发出尖刺,x偏移''+53''。发刺动作结束时,如果范围内没有飞行的气球,仙人掌开始缩短,持续1.09s,过程中不触发(''[+58]''到0时不改''[+90]'')。
 +
 +仙人掌打气球经常是这样的:第2发刺是空中的,到达时气球僵尸已落地,打不中,下一个倒计时结束时仙人掌正在缩短,不发刺。击中气球与本体的间隔超过了4秒。
 ==== 晃动间隔 ==== ==== 晃动间隔 ====
 不同植物晃动时间不同,同一个植物晃动时间固定,状态改变可能会改变晃动时间。晃动时间指完成整个动作的时间,例如从最左到最右再到最左(([[https://tieba.baidu.com/p/6063909116|植物晃动时间统计]]))。 不同植物晃动时间不同,同一个植物晃动时间固定,状态改变可能会改变晃动时间。晃动时间指完成整个动作的时间,例如从最左到最右再到最左(([[https://tieba.baidu.com/p/6063909116|植物晃动时间统计]]))。
行 275: 行 352:
 ===== 植物详解 ===== ===== 植物详解 =====
  
 +==== 向日葵 ====
 +
 +[{{ :技术:向日葵首次生产阳光的时间.jpg?400|十万次向日葵首次生产阳光时间,横坐标表示首次生产时间,纵坐标表示时间出现次数}}]
 +
 +向日葵首次生产阳光的时间是3~12.5秒,在这个范围内概率均匀分布。(([[https://tieba.baidu.com/p/5795821583|向日葵首次生产阳光的时间很可能是3~12.5秒]]))
 +
 +阳光菇生产阳光的时间相同,向日葵升级为双子向日葵生产阳光时间重置为3~12.5秒。
 +
 +金盏花首次生产的时间是0~25秒,范围内概率均匀。
 +
 +修改器v1.8.7种出的向日葵首次生产阳光的时间是0~12秒,偶尔超出范围,小于2秒和大于10秒的概率偏小。
 +
 +<WRAP clear/>
  
 ==== 磁力菇 ==== ==== 磁力菇 ====
行 285: 行 375:
     * “准星”即红叉的中心,单位为整数像素,除以80后得到列数     * “准星”即红叉的中心,单位为整数像素,除以80后得到列数
         例如''准星x=721''的炮,等价于炸''9.0125列''的炮,等价于''AvZ::pao_operator.pao(x, 9.0125)''         例如''准星x=721''的炮,等价于炸''9.0125列''的炮,等价于''AvZ::pao_operator.pao(x, 9.0125)''
-    * 爆炸中心”即实际爆炸的圆心+    * 爆炸中心”即实际爆炸的圆心
         非天台场景''爆炸中心x=准星x-7, 爆炸中心y=准星同行植物y+40''         非天台场景''爆炸中心x=准星x-7, 爆炸中心y=准星同行植物y+40''
     * 对于r行c列的梯子南瓜,梯子被炮炸飞的条件是''r-1≤准星行数≤r+1'',且''80*c-113≤准星x≤80*c+126''     * 对于r行c列的梯子南瓜,梯子被炮炸飞的条件是''r-1≤准星行数≤r+1'',且''80*c-113≤准星x≤80*c+126''
     * 闪烁亮度由游戏计时除以75的余数决定,余数是0和1时最亮,余数是38时最暗(([[https://tieba.baidu.com/p/6020771545|原创发现整理合集]]))     * 闪烁亮度由游戏计时除以75的余数决定,余数是0和1时最亮,余数是38时最暗(([[https://tieba.baidu.com/p/6020771545|原创发现整理合集]]))
 <WRAP centerimgbox> <WRAP centerimgbox>
-[{{:技术:pasted:20221221-053321.png|最状态}}][{{:技术:pasted:20221221-053326.png|最状态}}]+[{{:技术:pasted:20221221-053321.png|最状态}}][{{:技术:pasted:20221221-053326.png|最状态}}]
 </WRAP> </WRAP>
  
行 319: 行 409:
 </WRAP> </WRAP>
  
 +订正:
 +  * 表中跳跳防御域y仅适用于跳跃跳跳,行走跳跳防御域y为''+17~+132''.
 +==== 飞跃行为 ====
 +^  僵尸  ^  落地时坐标  ^  备注  |
 +|  撑杆  |  目标植物x-70  |  |
 +|  海豚  |  起跳时自身x-150  |  |
 +|  跳跳  |  下次到达最低点时位于目标植物x-60  |  以速度实现,从而受减速影响  |
 ==== 濒死减血 ==== ==== 濒死减血 ====
 +僵尸血量小于临界点时:
   * 如果僵尸本体血量上限小于500,每cs有20%概率减少1点血量,每秒大约减少20(([[https://tieba.baidu.com/p/5829792266|僵尸血量小于临界点时的血量自动减少速度]]))   * 如果僵尸本体血量上限小于500,每cs有20%概率减少1点血量,每秒大约减少20(([[https://tieba.baidu.com/p/5829792266|僵尸血量小于临界点时的血量自动减少速度]]))
   * 如果僵尸本体血量上限大于等于500,每cs有60%概率减少1点血量,每秒大约减少60   * 如果僵尸本体血量上限大于等于500,每cs有60%概率减少1点血量,每秒大约减少60
行 326: 行 424:
 ===== 僵尸详解 ===== ===== 僵尸详解 =====
  
 +==== 巨人坐标与小鬼落点坐标的对应关系 ====
 +
 +
 +<WRAP centerimgbox>
 +[{{:技术:巨人坐标与小鬼落点坐标的对应关系图1.jpg?400|极值}}][{{:技术:巨人坐标与小鬼落点坐标的对应关系图2.jpg?400|全部数据}}]
 +</WRAP>
 +
 +图表中的横轴表示巨人扔小鬼时巨人的横坐标,纵轴表示小鬼落点横坐标。绿色表示平地落点,红色表示屋顶落点。(([[https://tieba.baidu.com/p/5788011835|巨人坐标与小鬼落点坐标的对应关系图]]))
 ==== 僵尸水族馆中的潜水僵尸 ==== ==== 僵尸水族馆中的潜水僵尸 ====
  
行 332: 行 438:
 生命值小于100(小于等于90)颜色变化(饥饿状态),生命值小于等于100时可以吃脑子,吃脑子后生命值增加200,生命值最多是300。 生命值小于100(小于等于90)颜色变化(饥饿状态),生命值小于等于100时可以吃脑子,吃脑子后生命值增加200,生命值最多是300。
  
- 
-===== 子弹 ===== 
  
  
 ===== 植僵互动 ===== ===== 植僵互动 =====
 +==== 最早地刺扎车 ====
 +^ ^  9列全扎  ^  8列全扎  ^  7列全扎  ^
 +|  冰车  |  292  |  622  |  1014  |
 +|  篮球  |  428  |  -  |  -  |
 +==== 初次攻击分布 ====
 +一个放置充分长时间的发射子弹植物,面对一个早已存在于场上的僵尸,于任何一个时间点,距离其下一次触发__子弹发射倒计时__的时间点(不包含当前时间点)的时长x,服从一个固定的分布律。该分布律只与植物自身的攻击间隔有关,也被称为初次攻击分布。
 +
 +该分布__常常被误认为__ ''[1,最大攻击间隔] ''的均匀分布。
 +
 +射击类植物(攻击间隔1.36s~1.50s)的初次攻击分布:
 +
 +$$P\{X=x\}=\begin{cases}\frac{1}{143}&,1\le x\le 136\\ \frac{151-x}{2145}&,137\le x\le 150\end{cases}$$
 +
 +<WRAP centerimgbox>
 +[{{:技术:分布律.png?500|射击类植物初次攻击分布律直观图像}}]
 +</WRAP>
 +
 +以射击类植物为例,有时候初次攻击分布表述为“于0cs放置的僵尸最早触发__子弹发射倒计时__的时长(2cs~151cs)”对应的概率分布,在这个表述下原分布横坐标1~150改为2~151。
 +
 +有时候初次攻击分布表述为“距离其下一次触发__子弹发射倒计时__的时间点(包含当前时间点)的时长(0cs~149cs)”对应的概率分布,在这个表述下原分布横坐标1~150改为0~149。
 +
 +投掷类植物(攻击间隔2.86s~3.00s)的初次攻击分布:
 +
 +$$P\{X=x\}=\begin{cases}\frac{1}{293}&,1\le x\le 286\\ \frac{301-x}{4395}&,287\le x\le 300\end{cases}$$
 +
 +忧郁菇(攻击间隔1.86s~2.00s)的初次攻击分布:
  
 +$$P\{X=x\}=\begin{cases}\frac{1}{193}&,1\le x\le 186\\ \frac{201-x}{2895}&,187\le x\le 200\end{cases}$$
 ==== 蹦极偷曾概率 ==== ==== 蹦极偷曾概率 ====
  
行 385: 行 516:
 没被抓的忧郁菇击中12次的概率,冰冻4.00秒10.3%、冰冻4.01秒9.8%。 没被抓的忧郁菇击中12次的概率,冰冻4.00秒10.3%、冰冻4.01秒9.8%。
  
-假设寒冰菇冰冻4~6秒均匀分布,冰冻4.00秒概率是1/201,被偷概率+假设寒冰菇冰冻4~6秒均匀分布,冰冻4.00秒概率是1/201。 
 + 
 +根据初始攻击分布触发与蹦极落地同时概率是1/193,蹦极迟0.01s落地相当于蹦极落地前0.01s忧郁菇触发,概率同样是1/193。 
 + 
 +被偷概率
 <code> <code>
-1/200 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 +1/193 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 
-+ 1/200 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 ++ 1/193 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 
-+ 1/199 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 ++ 1/193 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 
-+ 1/200 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 ++ 1/193 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 
-+ 1/200 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 ++ 1/193 * 1/15 * 1/15 * 1/15 * 1/201 * 0.103 
-+ 1/200 * 1/15 * 1/15 * 1/15 * 1/201 * 0.098++ 1/193 * 1/15 * 1/15 * 1/15 * 1/201 * 0.098
 </code> </code>
  
-结果大约十亿分之4.5,小到可以忽略不计。+结果大约十亿分之4.7,小到可以忽略不计。
  
 +==== 地刺王对巨人的伤害 ====
  
 +[{{  :技术:pasted:20221221-083316.png?250|巨人砸地刺王时的判定情况}}]
 +
 +巨人砸地刺王的条件是巨人的攻击范围与地刺王的防御范围重叠。(([[https://tieba.baidu.com/p/6020771545|原创发现整理合集]]))
 +
 +如图,红色矩形是巨人的攻击范围,绿色矩形是巨人的防御范围,蓝色矩形是地刺王的防御范围,浅紫色矩形是地刺王的触发范围,白色矩形是地刺王的击中范围。
 +
 +巨人砸地刺王时,地刺王的击中范围与巨人的防御范围没重叠,地刺王不能击中巨人,但是巨人受到20点伤害,同时触发地刺王。
 +
 +<WRAP clear/>
 +
 +这是某次测试的数据,地刺王在属性倒计时70和32时伤害击中范围内的僵尸,没有伤害巨人。
 +
 +<WRAP centerimgbox>
 +[{{:技术:pasted:20221221-083346.png|地刺王与巨人的内存信息}}]
 +</WRAP>
 ==== 2列曾的小鬼盲点 ==== ==== 2列曾的小鬼盲点 ====
  
行 409: 行 560:
 <WRAP clear/> <WRAP clear/>
  
 +==== 寒冰菇取消投掷小鬼 ====
  
 +=== 现象 ===
 +
 +巨人投掷小鬼时,若投掷小鬼的一瞬间受冰,则投掷会被取消,解冻后收手并重新投掷小鬼。该bug也被称作“[[攻略:冰代奏#ice3|ICE3]]”。
 +
 +巨人扔出小鬼由投掷动画播放进度决定,修改内存数据,测出的现象是(([[https://tieba.baidu.com/p/6072351951|原因分析:寒冰菇取消投掷小鬼,各种僵尸啃大蒜伤害值不同]])):
 +  * 在扔出小鬼前,把动画进度改到大于0.74,本次投掷动作不扔小鬼;
 +  * 在扔出小鬼后,把动画进度改到小于0.74,巨人再扔出一个小鬼,扔出后再改就再扔,虽然之前扔出小鬼时巨人已经记录自己没小鬼了,但是扔小鬼时不判断有没有小鬼,只看动画进度。
 +
 +=== 原因分析 ===
 +[{{  :技术:pasted:20230221-070726.png?400|内存数据}}]
 +
 +因为动画进度不会正好等于0.74,巨人扔出小鬼的判定大约是:投掷动画前一帧进度≤0.74,当前进度>0.74。
 +
 +右图是某次测试的内存数据,据此推测,同一帧内执行顺序是:寒冰菇生效,僵尸减倒计时,判断动画进度,改变动画进度。
 +
 +寒冰菇生效那一帧,动画进度符合扔小鬼的条件,因为已冻结,不扔小鬼(可能不判断动画进度),之后的动画进度都不符合扔小鬼的条件了。
 +
 +=== 推论 ===
 +
 +同一帧内的执行顺序中,黄油生效相对靠后,所以黄油在扔出小鬼的前一帧生效取消扔小鬼。
 +
 +巨人砸植物,在动画进度0.64时砸中,也可以被寒冰菇或黄油取消(也被称作“[[攻略:冰代奏#ice4|ICE4]]”)。
 +
 +投篮僵尸在投篮开始时生成3秒倒计时,动画进度0.545时扔出篮球,动画结束时减少篮球数量,倒计时到0再投且重置倒计时为3秒。所以减速的投篮僵尸的投篮间隔还是3秒,只是投篮动画变慢,延迟扔出篮球。用寒冰菇或黄油取消投篮,篮球数量就真的减少了,因为不管有没有扔出篮球,都在动画结束时减少篮球数量。
 +
 +
 +<WRAP clear/>
 +
 +==== 各种僵尸啃大蒜伤害值不同 ====
 +
 +[{{  :技术:pasted:20230221-071249.png?400|僵尸啃大蒜数据表}}]
 +
 +与巨人扔小鬼类似,僵尸啃大蒜结束也由动画进度决定,也能被寒冰菇或黄油取消(([[https://tieba.baidu.com/p/6072351951|原因分析:寒冰菇取消投掷小鬼,各种僵尸啃大蒜伤害值不同]]))。
 +  * 大部分僵尸在啃食动画进度0.14和0.68时完成啃大蒜,如果在进度0.14时被寒冰菇取消,在进度0.68时完成啃食
 +  * 撑杆为0.38和0.8
 +  * 读报和梯子为0.42
 +  * 雪橇为0.33和0.83
 +  * 小丑为0.53
 +  * 小鬼为0.33和0.79
 +
 +僵尸啃食伤害值由啃食时间决定,不同种类的僵尸啃食动画播放速度不同,完成进度的时间不同,所以啃食伤害值不同。
 +
 +潜水僵尸啃大蒜的完成进度与普通僵尸一样,啃食伤害值最多是因为有0.5秒出水过程,出水的同时也在啃植物,出水完成后才播放啃食动画。
 +
 +<callout type="info" title="计算方式" icon="true">
 +啃大蒜时间:1+ceil(帧数/帧速*进度*100)
 +
 +啃食伤害:
 +  * 正常 ceil(啃食时间/4)*4
 +  * 减速 ceil(啃食时间/8)*4
 +
 +</callout>
 +
 +<WRAP clear/>
 +
 +普通僵尸啃完大蒜的最后20点生命值后是不换行的。用修改器重叠放置两个大蒜测试,普通僵尸啃完一个大蒜的最后20点生命值后换行,不啃另一个大蒜。如果用撑杆僵尸把一个大蒜啃的只剩8点生命值,再来一个撑杆僵尸,啃掉这8点生命值后,对另一个大蒜只啃掉48点,总共啃56点。(([[https://tieba.baidu.com/p/5731214218|各种僵尸对大蒜的伤害值]]))
 +
 +对于窝瓜僵尸,大蒜和一般植物没区别,窝瓜僵尸会在死前啃掉植物4点生命值。窝瓜僵尸在啃唤醒的魅惑菇时可能有啃食音效,但魅惑菇生命值不减。当窝瓜僵尸走到某一格正中间时,在这一格种植物,窝瓜僵尸会砸左边的一格,不管左边这一格有没有植物。如果左边这一格是地刺,地刺会被砸扁;如果左边这一格是地刺王,地刺王不会受到伤害。
 +
 +
 +==== 底线大嘴花吃反向矿的概率 ====
 +
 +1列大嘴花有概率吃掉后面的矿工,2~9列的不能。(([[https://tieba.baidu.com/p/6360716531|大嘴花能否吃掉后面的矿工]] 4L回复))
 +
 +  * 普通关:被吃概率约为18.10%(0.048932*37*0.1((采用比原贴更精准的估算方法,来自wiki群群友“诗意”)))
 +  * 我是僵尸:被吃概率约为34.70%(0.093786*37*0.1)
 +
 +==== 普通僵尸啃食杨桃时受伤分析 ====
 +
 +{{:技术:普通僵尸受杨桃啃食分析.png?400}}(([[https://tieba.baidu.com/p/5766902572|【伪技术贴】杨桃击不中僵尸的分析和疑问]]))
 ===== 时间体系 ===== ===== 时间体系 =====
 +
 +==== 植物时间 ====
 +^  植物  ^  行为  ^  耗时((单位:cs))  |
 +|  樱桃炸弹/火爆辣椒/(夜间)寒冰菇、毁灭菇  |  放置到生效  |  100  |
 +|  土豆地雷  |  放置到破土  |  1500  |
 +|:::|  破土到生效  |  106  |
 +|  大嘴花  |  开咬到命中  |  70  |
 +|:::|  空开咬间隔  |  107  |
 +|:::|  吃到再次开咬间隔  |  4340  |
 +|  墓碑吞噬者  |  吞碑  |  448~471((均匀随机))  |
 +|  寒冰菇  |  冰冻+减速总时长  |  2000((由于同一cs里先结算植物后结算僵尸,实际效果为1999))  |
 +|:::|  冻结水面和云朵  |  300  |
 +|:::|  一次冰冻((即僵尸未减速时受冰的情况))  |  400~600((由于同一cs里先结算植物后结算僵尸,实际效果为399~599))  |
 +|:::|  二次冰冻((即僵尸已减速时受冰的情况))  |  300~400((由于同一cs里先结算植物后结算僵尸,实际效果为299~399))  |
 +|  窝瓜  |  触发到起跳((起跳时若原目标消失,重新索敌))  |  126  |
 +|:::|  触发到命中  |  182  |
 +|  咖啡豆  |  放下到开始唤醒((若小偷开始擒拿在中间这段时间,则偷走咖啡豆而蘑菇仍将正常醒来))  |  100  |
 +|:::|  放下到完成唤醒  |  199((但咖啡豆编号小于蘑菇时,唤醒的同一帧会结算蘑菇(变相缩短1cs),否则下一帧结算。因此,白昼点冰到生效为298/299))  |
 +|  玉米炮  |  释放到分离  |  205  |
 +|:::|  释放到爆炸(非屋顶水路)  |  378  |
 +|:::|  释放到爆炸(非屋顶陆路)  |  373~376((373起,若本行爆炸范围内无僵尸则延迟,至多延迟3))  |
 +|:::|  释放到爆炸(屋顶)  |  359~392,见[[攻略:斜坡与上界之风#上界之风]]  |
 +|:::|  释放到完成装填  |  3475  |
 +|  模仿者  |  放置到完成模仿  |  320((但模仿者编号小于变身后植物编号时,变身完毕的同一帧会结算变身后植物(变相缩短1cs),否则下一帧才结算。因此,夜间模仿冰放置到生效为419/420))  |
 +
 +
 +
 +==== 僵尸时间 ====
 +
 +[{{  :攻略:零度大表第三版.jpg?600|僵尸时间表(([[https://tieba.baidu.com/p/8261158487|时间与判定的若干细节,及大黄表修订]]))}}]
 +
 +^   僵尸  ^  行为  ^  耗时((单位:cs))  |
 +|  小丑  |  开盒到爆炸  |  110  |
 +|  跳跳  |  一个跳跃周期  |  80  |
 +|  矿工  |  开始出土到晕  |  130  |
 +|:::|  晕眩  |  350(减速×2)  |
 +|  投篮  |  攻击间隔  |  300  |
 +
 +
 +<WRAP clear/>
 +
 +==== 普僵啃食数据补充 ====
 +
 +普通僵尸共有四种行走方式(([[https://tieba.baidu.com/p/6754574095|普通僵尸啃食植物的最早时间数据的补充]])):
 +  - 两手前后摆动
 +  - 两手在前
 +  - 开启dance指令
 +  - 反复开启/关闭dance指令(该方式行走速度最快)
 +
 +实际游戏中,前两种行走方式出现的概率各为50%。
 +
 +上面的“僵尸时间表”中,“普僵啃食”数据均对应“两手前后摆动”,右下角“dc快”对应“反复开启/关闭dance指令”。
 +
 +以下为前三种行走方式啃食数据的补充。
 +
 +<WRAP centerimgbox>
 +[{{:技术:pasted:20230221-070023.png|通常波}}]
 +[{{:技术:pasted:20230221-070038.png|旗帜波}}]
 +</WRAP>
  
  • 最后更改: 23月前
  • OTZzzz 修改