- 新增追踪主武器:蜜蜂手雷、叶绿弹 - 蜂针刺弹/月牙斩/落雷术/火雨/电弧手里剑改为追踪或偏转 - 主武器数值 buff:蜂针x3、圣光x5、月牙攻速x2、泡泡x5等 - 副武器/僚机合并:移除 beamdrone/repair/frostd/teslaD/sweeper - 僚机重做:机枪高速连射、狙击自瞄穿透、导弹追踪爆炸、全体伤害加强 - 治疗反馈:绿十字粒子+血条绿闪+数字 - 同步 CODEX_KEYS 白名单
130 lines
10 KiB
JavaScript
130 lines
10 KiB
JavaScript
"use strict";
|
||
/* ================= 机体(各具特色) ================= */
|
||
const SHIPS={
|
||
falcon:{name:"猎鹰",spr:"ship0",cost:0,trait:"均衡型 · 无短板",
|
||
mod:{spd:1,dmg:1,lives:0,crit:0,dodge:0,hitR:0,mag:1,bombs:0,shield:0,drone:0,droneBoost:1}},
|
||
ghost:{name:"幽灵",spr:"ship1",cost:800,trait:"高速 · 闪避+12% · 判定更小",
|
||
mod:{spd:1.18,dmg:0.95,lives:-1,crit:0,dodge:0.12,hitR:-0.6,mag:1,bombs:0,shield:0,drone:0,droneBoost:1}},
|
||
bastion:{name:"堡垒",spr:"ship2",cost:1500,trait:"重装 · 命+2 · 血量+30 · 自带护盾",
|
||
mod:{spd:0.85,dmg:1.1,lives:2,crit:0,dodge:0,hitR:0.5,mag:1.4,bombs:0,shield:1,drone:0,droneBoost:1,hp:30}},
|
||
valkyrie:{name:"女武神",spr:"ship3",cost:3000,trait:"自带僚机 · 僚机火力+50%",
|
||
mod:{spd:1.05,dmg:1,lives:0,crit:0,dodge:0,hitR:0,mag:1,bombs:0,shield:0,drone:1,droneBoost:1.5}},
|
||
asura:{name:"修罗",spr:"ship4",cost:5000,trait:"暴击+15% · 伤害+10% · 命-1",
|
||
mod:{spd:1,dmg:1.1,lives:-1,crit:0.15,dodge:0,hitR:0,mag:1,bombs:1,shield:0,drone:0,droneBoost:1}}
|
||
};
|
||
/* ================= 军械库:27 主武器 =================
|
||
beh: 行为引擎类型 lvl(w): 该等级的战斗参数 */
|
||
const WEAPONS={
|
||
vulcan:{name:"火神机炮",spr:"trcr",rare:0,beh:"streams",ds:"!?神神?!",
|
||
lvl:w=>({n:1+Math.floor(w/2),dmg:9*(1+.22*(w-1)),int:8,spd:5.4,gap:6})},
|
||
shotgun:{name:"超级霰弹",spr:"pelt",rare:0,beh:"streams",ds:"“友谊颗粒”",
|
||
lvl:w=>({n:5+2*w,dmg:5*(1+.18*(w-1)),int:22,spd:5.5,fan:0.5,gap:2,skipMid:1})},
|
||
needle:{name:"蜂针刺弹",spr:"ndl",rare:0,beh:"needle",ds:"这可是吐了剧毒的飞刀",
|
||
lvl:w=>({n:1+Math.floor(w/3),dmg:7.8*(1+.2*(w-1)),int:3,spd:7,gap:4,poison:100})},
|
||
flame:{name:"火焰喷射器",icon:"flame",rare:0,beh:"flame",ds:"让火焰净化一切",
|
||
lvl:w=>({n:3+Math.floor(w/2),dmg:1.2*(1+.22*(w-1)),range:90+8*w,burst:44+4*w,cd:Math.max(40,74-5*w)})},
|
||
shotgun2:{name:"霜冻霰弹",spr:"shard",rare:1,beh:"streams",ds:"冷冷冷",
|
||
lvl:w=>({n:3+w,dmg:3.2*(1+.18*(w-1)),int:23,spd:5.2,fan:0.42,gap:2,slow:80+25*w})},
|
||
tesla:{name:"电弧发生器",icon:"chain",rare:1,beh:"tesla",ds:"?!电电!?",
|
||
lvl:w=>({n:1+Math.floor(w/2),dmg:11*(1+.25*(w-1)),int:44-2*w,range:110})},
|
||
railgun:{name:"电磁炮",icon:"rail",rare:2,beh:"rail",ds:"带轮子的垃圾桶",
|
||
lvl:w=>({dmg:70*(1+.3*(w-1)),charge:120-10*w,spd:11,zone:24+4*w})},
|
||
deathray:{name:"死光",icon:"laser",rare:2,beh:"deathray",ds:"记得带镜子",
|
||
lvl:w=>({dps:1.2*(1+.28*(w-1)),charge:160-12*w,beam:55,width:5+2*w})},
|
||
crescent:{name:"月牙斩",spr:"cres",rare:1,beh:"crescent",ds:"青豆?",
|
||
lvl:w=>({dmg:44*(1+.24*(w-1)),int:60,spd:3.4,hits:3})},
|
||
fission:{name:"分裂弹",spr:"fiss",rare:1,beh:"fission",ds:"四阶村长",
|
||
lvl:w=>({dmg:7*(1+.22*(w-1)),int:20,spd:5.2,split:3+Math.floor(w/2),splitAt:26})},
|
||
frost:{name:"冰冻枪",spr:"icelance",rare:1,beh:"frost",ds:"冷冷冷冷",
|
||
lvl:w=>({dmg:10*(1+.2*(w-1)),int:13,spd:6,freeze:70+25*w})},
|
||
swarm:{name:"蜂巢导弹",spr:"msl2",rare:1,beh:"homing",ds:"不可用于对付肉山",
|
||
lvl:w=>({n:1+w,dmg:2.5*(1+.2*(w-1)),int:22,spd:3.2,aoe:10})},
|
||
bubble:{name:"重力泡泡",spr:"bub",rare:1,beh:"bubble",ds:"天呐!是海绵宝宝",
|
||
lvl:w=>({dmg:90*(1+.25*(w-1)),int:26,spd:1.4,aoe:30+4*w})},
|
||
starfall:{name:"流星火雨",spr:"met",rare:2,beh:"starfall",ds:"天火",
|
||
lvl:w=>({n:3+Math.floor(w/2),dmg:16*(1+.25*(w-1)),int:150-8*w,aoe:16})},
|
||
boomerang:{name:"回旋镖",spr:"boomer",rare:0,beh:"boom",ds:"但愿不会打到自己",
|
||
lvl:w=>({n:1+Math.floor(w/2),dmg:9*(1+.22*(w-1)),int:21,spd:4.8})},
|
||
singularity:{name:"奇点炮",spr:"sing",rare:2,beh:"sing",ds:"雷工蛋?",
|
||
lvl:w=>({dmg:120*(1+.3*(w-1)),int:200,pull:88,aoe:62,fuse:160})},
|
||
wavecannon:{name:"波动炮",spr:"waveb",rare:2,beh:"wave",ds:"炼狱无双波动炮",
|
||
lvl:w=>({dmg:32*(1+.3*(w-1)),charge:100-8*w,spd:5,width:14+6*w})},
|
||
holy:{name:"圣光弹",spr:"holyo",rare:2,beh:"holy",ds:"哇哦",
|
||
lvl:w=>({dmg:130*(1+.25*(w-1)),int:65,spd:3,len:16+3*w})},
|
||
thundercall:{name:"落雷术",spr:"thnd",rare:1,beh:"thunder",ds:"何方道友在此渡劫",
|
||
lvl:w=>({n:2+Math.floor(w/2),dmg:12*(1+.25*(w-1)),int:90-4*w,aoe:13})},
|
||
arcshu:{name:"电弧手里剑",spr:"shuri",rare:2,beh:"shuriken",ds:"这个很熟悉了吧",
|
||
lvl:w=>({dmg:7*(1+.22*(w-1)),int:95-4*w,spd:2.2,zapDmg:6*(1+.25*(w-1)),pulse:7,deflect:0.04})},
|
||
volt:{name:"电能机炮",spr:"voltb",rare:1,beh:"volt",ds:"疑似电大",
|
||
lvl:w=>({n:1+Math.floor(w/3),dmg:4.5*(1+.2*(w-1)),int:5,spd:6.2,gap:5,chain:2+Math.floor(w/2)})},
|
||
dawn:{name:"黎明重炮",spr:"dawnsh",rare:2,beh:"dawn",ds:"祖宗发射器",
|
||
lvl:w=>({dmg:70*(1+.3*(w-1)),charge:170-12*w,spd:5,aoe:30+3*w})},
|
||
proto:{name:"协议武装",spr:"protb",rare:2,beh:"protocol",ds:"搜索,歼灭",
|
||
lvl:w=>({dmg:3*(1+.2*(w-1)),int:6,spd:6.5,heavy:120-8*w,hdmg:36*(1+.28*(w-1)),haoe:26+3*w})},
|
||
nebula:{name:"星云奥秘",spr:"neb",rare:2,beh:"nebula",ds:"字面意思",
|
||
lvl:w=>({dmg:14*(1+.25*(w-1)),int:100-5*w,spd:1.6,stars:10+2*w})},
|
||
loiter:{name:"巡飞弹",spr:"loms",rare:1,beh:"loiter",ds:"堵桥来",
|
||
lvl:w=>({dmg:22*(1+.25*(w-1)),int:68-5*w,spd:4.2,zone:20+3*w,fire:95+15*w})},
|
||
beegrenade:{name:"蜜蜂手雷",spr:"beegrenade",rare:1,beh:"beegrenade",ds:"嗡嗡嗡",
|
||
lvl:w=>({n:2,dmg:10*(1+.25*(w-1)),beeDmg:4*(1+.25*(w-1)),int:55-4*w,spd:3.2,aoe:18,bees:5,fuse:40})},
|
||
chlorophyte:{name:"叶绿弹",spr:"chloro",rare:1,beh:"chlorophyte",ds:"丛林之怒",
|
||
lvl:w=>({n:1+Math.floor(w/2),dmg:4*(1+.2*(w-1)),int:10,spd:5.2,gap:5})}
|
||
};
|
||
const MAINS=Object.keys(WEAPONS);
|
||
/* ================= 15 副武器 =================
|
||
爆发/控场/防御;分类原则:一次性大范围或长CD特效 */
|
||
const SUBS={
|
||
broad:{name:"侧舷火炮",spr:"broad",rare:0,max:5,beh:"broad",ds:l=>`舷炮斜向前方45°齐射,Lv${l+1}`},
|
||
sweep:{name:"探照扫射",icon:"laser",rare:1,max:5,beh:"sweep",ds:l=>`往复摆动的扫描光束,Lv${l+1}`},
|
||
leech:{name:"寄生电浆",icon:"chain",rare:1,max:3,beh:"leech",ds:l=>`命中附着电浆水蛭,吸血回复结构,Lv${l+1}`},
|
||
orbit:{name:"环绕光刃",spr:"blade",rare:1,max:4,beh:"orbit",ds:l=>`光刃+1(当前${l+1}把)`},
|
||
sats:{name:"卫星屏障",spr:"sat",rare:1,max:3,beh:"sats",ds:l=>`环绕卫星可格挡敌弹,Lv${l+1}`},
|
||
pd:{name:"点防御炮",spr:"dGun",rare:1,max:4,beh:"pd",ds:l=>`自动拦截来袭敌弹(不打贴身弹),Lv${l+1}`},
|
||
slowfield:{name:"时间力场",spr:"grv",rare:2,max:3,beh:"slowfield",ds:l=>"力场内敌人与敌弹大幅减速,Lv"+(l+1)},
|
||
flares:{name:"热诱弹舱",spr:"flare",rare:0,max:4,beh:"flares",ds:l=>"扇形抛射4枚缓速热诱弹,各诱爆一枚敌弹,Lv"+(l+1)},
|
||
seeker:{name:"索敌浮游炮",spr:"dGun2",rare:1,max:3,beh:"seeker",ds:l=>"离机索敌的浮游炮,Lv"+(l+1)},
|
||
frostnova:{name:"冰霜新星",spr:"frost",rare:1,max:3,beh:"frostnova",ds:l=>"周期性冻结周围敌人,Lv"+(l+1)},
|
||
thorns:{name:"反伤棘甲",icon:"crit",rare:1,max:3,beh:"thorns",ds:l=>"撞击你的敌人遭到反噬,Lv"+(l+1)},
|
||
sticky:{name:"粘着炸弹",spr:"sticky",rare:0,max:3,beh:"sticky",ds:l=>"粘附敌人的定时高爆炸弹,Lv"+(l+1)},
|
||
magnetar:{name:"磁暴环",icon:"mag",rare:2,max:3,beh:"magnetar",ds:l=>"周期性电磁脉冲,消弹伤敌,Lv"+(l+1)},
|
||
executor:{name:"斩首巡航弹",spr:"cmsl",rare:2,max:3,beh:"executor",ds:l=>"巡航导弹猎杀最强之敌,Lv"+(l+1)},
|
||
airstrike:{name:"空爆弹",spr:"amsl",rare:1,max:5,beh:"airstrike",ds:l=>"双弹侧掠折向直上,穿透机身沿途轰炸,Lv"+(l+1)}
|
||
};
|
||
const SUB_KEYS=Object.keys(SUBS);
|
||
/* ================= 10 僚机 =================
|
||
自动跟随/持续输出;全部获得伤害与功能强化 */
|
||
const DRONES={
|
||
gunner:{name:"机枪僚机",spr:"dGun",rare:0,max:3,beh:"burst",ds:l=>"高速连射+随机散布,Lv"+(l+1)},
|
||
gunner2:{name:"双翼机枪手",spr:"dGun2",rare:1,max:3,beh:"burst2",ds:l=>"双管高速连射,Lv"+(l+1)},
|
||
sniperd:{name:"狙击僚机",spr:"dSnip",rare:1,max:3,beh:"snipe",ds:l=>"自瞄高伤穿透弹,Lv"+(l+1)},
|
||
beamer:{name:"光束僚机",spr:"dBeam",rare:2,max:3,beh:"beam",ds:l=>"周期光束,Lv"+(l+1)},
|
||
bomber:{name:"轰炸僚机",spr:"dBomb",rare:1,max:3,beh:"bomb",ds:l=>"投掷爆炸弹,Lv"+(l+1)},
|
||
rammer:{name:"冲撞僚机",spr:"dRam",rare:1,max:3,beh:"melee",big:1.6,ds:l=>"高速环绕撞击,Lv"+(l+1)},
|
||
healer:{name:"修复僚机",spr:"dHeal",rare:1,max:3,beh:"heal",ds:l=>"持续修复机体结构,Lv"+(l+1)},
|
||
shieldd:{name:"护盾僚机",spr:"dShield",rare:2,max:3,beh:"block",big:1.5,ds:l=>"环绕格挡敌弹,Lv"+(l+1)},
|
||
missileD:{name:"导弹僚机",spr:"dMsl",rare:1,max:3,beh:"missile",ds:l=>"追踪导弹+大范围爆炸,Lv"+(l+1)},
|
||
bladeD:{name:"刃舞僚机",spr:"dBlade",rare:1,max:3,beh:"bladeD",ds:l=>"投掷回旋刃,Lv"+(l+1)}
|
||
};
|
||
const DRONE_KEYS=Object.keys(DRONES);
|
||
/* ================= 8 被动强化 ================= */
|
||
const PASSIVES={
|
||
fire:{name:"火控雷达",icon:"fire",rare:0,max:5,ds:()=>"射速 +12%"},
|
||
crit:{name:"暴击芯片",icon:"crit",rare:1,max:4,ds:()=>"暴击率 +8%"},
|
||
shield:{name:"能量护盾",icon:"shield",rare:1,max:3,ds:l=>l?"护盾充能加快":"获得可格挡的护盾"},
|
||
nano:{name:"纳米修复",icon:"nano",rare:1,max:3,ds:()=>"血量上限+25 并回复40"},
|
||
mag:{name:"引力核心",icon:"mag",rare:0,max:3,ds:()=>"拾取范围 +60%"},
|
||
bounty:{name:"赏金协议",icon:null,spr:"coin",rare:0,max:3,ds:()=>"星币获取 +30%"},
|
||
odcore:{name:"超频核心",icon:null,spr:"odc",rare:1,max:3,ds:()=>"暴走充能+30%,时长+1s"},
|
||
ghost:{name:"幽灵装甲",icon:"ghost",rare:2,max:2,ds:()=>"闪避率 +10%"}
|
||
};
|
||
const PAS_KEYS=Object.keys(PASSIVES);
|
||
/* ---- 主武器火力衰减与敌人动态缩放 ----
|
||
装备数量 → 每把武器伤害系数:[1]100% [2]80% [3]60% [4]50% [5]45%
|
||
总火力 = 系数×数量;敌人血量与数量随总火力提升 */
|
||
const WMUL=[0,1,0.8,0.6,0.5,0.45];
|
||
function wCount(){return Math.max(1,G.loadout.length);}
|
||
function wMul(){return WMUL[clamp(wCount(),1,5)];}
|
||
function totWMul(){return wMul()*wCount();}
|
||
function enemyScale(){return 1+0.22*(totWMul()-1);} // 血量缩放
|
||
function budgetScale(){return 1+0.22*(totWMul()-1);} // 数量缩放
|