PHPackages                             drd-plus/skills - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. drd-plus/skills

Abandoned → [drdplus/skills](/?search=drdplus%2Fskills)Library

drd-plus/skills
===============

Skills for Drd+

3.0.0(4y ago)0954MITPHPPHP &gt;=7.4

Since Jul 19Pushed 4y ago1 watchersCompare

[ Source](https://github.com/drdplusinfo/skills)[ Packagist](https://packagist.org/packages/drd-plus/skills)[ RSS](/packages/drd-plus-skills/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (11)Versions (13)Used By (0)

Skills for [DrD+](http://www.altar.cz/drdplus/)
===============================================

[](#skills-for-drd)

[![License](https://camo.githubusercontent.com/3d5da378e2ee29869894ac4ebd606ac7ebaa9f7e08c5fdf4bb7bbcc2c333391b/68747470733a2f2f706f7365722e707567782e6f72672f6472642d706c75732f736b696c6c732f6c6963656e7365)](https://packagist.org/packages/drd-plus/skills)

*Can you swim? How long you will read that book? Can you hold on horse?*

### Warning about distinction from PPH rules

[](#warning-about-distinction-from-pph-rules)

The **reading and writing** skill gives a "bonus" to reading speed, despite PPH rules where reading and writing is impossible.

This library gives -164 as a "bonus" to reading speed, which means 100 years. The reason is mostly technical - because returning *something* is easier and more clear than *nothing* (by null or exception), and partly because its logical - after ten years you have a chance to decode that strange symbols, especially when they mean something in a language you already know.

### Structure

[](#structure)

Skills are all the person skills on one pile. -&gt; SameTypeSkills are skills of same type, like physical, on one pile -&gt; Skill is specific learned "ability", like horse riding -&gt; SkillRank is a "level" of the skill =&gt; SkillPoint is the only but required price of a SkillRank

SkillPoint is the currency unit for a SkillRank, composed from specific values, in specific combinations -&gt; BackgroundSkillPoints are standard value given by first level -&gt; ProfessionLevel is a level increment, cary-ing a property increment, which provides a skill point -&gt; two SkillPoint(s) of type(s)-different-than-paid-one can be used for trade of new SkillPoint

Checks if payments haven't been used more times elsewhere: (that should check at least Skills as the final aggregator, or better every aggregator on the way)

SkillPoint

- BackgroundSkillPoints - check their total usage against their availability by \\DrdPlus\\Background\\BackgroundSkillPoints::getSkillPoints
- ProfessionLevel - there is nothing to check, on every level can be obtained plenty of skill points
- cross-type SkillPoint as a payment - has to be unique, therefore no one else can use it, for payment nor as standard skill point

SkillRank

- SkillPoint has to be unique in whole universe, see SkillPoint cross-type payment check

Skill

- can be used just as an arbiter due its aggregating meaning
- can check if BackgroundSkillPoints are not overused should not check it, its too tricky, let it to Skills
- can check if SkillPoint and SkillRank are unique locally
- can check if cross-type SkillPoint(s) as a payment are unique and not used as a standard point locally

SameTypeSkills (can sum all the first and next levels skill ranks)

- can be used just as an arbiter due its aggregating meaning

CombinedSkills + PhysicalSkills + PsychicalSkills (has ability to find out unused skill point values of same-type skills)

- all the same-type skills it aggregate have to be unique in whole universe

Skills

- CombinedSkills + PhysicalSkills + PsychicalSkills has to be unique in whole universe
- should be the final arbiter, recommended way is to re-use existing checks of sub-aggregates

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~106 days

Recently: every ~191 days

Total

12

Last Release

1686d ago

Major Versions

1.0.x-dev → 2.0.02019-02-14

2.1.x-dev → 3.0.02021-09-27

PHP version history (3 changes)1.0.0PHP &gt;=7.1

2.1.0PHP &gt;=7.3

3.0.0PHP &gt;=7.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/7e35d11c9a75584084f0dc0ba1a3b6ff03355777809cbe8eabd20a88ac00f794?d=identicon)[jaroslavtyc](/maintainers/jaroslavtyc)

---

Top Contributors

[![jaroslavtyc](https://avatars.githubusercontent.com/u/2290225?v=4)](https://github.com/jaroslavtyc "jaroslavtyc (217 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisRector

### Embed Badge

![Health badge](/badges/drd-plus-skills/health.svg)

```
[![Health](https://phpackages.com/badges/drd-plus-skills/health.svg)](https://phpackages.com/packages/drd-plus-skills)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
