{"action":"opened","issue":{"url":"https://api.github.com/repos/tjurczyk/arkadia-skrypty/issues/318","repository_url":"https://api.github.com/repos/tjurczyk/arkadia-skrypty","labels_url":"https://api.github.com/repos/tjurczyk/arkadia-skrypty/issues/318/labels{/name}","comments_url":"https://api.github.com/repos/tjurczyk/arkadia-skrypty/issues/318/comments","events_url":"https://api.github.com/repos/tjurczyk/arkadia-skrypty/issues/318/events","html_url":"https://github.com/tjurczyk/arkadia-skrypty/issues/318","id":301331706,"number":318,"title":"Automatyczne uzupełnienie brakujących Gag-ów","user":{"login":"pprraavv","id":25621607,"avatar_url":"https://avatars0.githubusercontent.com/u/25621607?v=4","gravatar_id":"","url":"https://api.github.com/users/pprraavv","html_url":"https://github.com/pprraavv","followers_url":"https://api.github.com/users/pprraavv/followers","following_url":"https://api.github.com/users/pprraavv/following{/other_user}","gists_url":"https://api.github.com/users/pprraavv/gists{/gist_id}","starred_url":"https://api.github.com/users/pprraavv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pprraavv/subscriptions","organizations_url":"https://api.github.com/users/pprraavv/orgs","repos_url":"https://api.github.com/users/pprraavv/repos","events_url":"https://api.github.com/users/pprraavv/events{/privacy}","received_events_url":"https://api.github.com/users/pprraavv/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-03-01T09:23:25Z","updated_at":"2018-03-01T09:23:25Z","closed_at":null,"author_association":"NONE","body":"Wiele broni ma unikalne opisy, które umykają skryptom przypisującym im liczbowe obrażenia [0/6], [3/6], itp.\r\nWynika to głównie z tego, że często takie opisy nie zawierają zwrotów typu \"lekko ranisz\", przez co nie wiadomo jaką wartość [X/6] im przypisać.\r\nInna sprawa, że takich broni jest dość dużo, i ciężko opisać wszystkie. \r\n\r\nFurtkę do takiego uzupełniania bez indywidualnego wyciągania triggerów otwiera GMCP_msg. Można z stamtąd wyciągnąć linijki z tagami:\r\n```\r\ncombat.avatar - komunikaty walki postaci gracza\r\ncombat.team - komunikaty walki druzyny postaci gracza\r\ncombat.others - komunikaty walki innych osob\r\n``` \r\n\r\nI jeżeli dla nich nie istnieją Triggery w katalogu gag, to zamiast pomijania opisów można:\r\na) wersja uproszczona: przypisać im wartość [X/X] - gracz \"wie ze coś sie dzieje\", choć nie wie jak bardzo.\r\nb) wersja zaawansowana:  można w uniwersalny sposób wyciągnąć przybliżoną siłę ciosu korzystając z... kolorowania(!)\r\n\r\nPodejście b) jest bardziej skomplikowane, ponieważ wymaga:\r\n1. Gracz musi ustawić sobie dla każdego z typu ciosów inny (i najlepiej niepowtarzalny) kolor - dla estetów dbających o kolorystykę nie musi to być duży problem, bo kolory mogą różnić się nieznacznie odcieniami (oko może nawet nie wychwycić różnicy, a skrypt rozpozna kategorie)\r\n2. Skrypt przy inicjacji musi np. przez GMCP: Char.Colors wyciągnąć (i przekonwertować na RGB) kolory przypisane obrażeniom: high_inflicted_damage, high_received_damage,  medium_inflicted_damage, medium_received_damage, low_inflicted_damage, low_received_damage, no_inflicted_damage, no_received_damage \r\n3. Skrypt podczas gry jeżeli wykryje, że linijka dotyczy walki (combat.avatar, combat.team, combat.others) i nie dostała żadnego gagu ze standardowych triggerów, może przypisać mu gag na podstawie koloru ostatniego znaku z linijki:\r\n```\r\nselectSection(string.len(line)-1,1)\r\nr,g,b = getFgColor()\r\n```\r\n\r\nTym sposobem każdy nie opisany wcześniej cios można skategoryzować w trójstopniowej skali:\r\n\t* brak otrzymanych obrazen * [0/3]\r\n\t* niskie otrzymane obrazenia * [1/3]\r\n\t* srednie otrzymane obrazenia * [2/3]\r\n\t* wysokie otrzymane obrazenia * [3/3]\r\n\r\nto samo można zrobić dla obrażeń zadanych:\r\n\t* brak zadanych obrazen * [0/3]\r\n\t* niskie zadane obrazenia * [1/3]\r\n\t* srednie zadane obrazenia * [2/3]\r\n\t* wysokie zadane obrazenia * [3/3]\r\n\r\nPodsumowując:\r\n\r\n- w podejściu a) każdy zadany/otrzymany cios zostanie opisany parametrami ze skali [0/6] - ciosy standardowe, [0/8] - ciosy specjalne oraz [X/X] - ciosy wymienione (ale o nieznanej sile).\r\n- w podejściu b) każdy zadany/otrzymany cios zostanie opisany parametrami ze skali [0/6] - ciosy standardowe, [0/8] - ciosy specjalne oraz [0/3] - ciosy w uproszczonej skali.\r\n"}}
{"actor":{"display_login":"pprraavv"}}