Skip to content

Commit

Permalink
Merge pull request #52 from Kyusung4698/item-categories
Browse files Browse the repository at this point in the history
- 0.4.3
  • Loading branch information
Kyusung4698 authored Jan 11, 2020
2 parents 9542606 + 58e02d6 commit 3df4ac4
Show file tree
Hide file tree
Showing 14 changed files with 191 additions and 51 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 0.4.3 (2020-01-11)

* add throttling to stash tab scrolling (#50)
* fix item type used as term (#48)

## 0.4.2 (2020-01-11)

* add item category as filter (#11, #39)
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# PoE Overlay 0.4.2
# PoE Overlay 0.4.3

An Overlay for Path of Exile. The ***core aspect*** is to blend in with the game. Built with Electron and Angular.

Expand Down Expand Up @@ -72,8 +72,8 @@ These instructions will set you up to run and enjoy the overlay.

1. Head over to [Releases](https://github.com/Kyusung4698/PoE-Overlay/releases) and download the latest zip
2. Extract zip
3. Run `poe-overlay 0.4.1.exe`
4. Wait until you can see `POE Overlay 0.4.1` in the bottom left corner
3. Run `poe-overlay 0.4.3.exe`
4. Wait until you can see `POE Overlay 0.4.3` in the bottom left corner
5. Hit `f7` and set `Language` and `League` to meet your game settings
6. Start Path of Exile

Expand Down
113 changes: 113 additions & 0 deletions doc/poe/game_ctlr_c_item.txt
Original file line number Diff line number Diff line change
Expand Up @@ -275,3 +275,116 @@ Item Level: 45
+10% to Cold Resistance
11% increased Stun and Block Recovery
+21% to Lightning Resistance (crafted)

Rarity: Unique
Watcher's Eye
Prismatic Jewel
--------
Limited to: 1
--------
Item Level: 85
--------
4% increased maximum Energy Shield
6% increased maximum Life
5% increased maximum Mana
Unaffected by Burning Ground while affected by Purity of Fire
Unaffected by Temporal Chains while affected by Haste
--------
One by one, they stood their ground against a creature
they had no hope of understanding, let alone defeating,
and one by one, they became a part of it.
--------
Place into an allocated Jewel Socket on the Passive Skill Tree. Right click to remove from the Socket.

Rarity: Normal
Fragment of the Chimera
--------
Enter the crucible. The nexus of
nothingness and equilibrium of eternity.
--------
Can be used in a personal Map Device.

Rarity: Normal
Gilded Bestiary Scarab
--------
Area contains Einhar
Area contains 3 additional Red Beasts
--------
The Order was your clan in life, Agnar, Beastmaster, but the First Ones call
back their favoured son. The gift of their Visions will pass to another.
--------
Can be used in a personal Map Device to add modifiers to a Map.

Rarity: Normal
Fire from the Sky
--------
Fire rains down across the land. Beware the path you take.
--------
You will discover an area with an Infernal Tempest
--------
Right-click to add this prophecy to your character.

Rarity: Unique
War Among the Stars
Ivory Watchstone
--------
Item Level: 86
--------
Area contains 4 additional packs of Elder Fiends
Area contains 6 additional packs of Shaper Creations
2 uses remaining
--------
Conflict begets only suffering.
For some, that is by design.

Rarity: Unique
Hephaeus, The Hammer's Brain
--------
Uses: Sunder
--------
Item Level: 77
--------
Drops additional Rare Armour
Drops additional Unique Items
Drops a Rare Weapon
--------
Combine this with four other different samples in Tane's Laboratory.
--------
Note: ~price 1 alch

Rarity: Rare
Crimsonraker
Corrupted Arach
--------
Genus: Spiders
Group: Arachnids
Family: The Caverns
--------
Item Level: 80
--------
Incendiary Mite
Allies have increased Accuracy and Critical Strike Chance
Extra Life
Extra Damage
Uses Viper Strike
--------
Right-click to add this to your bestiary.


Rarity: Rare
Crimsongrowl
Granite Eater
--------
Genus: Sand Spitters
Group: Crustaceans
Family: The Deep
--------
Item Level: 72
--------
Churning Claws
Allies Deal Substantial Extra Physical Damage
Extra Fire Damage
Extra Cold Damage
Extra Life
--------
Right-click to add this to your bestiary.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"author": {
"name": "Kyusung4698"
},
"version": "0.4.2",
"version": "0.4.3",
"scripts": {
"postinstall": "electron-builder install-app-deps",
"ng:serve": "ng serve",
Expand Down
37 changes: 25 additions & 12 deletions src/app/modules/tool/service/tool.service.ts
Original file line number Diff line number Diff line change
@@ -1,25 +1,38 @@
import { Injectable } from '@angular/core';
import { KeyboardService } from '@app/service';
import { BehaviorSubject } from 'rxjs';
import { throttleTime } from 'rxjs/operators';

@Injectable({
providedIn: 'root'
})
export class ToolService {
private readonly command$ = new BehaviorSubject<string>('');

constructor(
private readonly keyboard: KeyboardService) { }
private readonly keyboard: KeyboardService) {
this.init();
}

public command(command: string): void {
this.keyboard.setKeyboardDelay(5);
switch (command) {
case 'storage-left':
this.keyboard.keyTap('left');
break;
case 'storage-right':
this.keyboard.keyTap('right');
break;
default:
break;
}
this.command$.next(command);
}

private init(): void {
this.command$.pipe(
throttleTime(25)
).subscribe(command => {
this.keyboard.setKeyboardDelay(5);
switch (command) {
case 'storage-left':
this.keyboard.keyTap('left');
break;
case 'storage-right':
this.keyboard.keyTap('right');
break;
default:
break;
}
});
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { Injectable } from '@angular/core';
import { Query } from '@data/poe';
import { Item, ItemSearchFiltersService } from '@shared/module/poe/type';
import { Item, ItemSearchFiltersService, Language } from '@shared/module/poe/type';

@Injectable({
providedIn: 'root'
})
export class ItemSearchFiltersArmourService implements ItemSearchFiltersService {
public add(item: Item, query: Query): void {
public add(item: Item, language: Language, query: Query): void {
const prop = item.properties;
if (!prop) {
return;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { Injectable } from '@angular/core';
import { Query } from '@data/poe';
import { Item, ItemSearchFiltersService } from '@shared/module/poe/type';
import { Item, ItemSearchFiltersService, Language } from '@shared/module/poe/type';

@Injectable({
providedIn: 'root'
})
export class ItemSearchFiltersMapService implements ItemSearchFiltersService {
public add(item: Item, query: Query): void {
public add(item: Item, language: Language, query: Query): void {
if (!item.properties) {
return;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { Injectable } from '@angular/core';
import { Query } from '@data/poe';
import { Item, ItemSearchFiltersService } from '@shared/module/poe/type';
import { Item, ItemSearchFiltersService, Language } from '@shared/module/poe/type';

@Injectable({
providedIn: 'root'
})
export class ItemSearchFiltersMiscsService implements ItemSearchFiltersService {
public add(item: Item, query: Query): void {
public add(item: Item, language: Language, query: Query): void {
query.filters.misc_filters = {
filters: {}
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { Injectable } from '@angular/core';
import { Query } from '@data/poe';
import { Item, ItemSearchFiltersService } from '@shared/module/poe/type';
import { Item, ItemSearchFiltersService, Language } from '@shared/module/poe/type';

@Injectable({
providedIn: 'root'
})
export class ItemSearchFiltersRequirementsService implements ItemSearchFiltersService {
public add(item: Item, query: Query): void {
public add(item: Item, language: Language, query: Query): void {
const req = item.requirements;
if (!req) {
return;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { Injectable } from '@angular/core';
import { Query } from '@data/poe';
import { Item, ItemSearchFiltersService } from '@shared/module/poe/type';
import { Item, ItemSearchFiltersService, Language } from '@shared/module/poe/type';

@Injectable({
providedIn: 'root'
})
export class ItemSearchFiltersSocketService implements ItemSearchFiltersService {
public add(item: Item, query: Query): void {
public add(item: Item, language: Language, query: Query): void {
const validSockets = (item.sockets || []).filter(x => !!x);
if (validSockets.length <= 0) {
return;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,30 @@
import { Injectable } from '@angular/core';
import { Query } from '@data/poe';
import { Item, ItemCategory, ItemSearchFiltersService } from '@shared/module/poe/type';
import { Item, ItemCategory, ItemSearchFiltersService, Language } from '@shared/module/poe/type';
import { ItemService } from '../item.service';

@Injectable({
providedIn: 'root'
})
export class ItemSearchFiltersTypeService implements ItemSearchFiltersService {
public add(item: Item, query: Query): void {

constructor(private readonly itemNameService: ItemService) { }

public add(item: Item, language: Language, query: Query): void {
query.filters.type_filters = {
filters: {}
};

const name = this.itemNameService.getName(item.nameId, language);
if (name) {
query.name = name;
}

const type = this.itemNameService.getType(item.typeId, language);
if (type) {
query.type = type;
}

switch (item.category) {
// weapon
case ItemCategory.Weapon:
Expand Down Expand Up @@ -66,11 +80,6 @@ export class ItemSearchFiltersTypeService implements ItemSearchFiltersService {
case ItemCategory.GemSupportGemplus:
case ItemCategory.Watchstone:
case ItemCategory.Leaguestone:
case ItemCategory.Prophecy:
// divination card
case ItemCategory.Card:
case ItemCategory.MonsterBeast:
case ItemCategory.MonsterSample:
// currency
case ItemCategory.Currency:
case ItemCategory.CurrencyPiece:
Expand All @@ -80,9 +89,22 @@ export class ItemSearchFiltersTypeService implements ItemSearchFiltersService {
// map
case ItemCategory.MapFragment:
case ItemCategory.MapScarab:
// divination card
case ItemCategory.Card:
query.filters.type_filters.filters.category = {
option: item.category,
};
break;
// don't work yet
case ItemCategory.MonsterBeast:
case ItemCategory.MonsterSample:
// prophecy
case ItemCategory.Prophecy:
query.filters.type_filters.filters.category = {
option: item.category,
};
query.term = query.type;
query.type = undefined;
break;
default:
break;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { Injectable } from '@angular/core';
import { Query } from '@data/poe';
import { Item, ItemSearchFiltersService } from '@shared/module/poe/type';
import { Item, ItemSearchFiltersService, Language } from '@shared/module/poe/type';

@Injectable({
providedIn: 'root'
})
export class ItemSearchFiltersWeaponService implements ItemSearchFiltersService {
public add(item: Item, query: Query): void {
public add(item: Item, language: Language, query: Query): void {
query.filters.weapon_filters = {
filters: {}
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ export class ItemSearchQueryService {
private readonly filters: ItemSearchFiltersService[];

constructor(
private readonly itemNameService: ItemService,
private readonly statsDescriptionService: StatsDescriptionService,
private readonly statsIdService: StatsIdService,
filtersTypeService: ItemSearchFiltersTypeService,
Expand All @@ -41,20 +40,7 @@ export class ItemSearchQueryService {
}

public map(item: Item, language: Language, query: Query) {
const name = this.itemNameService.getName(item.nameId, language);
const type = this.itemNameService.getType(item.typeId, language);
if (name) {
query.name = name;
if (type) {
query.type = type;
}
} else {
if (type) {
query.term = type;
}
}

this.filters.forEach(filter => filter.add(item, query));
this.filters.forEach(filter => filter.add(item, language, query));

// TODO: will be replaced soon
this.mapStatsFilters(item, query);
Expand Down
Loading

0 comments on commit 3df4ac4

Please sign in to comment.