Skip to content

Commit

Permalink
Merge pull request #144 from HavlockV/feature/pulp_talents
Browse files Browse the repository at this point in the history
Feature/pulp talents
  • Loading branch information
HavlockV authored Sep 17, 2020
2 parents 5c5479b + 847bd45 commit 40f37d2
Show file tree
Hide file tree
Showing 17 changed files with 437 additions and 71 deletions.
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,20 @@ Compendium 'Weapons' contains a single test weapon.

## What is working

version 0.3.6 :

* Addition of pulp talents (To be tested, I’m not familiar with Pulp Cthulhu, all of this is mainly cosmetic, no automation implemented so far)
* There's a new sheet for pulp talents.
* Talents can be dragged/dropped on actors (PC & NPC).
* Talents are displayed as a section of the "Gear&Cash" tab.
* Talents have no effect in play (e.g. the "Resilient" talent will NOT be taken in account for sanity loss, you'll have to do it "manually")
* Two fields added to the character sheet for pulp heroes (Archetype and Organization).
* To have those displayed, as well as the auto HP calculation you will have to enable the "Pulp Rules" option from the system's options.
* Bug correction: Ammo loaded in weapons is now correctly saved between sessions.
* On the combat chat card you can now increase/decrease the volley size in full-auto mode.
* Added option to ignore bullets limitation.
* Added option to ignore uses per round limitation.

version 0.3.5 :

* Automatic damage.
Expand Down
133 changes: 89 additions & 44 deletions coc7g.css
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@
flex: 4;
}
.coc7.sheet.book .sheet-header img.profile,
.coc7.sheet.spell .sheet-header img.profile {
.coc7.sheet.spell .sheet-header img.profile,
.coc7.sheet.talent .sheet-header img.profile {
border: 1px groove;
flex: 0 0 64px;
max-width: 64px;
Expand All @@ -77,129 +78,156 @@
margin-right: 4px;
}
.coc7.sheet.book .sheet-header .name input,
.coc7.sheet.spell .sheet-header .name input {
.coc7.sheet.spell .sheet-header .name input,
.coc7.sheet.talent .sheet-header .name input {
margin: 0;
padding: 0;
}
.coc7.sheet.book .details .editor,
.coc7.sheet.spell .details .editor {
.coc7.sheet.spell .details .editor,
.coc7.sheet.talent .details .editor {
height: 100px;
}
.coc7.sheet.book .details .editor button,
.coc7.sheet.spell .details .editor button {
.coc7.sheet.spell .details .editor button,
.coc7.sheet.talent .details .editor button {
height: 20px;
}
.coc7.sheet.book .details input[type="text"],
.coc7.sheet.spell .details input[type="text"],
.coc7.sheet.talent .details input[type="text"],
.coc7.sheet.book .details select,
.coc7.sheet.spell .details select {
.coc7.sheet.spell .details select,
.coc7.sheet.talent .details select {
height: 20px;
border: 1px solid #7a7971;
background: rgba(0, 0, 0, 0.05);
}
.coc7.sheet.book .details .form-group,
.coc7.sheet.spell .details .form-group {
.coc7.sheet.spell .details .form-group,
.coc7.sheet.talent .details .form-group {
border: 0;
margin: 0;
}
.coc7.sheet.book .details .form-group span,
.coc7.sheet.spell .details .form-group span {
.coc7.sheet.spell .details .form-group span,
.coc7.sheet.talent .details .form-group span {
text-align: center;
line-height: 20px;
}
.coc7.sheet.book .details .form-group.input-select select,
.coc7.sheet.spell .details .form-group.input-select select {
.coc7.sheet.spell .details .form-group.input-select select,
.coc7.sheet.talent .details .form-group.input-select select {
flex: 1.8;
}
.coc7.sheet.book .details .form-group.input-select-select select,
.coc7.sheet.spell .details .form-group.input-select-select select {
.coc7.sheet.spell .details .form-group.input-select-select select,
.coc7.sheet.talent .details .form-group.input-select-select select {
flex: 1.5;
}
.coc7.sheet.book .details .form-group.uses-per input,
.coc7.sheet.spell .details .form-group.uses-per input {
.coc7.sheet.spell .details .form-group.uses-per input,
.coc7.sheet.talent .details .form-group.uses-per input {
flex: 1;
}
.coc7.sheet.book .details .form-group.uses-per span,
.coc7.sheet.spell .details .form-group.uses-per span {
.coc7.sheet.spell .details .form-group.uses-per span,
.coc7.sheet.talent .details .form-group.uses-per span {
flex: 0 0 16px;
}
.coc7.sheet.book .details .form-group.uses-per select,
.coc7.sheet.spell .details .form-group.uses-per select {
.coc7.sheet.spell .details .form-group.uses-per select,
.coc7.sheet.talent .details .form-group.uses-per select {
flex: 3;
}
.coc7.sheet.book .details span.sep,
.coc7.sheet.spell .details span.sep {
.coc7.sheet.spell .details span.sep,
.coc7.sheet.talent .details span.sep {
flex: 0 0 8px;
}
.coc7.sheet.book .details .prepared,
.coc7.sheet.spell .details .prepared {
.coc7.sheet.spell .details .prepared,
.coc7.sheet.talent .details .prepared {
flex: 1.3 !important;
text-align: right;
padding-right: 10px;
}
.coc7.sheet.book .details .spell-materials,
.coc7.sheet.spell .details .spell-materials {
.coc7.sheet.spell .details .spell-materials,
.coc7.sheet.talent .details .spell-materials {
flex: 0 0 100%;
margin: 0.25em 0;
justify-content: flex-end;
}
.coc7.sheet.book .details .spell-materials label,
.coc7.sheet.spell .details .spell-materials label {
.coc7.sheet.spell .details .spell-materials label,
.coc7.sheet.talent .details .spell-materials label {
flex: 0 0 64px;
text-align: right;
margin-right: 5px;
font-size: 12px;
line-height: 24px;
}
.coc7.sheet.book .details .spell-materials input[type="text"],
.coc7.sheet.spell .details .spell-materials input[type="text"] {
.coc7.sheet.spell .details .spell-materials input[type="text"],
.coc7.sheet.talent .details .spell-materials input[type="text"] {
flex: 0 0 48px;
margin-right: 10px;
}
.coc7.sheet.book .sheet-navigation,
.coc7.sheet.spell .sheet-navigation {
.coc7.sheet.spell .sheet-navigation,
.coc7.sheet.talent .sheet-navigation {
margin-bottom: 5px;
}
.coc7.sheet.book .sheet-navigation .item,
.coc7.sheet.spell .sheet-navigation .item {
.coc7.sheet.spell .sheet-navigation .item,
.coc7.sheet.talent .sheet-navigation .item {
font-size: 18px;
}
.coc7.sheet.book .sheet-body,
.coc7.sheet.spell .sheet-body {
.coc7.sheet.spell .sheet-body,
.coc7.sheet.talent .sheet-body {
overflow: hidden;
}
.coc7.sheet.book .sheet-body .tab,
.coc7.sheet.spell .sheet-body .tab {
.coc7.sheet.spell .sheet-body .tab,
.coc7.sheet.talent .sheet-body .tab {
padding: 0 5px;
overflow: hidden auto;
}
.coc7.sheet.book .sheet-body .item-properties,
.coc7.sheet.spell .sheet-body .item-properties {
.coc7.sheet.spell .sheet-body .item-properties,
.coc7.sheet.talent .sheet-body .item-properties {
flex: 0 0 120px;
margin: 5px 5px 5px 0;
padding-right: 5px;
border-right: 2px groove #eeede0;
}
.coc7.sheet.book .sheet-body .item-properties .form-group,
.coc7.sheet.spell .sheet-body .item-properties .form-group {
.coc7.sheet.spell .sheet-body .item-properties .form-group,
.coc7.sheet.talent .sheet-body .item-properties .form-group {
margin: 0;
}
.coc7.sheet.book .sheet-body .item-properties .form-group label,
.coc7.sheet.spell .sheet-body .item-properties .form-group label {
.coc7.sheet.spell .sheet-body .item-properties .form-group label,
.coc7.sheet.talent .sheet-body .item-properties .form-group label {
line-height: 20px;
}
.coc7.sheet.book .sheet-body .item-properties .form-group input,
.coc7.sheet.spell .sheet-body .item-properties .form-group input {
.coc7.sheet.spell .sheet-body .item-properties .form-group input,
.coc7.sheet.talent .sheet-body .item-properties .form-group input {
text-align: right;
}
.coc7.sheet.book .sheet-body .item-properties .properties-list,
.coc7.sheet.spell .sheet-body .item-properties .properties-list {
.coc7.sheet.spell .sheet-body .item-properties .properties-list,
.coc7.sheet.talent .sheet-body .item-properties .properties-list {
list-style: none;
margin: 0;
padding: 0;
}
.coc7.sheet.book .sheet-body .item-properties .properties-list li,
.coc7.sheet.spell .sheet-body .item-properties .properties-list li {
.coc7.sheet.spell .sheet-body .item-properties .properties-list li,
.coc7.sheet.talent .sheet-body .item-properties .properties-list li {
margin: 3px 0;
padding: 0 2px;
background: rgba(0, 0, 0, 0.05);
Expand All @@ -209,55 +237,65 @@
line-height: 18px;
}
.coc7.sheet.book .sheet-body .spell-list,
.coc7.sheet.spell .sheet-body .spell-list {
.coc7.sheet.spell .sheet-body .spell-list,
.coc7.sheet.talent .sheet-body .spell-list {
list-style: none;
margin: 0;
padding: 0 5px;
overflow-y: auto;
scrollbar-width: thin;
}
.coc7.sheet.book .sheet-body .spell-list .spell,
.coc7.sheet.spell .sheet-body .spell-list .spell {
.coc7.sheet.spell .sheet-body .spell-list .spell,
.coc7.sheet.talent .sheet-body .spell-list .spell {
line-height: 16px;
padding: 0 2px;
border-bottom: 1px solid #c9c7b8;
}
.coc7.sheet.book .sheet-body .spell-list .spell:last-child,
.coc7.sheet.spell .sheet-body .spell-list .spell:last-child {
.coc7.sheet.spell .sheet-body .spell-list .spell:last-child,
.coc7.sheet.talent .sheet-body .spell-list .spell:last-child {
border-bottom: none;
}
.coc7.sheet.book .sheet-body .spell-list .spell .spell-name,
.coc7.sheet.spell .sheet-body .spell-list .spell .spell-name {
.coc7.sheet.spell .sheet-body .spell-list .spell .spell-name,
.coc7.sheet.talent .sheet-body .spell-list .spell .spell-name {
cursor: pointer;
max-height: 24px;
overflow: hidden;
}
.coc7.sheet.book .sheet-body .spell-list .spell .spell-name .spell-image,
.coc7.sheet.spell .sheet-body .spell-list .spell .spell-name .spell-image {
.coc7.sheet.spell .sheet-body .spell-list .spell .spell-name .spell-image,
.coc7.sheet.talent .sheet-body .spell-list .spell .spell-name .spell-image {
flex: 0 0 16px;
background-size: 16px;
margin-right: 5px;
}
.coc7.sheet.book .sheet-body .spell-list .spell .spell-name h4,
.coc7.sheet.spell .sheet-body .spell-list .spell .spell-name h4 {
.coc7.sheet.spell .sheet-body .spell-list .spell .spell-name h4,
.coc7.sheet.talent .sheet-body .spell-list .spell .spell-name h4 {
margin: 0;
white-space: nowrap;
overflow-x: hidden;
}
.coc7.sheet.book .sheet-body .spell-list .spell .spell-name.rollable:hover .item-image,
.coc7.sheet.spell .sheet-body .spell-list .spell .spell-name.rollable:hover .item-image {
.coc7.sheet.spell .sheet-body .spell-list .spell .spell-name.rollable:hover .item-image,
.coc7.sheet.talent .sheet-body .spell-list .spell .spell-name.rollable:hover .item-image {
background-image: url("/icons/svg/d20-grey.svg") !important;
}
.coc7.sheet.book .sheet-body .spell-list .spell .spell-name.rollable .item-image:hover,
.coc7.sheet.spell .sheet-body .spell-list .spell .spell-name.rollable .item-image:hover {
.coc7.sheet.spell .sheet-body .spell-list .spell .spell-name.rollable .item-image:hover,
.coc7.sheet.talent .sheet-body .spell-list .spell .spell-name.rollable .item-image:hover {
background-image: url("/icons/svg/d20-black.svg") !important;
}
.coc7.sheet.book .sheet-body .spell-list .spell .spell-name i.attuned,
.coc7.sheet.spell .sheet-body .spell-list .spell .spell-name i.attuned {
.coc7.sheet.spell .sheet-body .spell-list .spell .spell-name i.attuned,
.coc7.sheet.talent .sheet-body .spell-list .spell .spell-name i.attuned {
color: #7a7971;
}
.coc7.sheet.book .sheet-body .spell-list .item-controls,
.coc7.sheet.spell .sheet-body .spell-list .item-controls {
.coc7.sheet.spell .sheet-body .spell-list .item-controls,
.coc7.sheet.talent .sheet-body .spell-list .item-controls {
flex: 0 0 32px;
display: flex;
flex-direction: row;
Expand All @@ -266,34 +304,41 @@
justify-content: flex-end;
}
.coc7.sheet.book .sheet-body .spell-list .item-controls > *,
.coc7.sheet.spell .sheet-body .spell-list .item-controls > * {
.coc7.sheet.spell .sheet-body .spell-list .item-controls > *,
.coc7.sheet.talent .sheet-body .spell-list .item-controls > * {
flex: 1;
}
.coc7.sheet.book .sheet-body .spell-list .item-controls .flex1,
.coc7.sheet.spell .sheet-body .spell-list .item-controls .flex1 {
.coc7.sheet.spell .sheet-body .spell-list .item-controls .flex1,
.coc7.sheet.talent .sheet-body .spell-list .item-controls .flex1 {
flex: 1;
}
.coc7.sheet.book .sheet-body .spell-list .item-controls .flex2,
.coc7.sheet.spell .sheet-body .spell-list .item-controls .flex2 {
.coc7.sheet.spell .sheet-body .spell-list .item-controls .flex2,
.coc7.sheet.talent .sheet-body .spell-list .item-controls .flex2 {
flex: 2;
}
.coc7.sheet.book .sheet-body .spell-list .item-controls .flex3,
.coc7.sheet.spell .sheet-body .spell-list .item-controls .flex3 {
.coc7.sheet.spell .sheet-body .spell-list .item-controls .flex3,
.coc7.sheet.talent .sheet-body .spell-list .item-controls .flex3 {
flex: 3;
}
.coc7.sheet.book .sheet-body .spell-list .item-controls .flex4,
.coc7.sheet.spell .sheet-body .spell-list .item-controls .flex4 {
.coc7.sheet.spell .sheet-body .spell-list .item-controls .flex4,
.coc7.sheet.talent .sheet-body .spell-list .item-controls .flex4 {
flex: 4;
}
.coc7.sheet.book .sheet-body .spell-list .item-controls a,
.coc7.sheet.spell .sheet-body .spell-list .item-controls a {
.coc7.sheet.spell .sheet-body .spell-list .item-controls a,
.coc7.sheet.talent .sheet-body .spell-list .item-controls a {
flex: 0 0 16px;
font-size: 10px;
text-align: center;
color: #7a7971;
}
.coc7.sheet.book .sheet-body .spell-list .item-summary,
.coc7.sheet.spell .sheet-body .spell-list .item-summary {
.coc7.sheet.spell .sheet-body .spell-list .item-summary,
.coc7.sheet.talent .sheet-body .spell-list .item-summary {
flex: 0 0 100%;
font-size: 12px;
line-height: 13px;
Expand Down
20 changes: 18 additions & 2 deletions lang/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@
"CHARAC.Education": "Education",

"CoC7.Name": "Name",
"CoC7.Archetype": "Archetype",
"CoC7.Occupation": "Occupation",
"CoC7.Age": "Age",
"CoC7.Sex": "Sex",
"CoC7.Residence": "Residence",
"CoC7.Birthplace": "Birthplace",
"CoC7.Organization": "Organization",
"CoC7.HitPoints": "Hit Points",
"CoC7.HP": "HP",
"CoC7.MagicPoints": "Magic Points",
Expand Down Expand Up @@ -306,6 +308,16 @@
"CoC7.OccultBook": "Occult Tome",
"CoC7.Unidentified": "Unidentified description",

"CoC7.PulpTalents": "Pulp Talents",
"CoC7.TalentType": "Talent Type",
"CoC7.PhysicalTalent": "Physical",
"CoC7.MentalTalent": "Mental",
"CoC7.CombatTalent": "Combat",
"CoC7.MiscellaneousTalent": "Miscellaneous",
"CoC7.BasicTalent": "Basic",
"CoC7.InsaneTalent": "Insane",
"CoC7.OtherTalent": "Other",

"CoC7.Items": "Items",
"CoC7.Books": "Books",

Expand All @@ -326,6 +338,10 @@
"SETTINGS.InitiativeRuleOptional": "Optional",
"SETTINGS.displayInitDices": "Display init dice",
"SETTINGS.displayInitDicesHint": "Display the dices when rolling for initiative (Optional rules only)",
"SETTINGS.PulpRules" : "Use Pulp HP",
"SETTINGS.PulpRulesHint" : "Use Pulp Rules for HP calculation"
"SETTINGS.PulpRules" : "Pulp rules",
"SETTINGS.PulpRulesHint" : "Alow the usage of Pulp Rules (Archetype, Talent, HP), !early implementation!",
"SETTINGS.DisregardAmmo": "Disregard Ammo count.",
"SETTINGS.DisregardAmmoHint": "Enabling this will not take in account the number of bullets loaded in the gun.",
"SETTINGS.DisregardUsePerRound": "Disregard Uses per Rounds.",
"SETTINGS.DisregardUsePerRoundHint": "Enabling this will allow you to fire as much as you want, regardless of the uses per round of the weapon."
}
3 changes: 2 additions & 1 deletion less/book.less
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.coc7.sheet.book,
.coc7.sheet.spell {
.coc7.sheet.spell,
.coc7.sheet.talent {
.sheet-header {
img.profile {
border: 1px groove;
Expand Down
Loading

0 comments on commit 40f37d2

Please sign in to comment.