diff options
| author | Matheus <matheus.guedes.mg.m@gmail.com> | 2025-09-04 16:18:17 -0300 |
|---|---|---|
| committer | Matheus <matheus.guedes.mg.m@gmail.com> | 2025-09-04 16:18:17 -0300 |
| commit | 9953c9a5818baa392a48a4d18339c73f3b7a814e (patch) | |
| tree | 3484fbca78bfa217d84226cc774119fe054f6df9 /scripts/entities/actors/actions | |
| parent | 7dbe2bbe431f77deb3515e5cf0810cfa07215d59 (diff) | |
Prepare
Diffstat (limited to 'scripts/entities/actors/actions')
| -rw-r--r-- | scripts/entities/actors/actions/Action.cs | 42 | ||||
| -rw-r--r-- | scripts/entities/actors/actions/Action.cs.uid | 1 | ||||
| -rw-r--r-- | scripts/entities/actors/actions/BumpAction.cs | 32 | ||||
| -rw-r--r-- | scripts/entities/actors/actions/BumpAction.cs.uid | 1 | ||||
| -rw-r--r-- | scripts/entities/actors/actions/DirectionalAction.cs | 30 | ||||
| -rw-r--r-- | scripts/entities/actors/actions/DirectionalAction.cs.uid | 1 | ||||
| -rw-r--r-- | scripts/entities/actors/actions/MeleeAction.cs | 39 | ||||
| -rw-r--r-- | scripts/entities/actors/actions/MeleeAction.cs.uid | 1 | ||||
| -rw-r--r-- | scripts/entities/actors/actions/MovementAction.cs | 24 | ||||
| -rw-r--r-- | scripts/entities/actors/actions/MovementAction.cs.uid | 1 | ||||
| -rw-r--r-- | scripts/entities/actors/actions/WaitAction.cs | 103 | ||||
| -rw-r--r-- | scripts/entities/actors/actions/WaitAction.cs.uid | 1 |
12 files changed, 276 insertions, 0 deletions
diff --git a/scripts/entities/actors/actions/Action.cs b/scripts/entities/actors/actions/Action.cs new file mode 100644 index 0000000..f20e262 --- /dev/null +++ b/scripts/entities/actors/actions/Action.cs @@ -0,0 +1,42 @@ +using Godot; + + +/// <summary> +/// <c>Action</c> representa uma ação no jogo efetuada por um ator. +/// Ações são geradas pelo jogador e pela IA, elas regem os atores do jogo. +/// </summary> +public abstract partial class Action : RefCounted { + /// <summary> + /// O ator que realiza a ação. + /// </summary> + protected Actor actor; + + // O custo da ação. + protected int cost; + + public Action(Actor actor) { + this.actor = actor; + // Custo base, subclasses podem sobreescrever isto se quiserem. + cost = 10; + } + + /// <summary> + /// Método que executa a ação. Subclasses da ação devem implementar este método. + /// <example> + /// Exemplo: + /// <code> + /// Action action = new Action(actor); + /// /* . . . */ + /// action.Perform(); + /// </code> + /// </example> + /// </summary> + public abstract void Perform(); + + /// <summary> + /// É conveniente ter acesso ao mapa dentro de uma ação. + /// </summary> + protected MapData Map_Data { + get => actor.Map_Data; + } +} diff --git a/scripts/entities/actors/actions/Action.cs.uid b/scripts/entities/actors/actions/Action.cs.uid new file mode 100644 index 0000000..9523b0a --- /dev/null +++ b/scripts/entities/actors/actions/Action.cs.uid @@ -0,0 +1 @@ +uid://dlejckfyro2ch diff --git a/scripts/entities/actors/actions/BumpAction.cs b/scripts/entities/actors/actions/BumpAction.cs new file mode 100644 index 0000000..805520c --- /dev/null +++ b/scripts/entities/actors/actions/BumpAction.cs @@ -0,0 +1,32 @@ +using Godot; + +/// <summary> +/// Ação de "Esbarramento", utilizada principalmente pelo jogador. +/// Esta ação direcionada tentará andar para o destino, se houver um +/// ator no caminho, uma ação de ataque é gerada no lugar. +/// </summary> +public partial class BumpAction : DirectionalAction +{ + public BumpAction(Actor actor, Vector2I offset) : base(actor, offset) + { + } + + // Como esta ação inevitavelmente gera outras ações, + // não faz sentido descontar a energia do ator. + public override void Perform() + { + // Declaramos uma ação genérica. + Action action; + + // Se houver um ator no destino, crie uma ação de ataque. + if (GetTargetActor() != null) { + action = new MeleeAction(actor, Offset); + } else { + // Mas se não houver, crie uma ação de movimento. + action = new MovementAction(actor, Offset); + } + + // Executa a ação. + action.Perform(); + } +} diff --git a/scripts/entities/actors/actions/BumpAction.cs.uid b/scripts/entities/actors/actions/BumpAction.cs.uid new file mode 100644 index 0000000..f5ce3f8 --- /dev/null +++ b/scripts/entities/actors/actions/BumpAction.cs.uid @@ -0,0 +1 @@ +uid://p6ij0dsuvv7y diff --git a/scripts/entities/actors/actions/DirectionalAction.cs b/scripts/entities/actors/actions/DirectionalAction.cs new file mode 100644 index 0000000..ca2ca95 --- /dev/null +++ b/scripts/entities/actors/actions/DirectionalAction.cs @@ -0,0 +1,30 @@ +using Godot; + +/// <summary> +/// Ação direcionada. Esta ação é acompanhada com um vetor que representa uma +/// distância tendo como ponto de partida o ator. +/// </summary> +public abstract partial class DirectionalAction : Action +{ + /// <summary> + /// Direção/distância do ator da ação. + /// Seu significado depende da ação que implementará esta classe. + /// </summary> + public Vector2I Offset { get; private set; } + /// <summary> + /// Coordenada do alvo da ação. + /// </summary> + public Vector2I Destination { get => actor.GridPosition + Offset; } + public DirectionalAction(Actor actor, Vector2I offset) : base(actor) + { + Offset = offset; + } + + /// <summary> + /// Função que obtém o alvo da ação, se houver. + /// </summary> + /// <returns>O ator alvo da ação, nulo se não houver.</returns> + protected Actor GetTargetActor() { + return Map_Data.GetBlockingActorAtPosition(Destination); + } +} diff --git a/scripts/entities/actors/actions/DirectionalAction.cs.uid b/scripts/entities/actors/actions/DirectionalAction.cs.uid new file mode 100644 index 0000000..901756a --- /dev/null +++ b/scripts/entities/actors/actions/DirectionalAction.cs.uid @@ -0,0 +1 @@ +uid://cxotc2adk05j8 diff --git a/scripts/entities/actors/actions/MeleeAction.cs b/scripts/entities/actors/actions/MeleeAction.cs new file mode 100644 index 0000000..b20430a --- /dev/null +++ b/scripts/entities/actors/actions/MeleeAction.cs @@ -0,0 +1,39 @@ +using Godot; + +/// <summary> +/// Ação de ataque físico. Uma ação direcionada que ataca um alvo. +/// </summary> +public partial class MeleeAction : DirectionalAction +{ + public MeleeAction(Actor actor, Vector2I offset) : base(actor, offset) + { + } + + /// <summary> + /// Ataca o ator na direção da ação. + /// </summary> + public override void Perform() + { + // Eu te disse que este método seria útil. + Actor target = GetTargetActor(); + + // Se não houver um ator na direção, não podemos continuar. + // Isto é uma ação gratuita. + if (target == null) return; + + // não podemos ter dano negativo. + int damage = actor.Atk - target.Def; + + string attackDesc = $"{actor.ActorName} ataca {target.ActorName}"; + + if (damage > 0) { + attackDesc += $" e remove {damage} de HP."; + target.Hp -= damage; + } else { + attackDesc += $" mas {target.ActorName} tem músculos de aço."; + } + + MessageLogData.Instance.AddMessage(attackDesc); + actor.Energy -= cost; + } +} diff --git a/scripts/entities/actors/actions/MeleeAction.cs.uid b/scripts/entities/actors/actions/MeleeAction.cs.uid new file mode 100644 index 0000000..bc97619 --- /dev/null +++ b/scripts/entities/actors/actions/MeleeAction.cs.uid @@ -0,0 +1 @@ +uid://vbptt0gl1ud0 diff --git a/scripts/entities/actors/actions/MovementAction.cs b/scripts/entities/actors/actions/MovementAction.cs new file mode 100644 index 0000000..3608357 --- /dev/null +++ b/scripts/entities/actors/actions/MovementAction.cs @@ -0,0 +1,24 @@ +using Godot; + +/// <summary> +/// Ação de movimento. Movimenta o ator para a direção de seu Offset. +/// </summary> +public partial class MovementAction : DirectionalAction +{ + public MovementAction(Actor actor, Vector2I offset) : base(actor, offset) + { + } + + public override void Perform() + { + // Não anda se o destino for um tile sólido. + if (!Map_Data.IsTileWalkable(Destination)) return; + + // Não anda se o destino for oculpado por um ator. + // Na maioria dos casos, essa condição nunca é verdadeira. + if (GetTargetActor() != null) return; + + actor.Walk(Offset); + actor.Energy -= cost; + } +} diff --git a/scripts/entities/actors/actions/MovementAction.cs.uid b/scripts/entities/actors/actions/MovementAction.cs.uid new file mode 100644 index 0000000..07569ef --- /dev/null +++ b/scripts/entities/actors/actions/MovementAction.cs.uid @@ -0,0 +1 @@ +uid://cdtpdaeg7hh6p diff --git a/scripts/entities/actors/actions/WaitAction.cs b/scripts/entities/actors/actions/WaitAction.cs new file mode 100644 index 0000000..2d3ccc2 --- /dev/null +++ b/scripts/entities/actors/actions/WaitAction.cs @@ -0,0 +1,103 @@ +using Godot; + +/// <summary> +/// Ação da inação. Ação que realiza nada. +/// </summary> +public partial class WaitAction : Action +{ + public WaitAction(Actor actor) : base(actor) + { + } + + public override void Perform() + { +//-=-==============================================-======++++*@@%*+#%%+*%%#*#%%@%**%%#=:+%@%=--.....::::@@@:................... #@----::@@@@@@@@@@@@@ +//--============--===========================================+@. :@ =% @ :* @#= @@*........@@@:................ .::::::@@@@@@@@@@@@ +//===========================================================+@+ * :+ @ :*%* @%+ @=.......:@@@:.......... ...... ..::.:@@@@@@@@@@@ +//===-===========---========--=========----==========--=======%% . . @ =%@* @%+ @@:......@@@:.......... ....... .....:*@@@@@@@@@@ +//=========-==========================--==============-=======#@ #@ #* @%+ @@:.. .@@@:. ........ ..... ..:*@@@@*@@@@@@@@@ +//============================--====---=======================*@ * @@ %@@* @%+ @=. @@@... . =@@@: #@@@@@@@@ +//===--==-========----==---=----==----===========-===-==#@@@@@@@- @ @@ :#%* #*+ *#*: .@@@: . .. .@@@@@@@@ +//-------==--==-==---::---======----===-----==--===---===*%@@@@@* @: @@ * = %= %@@. .. =@@@@@@@ +//--==---==-=--=====----======-=----==-===---=======--========@@@@@%*=+#%#*-=*%%%%**#%%%#*#%%%*=.%@@: @@@@@@@ +//===-=-----=--=--====--======--====-===-=--==----========--==@@@@@: #@@: . . :=*@@@@@@@ +//==--==-===-==-==@@+====--=----==-==-==---=------===========@@@@@@@@@- #@@: . .. :@@@@@@@+@@@@@@ +//==---=--=======@%@*@%-==-==-==-========--==----========-===@ .*@@@@+ #@@: . @@@@@@ +//========-====--==@@%@@+@%===-=--======--:-====-===========%+ .=@@@@%. #@@: . . =@@@@@ +//---=-=-==-----=====*@==@@*@@+==-----=-----====--===@@@*==*@ -@@@@@- :*##=*@@- . . .@@@@@ +//------------===---===%@*=@%=*@*==------------==-=--%@@@@@@: .. ..:#@@@@*:@@@@@@@@@% .@@@@@ +//---==-----===-====-==-==@#=#@@+@@===----==--=====--====%@* ..............+@@@@@@@@@@@@@@. ....:::::. --:+:%: @=:@@@. .::-====@@@@@ +//==-=----==----===--==-----=@-=@@+@#@%=-==-======---====#@ ....:::.::......@@@@@@@@@@@@@% . ..-@#.@:%@*@%.@+ %*:@@*@.@@#@*@=%@# %@@@@@@*@@@@@ +//===----=======-====--=--====-+*%@+@@@=@=--=====--=====+@ .. .+@@@@@@@@@@:...@@@@@@@@@@@@@% -@#@@-@- =@ @% *@.#@.@.@ *@*=@@@% @@@@: +//====--==-===-========---=========@%*@@%%@@#====--====*@: .=@@@@@@%=+: @*::.@@@@@@@@@@@@@@: :@::@=:%@#:.-- :: .: : @@@. +//===---===-==-------:-----=-=====---=@+@@***=========+@: =@@@ : @*=.:@@@@@@@@@@@@@@@ . =@:@@% +//==----===-===-=------==----==--=--====*@@@*==*@@#==+@: . =@ - . #@@*.. +@@@@@@@= . ## -@ +//===---=-==-----=----===----============-======@@@@@@. ..:@= : =@@++== .@@+ . .. -@@@%#@= +//=-=--==-===--------==-=---=---=----------=======*@@. *@@@-@@*@ #= * . . ..:@@@@: +//=====-===-=======-==----====-----=======--==-===%@ .. .=@ = #. .. .. .@: %@@- +//==-==-==-=--===-=====-------=----==--=====-=--=@* .. .* =. :* + .. . %: +//==-==----=-------=------=----==-----==========@: ......+ #%*** @@%%+: . %@= +//===--=-----------=--=--==---===---:=@@@*==-=@@. ....::@ .. %@*:%*-#%#*=: . :=:=%#@@@+ +//==---=-:-====---========-----====-:-=@@@@++@= ....@@%* @-@@+=%%. -@%: -@@@. : +//==----========---------------==========@@@* %@@@:=%@@*@@@@==+@==- .@= .*@- #* +//==-===--===-=---:-----------===========@% :%@=*@@@@@@@@@@@@===%=======+@#+=@#%@ .@@%= +//------=====-------=-:----=#*=========@% :%-.@==@@@@@@@@@@@@++@*=======*@ *= *@@@=. =*=*@@: +//===--=---===------------=*@@@======@% .%- .#%==#@@@@@@@@@@@%+#@@%=====*@ *+*-#@@@- .. . :. %: +//--=======--=-=-----:---=--+@@@=-=@% :%.:==+@*==@@@@@@@@@@@@=---##====*@. *:=@ *@. . . :@@@%@ +//===---=---==---------------=@@@@= =@=======#%-@@@@@@@@@@@@=--*@====*@: @:+@@%.@- . . .@@@@@+ =@*=%=#-. +//=====-----===@@*-----------=@@ *@* =@@=====@+--%@@@@@@@@@@@*-==@====+@= % :@@%@= =#. :. : -*%+#:# +//-=--=--------@@@==---=--+@@@@@@ +@@@= =#%*===-@=--=@@@@@@@@@@@@+-=@=====@+: :@ :. :@@: %* +//*@#==--------=@@@----*@@@@@@@@@@@+ -+=@*===%*--=@@@@@@@@@@@@@=-@*-===%*- : =+ =@%@:.: *%. %* +//%@@+----------+@@@%@@@@@@@@@@@@@@: =*==@+-==@=--@@@@@@@@@@@@@--@*-===%*=:% #: -@@#-: .@@@= +@@@@@% +//+@@#-------==+@@@@@@@@@@@@@@@@@@@@# :: =====@=--=@-=+@@@@@@@@@@@@@-%*====*#=+% @: .:%@@:. *@@%@@@% +//=@@@=---=@@@@@@@@@@@@@@@@@@@@@@@@@@@. =@@= ======@=-=%+==@@@@@@@@@@@@@*=#=====@=%* % ..#@@@. -@@@@@ +//=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*=@@* ==-===#*---@*-%@@@@@@@@@@@@@=%=--==@#@=%%. :@ ::*@-%: -#. %@@@@@@. +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* :+-====@=---%%=@@@@@@@@@@@@@%*=-====@*@= @: -@@+=- :@@* +@@@@@@@@@@@@= +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: =@- ==.==--=@----*%%@@@@@@@@@@@@@*=-====#@==. @: %@=:@= =@@= =@@@@@@@@@@@ +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. .@@% =:.---==%=---=%#@@@@@@@@@@@@@%==-====@+=. *: #%%@.: #@@@@@@@@@@@@@@: +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::@@- =- --=--*%-----@@@@@@@@@@@@@@@==---===@=. -: :. .@# =@@@@@@@@@@@@@@@@. *@% +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%. @@:= :==---@=----=@@@@@@@@@@@@@@@=--====#* @: . *@@ #@@@@@@@@@@@@@@@@@@@@@- +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@: @@= % ------@=----#@@@@@@@@@@@@@@*-======%+ @ +@. -@@.:@@@@@@@@@@@@@@@@@@@@@@: +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%: @@= .% .-----=@+=---@@@@@@@@@@@@@@@=--==== *: *: :@@ +@@@@@@@@@@@@@@@@@@@@@@@@@@ := +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= %.:------@=---*@@@@@@@@@@@@@@@==-==: *= * *@* =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:@@@* +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%: =*:-----@----+@@@@@@@@@@@@@@@#-====. -@= @@=-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@. +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=.@*----%----+@@@@@@@@@@@@@@@@======. +* .+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -% +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=-:@----=@@@@@@@@@@@@@@@@@====== -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ :@@# +//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%----@@@@@@@@@@@@@@@@@%====== :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@% +//#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%----%@@@@@@@@@@@@@@@@@*=====- -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//++=+*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%----*@@@@@@@@@@@@@@@@@@+=-==== :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@= +//=====++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-----@@@@@@@@@@@@@@@@@@@=-=-==- -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//+===++@@%==*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-----@@@@@@@@@@@@@@@@@@@@=---=-- :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//++=++%@@+++=++%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-----#@@@@@@@@@@@@@@@@@@@*======: :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//===++@@==+++====*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@-----*@@@@@@@@@@@@@@@@@@@@*--=---. .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//=+++=+++++++++++*@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=-==-=@@@@@@@@@@@@@@@@@@@@@===----: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//===++==+++++++=%@@+==*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+=====@%@@@@@@@@@@@@@@@@@@@@=-----=: %@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//++=====++++===*@%====+==@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*=====@*@@@@@@@@@@@@@@@@@@@@@-------: :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//++===+++++====++++========@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*=====@+=@@@@@@@@@@@@@@@@@@@@@=------=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//=========+==++++=========+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%=====#@=*@@@@@@@@@@@@@@@@@@@@%%----=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//=+++++========+========+@@@*=+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%=====+@@@@@@@@@@@@@@@@@@@@@@@@=@+-=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//++++++====++=====*@@%==%@*=====#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@ %=====+% @@@@@@@@@@@@@@@@@@@@@@*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//==+==+===+++++==*@@=*@@#+=======+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@***%@@*=*@@%**%@@%**@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//=++==+==++++++++%@@=@*@@%=========*@@@@@@@ %* %+ @= :@+ * @ =@@ @@@@. *# @ %@ # @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//=======++++++#@@+%@@@@@#=========%@@@@@@@@: :: #: :% @ @+ * @ =@@ -: @@@@ @= * @ % @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//===++==+++%@%*+%@@*+**+==+====+@@@%==%@@@@+ = %* @ %= * @ =@@ -= @@@@: .@: * @ % @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//=+=+====++@@@@@@@@@%=====+==+==#*====+*@@@@ @* @ %= * @ =@@ -= @@@@@ @@: * @ % @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//=======%@@*+@@%+++++++========+======+=+@@@ - @* @ %= * @ =@@ -= @.%@@: :@@: * @ % @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//==+=+@@**@@@+*@@==++==+===+=========+++++@@ @ @* % @+ + @ :%@ -. @ @@: :@@- + @ + -@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//======%@@+*@@@++=++==++===++========+++++#@- @ :@@= -@@ %@ * +* @: :@@@ @@% @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//=+@@#@@@@@@=============++=+++=+==+=+%@@@@%@@@@@%=***+=%%@@@%*: -*%%%+:.=@@@*++*#***=. .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//@%+%@@%==*+============+*%@@%*+*%@@@@@@*%@@@@@@@@%#*=+#**#+%*%##*+=*#####+:@@######***#*=*#**@@@@@@@@@@@@@@@#*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//@%==+@@@===============*@ @%% @@+ @* @ *= =% % #+@ % @ -+ @@@= . @ -@ %+ @@@@@@@@@@@@@@@@@@@@@@@@ +//%@@*=================+=*@. @@ :. @ % =# * @. ** @#- =+*:**= =*% @ -* *#@@@@*. *%: @ @ %* *#@@@@@@@@@@@@@@@@@@@@@@@@ +//==@@#===+++======++=+==*@. @@ =: @ @ :# %= %. %@* %= =@ @@% @ =* @@@@@@@= @@: @ . %+ @@@@@@@@@@@@@@@@@@@@@@@@@@ +//%========+====+%@@%+=+=*@. @@ =: @ @ :% @: :@ - =@* %- -@ @@% -* @@@@@= @@: @ %+ @@@@@@@@@@@@@@@@@@@@@@@@ +//**@@@@@%*%@@@@@@*===++=*@. @@ =: @ @ :% =% -% : @* %: -@ @@@ @ =* @%- +@@= @@: @ + . %+ @@@@@@@@@@@@@@@@@@@@@@@@@@ +//@@@@@@@@@@@@@@*======+=*@. *# :. @ % -# * @-+* @# %: -@ @@@ @ =* +**-@@@= @@: @ @ :. %+ *#@@@@@@@@@@@@@@@@@@@@@@@@ +//@@@@@@@@@@@@*====+==++=*@. @ @@* .@* @ .*#. @ @* #: -@ @@% @ -+ =*%@@= @@: @ @ +. #+ *@@@@@@@@@@@@@@@@@@@@@@@ +//@@@@@@@@@@@======++====+*%@@@@%%%@@@@%*+#@@@@@%#%@@#=+**=. =**+=***==*#*: :%@@@@@@@@@**=+#*==*###*=. -=**+::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +//@@@@@@@@@@+==+==++=====++=====++=+++++++++===+++++#% +@@@* :#%= =@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + actor.Energy -= cost; + } + + +}
\ No newline at end of file diff --git a/scripts/entities/actors/actions/WaitAction.cs.uid b/scripts/entities/actors/actions/WaitAction.cs.uid new file mode 100644 index 0000000..120c8c1 --- /dev/null +++ b/scripts/entities/actors/actions/WaitAction.cs.uid @@ -0,0 +1 @@ +uid://c24ebgrcsn6yi |
