Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion Plugins/TablesDock/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,6 @@ Esses plugins permitem a criação de janelas acoplaveis, que podem ser adiciona
- [Ferramentas RPGmeister](https://github.com/rrpgfirecast/firecast/blob/master/Plugins/TablesDock/Ferramentas%20d20/output/Ferramentas%20d20.rpk?raw=true): Ambesek
- Ferramenta de calculo de XP e filtro de magias.
- [Lista de NPCs](https://github.com/rrpgfirecast/firecast/blob/master/Plugins/TablesDock/Lista%20de%20NPCs/output/Lista%20de%20NPCs.rpk?raw=true): Mia
- Permite criar avatares similares aos dos Jogadores (com barrinhas e linhas) para NPCs.
- Permite criar avatares similares aos dos Jogadores (com barrinhas e linhas) para NPCs.
- [T20 Combate](https://github.com/rrpgfirecast/firecast/blob/master/Plugins/TablesDock/T20%20Combate/output/T20%20Combate.rpk?raw=true): Luisguilhermelr
- Gerenciador de combate para Tormenta20 com iniciativa, alvos, dano automatico, fichas rapidas de NPC, condicoes, areas, auras e tokens.
307 changes: 307 additions & 0 deletions Plugins/TablesDock/T20 Combate/README.md

Large diffs are not rendered by default.

71 changes: 71 additions & 0 deletions Plugins/TablesDock/T20 Combate/T20Combat/CombatantItem.lfm
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<form name="frmT20CombatantItem" height="64" theme="dark" margins="{top=2,bottom=2,left=2,right=2}">
<script><![CDATA[
require("firecast.lua")
require("dialogs.lua")
require("system.lua")
local T20DragState = require("T20Combat/DragState.lua")

local function startTokenDrag(drag)
if sheet == nil or drag == nil then return end
local room = Firecast.getMesaDe(self) or Firecast.getMesaDe(sheet)
if room == nil or room.meuJogador == nil then return end

local character = room:findBibliotecaItem(tonumber(sheet.characterCode))
if character == nil or character.tipo ~= "personagem" then
showMessage("O personagem deste combatente nao foi encontrado na biblioteca.")
return
end

local isGM = room.meuJogador.isMestre == true
local isOwner = character.dono == room.meuJogador
local isMain = tonumber(room.meuJogador.personagemPrincipal) == tonumber(character.codigoInterno)
if not isGM and not isOwner and not isMain then
showMessage("Voce so pode arrastar os tokens dos seus proprios personagens.")
return
end

T20DragState.pending = {
roomCode = room.codigoInterno,
combatantId = tostring(sheet.combatantId or ""),
characterCode = character.codigoInterno,
startedAt = System.getTickCount()
}
drag:addData("character", character)
end
]]></script>
<rectangle align="client" color="#232733" xradius="5" yradius="5" hitTest="false"
padding="{left=7,right=7,top=5,bottom=5}">
<rectangle align="left" width="18" color="#232733" hitTest="true" cursor="drag"
hint="Arraste este combatente para o tabuleiro">
<label align="client" text="≡" hitTest="false" fontSize="14" fontColor="#8f9bad"
horzTextAlign="center" vertTextAlign="center"/>
<event name="onStartDrag"><![CDATA[
startTokenDrag(drag);
]]></event>
</rectangle>
<label hitTest="false" align="left" width="24" field="turnMarker"
fontSize="17" fontColor="#f4b942" horzTextAlign="center" vertTextAlign="center"/>
<layout hitTest="false" align="right" width="104">
<label hitTest="false" align="top" height="28" field="initiative"
fontSize="18" fontStyle="bold" fontColor="#f4b942"
horzTextAlign="center" vertTextAlign="center"/>
<layout hitTest="false" align="client">
<label hitTest="false" align="left" width="22" text="PV" fontSize="10" fontColor="#8f9bad"
horzTextAlign="center" vertTextAlign="center"/>
<label hitTest="false" align="left" width="30" field="currentHP" fontSize="11" fontStyle="bold"
fontColor="#f4f4f4" horzTextAlign="center" vertTextAlign="center"/>
<label hitTest="false" align="left" width="8" text="/" fontColor="#8f9bad"
horzTextAlign="center" vertTextAlign="center"/>
<label hitTest="false" align="client" field="maxHP" fontSize="10" fontColor="#bfc7d5"
horzTextAlign="center" vertTextAlign="center"/>
</layout>
</layout>
<layout hitTest="false" align="client" margins="{left=4,right=4}">
<label hitTest="false" align="top" height="27" field="name"
fontSize="15" fontStyle="bold" fontColor="#f4f4f4" textTrimming="character"/>
<label hitTest="false" align="client" field="conditionsText"
fontSize="11" fontColor="#bfc7d5" textTrimming="character"/>
</layout>
</rectangle>
</form>
5 changes: 5 additions & 0 deletions Plugins/TablesDock/T20 Combate/T20Combat/DragState.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
local state = {
pending = nil
}

return state
Loading