显示页面修订记录链入页面回到顶部 这是本词条的历史版本! 若选择保存,它将成为最新版本。 媒体文件~~SNIPPET_O1670878323~~snippet:通用排版~~ /* 以上为所有页面共用的排版格式,请勿删除。 */ ~~SNIPPET_C~~snippet:通用排版~~ ~~SNIPPET_O1717996210~~snippet:引自外部~~ {{tag>[引自外部]}} <WRAP center round info note> 本条目部分或全部内容搬运自外部资源。 遵守[[https://creativecommons.org/licenses/by-sa/4.0/deed.zh|CC BY-SA 4.0协议]],部分内容可能有所改动。 </WRAP> ~~SNIPPET_C~~snippet:引自外部~~ {{tag>[事实待核查]}} <WRAP center round help note> **本条目的部分内容不一定真实或已经过期**,仍有待核查。 以下内容涉及较多精确数据,除非确信某处有误,否则请谨慎修改。 </WRAP> ======精确数据====== 本条目收录了由高精度测量或反汇编得到的精确游戏内时间、空间数据,包括但不限于植物、僵尸、子弹、场地等的机制与特性。 <callout type="danger" title="不要强行认字" icon="true"> 本词条的内容不是为初学者设计的。想要学习植物与僵尸的基础知识,请跳转至[[教程:植物图鉴]]、[[教程:僵尸图鉴]]。 </callout> ===== 基础说明 ===== (([[https://crescb.com/timespace/ts/index.html|现代遗留问题清算——这个世界的时空。]])) ==== 数据体系 ==== 本条目使用PVZ圈最常用的数据体系,即: * 植物/僵尸坐标:以游戏内存值为准,单位px * 坐标轴原点为1-1格左上角,↓→为正方向 * 判定:以游戏内调试模式为准 * 坐标轴原点为可视区左上角((该坐标系最先由[[人物:不在宝前]]在[[https://tieba.baidu.com/p/6054349816|【补充贴】部分判定范围的计算方法]]中正式提出,优点在于可以直接通过内存值加减得到判定范围)),↓→为正方向 * 时间:以游戏最小时间单位,单位cs ==== 基准参考 ==== * 战场可见区左端为''x=-40'',上端为''y=-80'' * 前院1-1豌豆射手''x=40, y=80'' * 前院1路进家普僵''x=-100, y=50'' ==== 判定计算 ==== [{{ :技术:pasted:20221218-100348.png?250|游戏内圆的实际判定范围}}] 内存值中存在16位浮点数,但几乎所有判定计算时都会向零取整(即抹去小数部分)。圆的判定是''(Δx)^2+(Δy)^2<nowiki><=</nowiki>R^2'',其中''(Δx)''、''(Δy)''均以此法取整,因此相应的圆不是一般画图软件出来的圆,判定圆图形如右。 <WRAP clear/> 以僵尸为例,可从内存中读取下列判定相关信息: ^ 内存地址((与僵尸基址的偏移,为16进制数,后同)) ^ 意义 ^ | ''[+8C]=36'' | 防御范围横向偏移 | | ''[+90]=0'' | 防御范围纵向偏移 | | ''[+94]=42'' | 防御范围横向宽度 | | ''[+98]=115'' | 防御范围纵向高度 | | ''[+9C]=20'' | 攻击范围横向偏移 | | ''[+A0]=0'' | 攻击范围纵向偏移 | | ''[+A4]=50'' | 攻击范围横向宽度 | | ''[+A8]=115'' | 攻击范围纵向高度 | 左行僵尸的判定范围: * 左边界=横坐标+横向偏移,右边界=左边界+横向宽度 * 上边界=纵坐标+纵向偏移,下边界=上边界+纵向高度 右行僵尸的判定范围: * 右边界=横坐标+120-横向偏移 * 左边界=右边界-横向宽度 例如,''x=650,y=135''的普通僵尸,防御范围''x:686~728,y:135~250'',攻击范围''x:670~720''。 ===== 场地 ===== (([[https://crescb.com/timespace/ts/index.html|现代遗留问题清算——这个世界的时空。]])) ====场景边界==== * 伤害区 -50 ~ 800 * 触车 -20 ~ 28 * 警戒区 0 ~ 800 * 屋外区 -21 ~ + ====植僵坐标==== ^场合^行号^僵尸y^植物y| |前院| 1 | 50 | 80| | :::| 2 | 150 | 180| | :::| 3 | 250 | 280| | :::| 4 | 350 | 380| | :::| 5 | 450 | 480| |后院| 1 | 50 | 80| | :::| 2 | 135 | 165| | :::| 3 | 220 | 250| | :::| 4 | 305 | 335| | :::| 5 | 390 | 420| | :::| 6 | 475 | 505| |屋顶| 1 | 40 |见下| |:::| 2 | 125 |:::| |:::|3 | 210 | :::| |:::| 4 | 295 | :::| |:::| 5 | 380 | :::| 屋顶植物: ^(x,y)^1(列)^2^3^4^5^6^7^8^9| ^1(行)|40,170|120,150|200,130|280,110|360,90|440,70|520,70|600,70|680,70| ^2|40,255|120,235|200,215|280,195|360,175|440,155|520,155|600,155|680,155| ^3|40,340|120,320|200,300|280,280|360,260|440,240|520,240|600,240|680,240| ^4|40,425|120,405|200,385|280,365|360,345|440,325|520,325|600,325|680,325| ^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轴向下为正 * 紫色和暗品红色为各控制格的边框 * 绿线为可见区的边界 * 右红线为伤害区和警戒区的右界——若僵尸防御域都在其右方则无敌且不被当作目标 * 蓝线为警戒区的左界——若僵尸防御域都在其左方则不被当作目标 * 黄竖线为碰车区的边界 * 左红线为屋外区的左界——若僵尸防御域都在其左方则其进屋 * 黄横线或斜线为僵尸基准轨迹,没有纵向偏移且正常前进的僵尸坐标在其上 * 绿十字为植物基准点,通常植物坐标在那些位置 ===== 植物概览 ===== (([[https://crescb.com/timespace/ts/index.html|现代遗留问题清算——这个世界的时空。]])) ====坐标==== ^ 植物 ^ x偏移 ^ y偏移 | | 小喷菇/海蘑菇 | ''-5~+4'' | ''-3~+2'' | | 阳光菇 | ''-5~+4'' | ''-5~+4'' | ==== 攻击判定 ==== <callout type="info" title="伸与缩" icon="true"> 伸:指“延伸”,例如“左伸X”代表左限向左延伸X。 缩:指“收缩”,例如“右缩X”代表右限向左收缩X。 </callout> |<100% 7em>| ^ 植物 ^触发 ^触发特判 ^命中 ^命中特判 | | 樱桃炸弹 | | |圆心''(x+40,y+40)'',半径''115'' | | | 土豆地雷 |''x~+55'' |对正在啃的''左右各伸30''\\ 对跳后撑杆''左缩40*(1+N)'',N为比该撑杆编号小的跳后撑杆数 |圆心''(x+20,y+40)'',半径''60'' | | | 大嘴花 |''x+80~+120'' |对正在啃的''左右各伸60''\\ 对反向矿''左缩20'' |范围内编号最小的僵尸 | | | 窝瓜 |''x+20~+135'' |对正在啃的''右伸40''\\ 对跳后撑杆、海豚、橄榄、小鬼''左伸60''\\ 对反向矿、雪人''左伸70'',正在啃再''左伸40''\\ ''窝瓜x-118≤奔跑撑杆x≤窝瓜x-17''时触发窝瓜 |压区跨度''43'' |对橄榄''左右各伸20'' | | 缠绕海草 |''x~+80'' | |范围内编号最小的僵尸 | | | 普通植物向右 |''x+60''| |(取整后)坐标相同取小编号,否则取左坐标 | | | 裂荚射手向左 |''x+16'' | | | | | 杨桃向左 |''x-3'' | | | | | 反向双发 |''x'' | | | | | 小喷菇 |''x+60~+290'' | |''x+40~+323'' | | | 海蘑菇 |同上 | |''x+45~+328'' | | | 大喷菇 |''x+60~+400'' | |''x+61~+399'' | | | 忧郁蘑菇 |''x-80~+160'' | |''x-79~+159'' | | | 地刺(王) |''x+20~+50'' | |''x+21~+49'' | | | 胆小菇害怕 |圆心''(x,y+20)'',半径''120'' | | | | | 磁力菇 |圆心''(x,y+20)'',半径''270'' |对正在啃食的半径''320''(([[https://tieba.baidu.com/p/5760333415|磁力菇对于正在啃食的僵尸的作用范围是半径320像素]])) | | | | 玉米加农炮 | | |圆心为爆炸中心(见下文),半径''115''| | === 命中范围 === [{{ :技术:pasted:20221218-165906.png|直线攻击类植物的命中范围}}] 紫色竖线及右侧是触发区域,豌豆类的红色区域是必定击中范围,黄色区域是可能击中范围(越左击中可能越小),三线射手对三行的击中范围相同,仙人掌的黄色区域是飞行气球的击中范围。(([[https://tieba.baidu.com/p/6054349816|【补充贴】部分判定范围的计算方法]])) <WRAP clear/> [{{ :技术:pasted:20221218-170121.png|短程攻击类植物的命中范围}}] 紫色竖线是触发范围边界,红色竖线是击中范围边界,大喷菇的击中范围是触发范围左右各缩1。 如果小喷菇和海蘑菇的横坐标有偏移,触发范围和击中范围也会随着偏移。 <WRAP clear/> [{{ :技术:pasted:20221218-170000.png|投掷攻击类植物的命中范围}}] 玉米投手左侧的黄色区域表示黄油能击中、玉米粒不能击中。 <WRAP clear/> ==== 防御判定 ==== ^ 攻击种类 ^ 植物种类 ^ 判定范围 | | 啃碾砸 | 普通植物 | ''x+30~+50'' | | ::: | 高坚果 | ''x+30~+70'' | | ::: | 南瓜 | ''x+20~+80'' | | ::: | 玉米加农炮(炮尾) | ''x+20~+120'' | | ::: | 玉米加农炮(炮头) | ''x-60~+40'' | | 小丑爆炸 | 所有 | ''x左右各伸20, y=0~+80'' | ==== 攻击机制 ==== ==== 晃动间隔 ==== 不同植物晃动时间不同,同一个植物晃动时间固定,状态改变可能会改变晃动时间。晃动时间指完成整个动作的时间,例如从最左到最右再到最左(([[https://tieba.baidu.com/p/6063909116|植物晃动时间统计]]))。 以下是晃动时间统计(单位:秒),数字中小数部分有四五位的是循环小数。 <sortable 3phase 1=nosort 4=nosort> |<100% 20em 10em 10em>| ^ 植物 ^ 最小晃动间隔 ^ 最大晃动间隔 ^ 备注 ^ | 豌豆射手、寒冰射手、双发射手、三线射手\\ 裂荚射手、金盏花、机枪射手 | 1.25 | 1.6667 | | | 向日葵、毁灭菇、双子向日葵 | 1.6667 | 2.5 | | | 樱桃炸弹 | 0.9333 | 1.4 | | | 坚果、高坚果 | 1.13333 | 1.7 |被啃后重置 | | 土豆地雷 | 0.73333 | 0.91667 |僵尸很远时红灯闪烁周期0.76923~1;僵尸接近闪烁加快,可以快到0.3 | 大嘴花 | 1.6667 | 2.5 |消化中晃动1.06667;吞后固定2.08333 | | 小喷菇、大喷菇、杨桃 | 1.1333 | 1.7 |攻击后固定1.41667 | | 阳光菇 | 0.8 | 1.2((唤醒的小阳光菇)) |睡觉时0.66667~1;长大后重置为0.8~1 | | 墓碑吞噬者(一阶段) | 不晃动 ||吞噬共两个阶段,一阶段持续0.47~0.70 | | 墓碑吞噬者(二阶段) | 2.3333 | 2.3333 |吞噬分两个阶段,二阶段持续4 | | 魅惑菇、路灯花 | 1.3333 | 2 | | | 胆小菇 | 1.0667 | 1.6 |攻击后固定1.3333秒;害怕时1.1秒;僵尸离开再重置为1.0667~1.6 | | 寒冰菇 | 1.13333 | 1.7 | | | 荷叶 | 不晃动 ||随水面浮动,水面浮动周期2 | | 窝瓜 | 1.2667 | 1.9 | | | 缠绕海草 | 1.4667 | 2.2 | | | 火爆辣椒 | 0.86667 | 1.3 | | | 地刺 | 1.4 | 2.1 |攻击后重置 | | 火炬树桩、南瓜 | 1.4 | 2.1 | | | 海蘑菇 | 1.6667 | 2.5 |攻击后固定2.08333 | | 仙人掌 | 1 | 1.5 |攻击后固定1.25 | | 三叶草 | 3.3 | 3.3((禅境花园中的三叶草)) |转一圈0.5 | | 磁力菇 | 1.9333 | 2.9 |睡觉时1.2~1.8;吸附铁器后重置 | | 卷心菜投手、西瓜投手、冰瓜 | 2.0667 | 3.1 |攻击后固定2.58333 | | 花盆 | 0.86667 | 1.3 |上面种植植物后不晃动;植物消失后重置 | | 玉米投手、忧郁菇、香蒲 | 1.2667 | 1.9 |攻击后固定1.58333 | | 咖啡豆 | 0.6 | 0.9 | | | 大蒜 | 1 | 1.5 | | | 叶子保护伞 | 1 | 1.5 |弹起后固定0.6818 | | 吸金磁 | 3.1333 | 4.7 |吸附钱币后固定3.35714 | | 地刺王 | 1 | 1.5 |攻击或被砸被碾后重置 | | 玉米加农炮 | 1.2667 | 1.9 |炮弹装填完成后固定1.58333 | </sortable> ==== 眨眼间隔 ==== ^ 植物 ^ 眨眼间隔(([[https://tieba.baidu.com/p/6011532091|植物眨眼间隔统计]])) ^ | 坚果、高坚果、爆炸坚果、巨大坚果 | 1000~1999 | | 其余会眨眼植物 | 400~799 | ===== 植物详解 ===== (([[https://crescb.com/timespace/ts/index.html|现代遗留问题清算——这个世界的时空。]])) ==== 磁力菇 ==== [{{ :技术:pasted:52a6d558ccbf6c8115ff2167b03eb13532fa401d_拷贝.png?direct&400|未啃食时x<389吸铁桶,啃食时x<447吸铁桶}}] * 正常情况下,磁力菇作用范围为半径270像素,但是对于正在啃食的僵尸,作用范围半径会增大到320像素(([[https://tieba.baidu.com/p/5760333415|磁力菇对于正在啃食的僵尸的作用范围是半径320像素]])) <WRAP clear/> ==== 玉米加农炮 ==== * “准星”即红叉的中心,单位为整数像素,除以80后得到列数 * 例如''准星x=721''的炮,等价于炸''9.0125列''的炮,等价于''AvZ::pao_operator.pao(x, 9.0125)'' * 爆炸中心”即实际爆炸的圆心 * 非天台场景''爆炸中心x=准星x-7, 爆炸中心y=准星同行植物y+40'' * 对于r行c列的梯子南瓜,梯子被炮炸飞的条件是''r-1≤准星行数≤r+1'',且''80*c-113≤准星x≤80*c+126'' ===== 僵尸概览 ===== (([[https://crescb.com/timespace/ts/index.html|现代遗留问题清算——这个世界的时空。]])) ==== 坐标 ==== ^ 僵尸 ^ 特殊y ^ 纵向偏移h((也称“高度”,纵向偏移越大,僵尸y越小。僵尸的实际y可以理解为:y-h)) | | 空中的气球 | ''-30'' | ''+25'' | | 刚召出的伴舞 | | ''-200''\\ 150cs内匀增至0(([[https://tieba.baidu.com/p/7328653659|【劳动节礼物】只要我铲得够快,舞王就发现不了我……]])) | | 鸭子 | | ''-40'' | | 水中的潜水 | | ''+10'' | | 跳跳 | | ''+16''\\ 跳跃中再''+9~+49'' | | 雪橇推行 | | ''-10'' | | 雪橇乘坐中 | | ''+18'' | ==== 攻防判定 ==== 攻击范围纵坐标与防御范围的相同,且没有实际作用,所以不列出。(([[https://tieba.baidu.com/p/6054349816|【补充贴】部分判定范围的计算方法]])) 灰色表示与普通僵尸相同,浅红色表示与橄榄小鬼等僵尸相同。 <WRAP centerimgbox> [{{:技术:pasted:20221218-165244.png?400|僵尸攻防判定偏移与尺寸}}] </WRAP> ==== 濒死减血 ==== (([[https://tieba.baidu.com/p/5829792266|僵尸血量小于临界点时的血量自动减少速度]])) * 如果僵尸本体血量上限小于500,每cs有20%概率减少1点血量,每秒大约减少20 * 如果僵尸本体血量上限大于等于500,每cs有60%概率减少1点血量,每秒大约减少60 ===== 僵尸详解 ===== ==== 僵尸水族馆中的潜水僵尸 ==== [[教程:迷你游戏]]的“僵尸水族馆”关卡中,潜水僵尸初始生命值是200,生命值每秒减10,生命值一定是10的整数倍。(([[https://tieba.baidu.com/p/5747558416|“僵尸水族馆”中的潜水僵尸生命值变化]])) 生命值小于100(小于等于90)颜色变化(饥饿状态),生命值小于等于100时可以吃脑子,吃脑子后生命值增加200,生命值最多是300。 ===== 植僵互动 ===== ==== 2列曾的小鬼盲点 ==== [{{ :技术:pasted:20221218-170546.png?300|部分不搭梯阵型的小鬼盲点}}] 仅在2列设曾且不给南瓜搭梯,则会出现如右图所示的小鬼盲点。(([[https://tieba.baidu.com/p/6054349816|【补充贴】部分判定范围的计算方法]])) 图中,绿色矩形是小鬼的防御范围,黄色竖线是触发区域边界,红色竖线是击中区域边界,小鬼盲点有3像素,其中左边1像素能构建永动曾。 另外有15像素区域,小鬼在冰瓜的击中范围,但不在冰瓜的触发范围。在这15像素内,冰瓜右侧有僵尸触发冰瓜,冰瓜才能击中小鬼。 ===== 出怪规律 ===== (([[https://pvz.tools/wiki/#%E5%87%BA%E6%80%AA%E8%A7%84%E5%BE%8B|植僵百科知识:出怪规律]])) ==== 出怪类型 ==== 出怪类型指本次选卡<wrap hi>准许</wrap>生成的僵尸种类。 <callout type="info" title="准许" icon="true"> 即使准许生成某僵尸,也不代表该僵尸一定会出现。例如,即便出怪类型中含有蹦极僵尸,也可能不生成蹦极,取决于生成时的随机结果。 另有一部分僵尸无需准许亦能生成,如固定出现的旗帜僵尸、小概率随机出现的雪人僵尸。 </callout> 出怪类型位于''%%[[[6a9ec0]+768]+54d4]%%''开始的连续33个''bool''类型的地址,''true''代表准许,''false''代表不准许。 出怪类型的决定方式如下(([[https://tieba.baidu.com/p/2316788883|出怪种子到出怪类型的算法和示例代码]])): - 设定要出普僵 - 产生一个0~4的伪随机整数(后文详解),若等于0则设定要出读报,否则设定要出路障((此处读报和路障中未被选中者,仍有可能在后面的步骤中被选中,因而“读报路障不同出”系谣言)) - 若''轮数(([[技术:精确数据#轮数|轮数的定义]]))<8'',则设定剩余出怪类型数为''轮数+1'',否则设定剩余出怪类型数为9 - 产生一个0~33的伪随机整数,若未设定要出此类僵尸且没有禁止出此类僵尸((伴舞/鸭子/雪橇/雪人/小鬼、植物僵尸、黑夜的冰车、非后院的潜水/海豚、屋顶的舞王/矿工、''轮数<2''时的冰车/白眼、''轮数<5''时的红眼)),则设定要出此类僵尸并进入第5步,否则重复第4步 - 若第4步中已设定要出的僵尸类型数等于第3步的剩余出怪类型数,则进入第6步,否则重复第4步 - 忽略摇旗、僵博,即强制设为''false''((若均未选中,为常规“11怪”;若选中其一,为“10怪”;若均选中,为“9怪”)) <callout type="info" title="轮数" icon="true"> 轮数即''选卡时已完成flag数/2-1''。 </callout> 随机数生成器算法为[[https://baike.baidu.com/item/%E6%A2%85%E6%A3%AE%E6%97%8B%E8%BD%AC%E7%AE%97%E6%B3%95|MT19937]],种子由以下几个数值相加: <code> [[[6a9ec0] +82c] +20] // 用户序号 [[[6a9ec0] +768] +561c] // 出怪种子 [[[[6a9ec0] +768] +160] +6c] * 65 // 完成选卡次数 * 101 [[6a9ec0] +7f8] // [[教程:名词大全#序号-2|游戏模式]] </code> ==== 出怪概率 ==== 以下表格列出了不同轮数下,各僵尸出现在出怪类型中的概率,以及出怪类型中僵尸总数((普僵与鸭子计一种,不计旗帜(固定生成)、雪人(极小概率随机生存)))各取值的概率。(([[https://tieba.baidu.com/p/5714350581|无尽生存僵尸出现概率统计]])) ''轮数=1'': ^ ^ 路障 ^ 读报 ^ 其他 ^ 2种 ^ 3种 ^ 4种 ^ ^ 前院 | 82.67% | 30.67% | 13.33% | 0.95% | 24.76% | 74.29% | ^ 后院 | 82.35% | 29.41% | 11.76% | 0.74% | 22.06% | 77.21% | ^ 屋顶 | 83.08% | 32.31% | 15.38% | 1.28% | 28.21% | 70.51% | ''轮数=2'': ^ ^ 路障 ^ 读报 ^ 其他 ^ 3种 ^ 4种 ^ 5种 ^ ^ 白昼 | 83.53% | 34.12% | 17.65% | 2.21% | 30.88% | 66.91% | ^ 黑夜 | 83.75% | 35.00% | 18.75% | 2.50% | 32.50% | 65.00% | ^ 后院 | 83.16% | 32.63% | 15.79% | 1.75% | 28.07% | 70.18% | ^ 屋顶 | 84.00% | 36.00% | 20.00% | 2.86% | 34.29% | 62.86% | ''轮数=3'': ^ ^ 路障 ^ 读报 ^ 其他 ^ 4种 ^ 5种 ^ 6种 | ^ 白昼 | 84.71% | 38.82% | 23.53% | 4.41% | 38.24% | 57.35% | ^ 黑夜 | 85.00% | 40.00% | 25.00% | 5.00% | 40.00% | 55.00% | ^ 后院 | 84.21% | 36.84% | 21.05% | 3.51% | 35.09% | 61.40% | ^ 屋顶 | 85.33% | 41.33% | 26.67% | 5.71% | 41.90% | 52.38% | ''轮数=4'': ^ ^ 路障 ^ 读报 ^ 其他 ^ 5种 ^ 6种 ^ 7种 | ^ 白昼 | 85.88% | 43.53% | 29.41% | 7.35% | 44.12% | 48.53% | ^ 黑夜 | 86.25% | 45.00% | 31.25% | 8.33% | 45.83% | 45.83% | ^ 后院 | 85.26% | 41.05% | 26.32% | 5.85% | 40.94% | 53.22% | ^ 屋顶 | 86.67% | 46.67% | 33.33% | 9.52% | 47.62% | 42.86% | ''轮数=5'': ^ ^ 路障 ^ 读报 ^ 其他 ^ 6种 ^ 7种 ^ 8种 | ^ 白昼 | 86.67% | 46.67% | 33.33% | 9.80% | 47.06% | 43.14% | ^ 黑夜 | 87.06% | 48.24% | 35.29% | 11.03% | 48.53% | 40.44% | ^ 后院 | 86.00% | 44.00% | 30.00% | 7.89% | 44.21% | 47.89% | ^ 屋顶 | 87.50% | 50.00% | 37.50% | 12.50% | 50.00% | 37.50% | ''轮数=6'': ^ ^ 路障 ^ 读报 ^ 其他 ^ 7种 ^ 8种 ^ 9种 | ^ 白昼 | 87.78% | 51.11% | 38.89% | 13.73% | 50.33% | 35.95% | ^ 黑夜 | 88.24% | 52.94% | 41.18% | 15.44% | 51.47% | 33.09% | ^ 后院 | 87.00% | 48.00% | 35.00% | 11.05% | 47.89% | 41.05% | ^ 屋顶 | 88.75% | 55.00% | 43.75% | 17.50% | 52.50% | 30.00% | ''轮数=7'': ^ ^ 路障 ^ 读报 ^ 其他 ^ 8种 ^ 9种 ^ 10种 | ^ 白昼 | 88.89% | 55.56% | 44.44% | 18.30% | 52.29% | 29.41% | ^ 黑夜 | 89.41% | 57.65% | 47.06% | 20.59% | 52.94% | 26.47% | ^ 后院 | 88.00% | 52.00% | 40.00% | 14.74% | 50.53% | 34.74% | ^ 屋顶 | 90.00% | 60.00% | 50.00% | 23.33% | 53.33% | 23.33% | ''轮数≥8'': ^ ^ 路障 ^ 读报 ^ 其他 ^ 9种 ^ 10种 ^ 11种 | ^ 白天 | 90.00% | 60.00% | 50.00% | 23.53% | 52.94% | 23.53% | ^ 黑夜 | 90.59% | 62.35% | 52.94% | 26.47% | 52.94% | 20.59% | ^ 后院 | 89.00% | 56.00% | 45.00% | 18.95% | 52.11% | 28.95% | ^ 屋顶 | 91.25% | 65.00% | 56.25% | 30.00% | 52.50% | 17.50% | <callout type="info" title="计算公式" icon="true"> 设可出怪类型数是''a'',剩余出怪类型数是''b'',则: * 路障出现概率''0.8+0.2*b/a'' * 读报出现概率''0.2+0.8*b/a'' * 其他出现概率''b/a'' 僵尸种类数的三种情况概率分别为: * ''b*(b-1)/(a*(a-1))'' * ''b*(a-b)*2/(a*(a-1))'' * ''(a-b)*(a-b-1)/(a*(a-1))'' 六大场地的''a''值分别为18/17/20/20/16/16,''b''值在''轮数≥8''时取值为9。 </callout> ==== 出怪列表 ==== 出怪列表决定了实际生成的僵尸的具体种类与个数,在选卡页面就已经确定。退出重进选卡页面会刷新出怪列表。 完整的出怪列表长度2000(([[https://tieba.baidu.com/p/2306159144|这两天研究了一下PVZ的出怪机制]])),位于''%%[[[6a9ec0]+768]+6b4]%%''开始的连续2000个int_32类型的地址,每50个为1波,总共记录40波。因此,每波至多生成50只僵尸。若出怪列表中留空,则对应波次会生成少于50只。 生存无尽模式中每轮仅20波,故只使用前1000个值。<wrap lo>老虎机、宝石迷阵等无限出怪的模式中,第41波起会重复循环第40波的出怪。</wrap> 每波僵尸刷新时,游戏会严格按照出怪列表预先设定的顺序依次生成对应僵尸。 出怪列表的生成受以下因素影响:权重、级别、阶数、红眼数量上限。 === 权重 === 权重位于''%%[0x0069da94 + i * 0x1c]%%'',游戏依此**加权随机**决定下一个要填入出怪列表的僵尸。 <callout type="info" title="加权随机" icon="true"> 即调整不同结果被随机到的概率。 例如从箱中抽红球与黄球,若红球权重2,黄球权重1,等同于抽到红球的概率为3分之2,抽到黄球的概率为3分之1。 </callout> === 级别 === 每波所出僵尸的**级别**总和不超过该波**级别上限**。 <callout type="info" title="级别上限" icon="true"> 每波级别上限 = ''int(int((当前波数 + 已完成选卡数 * 每轮总波数) * 0.8) / 2) + 1'',旗帜波再''* 2.5''并向零取整。 </callout> === 阶数 === 阶数决定了这个僵尸从第几波才会出现(([[https://tieba.baidu.com/p/7861483105|【无尽开局出怪规律科普】你知道多少轮以后出怪饱和吗?]]))。 ^ 阶数 ^ 包含 ^ 限制 | | 一阶僵尸 | 普僵、路障、铁桶、读报、雪人 | 第1波开始就可以出现 | | 二阶僵尸 | 撑杆、铁门、橄榄、舞王 | 至少从第5波开始才可以出现 | | 三阶僵尸 | 潜水、海豚、冰车、小丑、气球、矿工、跳跳、梯子、投篮 | 至少从第10波开始才可以出现 | | 四阶僵尸 | 白眼、红眼 | 至少从第15波开始才可以出现,''轮数=9''起每轮-1,''轮数=23''起固定为1 | === 红眼数量上限 === 已生成的红眼总数达到红眼数量上限后,非旗帜波不再出红眼,立刻生效。 红眼数量上限初始为0,''轮数=5''起每轮+1,''轮数=54''起固定为50。 生存无尽中,出怪列表根据以下规律随机生成: * 旗帜波((w10与w20))固定先出8只普僵和1只旗帜 * 出完50只红眼后,非旗帜波不再出红眼,立刻生效 * “50只”包含先前旗帜波次的红眼 * 该规律也被称作“变速” * * 满足以上条件的情况下,从出怪类型准许生成的僵尸以及雪人中,根据各僵尸**权重**加权随机得到要生成的僵尸 === 各僵尸级别与权重一览 === 每种僵尸的级别位于''%%[0x0069da88 + i * 0x1c]%%'',权重位于。下表以内存值为准,实际有调整的标于备注。 <sortable 3phase 2=nosort 5=nosort> ^ 序号 ^ 简称 ^ 级别 ^ 权重 ^ 备注 | | 0 | 普僵 | 1 | 4000 | ''轮数=5''起每轮-180,''轮数=25''起固定为400 | | 1 | 旗帜 | 1 | 0 | 在旗帜波固定出现,不参与随机过程 | | 2 | 路障 | 2 | 4000 | ''轮数=5''起每轮-150,''轮数=25''起固定为1000 | | 3 | 撑杆 | 2 | 2000 | | | 4 | 铁桶 | 4 | 3000 | | | 5 | 读报 | 2 | 1000 | | | 6 | 铁门 | 4 | 3500 | | | 7 | 橄榄 | 7 | 2000 | | | 8 | 舞王 | 5 | 1000 | | | 9 | 伴舞 | 1 | 0 | 衍生于舞王 | | 10 | 鸭子 | 1 | 0 | 实际出现的鸭子僵尸为出现在水路的普僵/路障/铁桶自动转换而来 | | 11 | 潜水 | 3 | 2000 | | | 12 | 冰车 | 7 | 2000 | | | 13 | 雪橇 | 3 | 2000 | | | 14 | 海豚 | 3 | 1500 | | | 15 | 小丑 | 3 | 1000 | | | 16 | 气球 | 2 | 2000 | | | 17 | 矿工 | 4 | 1000 | | | 18 | 跳跳 | 4 | 1000 | | | 19 | 雪人 | 4 | 1 | 无需出怪类型准许亦可生成,需已在[[教程:冒险模式|冒险]]二周目4-10见到雪人 | | 20 | 蹦极 | 3 | 1000 | 仅在旗帜波生成 | | 21 | 梯子 | 4 | 1000 | | | 22 | 投篮 | 5 | 1500 | | | 23 | 白眼 | 10 | 1500 | | | 24 | 小鬼 | 10 | 0 | 衍生于巨人 | | 25 | 僵博 | 10 | 0 | | | 26 | 豌豆 | 1 | 4000 | | | 27 | 坚果 | 4 | 3000 | | | 28 | 辣椒 | 3 | 1000 | | | 29 | 机枪 | 3 | 2000 | | | 30 | 窝瓜 | 3 | 2000 | | | 31 | 高坚果 | 4 | 2000 | | | 32 | 红眼 | 10 | 6000 | 非旗帜波调整为1000 | </sortable> === 不同轮数下各波级别上限 === ^ 轮数/已完成flag数 ^ w1 ^ w2 ^ w3 ^ w4 ^ w5 ^ w6 ^ w7 ^ w8 ^ w9 ^ w10 ^ w11 ^ w12 ^ w13 ^ w14 ^ w15 ^ w16 ^ w17 ^ w18 ^ w19 ^ w20 | | 0 | 1 | 1 | 1 | 2 | 2 | 3 | 3 | 3 | 4 | 10 | 5 | 5 | 5 | 6 | 6 | 7 | 7 | 7 | 8 | 20 | | 1轮 / 2 flags | 9 | 9 | 9 | 10 | 10 | 11 | 11 | 11 | 12 | 30 | 13 | 13 | 13 | 14 | 14 | 15 | 15 | 15 | 16 | 40 | | 2轮 / 4 flags | 17 | 17 | 17 | 18 | 18 | 19 | 19 | 19 | 20 | 50 | 21 | 21 | 21 | 22 | 22 | 23 | 23 | 23 | 24 | 60 | | 3轮 / 6 flags | 25 | 25 | 25 | 26 | 26 | 27 | 27 | 27 | 28 | 70 | 29 | 29 | 29 | 30 | 30 | 31 | 31 | 31 | 32 | 80 | | 4轮 / 8 flags | 33 | 33 | 33 | 34 | 34 | 35 | 35 | 35 | 36 | 90 | 37 | 37 | 37 | 38 | 38 | 39 | 39 | 39 | 40 | 100 | | 5轮 / 10 flags | 41 | 41 | 41 | 42 | 42 | 43 | 43 | 43 | 44 | 110 | 45 | 45 | 45 | 46 | 46 | 47 | 47 | 47 | 48 | 120 | | 6轮 / 12 flags | 49 | 49 | 49 | 50 | 50 | 51 | 51 | 51 | 52 | 130 | 53 | 53 | 53 | 54 | 54 | 55 | 55 | 55 | 56 | 140 | | 7轮 / 14 flags | 57 | 57 | 57 | 58 | 58 | 59 | 59 | 59 | 60 | 150 | 61 | 61 | 61 | 62 | 62 | 63 | 63 | 63 | 64 | 160 | | 8轮 / 16 flags | 65 | 65 | 65 | 66 | 66 | 67 | 67 | 67 | 68 | 170 | 69 | 69 | 69 | 70 | 70 | 71 | 71 | 71 | 72 | 180 | | 9轮 / 18 flags | 73 | 73 | 73 | 74 | 74 | 75 | 75 | 75 | 76 | 190 | 77 | 77 | 77 | 78 | 78 | 79 | 79 | 79 | 80 | 200 | | 10轮 / 20 flags | 81 | 81 | 81 | 82 | 82 | 83 | 83 | 83 | 84 | 210 | 85 | 85 | 85 | 86 | 86 | 87 | 87 | 87 | 88 | 220 | | … … | | | | | | | | | | | | | | | | | | | | | | 20轮 / 40 flags | 161 | 161 | 161 | 162 | 162 | 163 | 163 | 163 | 164 | 410 | 165 | 165 | 165 | 166 | 166 | 167 | 167 | 167 | 168 | 420 | | … … | | | | | | | | | | | | | | | | | | | | | | 30轮 / 60 flags | 241 | 241 | 241 | 242 | 242 | 243 | 243 | 243 | 244 | 610 | 245 | 245 | 245 | 246 | 246 | 247 | 247 | 247 | 248 | 620 | | … … | | | | | | | | | | | | | | | | | | | | | | 40轮 / 80 flags | 321 | 321 | 321 | 322 | 322 | 323 | 323 | 323 | 324 | 810 | 325 | 325 | 325 | 326 | 326 | 327 | 327 | 327 | 328 | 820 | | … … | | | | | | | | | | | | | | | | | | | | | | 50轮 / 100 flags | 401 | 401 | 401 | 402 | 402 | 403 | 403 | 403 | 404 | 1010 | 405 | 405 | 405 | 406 | 406 | 407 | 407 | 407 | 408 | 1020 | | … … | | | | | | | | | | | | | | | | | | | | | | 60轮 / 120 flags | 481 | 481 | 481 | 482 | 482 | 483 | 483 | 483 | 484 | 1210 | 485 | 485 | 485 | 486 | 486 | 487 | 487 | 487 | 488 | 1220 | | 61轮 / 122 flags | 489 | 489 | 489 | 490 | 490 | 491 | 491 | 491 | 492 | 1230 | 493 | 493 | 493 | 494 | 494 | 495 | 495 | 495 | 496 | 1240 | | 62轮 / 124 flags | 497 | 497 | 497 | 498 | 498 | 499 | 499 | 499 | 500 | 1250 | 501 | 501 | 501 | 502 | 502 | 503 | 503 | 503 | 504 | 1260 | | … … | | | | | | | | | | | | | | | | | | | | | > 所有僵尸中,级别最高者为10(白眼/红眼),而每波至多50只僵尸,因此''级别上限≥500''后(第125flag的w9起),将彻底失去其限制作用 ===== 时间体系 ===== 请在输入框中填入验证码以证明您不是机器人。 请将此区域留空:保存预览取消 编辑摘要 当你选择开始编辑本页时,即视作同意将你贡献的内容按下列许可协议发布: CC Attribution-Share Alike 4.0 International 最后更改: 18月前由 OTZzzz 修改