怪物根据怪物等级 掉落石头和经验
This commit is contained in:
@@ -1,16 +1,4 @@
|
||||
export const MonsetList = {
|
||||
1:{
|
||||
1:[5001],
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export const BossList = {
|
||||
1:{
|
||||
1:[5001],
|
||||
}
|
||||
|
||||
}
|
||||
import { HQuality } from "./heroSet";
|
||||
|
||||
// 波次配置表 - 根据Design.md中的怪物波次系统设计
|
||||
export const WaveConfig = {
|
||||
@@ -226,22 +214,37 @@ export const getInfiniteWaveConfig = (waveNumber: number) => {
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
// 获取怪物等级
|
||||
export const getMonsterLevel = (waveNumber: number): number => {
|
||||
return 1 + Math.floor(waveNumber / 1);
|
||||
};
|
||||
|
||||
// 获取装备石掉落数量
|
||||
export const getEquipStoneDrops = (monsterType: string, level: number = 1): number => {
|
||||
export const getStoneDrops = (monsterType: number, level: number = 1): {type: string, count: number} => {
|
||||
const baseDrops = {
|
||||
"warrior": 2, // 普通怪物
|
||||
"remote": 3, // 远程怪物
|
||||
"mage": 4 // 法师怪物
|
||||
[HQuality.GREEN]: 2, // 普通怪物
|
||||
[HQuality.BLUE]: 4, // 精英怪物
|
||||
[HQuality.PURPLE]: 8 // Boss怪物
|
||||
};
|
||||
|
||||
return Math.floor(baseDrops[monsterType] * (1 + (level - 1) * 0.2));
|
||||
// 50%概率掉落装备石,50%概率掉落技能石
|
||||
const dropType = Math.random() < 0.5 ? "equip" : "skill";
|
||||
const dropCount = Math.floor(baseDrops[monsterType] * (1 + (level - 1) * 0.2));
|
||||
|
||||
return {
|
||||
type: dropType,
|
||||
count: dropCount
|
||||
};
|
||||
};
|
||||
|
||||
export const getExpDrops = (monsterType: number, level: number = 1): number => {
|
||||
const baseDrops = {
|
||||
[HQuality.GREEN]: 10, // 普通怪物
|
||||
[HQuality.BLUE]: 20, // 精英怪物
|
||||
[HQuality.PURPLE]: 40 // Boss怪物
|
||||
};
|
||||
return Math.floor(baseDrops[monsterType] * (1 + (level - 1) * 0.2));
|
||||
}
|
||||
// 获取装备升级成本
|
||||
export const getEquipUpgradeCost = (equipLevel: number, quality: number): number => {
|
||||
const baseCosts = {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { v3 } from "cc"
|
||||
import { Quality } from "./CardSet"
|
||||
import { BuffAttr } from "./SkillSet"
|
||||
|
||||
/**
|
||||
@@ -29,10 +28,7 @@ export enum HType {
|
||||
remote = 1,
|
||||
mage = 2,
|
||||
}
|
||||
export enum HeroFac {
|
||||
hero = 0,
|
||||
enemy = 1,
|
||||
}
|
||||
|
||||
export const getHeroList = (is_master:number=0)=>{
|
||||
if(is_master==1){
|
||||
return Masters
|
||||
@@ -44,10 +40,6 @@ export const HeroList = [5021,5022,5023,5024,5025,5026,5027,5028]
|
||||
export const MonList = [5201,5202,5203,5204,5205,5206,5216,5217,5218,5219,5220,5221,5222,5223,5224,5225,5226,5227]
|
||||
export const Masters = [5001,5002,5003,5004]
|
||||
|
||||
export const HeroSet = {
|
||||
Start_x:[-200,-260,-320],
|
||||
Start_y:[70,0,-70]
|
||||
}
|
||||
export const HeroPos={
|
||||
0:{pos:v3(-290,10,0)},
|
||||
1:{pos:v3(-200,0,0)},
|
||||
@@ -328,110 +320,110 @@ export const HeroInfo = {
|
||||
|
||||
|
||||
//怪物
|
||||
5201:{uuid:5201,name:"兽人战士",path:"mor1", quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:300,cd:1.5,speed:45,skills:[6007],
|
||||
5201:{uuid:5201,name:"兽人战士",path:"mor1", quality:HQuality.GREEN,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"普通怪物-战士型"},
|
||||
|
||||
5202:{uuid:5202,name:"兽人刺客",path:"mor2", quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:300,cd:1.5,speed:45,skills:[6007],
|
||||
5202:{uuid:5202,name:"兽人刺客",path:"mor2", quality:HQuality.GREEN,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"普通怪物-战士型"},
|
||||
|
||||
5203:{uuid:5203,name:"兽人护卫",path:"mor3", quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.remote,hp:20,ap:12,dis:500,cd:1.5,speed:50,skills:[6007],
|
||||
5203:{uuid:5203,name:"兽人护卫",path:"mor3", quality:HQuality.GREEN,lv:1,kind:1,
|
||||
type:HType.remote,hp:20,ap:12,dis:200,cd:1.5,speed:50,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"远程怪物-高伤害"},
|
||||
|
||||
5204:{uuid:5204,name:"石卫", path:"mgem1",quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:300,cd:1.5,speed:45,skills:[6007],
|
||||
5204:{uuid:5204,name:"石卫", path:"mgem1",quality:HQuality.GREEN,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"普通怪物-战士型"},
|
||||
|
||||
5205:{uuid:5205,name:"土卫", path:"mgem2",quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:300,cd:1.5,speed:45,skills:[6007],
|
||||
5205:{uuid:5205,name:"土卫", path:"mgem2",quality:HQuality.GREEN,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"普通怪物-战士型"},
|
||||
|
||||
5206:{uuid:5206,name:"树人", path:"mgem3",quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:300,cd:1.5,speed:45,skills:[6007],
|
||||
5206:{uuid:5206,name:"树人", path:"mgem3",quality:HQuality.GREEN,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"普通怪物-战士型"},
|
||||
|
||||
5216:{uuid:5216,name:"元素1", path:"my1", quality:HQuality.BLUE,lv:2,kind:1,
|
||||
type:HType.mage,hp:18,ap:15,dis:600,cd:1.2,speed:40,skills:[6007],
|
||||
5216:{uuid:5216,name:"元素1", path:"my1", quality:HQuality.GREEN,lv:2,kind:1,
|
||||
type:HType.mage,hp:18,ap:15,dis:350,cd:1.2,speed:40,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"法师怪物-高伤害脆弱"},
|
||||
|
||||
5217:{uuid:5217,name:"元素2", path:"my2", quality:HQuality.BLUE,lv:2,kind:1,
|
||||
type:HType.mage,hp:18,ap:15,dis:600,cd:1.2,speed:40,skills:[6007],
|
||||
5217:{uuid:5217,name:"元素2", path:"my2", quality:HQuality.GREEN,lv:2,kind:1,
|
||||
type:HType.mage,hp:18,ap:15,dis:350,cd:1.2,speed:40,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"法师怪物-高伤害脆弱"},
|
||||
|
||||
5218:{uuid:5218,name:"元素3", path:"my3", quality:HQuality.BLUE,lv:2,kind:1,
|
||||
type:HType.mage,hp:18,ap:15,dis:600,cd:1.2,speed:40,skills:[6007],
|
||||
5218:{uuid:5218,name:"元素3", path:"my3", quality:HQuality.GREEN,lv:2,kind:1,
|
||||
type:HType.mage,hp:18,ap:15,dis:350,cd:1.2,speed:40,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"法师怪物-高伤害脆弱"},
|
||||
|
||||
5219:{uuid:5219,name:"牛头战士",path:"mn1", quality:HQuality.BLUE,lv:2,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:300,cd:1.5,speed:45,skills:[6007],
|
||||
5219:{uuid:5219,name:"牛头战士",path:"mn1", quality:HQuality.GREEN,lv:2,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"普通怪物-战士型"},
|
||||
|
||||
5220:{uuid:5220,name:"牛头战士",path:"mn2", quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.remote,hp:20,ap:12,dis:500,cd:1.5,speed:50,skills:[6007],
|
||||
5220:{uuid:5220,name:"牛头战士",path:"mn2", quality:HQuality.GREEN,lv:1,kind:1,
|
||||
type:HType.remote,hp:20,ap:12,dis:200,cd:1.5,speed:50,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"远程怪物-高伤害"},
|
||||
|
||||
5221:{uuid:5221,name:"牛头战士",path:"mn3", quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:300,cd:1.5,speed:45,skills:[6007],
|
||||
5221:{uuid:5221,name:"牛头战士",path:"mn3", quality:HQuality.GREEN,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"普通怪物-战士型"},
|
||||
|
||||
5222:{uuid:5222,name:"独眼巨人",path:"md1", quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:300,cd:1.5,speed:45,skills:[6007],
|
||||
5222:{uuid:5222,name:"独眼巨人",path:"md1", quality:HQuality.GREEN,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"普通怪物-战士型"},
|
||||
|
||||
5223:{uuid:5223,name:"独眼巨人",path:"md2", quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:300,cd:1.5,speed:45,skills:[6007],
|
||||
5223:{uuid:5223,name:"独眼巨人",path:"md2", quality:HQuality.GREEN,lv:1,kind:1,
|
||||
type:HType.warrior,hp:25,ap:8,dis:200,cd:1.5,speed:45,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"普通怪物-战士型"},
|
||||
|
||||
5224:{uuid:5224,name:"独眼巨人",path:"md3", quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.remote,hp:20,ap:12,dis:500,cd:1.5,speed:50,skills:[6007],
|
||||
5224:{uuid:5224,name:"独眼巨人",path:"md3", quality:HQuality.GREEN,lv:1,kind:1,
|
||||
type:HType.remote,hp:20,ap:12,dis:200,cd:1.5,speed:50,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"远程怪物-高伤害"},
|
||||
|
||||
5225:{uuid:5225,name:"精英独眼",path:"md4", quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.mage,hp:18,ap:15,dis:600,cd:1.2,speed:40,skills:[6007],
|
||||
type:HType.mage,hp:18,ap:15,dis:400,cd:1.2,speed:40,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"法师怪物-高伤害脆弱"},
|
||||
|
||||
5226:{uuid:5226,name:"精英牛头",path:"mn4", quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.mage,hp:18,ap:15,dis:600,cd:1.2,speed:40,skills:[6007],
|
||||
type:HType.mage,hp:18,ap:15,dis:400,cd:1.2,speed:40,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"法师怪物-高伤害脆弱"},
|
||||
|
||||
5227:{uuid:5227,name:"精英兽人",path:"mor4", quality:HQuality.BLUE,lv:1,kind:1,
|
||||
type:HType.mage,hp:18,ap:15,dis:600,cd:1.2,speed:40,skills:[6007],
|
||||
type:HType.mage,hp:18,ap:15,dis:400,cd:1.2,speed:40,skills:[6007],
|
||||
buff:[
|
||||
|
||||
],info:"法师怪物-高伤害脆弱"}
|
||||
|
||||
@@ -4,7 +4,7 @@ import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/modu
|
||||
import { smc } from "../common/SingletonModuleComp";
|
||||
import { HeroModelComp } from "./HeroModelComp";
|
||||
import { HeroViewComp } from "./HeroViewComp";
|
||||
import { HeroInfo, HeroPos, HeroSet } from "../common/config/heroSet";
|
||||
import { HeroInfo, HeroPos } from "../common/config/heroSet";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@ import { oops } from "db://oops-framework/core/Oops";
|
||||
import { GameEvent } from "../common/config/GameEvent";
|
||||
import { FightConComp } from "../map/FightConComp";
|
||||
import { EquipSpecialAttr } from "../common/config/Equips";
|
||||
import { FightSet, TooltipTypes } from "../common/config/Mission";
|
||||
import { getApIncrease, getHpIncrease, getUpExp, HeroPos } from "../common/config/heroSet";
|
||||
import { FightSet, getExpDrops, getStoneDrops, TooltipTypes } from "../common/config/Mission";
|
||||
import { getApIncrease, getHpIncrease, getUpExp, HeroInfo, HeroPos } from "../common/config/heroSet";
|
||||
import { FriendModelComp } from "./FriendModel";
|
||||
import { MasterModelComp } from "./MasterModel";
|
||||
import { RandomManager } from "db://oops-framework/core/common/random/RandomManager";
|
||||
@@ -339,16 +339,18 @@ export class HeroViewComp extends CCComp {
|
||||
this.do_dead_trigger()
|
||||
this.Friend_alive_cd=new Timer(this.FIGHTCON.friend_alive_cd)
|
||||
console.log("[HeroViewComp]:角色死亡",this.hero_uuid)
|
||||
if(this.is_kalami){
|
||||
oops.message.dispatchEvent(GameEvent.EXPUP,{exp:50})
|
||||
oops.message.dispatchEvent(GameEvent.SKILL_STONE_UP,10)
|
||||
oops.message.dispatchEvent(GameEvent.EQUIP_STONE_UP,10)
|
||||
|
||||
}
|
||||
if(this.is_boss){
|
||||
oops.message.dispatchEvent(GameEvent.EXPUP,{exp:100})
|
||||
|
||||
|
||||
if(this.fac==FacSet.MON){
|
||||
let exp=getExpDrops(HeroInfo[this.hero_uuid].quality,this.lv)
|
||||
let stone=getStoneDrops(HeroInfo[this.hero_uuid].quality,this.lv)
|
||||
oops.message.dispatchEvent(GameEvent.EXPUP,{exp:exp})
|
||||
if(stone.type=="equip"){
|
||||
oops.message.dispatchEvent(GameEvent.EQUIP_STONE_UP,stone.count)
|
||||
}else{
|
||||
oops.message.dispatchEvent(GameEvent.SKILL_STONE_UP,stone.count)
|
||||
}
|
||||
}
|
||||
|
||||
if(this.is_master){
|
||||
console.log("[HeroViewComp]:英雄死亡")
|
||||
oops.message.dispatchEvent(GameEvent.FightEnd,{victory:false})
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { _decorator, Component, Label, Node, resources, Sprite, SpriteAtlas } from 'cc';
|
||||
import { HeroInfo } from '../common/config/heroSet';
|
||||
import { SkillSet } from '../common/config/SkillSet';
|
||||
import { oops } from '../../../../extensions/oops-plugin-framework/assets/core/Oops';
|
||||
import { UIID } from '../common/config/GameUIConfig';
|
||||
|
||||
@@ -2,7 +2,7 @@ import { _decorator, Animation, Label, resources, SpriteAtlas,Sprite } from "cc"
|
||||
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
||||
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
|
||||
import { GameEvent } from "../common/config/GameEvent";
|
||||
import { HeroInfo, HeroList } from "../common/config/heroSet";
|
||||
import { HeroInfo} from "../common/config/heroSet";
|
||||
import { RandomManager } from "db://oops-framework/core/common/random/RandomManager";
|
||||
import { oops } from "db://oops-framework/core/Oops";
|
||||
import { HeroModelComp } from "../hero/HeroModelComp";
|
||||
|
||||
@@ -5,7 +5,7 @@ import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/O
|
||||
import { UIID } from "../common/config/GameUIConfig";
|
||||
import { Items } from "../common/config/Items";
|
||||
import { SkillSet } from "../common/config/SkillSet";
|
||||
import { HeroInfo, HeroSet } from "../common/config/heroSet";
|
||||
import { HeroInfo } from "../common/config/heroSet";
|
||||
import { Hero } from "../hero/Hero";
|
||||
import { HChipComp } from "../hero/HChipComp";
|
||||
import { ItemComp } from "./ItemComp";
|
||||
|
||||
@@ -2,8 +2,6 @@ import { instantiate, Label, Prefab, resources, Sprite, SpriteAtlas } from "cc";
|
||||
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
||||
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
|
||||
import { MSCardComp } from "./MSCardComp";
|
||||
import { smc } from "../common/SingletonModuleComp";
|
||||
import { HeroInfo } from "../common/config/heroSet";
|
||||
import { SkillSet } from "../common/config/SkillSet";
|
||||
|
||||
/** MSCard 模块 */
|
||||
|
||||
@@ -3,7 +3,7 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ec
|
||||
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
|
||||
import { Monster } from "../hero/Mon";
|
||||
import { BoxSet } from "../common/config/BoxSet";
|
||||
import { HeroSet, MonSet } from "../common/config/heroSet";
|
||||
import { MonSet } from "../common/config/heroSet";
|
||||
import { FightSet, Missions, MonNum, WaveConfig, getInfiniteWaveConfig, getMonsterLevel } from "../common/config/Mission";
|
||||
import { RandomManager } from "db://oops-framework/core/common/random/RandomManager";
|
||||
import { Timer } from "db://oops-framework/core/common/timer/Timer";
|
||||
|
||||
@@ -6,7 +6,6 @@ import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/O
|
||||
import { GameEvent } from "../common/config/GameEvent";
|
||||
import { AType, DTType, EType, RType, SkillSet, SType, TGroup } from "../common/config/SkillSet";
|
||||
import { BoxSet, FacSet } from "../common/config/BoxSet";
|
||||
import { HeroFac, HeroSet } from "../common/config/heroSet";
|
||||
import { HeroViewComp } from "../hero/HeroViewComp";
|
||||
import { BezierMove } from "../BezierMove/BezierMove";
|
||||
import { FightConComp } from "../map/FightConComp";
|
||||
|
||||
@@ -2,12 +2,12 @@ import { _decorator, Component, instantiate, Node, Prefab } from 'cc';
|
||||
import { SkillCom } from './SkillCom';
|
||||
import { ecs } from 'db://oops-framework/libs/ecs/ECS';
|
||||
import { Hero } from '../hero/Hero';
|
||||
import { BoxSet } from '../common/config/BoxSet';
|
||||
import { BoxSet, FacSet } from '../common/config/BoxSet';
|
||||
import { Monster } from '../hero/Mon';
|
||||
import { HeroViewComp } from '../hero/HeroViewComp';
|
||||
import { smc } from '../common/SingletonModuleComp';
|
||||
import { HeroInfo } from '../common/config/heroSet';
|
||||
import { oops } from 'db://oops-framework/core/Oops';
|
||||
import { HeroInfo } from '../common/config/heroSet';
|
||||
const { ccclass, property } = _decorator;
|
||||
//这是召唤技能
|
||||
@ccclass('ZhanCom')
|
||||
@@ -23,12 +23,12 @@ export class ZhanCom extends Component {
|
||||
var node = instantiate(prefab);
|
||||
node.parent = this.node.parent;
|
||||
node.setPosition(pos);
|
||||
if(this.base.box_group==BoxSet.HERO) {
|
||||
if(this.base.fac==FacSet.HERO) {
|
||||
hero = ecs.getEntity<Hero>(Hero);
|
||||
let scale = 1
|
||||
hero.load(pos,scale,this.base.hero,true,this.base.lv);
|
||||
hero.load(pos,scale,this.base.hero,true,HeroInfo[this.base.hero].lv);
|
||||
}
|
||||
if(this.base.box_group==BoxSet.MONSTER) {
|
||||
if(this.base.fac==FacSet.MON) {
|
||||
hero = ecs.getEntity<Monster>(Monster);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user