《泰拉瑞亚》饰品制作方法( 二 )


——什么?还是太弱了?你手残所以每秒60血根本不够?
p.longInvince = true;
p.lavaImmune = true;
p.fireWalk = true;
p.noFallDmg = true;
四句分别是延长无敌时间(神圣十字效果) , 免疫岩浆(黑曜石药水效果) , 免疫热砖块(黑曜石头颅效果)以及免疫掉落伤害(马掌效果)
——什么?你还想站撸霜月?
记得我说过Effects可以对玩家数据任意操控吧~
我们可以简单地做一个内置锁血锁蓝的效果:
p.statLife=p.statLifeMax;和p.statMana=p.p.statManaMax2;
原理:每帧都读一下玩家当前最大血/蓝是多少 , 再赋给剩余的血/蓝
够鬼畜了吧~现在只要没有喵杀你的攻击 , 对你来说都是浮云了
——什么?你还要白天去同时站撸骷髅王、地牢守护者和机械骷髅王?
【丧病篇:鬼畜cs进阶】
这一篇教程就是一些更华丽的效果了……
首先是上期遗留的问题:如何站撸白天吴克?答案就是……诶有人敲门?我的快递到了 , 去收一下……
……刚才送快递的LZW小哥告诉我 , 不能把这个说出来 , 不然会(ta)极(hui)大(zai)地(jin)影(wan)响(lai)游(gang)戏(le)平(wo)衡 , 所以就只能给一点提示了:给玩家强行上无敌~
子提示①:无敌和免疫的意思很接近
子提示②:TR的变量基本是用英文命名的
子提示③:无敌也需要时间限定
那么 , 就这样吧 , 作为一个思考题 , 接下来是——
1.时装
想穿乌龟套又懒得收集龟甲?万能的Effects满足你!
p.head=99;
p.body=65;
p.legs=54;
想穿幽灵套又不想下地牢?万能的Effects满足你!
p.head=101;
p.body=66;
p.legs=55;
其它时装同理 , 不过实际使用时优先级是时装栏高于下面的饰品高于上面的饰品高于装备栏 , 请务必注意
2.套装效果
想反伤又嫌乌龟套好难看而且不想穿时装?还是万能的Effects满足你!
p.thorns = true;
p.turtleThorns = true;
想吸血而且觉得幽灵套太丑?依然是是万能的Effects满足你!
p.ghostHeal=true;
什么?嫌幽灵套吸血太慢了?那就再来一句:
p.lifeSteal=233f;——瞬间还原至旧版幽灵套的吸血频率我会说?
3.视觉特效
还是那句话 , Effects是万能的 。
想在身上点上火?
for (int i=0;i<9;i++){
int m = Dust.NewDust(p.position, p.width, p.height, 6);
Main.dust[m].noGravity = true;
Main.dust[m].position += p.velocity * Main.rand.Next(-50, 51) * 0.01f;
}
上面这段效果大概就是在身上放上火焰的粒子特效 , 并且会依据玩家的速度而延伸成一条火链;至于每一句都是起的什么作用——字面意思 , 不懂英文的请自行google翻译 , 不懂英文又秀优越秀爱国的请右上角
想让自己身上冒星星?
Gore.NewGore(p.position+new Vector2(Main.rand.Next(p.width),Main.rand.Next(p.height)), p.velocity,Main.rand.Next(16,18));
上面这句就是在玩家身上随机的地方冒16号或者17号gore , 也就是星星
【DEBUG-查错阶段】
首先是同时挂上蒸汽朋克翅膀、火焰粒子以及星星gore的照片一张

《泰拉瑞亚》饰品制作方法

文章插图
这里需要注意一点:cs开头的using应该是using Microsoft.Xna.Framework;
也就是说 , 模板应该是如下:
using System;
using TAPI;
using Microsoft.Xna.Framework;
namespace TAPI.【MOD名称】{
public class 【道具名称】:ModItem{
public 【道具名称】(ModBase modbase,Item i):base(modbase,i){}
public override void Effects(Player p){
//等会就是在这里插入饰品信息滴~

}
}
这篇主要讲述的是运用TR原版的一些方法组来答到寓守于攻、不战而退敌的效果
首先……先介绍一些需要用到的代码
1.Rectangle(组词法:rect是“四” , angle是“角” , 四个墙角即为矩形~)
要想快速而方便地判定范围 , 首先要在TR里表示一个矩形(Rectangle) 。
TR里声明一个矩形的方法是使用new方法组 , 也就是new Rectangle(坐标X,坐标Y,宽,高)
举例:new Rectangle(100,200,300,400)表示的是如下图的矩形:
《泰拉瑞亚》饰品制作方法

文章插图

推荐阅读