我在pokecommunity上看到了这样一个关于在火红中加入隐藏特性帖子,大意是说:
1、利用种族信息中“颜色与翻转”这一字节之后的闲置字节来填入隐藏特性
2、更改特性决定代码:个体值最高位等于1,则选择隐藏特性;否则,根据性格值奇偶来决定是哪一个普通特性
3、然后,再据此调整遇敌、遗传的相关代码
我觉得可以加以简化
1、按同样方法填入隐藏特性(现在全部特性也只有233个,一个字节应该是够的)
2、更改特性决定代码:
性格值为偶且个体值最高位等于0 则为第一特性
性格值为奇且个体值最高位等于1 则为第二特性
其余情况 则为隐藏特性(比如偶且1,奇且0)
3、遇敌、遗传的相关代码都可以不用改动
结果是:
野生PM、从蛋中出生的PM……所有自然获得的PM永远为两个普通特性二选一;
从前,特性胶囊是在两个普通特性之间切换;现在特性胶囊会把普通特性变成隐藏特性,把隐藏特性变回原先的普通特性
一些特殊PM可以特殊处理:
比如,基格尔德的气场破坏是普通特性,群聚变形是隐藏特性,仍然可以用特性胶囊来避免基格尔德BUG;
又比如,甲贺忍蛙的两个普通特性是激流和变幻自如,需要通过喂特性胶囊来获得牵绊变身的甲贺忍蛙。
当然,副作用是普通特性之间不可以切换
不过,一来(按官方设定)有双普通特性的PM远小于有隐藏特性的PM,这样的特性胶囊应用更广泛
二来,究极绿宝石没有官方设定的80%遗传特性这种设定,通过生蛋切换普特更简单
@Desvol @雷米奥修斯
如果这种做法技术上可行的话,请制作组的大佬加以考虑,谢谢!
1、利用种族信息中“颜色与翻转”这一字节之后的闲置字节来填入隐藏特性
2、更改特性决定代码:个体值最高位等于1,则选择隐藏特性;否则,根据性格值奇偶来决定是哪一个普通特性
3、然后,再据此调整遇敌、遗传的相关代码
我觉得可以加以简化
1、按同样方法填入隐藏特性(现在全部特性也只有233个,一个字节应该是够的)
2、更改特性决定代码:
性格值为偶且个体值最高位等于0 则为第一特性
性格值为奇且个体值最高位等于1 则为第二特性
其余情况 则为隐藏特性(比如偶且1,奇且0)
3、遇敌、遗传的相关代码都可以不用改动
结果是:
野生PM、从蛋中出生的PM……所有自然获得的PM永远为两个普通特性二选一;
从前,特性胶囊是在两个普通特性之间切换;现在特性胶囊会把普通特性变成隐藏特性,把隐藏特性变回原先的普通特性
一些特殊PM可以特殊处理:
比如,基格尔德的气场破坏是普通特性,群聚变形是隐藏特性,仍然可以用特性胶囊来避免基格尔德BUG;
又比如,甲贺忍蛙的两个普通特性是激流和变幻自如,需要通过喂特性胶囊来获得牵绊变身的甲贺忍蛙。
当然,副作用是普通特性之间不可以切换
不过,一来(按官方设定)有双普通特性的PM远小于有隐藏特性的PM,这样的特性胶囊应用更广泛
二来,究极绿宝石没有官方设定的80%遗传特性这种设定,通过生蛋切换普特更简单
@Desvol @雷米奥修斯
如果这种做法技术上可行的话,请制作组的大佬加以考虑,谢谢!