Giter VIP home page Giter VIP logo

starart's Introduction

standard-readme compliant

内容列表

背景

STARART-星之往昔 最开始因为 @JDSA LingRosy-DR-Code-Ling 项目中了解到“ERR”需要让我们帮忙接管一个文字游戏,也就是海带酒的 TinyWaste项目需要优化。我们经过讨论,我们打算参考这个游戏重写一个,并改名为STARART-星之往昔,这个项目也就从这开始了。

Git 规范

Git 分支命名

  • masin:主分支,负责记录上线版本的迭代,该分支代码与线上代码是完全一致的。
  • develop:开发分支,该分支记录相对稳定的版本,所有的 feature 分支和 bugfix 分支都从该分支创建。其它分支为短期分支,其完成功能开发之后需要删除
  • feature/*:特性(功能)分支,用于开发新的功能,不同的功能创建不同的功能分支,功能分支开发完成并自测通过之后,需要合并到 develop 分支,之后删除该分支。
  • bugfix/*:bug 修复分支,用于修复不紧急的 bug,普通 bug 均需要创建 bugfix 分支开发,开发完成自测没问题后合并到 develop 分支后,删除该分支。
  • release/* :发布分支,用于代码上线准备,该分支从 develop 分支创建,创建之后由测试发布到测试环境进行测试,测试过程中发现 bug 需要在该 release 分支上进行 bug 修复,所有 bug 修复完后,上线之前,需要合并该 release 分支到 masin 分支和 develop 分支。
  • hotfix/*:紧急 bug 修复分支,该分支只有在紧急情况下使用,从 masin 分支创建,用于紧急修复线上 bug,修复完成后,需要合并该分支到 masin 分支以便上线,同时需要再合并到 develop 分支。

Git Commit Message 格式

type : subject

type 提交类型:

  • revert: 回滚代码
  • feat: 新特性
  • fix: 错误修复
  • improvement: 功能改进
  • docs: 文档修改
  • perf:性能修改
  • test:测试
  • refactor: 代码重构
  • build: 其他修改, 比如构建流程, 依赖管理

subject 提交描述

对应内容是 commit 目的的简短描述,不超过 50 个字符


相关仓库

维护者

@mason369 @liusxs @LingASDJ @DaoXuan233

如何贡献

非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。

Progressive-Tune 遵循 Contributor Covenant 行为规范。

贡献者

mason369
Mason
LingASDJ
JDSA Ling
liusxs
Liuliu66
ImgBotApp
Imgbot

感谢以上参与项目的人


特别感谢:

IntelliJ WebStorm 是一款在各方面最大限度地提高开发人员生产力的 IDE,适用于前端平台语言。

Node.js 对一些特殊用例进行优化,提供替代的 API,使得 V8 在非浏览器环境下运行得更好,V8 引擎执行 Javascript 的速度非常快,性能非常好,基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。

Visual Studio Code在 Windows、macOS 和 Linux 上运行的独立源代码编辑器。 JavaScript 和 Web 开发人员的最佳选择,具有几乎可支持任何编程语言的扩展。

Vue.js前端先进的渐进式 JavaScript 框架,易学易用,性能出色,适用场景丰富的 Web 前端框架。

使用许可

Apache License 2.0 © Richard Littauer

本地部署

//安装依赖,通过以下命令
# npm install

//serve 服务器测试
# npm run serve

//构建模块
# npm run build

starart's People

Contributors

deepsource-autofix[bot] avatar deepsource-io[bot] avatar dependabot[bot] avatar imgbotapp avatar lingasdj avatar liusxs avatar mason369 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

starart's Issues

前端 CSS 规范

前端 CSS 规范

分号

每个属性声明后面都要加分号。

命名

  1. 不使用 id 选择器
  2. 适用有意义的名词命名
  3. 单词全部小写,名词超过 1 个时,使用-分隔符

属性声明顺序

原则:整体到局部,外部到内部,重要属性优先

.element {
	display: block;
	float: left;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
	margin: 0 100px;
	padding: 50px; // padding习惯写到margin后面
	width: 100px;
	height: 100px;
	border: 1px solid #e5e5e5;
	border-radius: 3px;
	font: normal 13px "Helvetica Neue", sans-serif;
	color: #333;
	text-align: center;
	line-height: 1.5;
	background-color: #f5f5f5;
	opacity: 1;
}

其他规范

使用 prettier 格式化工具约束,推荐配置如下:

  • 格式自动化
  • 4 个缩进
  • 全部单引号
  • 属性:后有空格
  • 颜色全部小写
  • 小数点前面 0 自动添加
module.exports = {
    printWidth: 100, // 设置prettier单行输出(不折行)的(最大)长度

    tabWidth: 4, // 设置工具每一个水平缩进的空格数

    useTabs: false, // 使用tab(制表位)缩进而非空格

    semi: false, // 在语句末尾添加分号

    singleQuote: true, // 使用单引号而非双引号

    trailingComma: 'none', // 在任何可能的多行中输入尾逗号

    bracketSpacing: true, // 在对象字面量声明所使用的的花括号后({)和前(})输出空格

    arrowParens: 'avoid', // 为单行箭头函数的参数添加圆括号,参数个数为1时可以省略圆括号

    // parser: 'babylon', // 指定使用哪一种解析器

    jsxBracketSameLine: true, // 在多行JSX元素最后一行的末尾添加 > 而使 > 单独一行(不适用于自闭和元素)

    rangeStart: 0, // 只格式化某个文件的一部分

    rangeEnd: Infinity, // 只格式化某个文件的一部分

    filepath: 'none', // 指定文件的输入路径,这将被用于解析器参照

    requirePragma: false, // (v1.7.0+) Prettier可以严格按照按照文件顶部的一些特殊的注释格式化代码,这些注释称为“require pragma”(必须杂注)

    insertPragma: false, //  (v1.8.0+) Prettier可以在文件的顶部插入一个 @format的特殊注释,以表明改文件已经被Prettier格式化过了。

    proseWrap: 'preserve' // (v1.8.2+)
}

参考连接

百度 CSS 规范指南(opens new window)

腾讯 CSS 规范指南(opens new window)

Google CSS 规范指南

减益状态系统-V0.1初版设计说明

Buff系统:


Debuff包含:

极度饥饿

饥饿会在你探索世界中里花费时间的同时缓慢累计,直到你饿得难以忍受。
在你极度饥饿时生命值会停止回复并且开始缓慢减少 。
合理利用食物非常重要!如果你有足够的生命值来维持饥饿,你就该等到一会儿食物更多的时候再吃。
正确的配给可以让食物更有效地发挥作用!
(每7回合固定掉5血 (-hp))

极度饥渴

水乃生命之源,你现在非常口渴。并且感觉自己的状态不佳,迅速找到水源喝口水或许是明智之举
在极度饥渴的情况下,你将可能休克或者晕眩。
(10%的概率休克)

盾甲易伤

你很清楚你的防御被破掉了。
有一些怪物会使用魔法攻击穿透你的防御,并且还会短暂造成你的防御(Defens)大幅度下降
(当前防御力的40%)(Low Defens)

食物中毒

你感觉不太好,可能是中毒了。
食物中毒的情况下你将会持续掉血和加剧饥饿速度,必须尽快治疗
(毒素每回合造成的伤害与其剩余的回合数/2。)

休克:

你的身体再也坚持不下去了,你休克了。
(强制跳过一天时间,生命上限(hp)永久降低10点,回复20点饥饿(hungry)和饥渴度(Water))

增益状态需求-V0.1初版设计说明:

Good Buff


生命回复:

持续恢复生命(每回合+2) 持续10回合

极速行动:

行动非常迅速(行动一次相当于0.5回合) 持续15回合

肾上腺素飙升:

对敌人造成的物理伤害大幅度提升(伤害x2) 持续20回合

饱腹:

你吃的非常饱,所以你暂时不会感受到饥饿感
(该Buff存在时饥饿暂停扣减,持续1天)

精准打击

敌人不会在躲避你的攻击了,因为你非常精准!
(该Buff存在时,必定命中敌人,持续20回合)

净化能量:

立刻去除所有Debuff,并获得6回合治疗

前端 Vue 规范

前端 Vue 规范

文件命名

统一小写,多个单词作为文件名使用分隔符 -

// bad
EntityList.vue;
entityList.vue;

// good
entity - list.vue;

紧密耦合的组件命名

和父组件紧密耦合的子组件应该以父组件名作为前缀命名

// bad
components/
|- todo-list.vue
|- todo-item.vue
└─ todo-button.vue

// good
components/
|- todo-list.vue
|- todo-list-item.vue
└─ todo-list-item-button.vue

自闭合组件

在单文件组件中没有内容的组件应该是自闭合的

<!-- bad -->
<u-input></u-input>

<!-- good -->
<u-input />

指令缩写

用 **:**表示 v-bind: ,用 **@**表示 v-on

<!-- bad -->
<input v-bind:value="value" v-on:input="onInput" />

<!-- good -->
<input :value="value" @input="onInput" />

组件数据

组件的 data 必须是一个函数,并且建议在此不使用箭头函数

// bad
export default {
	data: () => ({
		foo: "bar",
	}),
};

// good
export default {
	data() {
		return {
			foo: "bar",
		};
	},
};

props 命名

小驼峰命名。内容尽量详细,至少有默认值

// bad
greeting-text: String

// good
greetingText: { type: String, default: ''}

组件属性顺序和分行规则

顺序原则:重要属性放前面

顺序依据:依次指令->props属性-> 事件->dom属性(class有标记作用,除外)

分行规则:放在一行,重要内容较多时,可放置 2 ~ 3 行

<!-- bad -->
<u-select
    class="select"
    size="s"
    @select="searchEntity($event, row)"
    @blur="searchEntity($event, row)"
    v-model="row.variableId"
    :list="variableList" />

<!-- good -->
<u-select v-model="row.variableId" :list="variableList" size="s"
    @select="searchEntity($event, row)" @blur="searchEntity($event, row)" class="select" />

Vue API 顺序

export default {
	name: "",
	/*1. Vue扩展 */
	extends: "", // extends和mixins都扩展逻辑,需要重点放前面
	mixins: [],
	components: {},
	/* 2. Vue数据 */
	props: {},
	model: { prop: "", event: "" }, // model 会使用到 props
	data() {
		return {};
	},
	computed: {},
	watch: {}, // watch 监控的是 props 和 data,有必要时监控computed
	/* 3. Vue资源 */
	filters: {},
	directives: {},
	/* 4. Vue生命周期 */
	created() {},
	mounted() {},
	destroy() {},
	/* 5. Vue方法 */
	methods: {}, // all the methods should be put here in the last
};

ue 组件顶级标签顺序

顺序保持一致,且标签之间留有空行。template 第一层级下四个空格,script 和 style 第一层级都不加空格

<template>
    <div></div>
</template>

<script>
export default {}
</script>

<style>
.app {}
</style>

import 引入顺序 V1.1

原则:同等类型的放一起,优先放 mixins 和 components 等 UI 资源。忌随意放置

// bad
import { getAllEntityList, getVariableGroup } from "@/server/api";
import { helpers } from "vuelidate/lib/validators";
import { getRepeatLine } from "@/utils/common";
import { CloseModalMixin, InvalidCheckMixin } from "@/components/common/mixins";
import VSearchSelect from "@/components/variable/v-search-select";
import EModifyModal from "@/components/entity/e-modify-modal";
import { MODIFY_MODAL_TYPE } from "@/utils/config";
import { botIdLoc, custIdLoc } from "@/utils/locs";

// good
import { CloseModalMixin, InvalidCheckMixin } from "@/components/common/mixins";
import VSearchSelect from "@/components/variable/v-search-select";
import EModifyModal from "@/components/entity/e-modify-modal";
import { getAllEntityList, getVariableGroup } from "@/server/api";
import { helpers } from "vuelidate/lib/validators";
import { MODIFY_MODAL_TYPE } from "@/utils/config";
import { getRepeatLine } from "@/utils/common";
import { botIdLoc, custIdLoc } from "@/utils/locs";

Vue 复杂 data 加注释/分组 V1.1

data 数据是连接 View 和 Modal 的基础,当 ViewModal 复杂时,建议进行注释并分组。另外,当 data 过于复杂时应考虑优化重构。

// bad
data() {
    return {
        isOpenModal: false,
        list: [],
        groupList: [],
        searchParams: { groupId: '', searchParam: '', searchType: '' },
        pageParam: { currentPage: 1, pageSize: 50 },
        totalCount: 0,
        groupId: '',
        typeList: [],
        defaultType: 'paramName'
    }
}

// good
data() {
    return {
        variableList: [],
        groupList: [],
        typeList: [],

        /*
        * 查询参数
        * 组与组之间通过空行区分
        */
        searchParams: { groupId: '', searchParam: '', searchType: '', currentPage: 1, pageSize: 50 },
        totalCount: 0,
        defaultType: '',

        isOpenModal: false
    }
}

参考链接

Vue 官方风格指南(opens new window)

有赞风格指南

时间系统的开发V0.1

时间系统V0.1

时间初始化:

时间系统 设计需求 其他说明
昼夜更替 24分钟为一天 -

时间状态:

时间状态 状态说明 触发位置 执行代码序列号
加速游戏时间 时间迅速过完 玩家休息或休克跳过10小时 QuickGameTime
减缓游戏时间 时间的执行速度是平时的二分之一 自身血量低于50或者饥渴度(水分/饥饿)高于60时间会减缓 SlowGameTime
暂停游戏时间 暂停游戏 暂停游戏的按钮 PauseGameTime

时间下的世界

时间 世界状态 怪物密度值 生物密度值
00:00-04:59 凌晨深夜 4 1
05:00-07:59 黎明到来 3 2
08:00-11:59 早日清晨 2 3
12:00-16:59 晌午时分 1 5
17:00-19:59 傍晚降至 3 2
20:00-23:59 夜幕降临 5 1

游戏玩家属性框架设计v0.0.1

初版0.0.1Dev--主要玩家的属性

属性 初始值 代码编号
生命值 100 Health
背包格 20 Backpack
防御力 20 Defens
口渴值 0 Water
饥饿值 0 Hungry
灵巧值 20 Dex
魅力值 20 Chars

桌面端设备下的显示问题

桌面端 设备下的显示问题
超出显示区域
image

详情
f12检查元素下,切换至surface pro 7 设备

Expected behavior

Desktop (please complete the following information):

  • OS: [Windows]
  • Browser [chrome]
  • Version [22]

食物框架系统0.1

基本实现食物的框架系统,
确保能够正常工作。

金币数据换算需求:

  • 1铜=1
  • 1银=100
  • 1金=1000
名字 稀有度 特殊效果 价值 回复饥饿度 回复口渴度
1 补充水分 无价值 0 2%
核废水 0 70%核辐射中毒 无价值 0 1%
小麦 1 10 3% 0
花生 1 10 5% 0
辣椒 2 20%肾上腺素飙升 30 5% 0
净水 2 可以缓解San 1 0 4%
草药 3 治疗效果 300 1% 0
生羊肉 2 20%导致食物中毒 500 5% 0
熟羊肉 3 治疗和极速效果 1000 10% 0
生鸡肉 1 50%导致食物中毒 200 3% 0
熟鸡肉 3 治疗和缓解San 500 12% 0
威士忌 4 缓解San和认知力减弱 4000 0 2%
啤酒 3 San降低,力量暂时提升 1050 0 3%
鸡尾酒 3 暂缓饥饿,但San降低 3000 0 4%
萝卜 1 80 5% 0
面包 2 治疗和缓解San 500 8% 0
腐肉 1 20%概率饥饿加剧 20 5% 0
生猪肉 3 10%导致食物中毒 600 5% 0
熟猪肉 4 力量永久提升,缓解San 3000 15% 0
巧克力 5 天赋点+1 4050 10% 0
可可豆 3 灵巧值永久提升 2000 3% 0

后端存储需要考虑本地存储和在线存储,
若后端需要服务器,请联系JDSALing。

主设计者:Mason,Ling
辅助设计:Liuliu
后端处理:DaoXuan233

其他规范

其他规范

使用 prettier 格式化工具以及 eslint 校验

prettier格式化工具请自行全局安装后格式化

.eslintrc.js 规则:

module.exports = {
	root: true,
	env : {
		browser: true,
		node   : true,
		es2021 : true,
		es6    : true
	},
	extends: ["plugin:vue/essential"],

	plugins: ["@typescript-eslint"],

	parserOptions: { parser: "babel-eslint" },
	plugins      : ["vue"],
	// 在此处添加自定义规则
	rules        : {
		eqeqeq: "off", // 要求使用 `===` 和 `!==`

		curly: "error", // 强制所有控制语句使用一致的括号风格

		quotes: ["error", "double"], // 引号

		"arrow-parens": 0, // allow paren-less arrow functions

		"generator-star-spacing": 0, // allow async-await

		"no-unused-vars": "error", // disabled no ununsed var  `V1.1`

		"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off", // no use debugger in production

		indent: [2, 4, { SwitchCase: 1 }], // 4 space for tab for perttier

		"space-before-function-paren": ["error", "never"], // no space in function name for perttier

		// # Possible Errors
		//
		"no-constant-condition": ["warn"],

		// 允许 if(...){带有花括号的空代码}
		"no-empty": ["off"],

		// 数组, 对象 逗号后面强制一空格
		"comma-spacing": ["error", { after: true }],

		// 对象单行 多行对齐模式
		"key-spacing": [
			"error",
			{
				singleLine: {},
				multiLine : { align: "colon" }
			}
		],

		// # Best Practices
		// 对象换行策略 , 如果多行, `{`和`}` 前后不能跟值
		"object-curly-newline" : ["error", { multiline: true }],
		"array-bracket-newline": ["error", { multiline: true }],

		// if后面强制花括号
		curly: ["error", "all"],

		// # Strict Mode
		// # Variables
		"no-unused-vars": ["warn"],

		// # Stylistic Issues

		quotes           : ["error", "double"],
		indent           : ["error", "tab"],
		"linebreak-style": ["error", "windows"],

		// if else try catch 换行
		"brace-style": ["error", "stroustrup", { allowSingleLine: false }],

		// 操作符周围前后必须空格
		"space-infix-ops": ["error"],
        
		// 提醒尾逗号 , 微信浏览器 , uc浏览器的问题
		"comma-dangle": ["warn", "never"]
		// # ECMAScript 6
		// # Deprecated
		// # Removed
	},
	overrides: [
		{
			files: ["*.vue"],
			rules: { "vue/multi-word-component-names": 0 }
		}
	]
};

.eslintignore 规则:

# /node_modules/* and /bower_components/* ignored by default

# Ignore built files except build/index.js
build/*
!build/index.js

Buff状态系统0.1

实现Buff状态系统,
例如核辐射中毒,活力极速,

后端:
确保能存储Buff的状态值,在线/本地

回合制战斗系统0.1开发需求

回合制战斗系统0.1设计策略


逃跑机制0.1

  • 玩家如果在开始战斗的时候遇到强敌,可以立刻逃跑。
  {
    player:StartFight,
    type:false,
      [GoRun:true],
    type:true,
      [GoRun:if roll>3],
    //Roll概率大于3才能进行逃跑,Roll的范围为6
  }
  • 玩家如果在战斗过程中试图逃跑,则会追加一个鉴定骰子 大于3才能逃跑

战斗机制0.1

玩家的伤害分为:物理攻击 和 穿透攻击
物理攻击的公式为:玩家的伤害-怪物的防御 (如果怪物防御过高,则计算为玩家的攻击的保底伤害数值5%)
穿透攻击的公式为:玩家的伤害x穿透倍率=总伤害-(怪物的防御/2) (如果怪物防御过高,则计算为玩家的攻击的保底伤害数值10%)

{
  player:damage,
    type:normaldamage,
      [
      damage:playerdamage-mobsdefends
      ],
    type:lightdamage,
      [
     damage:playerdamage * lightdamage - (mobsdefends/2)
     //穿透攻击的物品在属性上面有Light的布尔值判定
      {
        Light:if item.Light == true
      }
      ]
}

防御机制0.1:

玩家的当前的防御暂时提升20%,持续2回合。
防御机制生效时,期间不能再次重复叠加防御。

例如玩家防御为30

则使用防御后为 30x1.2=36防御值

天气系统0.1开发需求

天气系统的开发需求


随机概率说明:

第一天必定晴天,
从第二天开始通过随机数进行判定。


天气状态 触发概率 生物影响 怪物影响 玩家影响
晴天 40% 晴天情况下玩家的生命恢复速度上升5%
雨天 35% 生物拥有额外奖励 刷怪提升20% 阴天情况下玩家的水分自然降低减缓20%
阴天 18%
暴雨天 5% 刷怪提升50% 暴雨天玩家在外更容易吸引怪物攻击
雷暴天 2% 生物可能会被雷电直接劈熟 刷怪提升60% 雷暴天所有属性自然扣除速度提升10%

前端 JS 规范

前端 JS 规范

变量

命名方式:小驼峰

命名规范:前缀名词

// bad
let setCount = 10;

// good
let maxCount = 10;

常量

命名方式:全部大写

命名规范:多个单词时使用分隔符**_**

// bad
const serverErrorCode = {
	success: 200,
	repeat: 444,
};

// good
const SERVER_ERROR_CODE = {
	SUCCESS: 200,
	REPEAT: 444,
};

函数

命名方式:小驼峰

命名规范:前缀动词

// bad
function wordClass() {}

// good
function saveWordClass() {}

常用动词:can、has、is、load、get、set

命名方式:大驼峰

命名规范:前缀名词

// bad
class person {}

// good
class Person {}

注释

单行

// 单行注释,注意前面的空格
let maxCount = 123;

多行

/**
 * 多行注释
 * /

减少嵌套

确定条件不允许时,尽早返回。经典使用场景:校验数据

// bad
if (condition1) {
    if (condition2) {
        ...
    }
}

// good
if (!condition1) return
if (!condition2) return
...

减少特定标记值

使用常量进行自解释

// bad
type: 1; // 1代表新增  2代表修改

// good
const MODIFY_TYPE = {
	ADD: 1,
	EDIT: 2,
};

type: MODIFY_TYPE.ADD;

表达式

尽可能简洁表达式

// bad
if (name === "") {
}
if (collection.length > 0) {
}
if (notTrue === false) {
}

// good
if (!name) {
}
if (collection.length) {
}
if (notTrue) {
}

分支较多处理

对于相同变量或表达式的多值条件,用 switch 代替 if。

// bad
let type = typeof variable;
if (type === "object") {
	// ......
} else if (type === "number" || type === "boolean" || type === "string") {
	// ......
}

// good
switch (typeof variable) {
	case "object":
		// ......
		break;
	case "number":
	case "boolean":
	case "string":
		// ......
		break;
}

使用变量名自解释 V1.1

逻辑复杂时,建议使用变量名自解释,而不是晦涩难懂的简写。

// bad
function(value) {
    return !helpers.req(value) || this.entity.entVocabularyEntries.filter(item => item.vocabularyEntryName === value).length < 2
}

// good
function(value) {
    let entVocabularyList = this.entity.entVocabularyEntries
    let repeatCount = entVocabularyList.filter(item => item.vocabularyEntryName === value).length
    return !helpers.req(value) || repeatCount < 2
}

使用函数名自解释 V1.1

遵循单一职责的基础上,可以把逻辑隐藏在函数中,同时使用准确的函数名自解释。

// bad
if (modifyType === MODIFY_TYPE.ADD) {
    batchVariableAPI(data).then(() => {
        this.closeModal()
        this.$toast.show('添加变量成功')
    })
} else {
  updateVariableAPI(data).then(() => {
        this.closeModal()
        this.$toast.show('修改变量成功')
    })
}

// good
modifyType === MODIFY_TYPE.ADD  this._insertVariable(data) : this._updateVariable(data)

_insertVariable() {
    batchVariableAPI(data).then(() => this._successOperation('添加变量成功'))
}

_updateVariable() {
    updateVariableAPI(data).then(() => this._successOperation('修改变量成功'))
}

_successOperation(toastMsg) {
    this.closeModal()
    this.$toast.show(toastMsg)
}

地图全局跑团事件V0.1

《跑团方法》【骰子Max:8】
生存评估期--第1天到第7天

在新的一天进行骰子鉴定
事件如下:

Roll到6-8:(概率平分)

20%的概率---在任何一个资源地图区资源产出翻倍
//通知:在xxxx资源地图区资源产出翻倍!
25%的概率---怪物的刷新速度降低20%
//通知:所有怪物的刷新速度降低20%
35%的概率---玩家制造物品的速度提升20%
//通知:玩家制造物品的速度提升20%。
10%的概率---遭到敌袭
//通知:我们遇到了敌袭,2回合后强制作战


Roll到3-5:

无事件
//通知可以显示(暂无特殊事件)


Roll到1-2

40%的概率---炎热之时
//通知:今天天气格外炎热,你的口渴程度提升20%
40%的概率---遭到敌袭
//通知:我们遇到了敌袭,1回合后强制作战
20%的概率---遇到原住民
//通知:我们遇到了原住民,但对方似乎敌意满满(立刻开始特殊战斗)

生物系统-V0.1

Mobs-0.1

小型生物

  • 1.老鼠---------(血量:20 物理攻击:1-6 防御:10) ------------掉落奖励:腐肉x1
  • 2.壕猪---------(血量:30 物理攻击::3-8 防御:15)----------- 掉落奖励:生猪肉x1
  • 3.骍鸡---------(血量:15 物理攻击::2-7 防御:8)-----------掉落奖励:生鸡肉x1
  • 4.癫狂者---------(血量:35 物理攻击::4-8 防御:12)-----------掉落奖励:萝卜x2
  • 5.疯醉汉--------- (血量:27 物理攻击::3-7 防御:20)-----------掉落奖励:啤酒x1
  • 6.调酒师 ---------(血量:35 物理攻击::3-8 防御:16)----------- 掉落奖励:鸡尾酒x1
  • 7.疯护士---------(血量:20 物理攻击::2-6 防御:6)----------- 掉落奖励:草药x2
  • 8.凛羊--------- (血量:27 物理攻击::5-9 防御:8)----------- 掉落奖励:生羊肉x1

中型生物

0.2 Coming Soon

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.